mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
37403 lines
1.9 MiB
Plaintext
37403 lines
1.9 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_027310A4 @ 0x27310a4
|
|
void Gambit_fn_027310A4(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_027310A4: ; // 0x27310a4
|
|
/* 027310A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027310A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027310A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027310A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027310A8 */ goto L_027310AC;
|
|
L_027310AC: ; // 0x27310ac
|
|
/* 027310AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027310AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027310B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027310B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027310B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027310B0 */ goto L_027310B4;
|
|
L_027310B4: ; // 0x27310b4
|
|
/* 027310B4 */ 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_027310B8 @ 0x27310b8
|
|
void Gambit_fn_027310B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027310B8: ; // 0x27310b8
|
|
/* 027310B8 */ cpu->r[0] = 0x00000005u;
|
|
/* 027310BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 027310C0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027310C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027310C4 */ _t1 = cpu->r[12] + 0x00000360u;
|
|
/* 027310C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027310C4 */ cpu->r[12] = _t1;
|
|
/* 027310C8 */ cpu->r[9] = 0x00000000u;
|
|
/* 027310CC */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 027310CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027310D0 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027310D0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[9]);
|
|
/* 027310D4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 027310D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027310D8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027310DC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027310DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027310E0 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 027310E0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 027310E4 */ _t7 = cpu->r[3] + 0x0000000Du;
|
|
/* 027310E4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]);
|
|
/* 027310E8 */ _t8 = cpu->r[3] + 0x00000011u;
|
|
/* 027310E8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 027310EC */ _t9 = cpu->r[3] + 0x00000020u;
|
|
/* 027310EC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]);
|
|
/* 027310F0 */ _t10 = cpu->r[3] + 0x00000012u;
|
|
/* 027310F0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 027310F4 */ return;
|
|
}
|
|
|
|
// fn_027310F8 @ 0x27310f8
|
|
void Gambit_fn_027310F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027310F8: ; // 0x27310f8
|
|
/* 027310F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027310F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027310FC */ cpu->r[11] = 0x101F0000u;
|
|
/* 02731100 */ _t1 = cpu->r[11] + 0x00000360u;
|
|
/* 02731100 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731100 */ cpu->r[11] = _t1;
|
|
/* 02731104 */ cpu->r[6] = 0x00000000u;
|
|
/* 02731108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 0273110C */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0273110C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02731110 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731110 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02731110 */ if (_t4) goto L_02731114; else goto L_02731120;
|
|
L_02731114: ; // 0x2731114
|
|
/* 02731114 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02731114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02731118 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0273111C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273111C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273111C */ if (_t7) goto L_02731144; else goto L_02731120;
|
|
L_02731120: ; // 0x2731120
|
|
/* 02731120 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 02731120 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02731124 */ /* nop */
|
|
/* 02731128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273112C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273112C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273112C */ if (_t10) goto L_02731144; else goto L_02731130;
|
|
L_02731130: ; // 0x2731130
|
|
/* 02731130 */ _t11 = cpu->r[3] + 0x00000011u;
|
|
/* 02731130 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02731134 */ /* nop */
|
|
/* 02731138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 0273113C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273113C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273113C */ if (_t13) goto L_02731144; else goto L_02731140;
|
|
L_02731140: ; // 0x2731140
|
|
/* 02731140 */ cpu->r[6] = 0x00000001u;
|
|
L_02731144: ; // 0x2731144
|
|
/* 02731144 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02731148 */ return;
|
|
}
|
|
|
|
// fn_0273114C @ 0x273114c
|
|
void Gambit_fn_0273114C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273114C: ; // 0x273114c
|
|
/* 0273114C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02731150 */ goto L_0273118C;
|
|
L_0273118C: ; // 0x273118c
|
|
/* 0273118C */ cpu->r[0] = cpu->lr;
|
|
/* 02731190 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02731190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731190 */ cpu->r[1] = _t0;
|
|
/* 02731194 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731198 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02731198 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273119C */ cpu->r[30] = cpu->r[3];
|
|
/* 0273119C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027311A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027311A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027311A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027311A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027311A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027311A8 */ if (_t5) goto L_027311EC; else goto L_027311AC;
|
|
L_027311AC: ; // 0x27311ac
|
|
/* 027311AC */ cpu->r[0] = 0x100F0000u;
|
|
/* 027311B0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027311B4 */ cpu->r[0] = cpu->r[0] + 0x00006698u;
|
|
/* 027311B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027311BC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027311BC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027311C0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027311C4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027311C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027311CC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027311D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027311D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027311D8 */ Gambit_fn_028136EC(cpu);
|
|
/* 027311DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027311DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027311E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027311E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027311E0 */ if (_t8) goto L_027311EC; else goto L_027311E4;
|
|
L_027311E4: ; // 0x27311e4
|
|
/* 027311E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027311E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_027311EC: ; // 0x27311ec
|
|
/* 027311EC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027311EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027311F0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027311F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027311F4 */ cpu->lr = cpu->r[0];
|
|
/* 027311F8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027311F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027311FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02731200 */ return;
|
|
}
|
|
|
|
// fn_02731154 @ 0x2731154
|
|
void Gambit_fn_02731154(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02731154: ; // 0x2731154
|
|
/* 02731154 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02731158 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273115C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02731160 */ cpu->r[12] = cpu->r[12] + 0x000004A4u;
|
|
/* 02731164 */ cpu->r[11] = cpu->r[11] + 0x00006670u;
|
|
/* 02731168 */ cpu->r[0] = cpu->r[0] + 0x000066E8u;
|
|
/* 0273116C */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0273116C */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 02731170 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02731170 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02731174 */ return;
|
|
}
|
|
|
|
// fn_02731178 @ 0x2731178
|
|
void Gambit_fn_02731178(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_02731178: ; // 0x2731178
|
|
/* 02731178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273117C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273117C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273117C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273117C */ goto L_02731180;
|
|
L_02731180: ; // 0x2731180
|
|
/* 02731180 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731184 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731184 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02731184 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731184 */ goto L_02731188;
|
|
L_02731188: ; // 0x2731188
|
|
/* 02731188 */ 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_02731190 @ 0x2731190
|
|
void Gambit_fn_02731190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02731190: ; // 0x2731190
|
|
/* 02731190 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02731190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731190 */ cpu->r[1] = _t0;
|
|
/* 02731194 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731198 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02731198 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273119C */ cpu->r[30] = cpu->r[3];
|
|
/* 0273119C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027311A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027311A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027311A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027311A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027311A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027311A8 */ if (_t5) goto L_027311EC; else goto L_027311AC;
|
|
L_027311AC: ; // 0x27311ac
|
|
/* 027311AC */ cpu->r[0] = 0x100F0000u;
|
|
/* 027311B0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027311B4 */ cpu->r[0] = cpu->r[0] + 0x00006698u;
|
|
/* 027311B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027311BC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027311BC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027311C0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027311C4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027311C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027311CC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027311D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027311D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027311D8 */ Gambit_fn_028136EC(cpu);
|
|
/* 027311DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027311DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027311E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027311E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027311E0 */ if (_t8) goto L_027311EC; else goto L_027311E4;
|
|
L_027311E4: ; // 0x27311e4
|
|
/* 027311E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027311E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_027311EC: ; // 0x27311ec
|
|
/* 027311EC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027311EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027311F0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027311F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027311F4 */ cpu->lr = cpu->r[0];
|
|
/* 027311F8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027311F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027311FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02731200 */ return;
|
|
}
|
|
|
|
// fn_02731204 @ 0x2731204
|
|
void Gambit_fn_02731204(CPUState* cpu) {
|
|
L_02731204: ; // 0x2731204
|
|
/* 02731204 */ return;
|
|
}
|
|
|
|
// fn_0273120C @ 0x273120c
|
|
void Gambit_fn_0273120C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0273120C: ; // 0x273120c
|
|
/* 0273120C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273120C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273120C */ cpu->r[1] = _t0;
|
|
/* 02731210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731214 */ cpu->r[31] = cpu->r[3];
|
|
/* 02731214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02731218 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02731218 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273121C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273121C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273121C */ if (_t4) goto L_02731220; else goto L_02731230;
|
|
L_02731220: ; // 0x2731220
|
|
/* 02731220 */ cpu->r[3] = 0x000001DCu;
|
|
/* 02731224 */ Gambit_fn_02801A78(cpu);
|
|
/* 02731228 */ cpu->r[31] = cpu->r[3];
|
|
/* 02731228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273122C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273122C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273122C */ if (_t6) goto L_02731288; else goto L_02731230;
|
|
L_02731230: ; // 0x2731230
|
|
/* 02731230 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731234 */ Gambit_fn_02001FA8(cpu);
|
|
/* 02731238 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273123C */ cpu->r[10] = 0x00000000u;
|
|
/* 02731240 */ _t7 = cpu->r[31] + 0x000001CCu;
|
|
/* 02731240 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02731244 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02731248 */ _t8 = cpu->r[31] + 0x000001D1u;
|
|
/* 02731248 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 0273124C */ cpu->r[12] = cpu->r[12] + 0x000067F4u;
|
|
/* 02731250 */ _t9 = cpu->r[31] + 0x000001D0u;
|
|
/* 02731250 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02731254 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02731254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02731258 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02731258 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0273125C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273125C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0273125C */ if (_t12) goto L_02731260; else goto L_02731270;
|
|
L_02731260: ; // 0x2731260
|
|
/* 02731260 */ cpu->r[3] = 0x00000008u;
|
|
/* 02731264 */ Gambit_fn_02801A78(cpu);
|
|
/* 02731268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273126C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273126C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273126C */ if (_t14) goto L_02731288; else goto L_02731270;
|
|
L_02731270: ; // 0x2731270
|
|
/* 02731270 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02731274 */ cpu->r[0] = 0x10110000u;
|
|
/* 02731278 */ cpu->r[12] = cpu->r[12] + 0x00006704u;
|
|
/* 0273127C */ cpu->r[0] = cpu->r[0] + 0x00007399u;
|
|
/* 02731280 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02731280 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02731284 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02731284 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02731288: ; // 0x2731288
|
|
/* 02731288 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02731288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273128C */ cpu->r[3] = cpu->r[31];
|
|
/* 02731290 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02731294 */ cpu->lr = cpu->r[0];
|
|
/* 02731298 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273129C */ return;
|
|
}
|
|
|
|
// fn_027312A0 @ 0x27312a0
|
|
void Gambit_fn_027312A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027312A0: ; // 0x27312a0
|
|
/* 027312A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027312A4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027312A8 */ _t0 = cpu->r[3] + 0x000001D0u;
|
|
/* 027312A8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 027312AC */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 027312AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027312B0 */ cpu->r[12] = cpu->r[12] + 0x00005DDCu;
|
|
/* 027312B4 */ _t2 = cpu->r[3] + 0x000001CCu;
|
|
/* 027312B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027312B8 */ _t3 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027312B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027312BC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027312BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027312C0 */ _t5 = cpu->r[12] + 0x00000018u;
|
|
/* 027312C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027312C4 */ _t6 = cpu->r[3] + 0x00000050u;
|
|
/* 027312C4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 027312C8 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 027312C8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027312CC */ _t8 = cpu->r[3] + 0x00000058u;
|
|
/* 027312CC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027312D0 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 027312D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027312D4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027312D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027312D8 */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027312D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027312DC */ _t12 = cpu->r[3] + 0x0000005Cu;
|
|
/* 027312DC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 027312E0 */ _t13 = cpu->r[3] + 0x00000060u;
|
|
/* 027312E0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 027312E4 */ _t14 = cpu->r[3] + 0x00000064u;
|
|
/* 027312E4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027312E8 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 027312E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027312EC */ _t16 = cpu->r[12] + 0x00000020u;
|
|
/* 027312EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027312F0 */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 027312F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027312F4 */ _t18 = cpu->r[3] + 0x00000070u;
|
|
/* 027312F4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 027312F8 */ _t19 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027312F8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027312FC */ cpu->r[12] = 0x101F0000u;
|
|
/* 02731300 */ _t20 = cpu->r[3] + 0x00000068u;
|
|
/* 02731300 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02731304 */ _t21 = cpu->r[12] + 0x00006338u;
|
|
/* 02731304 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02731304 */ cpu->r[12] = _t21;
|
|
/* 02731308 */ _t22 = cpu->r[3] + 0x00000074u;
|
|
/* 02731308 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 0273130C */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 0273130C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02731310 */ _t24 = cpu->r[3] + 0x00000078u;
|
|
/* 02731310 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02731314 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 02731314 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02731318 */ _t26 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02731318 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 0273131C */ return;
|
|
}
|
|
|
|
// fn_02731320 @ 0x2731320
|
|
void Gambit_fn_02731320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_02731320: ; // 0x2731320
|
|
/* 02731320 */ cpu->r[10] = 0x00000001u;
|
|
/* 02731324 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02731328 */ _t0 = cpu->r[3] + 0x000001D0u;
|
|
/* 02731328 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[10]);
|
|
/* 0273132C */ _t1 = cpu->r[3] + 0x000001CCu;
|
|
/* 0273132C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02731330 */ _t2 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02731330 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02731334 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02731334 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02731338 */ _t4 = cpu->r[6] + 0x00000018u;
|
|
/* 02731338 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0273133C */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0273133C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02731340 */ _t6 = cpu->r[3] + 0x00000054u;
|
|
/* 02731340 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02731344 */ _t7 = cpu->r[3] + 0x00000058u;
|
|
/* 02731344 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02731348 */ _t8 = cpu->r[6] + 0x00000010u;
|
|
/* 02731348 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0273134C */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0273134C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02731350 */ _t10 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02731350 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02731354 */ _t11 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02731354 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02731358 */ _t12 = cpu->r[3] + 0x00000060u;
|
|
/* 02731358 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 0273135C */ _t13 = cpu->r[3] + 0x00000064u;
|
|
/* 0273135C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02731360 */ _t14 = cpu->r[6] + 0x00000014u;
|
|
/* 02731360 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02731364 */ _t15 = cpu->r[6] + 0x00000008u;
|
|
/* 02731364 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02731368 */ _t16 = cpu->r[6] + 0x00000020u;
|
|
/* 02731368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0273136C */ _t17 = cpu->r[3] + 0x00000068u;
|
|
/* 0273136C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02731370 */ _t18 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02731370 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02731374 */ _t19 = cpu->r[3] + 0x00000070u;
|
|
/* 02731374 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02731378 */ _t20 = cpu->r[5] + 0x00000000u;
|
|
/* 02731378 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0273137C */ _t21 = cpu->r[3] + 0x00000074u;
|
|
/* 0273137C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02731380 */ _t22 = cpu->r[5] + 0x00000004u;
|
|
/* 02731380 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02731384 */ _t23 = cpu->r[3] + 0x00000078u;
|
|
/* 02731384 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02731388 */ _t24 = cpu->r[5] + 0x00000008u;
|
|
/* 02731388 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0273138C */ _t25 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0273138C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02731390 */ _t26 = cpu->r[4] + 0x00000000u;
|
|
/* 02731390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02731394 */ _t27 = cpu->r[3] + 0x000001CCu;
|
|
/* 02731394 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02731398 */ _t28 = cpu->r[3] + 0x000001D4u;
|
|
/* 02731398 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0273139C */ return;
|
|
}
|
|
|
|
// fn_027313A0 @ 0x27313a0
|
|
void Gambit_fn_027313A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270;
|
|
|
|
L_027313A0: ; // 0x27313a0
|
|
/* 027313A0 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 027313A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027313A0 */ cpu->r[1] = _t0;
|
|
/* 027313A4 */ /* nop */
|
|
/* 027313A8 */ cpu->r[12] = 0x00000020u;
|
|
/* 027313AC */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027313AC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027313B0 */ cpu->r[0] = cpu->lr;
|
|
/* 027313B4 */ cpu->r[4] = 0x100F0000u;
|
|
/* 027313B8 */ _t2 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027313B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027313BC */ cpu->r[4] = cpu->r[4] + 0x0000674Cu;
|
|
/* 027313C0 */ _t3 = cpu->r[1] + 0x00000098u;
|
|
/* 027313C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 027313C4 */ cpu->r[10] = cpu->r[1] + 0x000000A0u;
|
|
/* 027313C8 */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 027313C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027313CC */ cpu->r[8] = 0x101D0000u;
|
|
/* 027313D0 */ cpu->r[31] = 0x10110000u;
|
|
/* 027313D4 */ cpu->r[27] = cpu->r[3];
|
|
/* 027313D8 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027313D8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027313DC */ cpu->r[20] = 0x100F0000u;
|
|
/* 027313E0 */ _t6 = cpu->r[8] + 0x00001138u;
|
|
/* 027313E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027313E4 */ cpu->r[20] = cpu->r[20] + 0x00006704u;
|
|
/* 027313E8 */ _t7 = cpu->r[27] + 0x000001CCu;
|
|
/* 027313E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027313EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027313F0 */ _t8 = cpu->r[1] + 0x000000BFu;
|
|
/* 027313F0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 027313F4 */ cpu->r[28] = cpu->r[5] + 0x00000001u;
|
|
/* 027313F8 */ _t9 = cpu->r[1] + 0x000000A0u;
|
|
/* 027313F8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 027313FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027313FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027313FC */ if (_t11) goto L_02731400; else goto L_02731424;
|
|
L_02731400: ; // 0x2731400
|
|
/* 02731400 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02731404 */ cpu->r[9] = 0x00000001u;
|
|
/* 02731408 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0273140C */ cpu->r[3] = cpu->r[3] + 0x0000585Fu;
|
|
/* 02731410 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02731414 */ cpu->r[4] = cpu->r[4] + 0xFFFF8724u;
|
|
/* 02731418 */ cpu->r[5] = 0x00000013u;
|
|
/* 0273141C */ _t12 = cpu->r[10] + 0x00001138u;
|
|
/* 0273141C */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02731420 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02731424: ; // 0x2731424
|
|
/* 02731424 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02731428 */ _t13 = cpu->r[7] + 0x0000113Cu;
|
|
/* 02731428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273142C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02731430 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02731434 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731434 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02731434 */ if (_t15) goto L_02731438; else goto L_0273144C;
|
|
L_02731438: ; // 0x2731438
|
|
/* 02731438 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273143C */ cpu->r[8] = 0x00000001u;
|
|
/* 02731440 */ cpu->r[10] = 0x00000000u;
|
|
/* 02731444 */ _t16 = cpu->r[12] + 0x0000113Cu;
|
|
/* 02731444 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02731448 */ _t17 = cpu->r[30] + 0x00001140u;
|
|
/* 02731448 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
L_0273144C: ; // 0x273144c
|
|
/* 0273144C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02731450 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02731450 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02731450 */ if (_t19) goto L_027314B0; else goto L_02731454;
|
|
L_02731454: ; // 0x2731454
|
|
/* 02731454 */ cpu->r[4] = 0x100F0000u;
|
|
/* 02731458 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 0273145C */ cpu->r[5] = 0x00000000u;
|
|
/* 02731460 */ cpu->r[4] = cpu->r[4] + 0x000067D4u;
|
|
/* 02731464 */ _t20 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02731464 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02731464 */ if (_t21) goto L_02731468; // else: addr-0 trap, fall-through
|
|
L_02731468: ; // 0x2731468
|
|
/* 02731468 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0273146C */ _t22 = cpu->r[1] + 0x00000098u;
|
|
/* 0273146C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02731470 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 02731470 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02731474 */ cpu->ctr = cpu->r[4];
|
|
/* 02731478 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 0273147C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731480 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02731484 */ cpu->r[8] = 0x00000002u;
|
|
/* 02731488 */ _t24 = cpu->r[27] + 0x000001CCu;
|
|
/* 02731488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273148C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02731490 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02731494 */ _t25 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02731494 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 02731498 */ cpu->r[24] = cpu->r[24] + 0xFFFF97D0u;
|
|
/* 0273149C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 027314A0 */ cpu->r[26] = cpu->r[26] + 0xFFFF97D8u;
|
|
/* 027314A4 */ cpu->r[25] = cpu->r[25] + 0xFFFF97D4u;
|
|
/* 027314A8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027314A8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027314A8 */ if (_t27) goto L_02731B08; else goto L_027314AC;
|
|
L_027314AC: ; // 0x27314ac
|
|
/* 027314AC */ goto L_02731560;
|
|
L_027314B0: ; // 0x27314b0
|
|
/* 027314B0 */ _t28 = cpu->r[30] + 0x00001140u;
|
|
/* 027314B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027314B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027314B8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027314B8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027314B8 */ if (_t30) goto L_027314BC; else goto L_02731504;
|
|
L_027314BC: ; // 0x27314bc
|
|
/* 027314BC */ Gambit_fn_0282A450(cpu);
|
|
/* 027314C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027314C4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 027314C8 */ _t31 = cpu->r[30] + 0x00001140u;
|
|
/* 027314C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027314CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027314D0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027314D0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027314D0 */ if (_t33) goto L_027314D4; else goto L_027314F8;
|
|
L_027314D4: ; // 0x27314d4
|
|
/* 027314D4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027314D8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027314DC */ cpu->r[5] = 0x00000003u;
|
|
/* 027314E0 */ cpu->r[3] = cpu->r[3] + 0x00001144u;
|
|
/* 027314E4 */ cpu->r[4] = cpu->r[4] + 0x0000585Fu;
|
|
/* 027314E8 */ Gambit_fn_0282A374(cpu);
|
|
/* 027314EC */ cpu->r[7] = 0x101D0000u;
|
|
/* 027314F0 */ cpu->r[7] = cpu->r[7] + 0x00001144u;
|
|
/* 027314F4 */ _t34 = cpu->r[30] + 0x00001140u;
|
|
/* 027314F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
L_027314F8: ; // 0x27314f8
|
|
/* 027314F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027314FC */ Gambit_fn_02837030(cpu);
|
|
/* 02731500 */ _t35 = cpu->r[30] + 0x00001140u;
|
|
/* 02731500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
L_02731504: ; // 0x2731504
|
|
/* 02731504 */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02731508 */ cpu->r[4] = 0x100F0000u;
|
|
/* 0273150C */ _t36 = cpu->r[9] + cpu->r[11];
|
|
/* 0273150C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02731510 */ cpu->r[4] = cpu->r[4] + 0x000067D4u;
|
|
/* 02731514 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02731518 */ _t37 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02731518 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02731518 */ if (_t38) goto L_0273151C; // else: addr-0 trap, fall-through
|
|
L_0273151C: ; // 0x273151c
|
|
/* 0273151C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02731520 */ _t39 = cpu->r[1] + 0x00000098u;
|
|
/* 02731520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02731524 */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02731524 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02731528 */ cpu->ctr = cpu->r[4];
|
|
/* 0273152C */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02731530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731534 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02731538 */ cpu->r[8] = 0x00000002u;
|
|
/* 0273153C */ _t41 = cpu->r[27] + 0x000001CCu;
|
|
/* 0273153C */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02731540 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02731544 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02731548 */ _t42 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02731548 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 0273154C */ cpu->r[24] = cpu->r[24] + 0xFFFF97D0u;
|
|
/* 02731550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 02731554 */ cpu->r[26] = cpu->r[26] + 0xFFFF97D8u;
|
|
/* 02731558 */ cpu->r[25] = cpu->r[25] + 0xFFFF97D4u;
|
|
/* 0273155C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273155C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0273155C */ if (_t44) goto L_02731B08; else goto L_02731560;
|
|
L_02731560: ; // 0x2731560
|
|
/* 02731560 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 02731564 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02731564 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02731564 */ if (_t46) goto L_0273157C; else goto L_02731568;
|
|
L_02731568: ; // 0x2731568
|
|
/* 02731568 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731568 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02731568 */ if (_t48) goto L_02731A98; else goto L_0273156C;
|
|
L_0273156C: ; // 0x273156c
|
|
/* 0273156C */ _t49 = cpu->r[27] + 0x000001D0u;
|
|
/* 0273156C */ cpu->r[6] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02731570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02731574 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731574 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02731574 */ if (_t51) goto L_02731BB8; else goto L_02731578;
|
|
L_02731578: ; // 0x2731578
|
|
/* 02731578 */ goto L_02731B14;
|
|
L_0273157C: ; // 0x273157c
|
|
/* 0273157C */ cpu->r[14] = 0x100F0000u;
|
|
/* 02731580 */ _t52 = cpu->r[1] + 0x00000050u;
|
|
/* 02731580 */ rbrew_write32(cpu->mem, _t52, cpu->r[20]);
|
|
/* 02731584 */ cpu->r[5] = 0x00000000u;
|
|
/* 02731588 */ cpu->r[14] = cpu->r[14] + 0x000067B8u;
|
|
/* 0273158C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02731590 */ cpu->r[4] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02731594 */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02731594 */ rbrew_write32(cpu->mem, _t53, cpu->r[14]);
|
|
/* 02731598 */ cpu->r[6] = cpu->r[5];
|
|
/* 0273159C */ Gambit_fn_027C6980(cpu);
|
|
/* 027315A0 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 027315A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027315A4 */ _t55 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027315A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027315A8 */ cpu->r[16] = 0x00000000u;
|
|
/* 027315AC */ _t56 = cpu->r[5] + 0x00000050u;
|
|
/* 027315AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t56);
|
|
/* 027315B0 */ cpu->r[17] = cpu->r[16];
|
|
/* 027315B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[0]);
|
|
/* 027315B8 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027315B8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027315B8 */ if (_t58) goto L_027315BC; else goto L_027319F8;
|
|
L_027315BC: ; // 0x27315bc
|
|
/* 027315BC */ cpu->r[22] = 0x100F0000u;
|
|
/* 027315C0 */ cpu->r[19] = 0x00000000u;
|
|
/* 027315C4 */ cpu->r[22] = cpu->r[22] + 0x000067A4u;
|
|
/* 027315C8 */ cpu->r[18] = cpu->r[1] + 0x000000CCu;
|
|
L_027315CC: ; // 0x27315cc
|
|
/* 027315CC */ _t59 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027315CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027315D0 */ _t60 = cpu->r[4] + 0x00000020u;
|
|
/* 027315D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027315D0 */ cpu->r[4] = _t60;
|
|
/* 027315D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027315D8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027315DC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027315DC */ _t62 = _t61 & 0x00000001u;
|
|
/* 027315DC */ if (_t62) goto L_027315E4; else goto L_027315E0;
|
|
L_027315E0: ; // 0x27315e0
|
|
/* 027315E0 */ cpu->r[7] = cpu->r[4] + cpu->r[9];
|
|
L_027315E4: ; // 0x27315e4
|
|
/* 027315E4 */ cpu->r[6] = cpu->r[7] + cpu->r[19];
|
|
/* 027315E8 */ _t63 = cpu->r[6] + 0x00000024u;
|
|
/* 027315E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027315EC */ cpu->r[4] = 0x00000000u;
|
|
/* 027315F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027315F4 */ cpu->r[11] = cpu->r[6] + 0x00000024u;
|
|
/* 027315F8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027315F8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027315F8 */ if (_t65) goto L_02731600; else goto L_027315FC;
|
|
L_027315FC: ; // 0x27315fc
|
|
/* 027315FC */ cpu->r[4] = cpu->r[11] + cpu->r[0];
|
|
L_02731600: ; // 0x2731600
|
|
/* 02731600 */ cpu->r[23] = cpu->r[4] + 0x00000004u;
|
|
/* 02731604 */ cpu->r[6] = cpu->r[23];
|
|
/* 02731608 */ _t66 = cpu->r[6] + 0x00000000u;
|
|
/* 02731608 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0273160C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02731610 */ cpu->r[0] = 0x00000000u;
|
|
/* 02731614 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731614 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02731614 */ if (_t68) goto L_0273161C; else goto L_02731618;
|
|
L_02731618: ; // 0x2731618
|
|
/* 02731618 */ cpu->r[0] = cpu->r[6] + cpu->r[5];
|
|
L_0273161C: ; // 0x273161c
|
|
/* 0273161C */ _t69 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273161C */ rbrew_write32(cpu->mem, _t69, cpu->r[20]);
|
|
/* 02731620 */ cpu->r[30] = 0x00000000u;
|
|
/* 02731624 */ _t70 = cpu->r[1] + 0x00000028u;
|
|
/* 02731624 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02731628 */ cpu->r[21] = 0x00000001u;
|
|
/* 0273162C */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273162C */ rbrew_write32(cpu->mem, _t71, cpu->r[20]);
|
|
/* 02731630 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02731634 */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 02731634 */ rbrew_write32(cpu->mem, _t72, cpu->r[22]);
|
|
/* 02731638 */ Gambit_fn_02731D18(cpu);
|
|
/* 0273163C */ _t73 = cpu->r[1] + 0x00000028u;
|
|
/* 0273163C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02731640 */ _t74 = cpu->r[9] + 0x00000000u;
|
|
/* 02731640 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02731644 */ cpu->r[8] = cpu->r[31];
|
|
/* 02731648 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 0273164C */ cpu->r[11] = 0x00080000u;
|
|
/* 02731650 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731650 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02731650 */ if (_t76) goto L_02731678; else goto L_02731654;
|
|
L_02731654: ; // 0x2731654
|
|
/* 02731654 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02731658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0273165C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02731660 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02731660 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02731660 */ if (_t78) goto L_02731674; else goto L_02731664;
|
|
L_02731664: ; // 0x2731664
|
|
/* 02731664 */ _t79 = cpu->r[9] + 0x00000000u;
|
|
/* 02731664 */ cpu->r[0] = rbrew_read8(cpu->mem, _t79);
|
|
/* 02731668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0273166C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273166C */ _t81 = _t80 & 0x00000001u;
|
|
/* 0273166C */ if (_t81) goto L_02731670; else goto L_02731654;
|
|
L_02731670: ; // 0x2731670
|
|
/* 02731670 */ goto L_02731678;
|
|
L_02731674: ; // 0x2731674
|
|
/* 02731674 */ cpu->r[30] = 0x00000000u;
|
|
L_02731678: ; // 0x2731678
|
|
/* 02731678 */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731678 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0273167C */ _t83 = cpu->r[6] + 0x00000014u;
|
|
/* 0273167C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02731680 */ cpu->ctr = cpu->r[0];
|
|
/* 02731684 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02731688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273168C */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 0273168C */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02731690 */ cpu->r[7] = cpu->r[31];
|
|
/* 02731694 */ _t85 = cpu->r[5] + 0x00000000u;
|
|
/* 02731694 */ cpu->r[10] = rbrew_read8(cpu->mem, _t85);
|
|
/* 02731698 */ cpu->r[11] = 0x00000000u;
|
|
/* 0273169C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 027316A0 */ cpu->r[6] = 0x00080000u;
|
|
/* 027316A4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027316A4 */ _t87 = _t86 & 0x00000001u;
|
|
/* 027316A4 */ if (_t87) goto L_027316E0; else goto L_027316A8;
|
|
L_027316A8: ; // 0x27316a8
|
|
/* 027316A8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027316AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 027316B0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027316B4 */ _t88 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027316B4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027316B4 */ if (_t89) goto L_027316CC; else goto L_027316B8;
|
|
L_027316B8: ; // 0x27316b8
|
|
/* 027316B8 */ _t90 = cpu->r[5] + 0x00000000u;
|
|
/* 027316B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t90);
|
|
/* 027316BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]);
|
|
/* 027316C0 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027316C0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027316C0 */ if (_t92) goto L_027316C4; else goto L_027316A8;
|
|
L_027316C4: ; // 0x27316c4
|
|
/* 027316C4 */ cpu->r[29] = cpu->r[11];
|
|
/* 027316C8 */ goto L_027316E4;
|
|
L_027316CC: ; // 0x27316cc
|
|
/* 027316CC */ cpu->r[29] = 0x00000000u;
|
|
/* 027316D0 */ cpu->r[9] = cpu->r[30];
|
|
/* 027316D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027316D4 */ cpu->r[28] = cpu->r[29];
|
|
/* 027316D8 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027316D8 */ _t94 = _t93 & 0x00000001u;
|
|
/* 027316D8 */ if (_t94) goto L_027316DC; else goto L_027316F0;
|
|
L_027316DC: ; // 0x27316dc
|
|
/* 027316DC */ goto L_02731800;
|
|
L_027316E0: ; // 0x27316e0
|
|
/* 027316E0 */ cpu->r[29] = cpu->r[11];
|
|
L_027316E4: ; // 0x27316e4
|
|
/* 027316E4 */ cpu->r[9] = cpu->r[30] - cpu->r[29];
|
|
/* 027316E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027316E8 */ cpu->r[28] = 0x00000000u;
|
|
/* 027316EC */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027316EC */ _t96 = _t95 & 0x00000001u;
|
|
/* 027316EC */ if (_t96) goto L_02731800; else goto L_027316F0;
|
|
L_027316F0: ; // 0x27316f0
|
|
/* 027316F0 */ cpu->r[15] = cpu->r[9];
|
|
L_027316F4: ; // 0x27316f4
|
|
/* 027316F4 */ _t97 = cpu->r[1] + 0x00000028u;
|
|
/* 027316F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027316F8 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027316F8 */ rbrew_write32(cpu->mem, _t98, cpu->r[20]);
|
|
/* 027316FC */ cpu->r[0] = cpu->r[5] + cpu->r[28];
|
|
/* 02731700 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02731704 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02731704 */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 02731708 */ Gambit_fn_02731D18(cpu);
|
|
/* 0273170C */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273170C */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02731710 */ _t101 = cpu->r[8] + 0x00000014u;
|
|
/* 02731710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02731714 */ cpu->ctr = cpu->r[10];
|
|
/* 02731718 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0273171C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731720 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731720 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02731724 */ _t103 = cpu->r[4] + 0x00000014u;
|
|
/* 02731724 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02731728 */ cpu->ctr = cpu->r[7];
|
|
/* 0273172C */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 0273172C */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02731730 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02731734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731738 */ _t105 = cpu->r[1] + 0x00000018u;
|
|
/* 02731738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0273173C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02731740 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731740 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02731740 */ if (_t107) goto L_027317F8; else goto L_02731744;
|
|
L_02731744: ; // 0x2731744
|
|
/* 02731744 */ cpu->r[11] = cpu->r[29];
|
|
/* 02731744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02731748 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02731748 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02731748 */ if (_t109) goto L_0273174C; else goto L_027317F8;
|
|
L_0273174C: ; // 0x273174c
|
|
/* 0273174C */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 0273174C */ cpu->r[8] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02731750 */ cpu->ctr = cpu->r[11];
|
|
/* 02731754 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 02731754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02731758 */ cpu->r[0] = cpu->r[31];
|
|
L_0273175C: ; // 0x273175c
|
|
/* 0273175C */ _t112 = cpu->r[10] + 0x00000000u;
|
|
/* 0273175C */ cpu->r[12] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02731760 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02731764 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731764 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02731764 */ if (_t114) goto L_02731768; else goto L_02731778;
|
|
L_02731768: ; // 0x2731768
|
|
/* 02731768 */ _t115 = cpu->r[8] + 0x00000000u;
|
|
/* 02731768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t115);
|
|
/* 0273176C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02731770 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731770 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02731770 */ if (_t117) goto L_027317F8; else goto L_02731774;
|
|
L_02731774: ; // 0x2731774
|
|
/* 02731774 */ goto L_027317A4;
|
|
L_02731778: ; // 0x2731778
|
|
/* 02731778 */ _t118 = cpu->r[8] + 0x00000000u;
|
|
/* 02731778 */ cpu->r[9] = rbrew_read8(cpu->mem, _t118);
|
|
/* 0273177C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02731780 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731780 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02731780 */ if (_t120) goto L_027317A4; else goto L_02731784;
|
|
L_02731784: ; // 0x2731784
|
|
/* 02731784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02731788 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731788 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02731788 */ if (_t122) goto L_0273178C; else goto L_027317A4;
|
|
L_0273178C: ; // 0x273178c
|
|
/* 0273178C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02731790 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02731794 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02731794 */ _t123 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02731794 */ _t124 = _t123 >> (0x00000002u & 31u);
|
|
/* 02731794 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02731794 */ if (_t125) goto L_0273175C; else goto L_02731798;
|
|
L_02731798: ; // 0x2731798
|
|
/* 02731798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 0273179C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273179C */ _t127 = _t126 & 0x00000001u;
|
|
/* 0273179C */ if (_t127) goto L_02731800; else goto L_027317A0;
|
|
L_027317A0: ; // 0x27317a0
|
|
/* 027317A0 */ goto L_027319B0;
|
|
L_027317A4: ; // 0x27317a4
|
|
/* 027317A4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027317A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[15]);
|
|
/* 027317AC */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027317AC */ _t129 = _t128 & 0x00000001u;
|
|
/* 027317AC */ if (_t129) goto L_027317B0; else goto L_027316F4;
|
|
L_027317B0: ; // 0x27317b0
|
|
/* 027317B0 */ cpu->r[5] = 0x100F0000u;
|
|
/* 027317B4 */ _t130 = cpu->r[1] + 0x00000024u;
|
|
/* 027317B4 */ rbrew_write32(cpu->mem, _t130, cpu->r[20]);
|
|
/* 027317B8 */ cpu->r[5] = cpu->r[5] + 0x000067ACu;
|
|
/* 027317BC */ _t131 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027317BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t131);
|
|
/* 027317C0 */ _t132 = cpu->r[1] + 0x00000020u;
|
|
/* 027317C0 */ rbrew_write32(cpu->mem, _t132, cpu->r[5]);
|
|
/* 027317C4 */ _t133 = cpu->r[6] + 0x00000014u;
|
|
/* 027317C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027317C8 */ cpu->ctr = cpu->r[7];
|
|
/* 027317CC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 027317D0 */ cpu->r[30] = 0x00000001u;
|
|
/* 027317D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027317D8 */ _t134 = cpu->r[1] + 0x00000028u;
|
|
/* 027317D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027317DC */ cpu->r[5] = cpu->r[31];
|
|
/* 027317E0 */ _t135 = cpu->r[4] + 0x00000000u;
|
|
/* 027317E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t135);
|
|
/* 027317E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027317E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 027317EC */ cpu->r[6] = 0x00080000u;
|
|
/* 027317F0 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027317F0 */ _t137 = _t136 & 0x00000001u;
|
|
/* 027317F0 */ if (_t137) goto L_027317F4; else goto L_02731844;
|
|
L_027317F4: ; // 0x27317f4
|
|
/* 027317F4 */ goto L_02731868;
|
|
L_027317F8: ; // 0x27317f8
|
|
/* 027317F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 027317FC */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027317FC */ _t139 = _t138 & 0x00000001u;
|
|
/* 027317FC */ if (_t139) goto L_02731800; else goto L_027319B0;
|
|
L_02731800: ; // 0x2731800
|
|
/* 02731800 */ cpu->r[5] = 0x100F0000u;
|
|
/* 02731804 */ _t140 = cpu->r[1] + 0x00000024u;
|
|
/* 02731804 */ rbrew_write32(cpu->mem, _t140, cpu->r[20]);
|
|
/* 02731808 */ cpu->r[5] = cpu->r[5] + 0x000067ACu;
|
|
/* 0273180C */ _t141 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273180C */ cpu->r[6] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02731810 */ _t142 = cpu->r[1] + 0x00000020u;
|
|
/* 02731810 */ rbrew_write32(cpu->mem, _t142, cpu->r[5]);
|
|
/* 02731814 */ _t143 = cpu->r[6] + 0x00000014u;
|
|
/* 02731814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02731818 */ cpu->ctr = cpu->r[7];
|
|
/* 0273181C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02731820 */ cpu->r[30] = 0x00000001u;
|
|
/* 02731824 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731828 */ _t144 = cpu->r[1] + 0x00000028u;
|
|
/* 02731828 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0273182C */ cpu->r[5] = cpu->r[31];
|
|
/* 02731830 */ _t145 = cpu->r[4] + 0x00000000u;
|
|
/* 02731830 */ cpu->r[8] = rbrew_read8(cpu->mem, _t145);
|
|
/* 02731834 */ cpu->r[30] = 0x00000000u;
|
|
/* 02731838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 0273183C */ cpu->r[6] = 0x00080000u;
|
|
/* 02731840 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731840 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02731840 */ if (_t147) goto L_02731868; else goto L_02731844;
|
|
L_02731844: ; // 0x2731844
|
|
/* 02731844 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02731848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0273184C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02731850 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02731850 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02731850 */ if (_t149) goto L_02731864; else goto L_02731854;
|
|
L_02731854: ; // 0x2731854
|
|
/* 02731854 */ _t150 = cpu->r[4] + 0x00000000u;
|
|
/* 02731854 */ cpu->r[0] = rbrew_read8(cpu->mem, _t150);
|
|
/* 02731858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0273185C */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273185C */ _t152 = _t151 & 0x00000001u;
|
|
/* 0273185C */ if (_t152) goto L_02731860; else goto L_02731844;
|
|
L_02731860: ; // 0x2731860
|
|
/* 02731860 */ goto L_02731868;
|
|
L_02731864: ; // 0x2731864
|
|
/* 02731864 */ cpu->r[30] = 0x00000000u;
|
|
L_02731868: ; // 0x2731868
|
|
/* 02731868 */ _t153 = cpu->r[1] + 0x00000024u;
|
|
/* 02731868 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0273186C */ _t154 = cpu->r[10] + 0x00000014u;
|
|
/* 0273186C */ cpu->r[11] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02731870 */ cpu->ctr = cpu->r[11];
|
|
/* 02731874 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02731878 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273187C */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 0273187C */ cpu->r[9] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02731880 */ cpu->r[4] = cpu->r[31];
|
|
/* 02731884 */ _t156 = cpu->r[9] + 0x00000000u;
|
|
/* 02731884 */ cpu->r[0] = rbrew_read8(cpu->mem, _t156);
|
|
/* 02731888 */ cpu->r[12] = 0x00000000u;
|
|
/* 0273188C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02731890 */ cpu->r[11] = 0x00080000u;
|
|
/* 02731894 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731894 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02731894 */ if (_t158) goto L_027318D0; else goto L_02731898;
|
|
L_02731898: ; // 0x2731898
|
|
/* 02731898 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273189C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 027318A0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027318A4 */ _t159 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027318A4 */ _t160 = _t159 & 0x00000001u;
|
|
/* 027318A4 */ if (_t160) goto L_027318BC; else goto L_027318A8;
|
|
L_027318A8: ; // 0x27318a8
|
|
/* 027318A8 */ _t161 = cpu->r[9] + 0x00000000u;
|
|
/* 027318A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t161);
|
|
/* 027318AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 027318B0 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027318B0 */ _t163 = _t162 & 0x00000001u;
|
|
/* 027318B0 */ if (_t163) goto L_027318B4; else goto L_02731898;
|
|
L_027318B4: ; // 0x27318b4
|
|
/* 027318B4 */ cpu->r[29] = cpu->r[12];
|
|
/* 027318B8 */ goto L_027318D4;
|
|
L_027318BC: ; // 0x27318bc
|
|
/* 027318BC */ cpu->r[29] = 0x00000000u;
|
|
/* 027318C0 */ cpu->r[0] = cpu->r[30];
|
|
/* 027318C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027318C4 */ cpu->r[28] = cpu->r[29];
|
|
/* 027318C8 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027318C8 */ _t165 = _t164 & 0x00000001u;
|
|
/* 027318C8 */ if (_t165) goto L_027318CC; else goto L_027318E0;
|
|
L_027318CC: ; // 0x27318cc
|
|
/* 027318CC */ goto L_027319AC;
|
|
L_027318D0: ; // 0x27318d0
|
|
/* 027318D0 */ cpu->r[29] = cpu->r[12];
|
|
L_027318D4: ; // 0x27318d4
|
|
/* 027318D4 */ cpu->r[0] = cpu->r[30] - cpu->r[29];
|
|
/* 027318D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027318D8 */ cpu->r[28] = 0x00000000u;
|
|
/* 027318DC */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027318DC */ _t167 = _t166 & 0x00000001u;
|
|
/* 027318DC */ if (_t167) goto L_027319AC; else goto L_027318E0;
|
|
L_027318E0: ; // 0x27318e0
|
|
/* 027318E0 */ cpu->r[15] = cpu->r[0];
|
|
L_027318E4: ; // 0x27318e4
|
|
/* 027318E4 */ _t168 = cpu->r[1] + 0x00000028u;
|
|
/* 027318E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 027318E8 */ _t169 = cpu->r[1] + 0x00000014u;
|
|
/* 027318E8 */ rbrew_write32(cpu->mem, _t169, cpu->r[20]);
|
|
/* 027318EC */ cpu->r[4] = cpu->r[5] + cpu->r[28];
|
|
/* 027318F0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027318F4 */ _t170 = cpu->r[1] + 0x00000010u;
|
|
/* 027318F4 */ rbrew_write32(cpu->mem, _t170, cpu->r[4]);
|
|
/* 027318F8 */ Gambit_fn_02731D18(cpu);
|
|
/* 027318FC */ _t171 = cpu->r[1] + 0x00000014u;
|
|
/* 027318FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02731900 */ _t172 = cpu->r[6] + 0x00000014u;
|
|
/* 02731900 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02731904 */ cpu->ctr = cpu->r[7];
|
|
/* 02731908 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273190C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731910 */ _t173 = cpu->r[1] + 0x00000024u;
|
|
/* 02731910 */ cpu->r[8] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02731914 */ _t174 = cpu->r[8] + 0x00000014u;
|
|
/* 02731914 */ cpu->r[9] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02731918 */ cpu->ctr = cpu->r[9];
|
|
/* 0273191C */ _t175 = cpu->r[1] + 0x00000010u;
|
|
/* 0273191C */ cpu->r[30] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02731920 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02731924 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731928 */ _t176 = cpu->r[1] + 0x00000020u;
|
|
/* 02731928 */ cpu->r[6] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0273192C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[6]);
|
|
/* 02731930 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731930 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02731930 */ if (_t178) goto L_027319A4; else goto L_02731934;
|
|
L_02731934: ; // 0x2731934
|
|
/* 02731934 */ cpu->r[10] = cpu->r[29];
|
|
/* 02731934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02731938 */ _t179 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02731938 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02731938 */ if (_t180) goto L_0273193C; else goto L_027319A4;
|
|
L_0273193C: ; // 0x273193c
|
|
/* 0273193C */ cpu->ctr = cpu->r[10];
|
|
/* 02731940 */ _t181 = cpu->r[1] + 0x00000010u;
|
|
/* 02731940 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02731944 */ cpu->r[12] = cpu->r[31];
|
|
L_02731948: ; // 0x2731948
|
|
/* 02731948 */ _t182 = cpu->r[4] + 0x00000000u;
|
|
/* 02731948 */ cpu->r[7] = rbrew_read8(cpu->mem, _t182);
|
|
/* 0273194C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02731950 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731950 */ _t184 = _t183 & 0x00000001u;
|
|
/* 02731950 */ if (_t184) goto L_02731954; else goto L_02731964;
|
|
L_02731954: ; // 0x2731954
|
|
/* 02731954 */ _t185 = cpu->r[6] + 0x00000000u;
|
|
/* 02731954 */ cpu->r[11] = rbrew_read8(cpu->mem, _t185);
|
|
/* 02731958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0273195C */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273195C */ _t187 = _t186 & 0x00000001u;
|
|
/* 0273195C */ if (_t187) goto L_027319A4; else goto L_02731960;
|
|
L_02731960: ; // 0x2731960
|
|
/* 02731960 */ goto L_02731990;
|
|
L_02731964: ; // 0x2731964
|
|
/* 02731964 */ _t188 = cpu->r[6] + 0x00000000u;
|
|
/* 02731964 */ cpu->r[5] = rbrew_read8(cpu->mem, _t188);
|
|
/* 02731968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 0273196C */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273196C */ _t190 = _t189 & 0x00000001u;
|
|
/* 0273196C */ if (_t190) goto L_02731990; else goto L_02731970;
|
|
L_02731970: ; // 0x2731970
|
|
/* 02731970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]);
|
|
/* 02731974 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731974 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02731974 */ if (_t192) goto L_02731978; else goto L_02731990;
|
|
L_02731978: ; // 0x2731978
|
|
/* 02731978 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273197C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02731980 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02731980 */ _t193 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02731980 */ _t194 = _t193 >> (0x00000002u & 31u);
|
|
/* 02731980 */ _t195 = _t194 & 0x00000001u;
|
|
/* 02731980 */ if (_t195) goto L_02731948; else goto L_02731984;
|
|
L_02731984: ; // 0x2731984
|
|
/* 02731984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 02731988 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731988 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02731988 */ if (_t197) goto L_027319AC; else goto L_0273198C;
|
|
L_0273198C: ; // 0x273198c
|
|
/* 0273198C */ goto L_027319B0;
|
|
L_02731990: ; // 0x2731990
|
|
/* 02731990 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02731994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[15]);
|
|
/* 02731998 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02731998 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02731998 */ if (_t199) goto L_0273199C; else goto L_027318E4;
|
|
L_0273199C: ; // 0x273199c
|
|
/* 0273199C */ cpu->r[21] = 0x00000000u;
|
|
/* 027319A0 */ goto L_027319B0;
|
|
L_027319A4: ; // 0x27319a4
|
|
/* 027319A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 027319A8 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027319A8 */ _t201 = _t200 & 0x00000001u;
|
|
/* 027319A8 */ if (_t201) goto L_027319AC; else goto L_027319B0;
|
|
L_027319AC: ; // 0x27319ac
|
|
/* 027319AC */ cpu->r[21] = 0x00000000u;
|
|
L_027319B0: ; // 0x27319b0
|
|
/* 027319B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027319B4 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027319B4 */ _t203 = _t202 & 0x00000001u;
|
|
/* 027319B4 */ if (_t203) goto L_027319B8; else goto L_027319DC;
|
|
L_027319B8: ; // 0x27319b8
|
|
/* 027319B8 */ cpu->r[9] = cpu->r[23];
|
|
/* 027319BC */ _t204 = cpu->r[9] + 0x00000000u;
|
|
/* 027319BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t204);
|
|
/* 027319C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027319C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027319C8 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027319C8 */ _t206 = _t205 & 0x00000001u;
|
|
/* 027319C8 */ if (_t206) goto L_027319D0; else goto L_027319CC;
|
|
L_027319CC: ; // 0x27319cc
|
|
/* 027319CC */ cpu->r[0] = cpu->r[9] + cpu->r[8];
|
|
L_027319D0: ; // 0x27319d0
|
|
/* 027319D0 */ _t207 = cpu->r[18] + 0x00000000u;
|
|
/* 027319D0 */ rbrew_write32(cpu->mem, _t207, cpu->r[0]);
|
|
/* 027319D4 */ cpu->r[16] = cpu->r[16] + 0x00000001u;
|
|
/* 027319D8 */ cpu->r[18] = cpu->r[18] + 0x00000004u;
|
|
L_027319DC: ; // 0x27319dc
|
|
/* 027319DC */ _t208 = cpu->r[1] + 0x00000034u;
|
|
/* 027319DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 027319E0 */ _t209 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027319E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t209);
|
|
/* 027319E4 */ _t210 = cpu->r[5] + 0x00000050u;
|
|
/* 027319E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t210);
|
|
/* 027319E8 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 027319EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[0]);
|
|
/* 027319F0 */ cpu->r[19] = cpu->r[19] + 0x00000010u;
|
|
/* 027319F4 */ _t211 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027319F4 */ _t212 = _t211 & 0x00000001u;
|
|
/* 027319F4 */ if (_t212) goto L_027315CC; else goto L_027319F8;
|
|
L_027319F8: ; // 0x27319f8
|
|
/* 027319F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027319FC */ _t213 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 027319FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02731A00 */ _t214 = cpu->r[12] + 0x00000278u;
|
|
/* 02731A00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02731A04 */ _t215 = cpu->r[1] + 0x00000058u;
|
|
/* 02731A04 */ rbrew_write32(cpu->mem, _t215, cpu->r[20]);
|
|
/* 02731A08 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 02731A0C */ _t216 = cpu->r[1] + 0x00000054u;
|
|
/* 02731A0C */ rbrew_write32(cpu->mem, _t216, cpu->r[14]);
|
|
/* 02731A10 */ Gambit_fn_02982574(cpu);
|
|
/* 02731A14 */ _t217 = cpu->r[25] + 0x00000000u;
|
|
/* 02731A14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02731A18 */ _t218 = cpu->r[24] + 0x00000000u;
|
|
/* 02731A18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02731A1C */ _t219 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02731A1C */ rbrew_write32(cpu->mem, _t219, cpu->r[7]);
|
|
/* 02731A20 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02731A24 */ _t220 = cpu->r[26] + 0x00000000u;
|
|
/* 02731A24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t220);
|
|
/* 02731A28 */ _t221 = cpu->r[9] + 0xFFFF97D9u;
|
|
/* 02731A28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t221);
|
|
/* 02731A2C */ _t222 = cpu->r[1] + 0x00000090u;
|
|
/* 02731A2C */ rbrew_write8(cpu->mem, _t222, (uint8_t)cpu->r[0]);
|
|
/* 02731A30 */ cpu->r[8] = cpu->r[1] + 0x00000078u;
|
|
/* 02731A34 */ _t223 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02731A34 */ rbrew_write32(cpu->mem, _t223, cpu->r[6]);
|
|
/* 02731A38 */ _t224 = cpu->r[1] + 0x00000091u;
|
|
/* 02731A38 */ rbrew_write8(cpu->mem, _t224, (uint8_t)cpu->r[10]);
|
|
/* 02731A3C */ cpu->r[3] = cpu->r[27];
|
|
/* 02731A40 */ _t225 = cpu->r[31] + 0x00000248u;
|
|
/* 02731A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02731A44 */ cpu->r[7] = cpu->r[16];
|
|
/* 02731A48 */ cpu->r[6] = cpu->r[1] + 0x000000CCu;
|
|
/* 02731A4C */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 02731A50 */ Gambit_fn_020025C0(cpu);
|
|
/* 02731A54 */ _t226 = cpu->r[1] + 0x00000034u;
|
|
/* 02731A54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02731A58 */ _t227 = cpu->r[27] + 0x00000008u;
|
|
/* 02731A58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02731A5C */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 02731A60 */ _t228 = cpu->r[1] + 0x00000038u;
|
|
/* 02731A60 */ rbrew_write32(cpu->mem, _t228, cpu->r[10]);
|
|
/* 02731A64 */ Gambit_fn_02984F3C(cpu);
|
|
/* 02731A68 */ cpu->r[11] = 0x00000006u;
|
|
/* 02731A6C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02731A70 */ cpu->r[7] = 0x00000000u;
|
|
/* 02731A74 */ cpu->r[5] = 0x00000001u;
|
|
/* 02731A78 */ _t229 = cpu->r[1] + 0x000000C4u;
|
|
/* 02731A78 */ rbrew_write32(cpu->mem, _t229, cpu->r[11]);
|
|
/* 02731A7C */ cpu->r[6] = cpu->r[1] + 0x000000C0u;
|
|
/* 02731A80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731A84 */ Gambit_fn_0297FAD0(cpu);
|
|
/* 02731A88 */ _t230 = cpu->r[27] + 0x000001D0u;
|
|
/* 02731A88 */ cpu->r[6] = rbrew_read8(cpu->mem, _t230);
|
|
/* 02731A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02731A90 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731A90 */ _t232 = _t231 & 0x00000001u;
|
|
/* 02731A90 */ if (_t232) goto L_02731BB8; else goto L_02731A94;
|
|
L_02731A94: ; // 0x2731a94
|
|
/* 02731A94 */ goto L_02731B14;
|
|
L_02731A98: ; // 0x2731a98
|
|
/* 02731A98 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02731A9C */ cpu->r[12] = 0x100F0000u;
|
|
/* 02731AA0 */ _t233 = cpu->r[6] + 0xFFFF87DCu;
|
|
/* 02731AA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02731AA4 */ _t234 = cpu->r[6] + 0x00000278u;
|
|
/* 02731AA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02731AA8 */ cpu->r[12] = cpu->r[12] + 0x000067C4u;
|
|
/* 02731AAC */ _t235 = cpu->r[1] + 0x00000048u;
|
|
/* 02731AAC */ rbrew_write32(cpu->mem, _t235, cpu->r[20]);
|
|
/* 02731AB0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02731AB4 */ _t236 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02731AB4 */ rbrew_write32(cpu->mem, _t236, cpu->r[12]);
|
|
/* 02731AB8 */ cpu->r[0] = cpu->r[0] + 0x000067B4u;
|
|
/* 02731ABC */ _t237 = cpu->r[1] + 0x00000040u;
|
|
/* 02731ABC */ rbrew_write32(cpu->mem, _t237, cpu->r[20]);
|
|
/* 02731AC0 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02731AC4 */ _t238 = cpu->r[1] + 0x00000044u;
|
|
/* 02731AC4 */ rbrew_write32(cpu->mem, _t238, cpu->r[0]);
|
|
/* 02731AC8 */ Gambit_fn_02982574(cpu);
|
|
/* 02731ACC */ _t239 = cpu->r[24] + 0x00000000u;
|
|
/* 02731ACC */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02731AD0 */ _t240 = cpu->r[25] + 0x00000000u;
|
|
/* 02731AD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02731AD4 */ _t241 = cpu->r[1] + 0x00000060u;
|
|
/* 02731AD4 */ rbrew_write32(cpu->mem, _t241, cpu->r[4]);
|
|
/* 02731AD8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02731ADC */ _t242 = cpu->r[1] + 0x00000070u;
|
|
/* 02731ADC */ rbrew_write32(cpu->mem, _t242, cpu->r[5]);
|
|
/* 02731AE0 */ _t243 = cpu->r[7] + 0xFFFF97D9u;
|
|
/* 02731AE0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t243);
|
|
/* 02731AE4 */ _t244 = cpu->r[26] + 0x00000000u;
|
|
/* 02731AE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t244);
|
|
/* 02731AE8 */ cpu->r[6] = cpu->r[1] + 0x00000044u;
|
|
/* 02731AEC */ _t245 = cpu->r[1] + 0x00000075u;
|
|
/* 02731AEC */ rbrew_write8(cpu->mem, _t245, (uint8_t)cpu->r[4]);
|
|
/* 02731AF0 */ cpu->r[7] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02731AF4 */ _t246 = cpu->r[1] + 0x00000074u;
|
|
/* 02731AF4 */ rbrew_write8(cpu->mem, _t246, (uint8_t)cpu->r[0]);
|
|
/* 02731AF8 */ _t247 = cpu->r[31] + 0x00000248u;
|
|
/* 02731AF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02731AFC */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02731B00 */ cpu->r[3] = cpu->r[27];
|
|
/* 02731B04 */ Gambit_fn_0200237C(cpu);
|
|
L_02731B08: ; // 0x2731b08
|
|
/* 02731B08 */ _t248 = cpu->r[27] + 0x000001D0u;
|
|
/* 02731B08 */ cpu->r[6] = rbrew_read8(cpu->mem, _t248);
|
|
/* 02731B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02731B10 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731B10 */ _t250 = _t249 & 0x00000001u;
|
|
/* 02731B10 */ if (_t250) goto L_02731BB8; else goto L_02731B14;
|
|
L_02731B14: ; // 0x2731b14
|
|
/* 02731B14 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02731B18 */ _t251 = cpu->r[7] + 0xFFFF87DCu;
|
|
/* 02731B18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02731B1C */ _t252 = cpu->r[7] + 0x00000278u;
|
|
/* 02731B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02731B20 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02731B24 */ _t253 = cpu->r[1] + 0x00000034u;
|
|
/* 02731B24 */ rbrew_write32(cpu->mem, _t253, cpu->r[20]);
|
|
/* 02731B28 */ cpu->r[7] = cpu->r[7] + 0x000067B4u;
|
|
/* 02731B2C */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02731B30 */ _t254 = cpu->r[1] + 0x00000030u;
|
|
/* 02731B30 */ rbrew_write32(cpu->mem, _t254, cpu->r[7]);
|
|
/* 02731B34 */ Gambit_fn_02982574(cpu);
|
|
/* 02731B38 */ _t255 = cpu->r[24] + 0x00000000u;
|
|
/* 02731B38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02731B3C */ _t256 = cpu->r[26] + 0x00000000u;
|
|
/* 02731B3C */ cpu->r[9] = rbrew_read8(cpu->mem, _t256);
|
|
/* 02731B40 */ _t257 = cpu->r[1] + 0x00000040u;
|
|
/* 02731B40 */ rbrew_write32(cpu->mem, _t257, cpu->r[8]);
|
|
/* 02731B44 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02731B48 */ _t258 = cpu->r[1] + 0x00000054u;
|
|
/* 02731B48 */ rbrew_write8(cpu->mem, _t258, (uint8_t)cpu->r[9]);
|
|
/* 02731B4C */ _t259 = cpu->r[8] + 0xFFFF97D9u;
|
|
/* 02731B4C */ cpu->r[8] = rbrew_read8(cpu->mem, _t259);
|
|
/* 02731B50 */ _t260 = cpu->r[25] + 0x00000000u;
|
|
/* 02731B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02731B54 */ _t261 = cpu->r[1] + 0x00000055u;
|
|
/* 02731B54 */ rbrew_write8(cpu->mem, _t261, (uint8_t)cpu->r[8]);
|
|
/* 02731B58 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 02731B5C */ _t262 = cpu->r[1] + 0x00000050u;
|
|
/* 02731B5C */ rbrew_write32(cpu->mem, _t262, cpu->r[9]);
|
|
/* 02731B60 */ Gambit_fn_02984F3C(cpu);
|
|
/* 02731B64 */ cpu->r[0] = 0x00000006u;
|
|
/* 02731B68 */ cpu->r[9] = 0x00000003u;
|
|
/* 02731B6C */ cpu->r[8] = cpu->r[1] + 0x00000058u;
|
|
/* 02731B70 */ _t263 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02731B70 */ rbrew_write32(cpu->mem, _t263, cpu->r[0]);
|
|
/* 02731B74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02731B78 */ _t264 = cpu->r[31] + 0x00000248u;
|
|
/* 02731B78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02731B7C */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02731B80 */ cpu->r[5] = cpu->r[27] + 0x000001D4u;
|
|
/* 02731B84 */ cpu->r[7] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02731B88 */ Gambit_fn_020022D4(cpu);
|
|
/* 02731B8C */ _t265 = cpu->r[27] + 0x00000008u;
|
|
/* 02731B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02731B90 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02731B94 */ _t266 = cpu->r[12] + 0x000000A4u;
|
|
/* 02731B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t266);
|
|
/* 02731B98 */ cpu->r[4] = cpu->r[31] + 0xFFFF8718u;
|
|
/* 02731B9C */ Gambit_fn_027F5340(cpu);
|
|
/* 02731BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02731BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731BA4 */ _t267 = cpu->r[27] + 0x000001D1u;
|
|
/* 02731BA4 */ rbrew_write8(cpu->mem, _t267, (uint8_t)cpu->r[3]);
|
|
/* 02731BA8 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731BA8 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02731BA8 */ if (_t269) goto L_02731BB8; else goto L_02731BAC;
|
|
L_02731BAC: ; // 0x2731bac
|
|
/* 02731BAC */ cpu->r[3] = cpu->r[27];
|
|
/* 02731BB0 */ cpu->r[4] = cpu->r[31] + 0xFFFF8718u;
|
|
/* 02731BB4 */ Gambit_fn_02002684(cpu);
|
|
L_02731BB8: ; // 0x2731bb8
|
|
/* 02731BB8 */ /* nop */
|
|
/* 02731BBC */ _t270 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02731BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02731BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02731BC4 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 02731BC8 */ return;
|
|
}
|
|
|
|
// fn_02731BCC @ 0x2731bcc
|
|
void Gambit_fn_02731BCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_02002728: ; // 0x2002728
|
|
/* 02002728 */ cpu->r[0] = cpu->lr;
|
|
/* 0200272C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0200272C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0200272C */ cpu->r[1] = _t0;
|
|
/* 02002730 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02002730 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02002734 */ cpu->r[31] = cpu->r[4];
|
|
/* 02002738 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02002738 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0200273C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0200273C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02002740 */ cpu->r[30] = cpu->r[3];
|
|
/* 02002744 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02002744 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02002748 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02002748 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0200274C */ Gambit_fn_0200268C(cpu);
|
|
/* 02002750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02002754 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02002754 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02002754 */ if (_t7) goto L_02002780; else goto L_02002758;
|
|
L_02002758: ; // 0x2002758
|
|
/* 02002758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0200275C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200275C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0200275C */ if (_t9) goto L_02002760; else goto L_02002780;
|
|
L_02002760: ; // 0x2002760
|
|
/* 02002760 */ cpu->r[3] = cpu->r[30];
|
|
/* 02002764 */ Gambit_fn_020026A4(cpu);
|
|
/* 02002768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0200276C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200276C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0200276C */ if (_t11) goto L_02002770; else goto L_02002780;
|
|
L_02002770: ; // 0x2002770
|
|
/* 02002770 */ cpu->r[3] = cpu->r[30];
|
|
/* 02002774 */ Gambit_fn_02002700(cpu);
|
|
/* 02002778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 0200277C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200277C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0200277C */ if (_t13) goto L_02002800; else goto L_02002780;
|
|
L_02002780: ; // 0x2002780
|
|
/* 02002780 */ cpu->r[6] = 0x10000000u;
|
|
/* 02002784 */ _t14 = cpu->r[6] + 0x00000670u;
|
|
/* 02002784 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02002788 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu);
|
|
/* 0200278C */ _t15 = cpu->r[30] + 0x00000088u;
|
|
/* 0200278C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02002790 */ cpu->r[28] = cpu->r[12] + cpu->r[29];
|
|
/* 02002794 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 02002794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02002798 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 02002798 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0200279C */ _t18 = cpu->r[12] + 0x00000014u;
|
|
/* 0200279C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020027A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 020027A4 */ cpu->ctr = cpu->r[8];
|
|
/* 020027A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 020027AC */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020027AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 020027AC */ if (_t20) goto L_020027B0; else goto L_020027D4;
|
|
L_020027B0: ; // 0x20027b0
|
|
/* 020027B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020027B4 */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 020027B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 020027B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 020027BC */ _t22 = cpu->r[30] + 0x00000080u;
|
|
/* 020027BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 020027C0 */ Gambit_fn_02398850(cpu);
|
|
/* 020027C4 */ _t23 = cpu->r[30] + 0x0000008Cu;
|
|
/* 020027C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 020027C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 020027CC */ _t24 = cpu->r[30] + 0x000001C8u;
|
|
/* 020027CC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 020027D0 */ goto L_02002800;
|
|
L_020027D4: ; // 0x20027d4
|
|
/* 020027D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020027D8 */ _t25 = cpu->r[30] + 0x00000088u;
|
|
/* 020027D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 020027DC */ _t26 = cpu->r[30] + 0x00000080u;
|
|
/* 020027DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 020027E0 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
|
|
/* 020027E4 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 020027E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 020027E8 */ _t28 = cpu->r[9] + 0x00000008u;
|
|
/* 020027E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 020027EC */ cpu->r[5] = 0x00000001u;
|
|
/* 020027F0 */ Gambit_fn_02398664(cpu);
|
|
/* 020027F4 */ _t29 = cpu->r[30] + 0x0000008Cu;
|
|
/* 020027F4 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
/* 020027F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 020027FC */ _t30 = cpu->r[30] + 0x000001C8u;
|
|
/* 020027FC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
L_02002800: ; // 0x2002800
|
|
/* 02002800 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02002800 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02002804 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02002804 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02002808 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02002808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0200280C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0200280C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02002810 */ cpu->lr = cpu->r[0];
|
|
/* 02002814 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02002814 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02002818 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0200281C */ return;
|
|
L_02731BCC: ; // 0x2731bcc
|
|
/* 02731BCC */ _t36 = cpu->r[3] + 0x000001D0u;
|
|
/* 02731BCC */ cpu->r[12] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02731BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731BD4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731BD4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02731BD4 */ if (_t38) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731BD4 */ goto L_02731BD8;
|
|
L_02731BD8: ; // 0x2731bd8
|
|
/* 02731BD8 */ _t39 = cpu->r[3] + 0x000001D1u;
|
|
/* 02731BD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02731BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731BE0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731BE0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02731BE0 */ if (_t41) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731BE0 */ goto L_02731BE4;
|
|
L_02731BE4: ; // 0x2731be4
|
|
/* 02731BE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02731BE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02731BEC */ goto L_02002728;
|
|
}
|
|
|
|
// fn_02731BF0 @ 0x2731bf0
|
|
void Gambit_fn_02731BF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0200300C: ; // 0x200300c
|
|
/* 0200300C */ cpu->r[0] = cpu->lr;
|
|
/* 02003010 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02003010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02003010 */ cpu->r[1] = _t0;
|
|
/* 02003014 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02003014 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02003018 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200301C */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 0200301C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02003020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02003024 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02003024 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02003028 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02003028 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02003028 */ if (_t5) goto L_02003038; else goto L_0200302C;
|
|
L_0200302C: ; // 0x200302c
|
|
/* 0200302C */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 0200302C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02003030 */ Gambit_fn_02980318(cpu);
|
|
/* 02003034 */ goto L_02003104;
|
|
L_02003038: ; // 0x2003038
|
|
/* 02003038 */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 02003038 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0200303C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02003040 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02003040 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02003040 */ if (_t9) goto L_02003060; else goto L_02003044;
|
|
L_02003044: ; // 0x2003044
|
|
/* 02003044 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02003044 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02003048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200304C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200304C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0200304C */ if (_t12) goto L_0200305C; else goto L_02003050;
|
|
L_02003050: ; // 0x2003050
|
|
/* 02003050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02003054 */ Gambit_fn_02002EEC(cpu);
|
|
/* 02003058 */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 02003058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
L_0200305C: ; // 0x200305c
|
|
/* 0200305C */ Gambit_fn_0239859C(cpu);
|
|
L_02003060: ; // 0x2003060
|
|
/* 02003060 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02003060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02003064 */ _t15 = cpu->r[12] + 0x000001F4u;
|
|
/* 02003064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02003068 */ cpu->ctr = cpu->r[0];
|
|
/* 0200306C */ cpu->r[3] = cpu->r[31];
|
|
/* 02003070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02003074 */ _t16 = cpu->r[31] + 0x00000074u;
|
|
/* 02003074 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02003078 */ _t17 = cpu->r[31] + 0x00000050u;
|
|
/* 02003078 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0200307C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0200307C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02003080 */ _t19 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02003080 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02003084 */ _t20 = cpu->r[31] + 0x00000068u;
|
|
/* 02003084 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02003088 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02003088 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 0200308C */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 0200308C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02003090 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02003090 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02003094 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02003094 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02003098 */ _t25 = cpu->r[31] + 0x00000070u;
|
|
/* 02003098 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0200309C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0200309C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 020030A0 */ _t27 = cpu->r[31] + 0x0000007Cu;
|
|
/* 020030A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 020030A4 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 020030A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 020030A8 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 020030A8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]);
|
|
/* 020030AC */ _t30 = cpu->r[31] + 0x00000054u;
|
|
/* 020030AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 020030B0 */ _t31 = cpu->r[31] + 0x0000005Cu;
|
|
/* 020030B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 020030B4 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 020030B4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[9]);
|
|
/* 020030B8 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020030B8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 020030BC */ _t34 = cpu->r[31] + 0x00000064u;
|
|
/* 020030BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 020030C0 */ _t35 = cpu->r[31] + 0x00000060u;
|
|
/* 020030C0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 020030C4 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 020030C4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 020030C8 */ _t37 = cpu->r[31] + 0x00000058u;
|
|
/* 020030C8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 020030CC */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 020030CC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 020030D0 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 020030D0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 020030D4 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 020030D4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 020030D8 */ _t41 = cpu->r[30] + 0x0000007Cu;
|
|
/* 020030D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 020030DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 020030E0 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 020030E4 */ cpu->r[4] = cpu->r[30] + 0x00000034u;
|
|
/* 020030E8 */ _t42 = cpu->r[30] + 0x0000007Cu;
|
|
/* 020030E8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 020030EC */ Gambit_fn_02C69510(cpu);
|
|
/* 020030F0 */ cpu->r[4] = 0x00000003u;
|
|
/* 020030F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 020030F8 */ Gambit_fn_02980304(cpu);
|
|
/* 020030FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02003100 */ Gambit_fn_02980318(cpu);
|
|
L_02003104: ; // 0x2003104
|
|
/* 02003104 */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 02003104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02003108 */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 02003108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0200310C */ cpu->lr = cpu->r[0];
|
|
/* 02003110 */ _t45 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02003110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02003114 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02003118 */ return;
|
|
L_02731BF0: ; // 0x2731bf0
|
|
/* 02731BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02731BF4 */ goto L_0200300C;
|
|
}
|
|
|
|
// fn_02731BF8 @ 0x2731bf8
|
|
void Gambit_fn_02731BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02731BF8: ; // 0x2731bf8
|
|
/* 02731BF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02731BFC */ cpu->r[9] = 0x101F0000u;
|
|
/* 02731C00 */ cpu->r[4] = 0xFFFFFFFDu;
|
|
/* 02731C04 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02731C08 */ cpu->r[9] = cpu->r[9] + 0x000004C4u;
|
|
/* 02731C0C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02731C10 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02731C14 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02731C14 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02731C18 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02731C1C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02731C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02731C1C */ cpu->r[1] = _t1;
|
|
/* 02731C20 */ _t2 = cpu->r[9] + 0x00000004u;
|
|
/* 02731C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 02731C24 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02731C28 */ _t3 = cpu->r[10] + 0x000004B4u;
|
|
/* 02731C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02731C28 */ cpu->r[10] = _t3;
|
|
/* 02731C2C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02731C30 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02731C30 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02731C34 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02731C38 */ _t5 = cpu->r[8] + 0x000004BCu;
|
|
/* 02731C38 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02731C38 */ cpu->r[8] = _t5;
|
|
/* 02731C3C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02731C40 */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 02731C40 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02731C44 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02731C48 */ _t7 = cpu->r[10] + 0x000067E4u;
|
|
/* 02731C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02731C4C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02731C50 */ _t8 = cpu->r[12] + 0x000067E8u;
|
|
/* 02731C50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02731C54 */ cpu->r[10] = cpu->r[10] + 0x000004CCu;
|
|
/* 02731C58 */ _t9 = cpu->r[6] + 0x000004E8u;
|
|
/* 02731C58 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02731C58 */ cpu->r[6] = _t9;
|
|
/* 02731C5C */ cpu->r[5] = cpu->r[5] + 0x000004D8u;
|
|
/* 02731C60 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 02731C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02731C64 */ cpu->r[0] = 0x00000002u;
|
|
/* 02731C68 */ _t11 = cpu->r[11] + 0x000004ACu;
|
|
/* 02731C68 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02731C68 */ cpu->r[11] = _t11;
|
|
/* 02731C6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02731C70 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02731C70 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02731C74 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02731C78 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02731C78 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02731C7C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02731C7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02731C80 */ cpu->r[9] = cpu->r[9] + 0x00006704u;
|
|
/* 02731C84 */ _t15 = cpu->r[5] + 0x00000008u;
|
|
/* 02731C84 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02731C88 */ cpu->r[12] = cpu->r[12] + 0xFFFF8718u;
|
|
/* 02731C8C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02731C8C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02731C90 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02731C94 */ _t17 = cpu->r[6] + 0x00000008u;
|
|
/* 02731C94 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02731C98 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02731C9C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02731C9C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02731CA0 */ cpu->r[11] = cpu->r[11] + 0x000067ECu;
|
|
/* 02731CA4 */ _t19 = cpu->r[5] + 0x00000004u;
|
|
/* 02731CA4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02731CA8 */ _t20 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02731CA8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02731CAC */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 02731CAC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02731CB0 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 02731CB0 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 02731CB4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02731CB8 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 02731CB8 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 02731CBC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02731CC0 */ _t24 = cpu->r[6] + 0x00000004u;
|
|
/* 02731CC0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02731CC4 */ cpu->r[3] = cpu->r[3] + 0xFFFF8738u;
|
|
/* 02731CC8 */ _t25 = cpu->r[7] + 0x000004D4u;
|
|
/* 02731CC8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02731CCC */ Gambit_fn_02C83090(cpu);
|
|
/* 02731CD0 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02731CD4 */ cpu->lr = cpu->r[0];
|
|
/* 02731CD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02731CDC */ return;
|
|
}
|
|
|
|
// fn_02731C1C @ 0x2731c1c
|
|
void Gambit_fn_02731C1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02731C1C: ; // 0x2731c1c
|
|
/* 02731C1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02731C1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731C1C */ cpu->r[1] = _t0;
|
|
/* 02731C20 */ _t1 = cpu->r[9] + 0x00000004u;
|
|
/* 02731C20 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 02731C24 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02731C28 */ _t2 = cpu->r[10] + 0x000004B4u;
|
|
/* 02731C28 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02731C28 */ cpu->r[10] = _t2;
|
|
/* 02731C2C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02731C30 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02731C30 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02731C34 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02731C38 */ _t4 = cpu->r[8] + 0x000004BCu;
|
|
/* 02731C38 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02731C38 */ cpu->r[8] = _t4;
|
|
/* 02731C3C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02731C40 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02731C40 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02731C44 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02731C48 */ _t6 = cpu->r[10] + 0x000067E4u;
|
|
/* 02731C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02731C4C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02731C50 */ _t7 = cpu->r[12] + 0x000067E8u;
|
|
/* 02731C50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02731C54 */ cpu->r[10] = cpu->r[10] + 0x000004CCu;
|
|
/* 02731C58 */ _t8 = cpu->r[6] + 0x000004E8u;
|
|
/* 02731C58 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02731C58 */ cpu->r[6] = _t8;
|
|
/* 02731C5C */ cpu->r[5] = cpu->r[5] + 0x000004D8u;
|
|
/* 02731C60 */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 02731C60 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02731C64 */ cpu->r[0] = 0x00000002u;
|
|
/* 02731C68 */ _t10 = cpu->r[11] + 0x000004ACu;
|
|
/* 02731C68 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02731C68 */ cpu->r[11] = _t10;
|
|
/* 02731C6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02731C70 */ _t11 = cpu->r[9] + 0x00000000u;
|
|
/* 02731C70 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02731C74 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02731C78 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02731C78 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02731C7C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02731C7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02731C80 */ cpu->r[9] = cpu->r[9] + 0x00006704u;
|
|
/* 02731C84 */ _t14 = cpu->r[5] + 0x00000008u;
|
|
/* 02731C84 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02731C88 */ cpu->r[12] = cpu->r[12] + 0xFFFF8718u;
|
|
/* 02731C8C */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 02731C8C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02731C90 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02731C94 */ _t16 = cpu->r[6] + 0x00000008u;
|
|
/* 02731C94 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02731C98 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02731C9C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02731C9C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02731CA0 */ cpu->r[11] = cpu->r[11] + 0x000067ECu;
|
|
/* 02731CA4 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 02731CA4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02731CA8 */ _t19 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02731CA8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02731CAC */ _t20 = cpu->r[5] + 0x00000000u;
|
|
/* 02731CAC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02731CB0 */ _t21 = cpu->r[10] + 0x00000000u;
|
|
/* 02731CB0 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 02731CB4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02731CB8 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02731CB8 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02731CBC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02731CC0 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 02731CC0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02731CC4 */ cpu->r[3] = cpu->r[3] + 0xFFFF8738u;
|
|
/* 02731CC8 */ _t24 = cpu->r[7] + 0x000004D4u;
|
|
/* 02731CC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02731CCC */ Gambit_fn_02C83090(cpu);
|
|
/* 02731CD0 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02731CD4 */ cpu->lr = cpu->r[0];
|
|
/* 02731CD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02731CDC */ return;
|
|
}
|
|
|
|
// fn_02731CE0 @ 0x2731ce0
|
|
void Gambit_fn_02731CE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02731CE0: ; // 0x2731ce0
|
|
/* 02731CE0 */ cpu->r[6] = 0x02730000u;
|
|
/* 02731CE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02731CE8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02731CEC */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02731CF0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02731CF4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02731CF8 */ cpu->r[3] = cpu->r[3] + 0xFFFF8718u;
|
|
/* 02731CFC */ cpu->r[6] = cpu->r[6] + 0x00001F60u;
|
|
/* 02731D00 */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_02731D04 @ 0x2731d04
|
|
void Gambit_fn_02731D04(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_02731D04: ; // 0x2731d04
|
|
/* 02731D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02731D08 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D08 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02731D08 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D08 */ goto L_02731D0C;
|
|
L_02731D0C: ; // 0x2731d0c
|
|
/* 02731D0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731D10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02731D10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D10 */ goto L_02731D14;
|
|
L_02731D14: ; // 0x2731d14
|
|
/* 02731D14 */ 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_02731D18 @ 0x2731d18
|
|
void Gambit_fn_02731D18(CPUState* cpu) {
|
|
L_02731D18: ; // 0x2731d18
|
|
/* 02731D18 */ return;
|
|
}
|
|
|
|
// fn_02731D1C @ 0x2731d1c
|
|
void Gambit_fn_02731D1C(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_02731D1C: ; // 0x2731d1c
|
|
/* 02731D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02731D20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02731D20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D20 */ goto L_02731D24;
|
|
L_02731D24: ; // 0x2731d24
|
|
/* 02731D24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731D28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02731D28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D28 */ goto L_02731D2C;
|
|
L_02731D2C: ; // 0x2731d2c
|
|
/* 02731D2C */ 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_02731D30 @ 0x2731d30
|
|
void Gambit_fn_02731D30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02731D30: ; // 0x2731d30
|
|
/* 02731D30 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02731D30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731D34 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02731D34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731D38 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02731D3C */ cpu->r[11] = 0x10110000u;
|
|
/* 02731D40 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02731D40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02731D44 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02731D44 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02731D48 */ return;
|
|
}
|
|
|
|
// fn_02731D4C @ 0x2731d4c
|
|
void Gambit_fn_02731D4C(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_02731D4C: ; // 0x2731d4c
|
|
/* 02731D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02731D50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02731D50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D50 */ goto L_02731D54;
|
|
L_02731D54: ; // 0x2731d54
|
|
/* 02731D54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731D58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02731D58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D58 */ goto L_02731D5C;
|
|
L_02731D5C: ; // 0x2731d5c
|
|
/* 02731D5C */ 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_02731D60 @ 0x2731d60
|
|
void Gambit_fn_02731D60(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_02731D60: ; // 0x2731d60
|
|
/* 02731D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02731D64 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D64 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02731D64 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D64 */ goto L_02731D68;
|
|
L_02731D68: ; // 0x2731d68
|
|
/* 02731D68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731D6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02731D6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731D6C */ goto L_02731D70;
|
|
L_02731D70: ; // 0x2731d70
|
|
/* 02731D70 */ 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_02731D74 @ 0x2731d74
|
|
void Gambit_fn_02731D74(CPUState* cpu) {
|
|
L_02731D74: ; // 0x2731d74
|
|
/* 02731D74 */ return;
|
|
}
|
|
|
|
// fn_02731D78 @ 0x2731d78
|
|
void Gambit_fn_02731D78(CPUState* cpu) {
|
|
L_02731D78: ; // 0x2731d78
|
|
/* 02731D78 */ return;
|
|
}
|
|
|
|
// fn_02731D7C @ 0x2731d7c
|
|
void Gambit_fn_02731D7C(CPUState* cpu) {
|
|
L_02731D7C: ; // 0x2731d7c
|
|
/* 02731D7C */ return;
|
|
}
|
|
|
|
// fn_02731D80 @ 0x2731d80
|
|
void Gambit_fn_02731D80(CPUState* cpu) {
|
|
L_02731D80: ; // 0x2731d80
|
|
/* 02731D80 */ return;
|
|
}
|
|
|
|
// fn_02731D84 @ 0x2731d84
|
|
void Gambit_fn_02731D84(CPUState* cpu) {
|
|
L_02731D84: ; // 0x2731d84
|
|
/* 02731D84 */ return;
|
|
}
|
|
|
|
// fn_02731D88 @ 0x2731d88
|
|
void Gambit_fn_02731D88(CPUState* cpu) {
|
|
L_02731D88: ; // 0x2731d88
|
|
/* 02731D88 */ return;
|
|
}
|
|
|
|
// fn_02731D8C @ 0x2731d8c
|
|
void Gambit_fn_02731D8C(CPUState* cpu) {
|
|
L_02731D8C: ; // 0x2731d8c
|
|
/* 02731D8C */ return;
|
|
}
|
|
|
|
// fn_02731D90 @ 0x2731d90
|
|
void Gambit_fn_02731D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02731D90: ; // 0x2731d90
|
|
/* 02731D90 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02731D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731D98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731D98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731D98 */ if (_t2) goto L_02731DA4; else goto L_02731D9C;
|
|
L_02731D9C: ; // 0x2731d9c
|
|
/* 02731D9C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02731DA0 */ return;
|
|
L_02731DA4: ; // 0x2731da4
|
|
/* 02731DA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02731DA8 */ return;
|
|
}
|
|
|
|
// fn_02731DAC @ 0x2731dac
|
|
void Gambit_fn_02731DAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02731DAC: ; // 0x2731dac
|
|
/* 02731DAC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02731DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731DB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731DB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731DB4 */ if (_t2) goto L_02731DC0; else goto L_02731DB8;
|
|
L_02731DB8: ; // 0x2731db8
|
|
/* 02731DB8 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02731DBC */ return;
|
|
L_02731DC0: ; // 0x2731dc0
|
|
/* 02731DC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02731DC4 */ return;
|
|
}
|
|
|
|
// fn_02731DC8 @ 0x2731dc8
|
|
void Gambit_fn_02731DC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02731DC8: ; // 0x2731dc8
|
|
/* 02731DC8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02731DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731DCC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731DD0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731DD0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731DD0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02731DD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731DD0 */ goto L_02731DD4;
|
|
L_02731DD4: ; // 0x2731dd4
|
|
/* 02731DD4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02731DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02731DD8 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02731DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02731DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02731DE0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731DE4 @ 0x2731de4
|
|
void Gambit_fn_02731DE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02731DE4: ; // 0x2731de4
|
|
/* 02731DE4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02731DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731DE8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731DEC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731DEC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731DEC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02731DEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731DEC */ goto L_02731DF0;
|
|
L_02731DF0: ; // 0x2731df0
|
|
/* 02731DF0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02731DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02731DF4 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02731DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02731DF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02731DFC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731E00 @ 0x2731e00
|
|
void Gambit_fn_02731E00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02731E00: ; // 0x2731e00
|
|
/* 02731E00 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02731E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731E04 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02731E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731E08 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731E08 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731E08 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02731E08 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02731E08 */ goto L_02731E0C;
|
|
L_02731E0C: ; // 0x2731e0c
|
|
/* 02731E0C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02731E0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02731E10 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02731E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02731E14 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E18 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731E1C @ 0x2731e1c
|
|
void Gambit_fn_02731E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02731E1C: ; // 0x2731e1c
|
|
/* 02731E1C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02731E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731E20 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02731E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731E24 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731E2C @ 0x2731e2c
|
|
void Gambit_fn_02731E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02731E2C: ; // 0x2731e2c
|
|
/* 02731E2C */ cpu->r[0] = cpu->lr;
|
|
/* 02731E30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02731E30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731E30 */ cpu->r[1] = _t0;
|
|
/* 02731E34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731E34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731E38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02731E3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02731E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02731E40 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731E40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02731E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02731E48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731E48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02731E48 */ if (_t5) goto L_02731E4C; else goto L_02731E68;
|
|
L_02731E4C: ; // 0x2731e4c
|
|
/* 02731E4C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02731E4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02731E50 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02731E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02731E54 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731E5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731E60 */ cpu->r[0] = 0x00000002u;
|
|
/* 02731E64 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731E64 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02731E68: ; // 0x2731e68
|
|
/* 02731E68 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02731E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02731E6C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02731E70 */ cpu->lr = cpu->r[0];
|
|
/* 02731E74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02731E78 */ return;
|
|
}
|
|
|
|
// fn_02731E30 @ 0x2731e30
|
|
void Gambit_fn_02731E30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02731E30: ; // 0x2731e30
|
|
/* 02731E30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02731E30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731E30 */ cpu->r[1] = _t0;
|
|
/* 02731E34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731E34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731E38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02731E3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02731E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02731E40 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731E40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02731E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02731E48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731E48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02731E48 */ if (_t5) goto L_02731E4C; else goto L_02731E68;
|
|
L_02731E4C: ; // 0x2731e4c
|
|
/* 02731E4C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02731E4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02731E50 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02731E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02731E54 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731E5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731E60 */ cpu->r[0] = 0x00000002u;
|
|
/* 02731E64 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731E64 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02731E68: ; // 0x2731e68
|
|
/* 02731E68 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02731E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02731E6C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02731E70 */ cpu->lr = cpu->r[0];
|
|
/* 02731E74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02731E78 */ return;
|
|
}
|
|
|
|
// fn_02731E7C @ 0x2731e7c
|
|
void Gambit_fn_02731E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02731E7C: ; // 0x2731e7c
|
|
/* 02731E7C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02731E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731E80 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02731E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731E84 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E88 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731E8C @ 0x2731e8c
|
|
void Gambit_fn_02731E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02731E8C: ; // 0x2731e8c
|
|
/* 02731E8C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02731E8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731E90 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02731E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731E94 */ cpu->ctr = cpu->r[0];
|
|
/* 02731E98 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731E9C @ 0x2731e9c
|
|
void Gambit_fn_02731E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02731E9C: ; // 0x2731e9c
|
|
/* 02731E9C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02731E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731EA0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02731EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02731EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02731EA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02731EAC @ 0x2731eac
|
|
void Gambit_fn_02731EAC(CPUState* cpu) {
|
|
L_02731EAC: ; // 0x2731eac
|
|
/* 02731EAC */ cpu->r[3] = 0x00000001u;
|
|
/* 02731EB0 */ return;
|
|
}
|
|
|
|
// fn_02731EB4 @ 0x2731eb4
|
|
void Gambit_fn_02731EB4(CPUState* cpu) {
|
|
L_02731EB4: ; // 0x2731eb4
|
|
/* 02731EB4 */ return;
|
|
}
|
|
|
|
// fn_02731EB8 @ 0x2731eb8
|
|
void Gambit_fn_02731EB8(CPUState* cpu) {
|
|
L_02731EB8: ; // 0x2731eb8
|
|
/* 02731EB8 */ return;
|
|
}
|
|
|
|
// fn_02731EBC @ 0x2731ebc
|
|
void Gambit_fn_02731EBC(CPUState* cpu) {
|
|
L_02731EBC: ; // 0x2731ebc
|
|
/* 02731EBC */ return;
|
|
}
|
|
|
|
// fn_02731EC0 @ 0x2731ec0
|
|
void Gambit_fn_02731EC0(CPUState* cpu) {
|
|
L_02731EC0: ; // 0x2731ec0
|
|
/* 02731EC0 */ return;
|
|
}
|
|
|
|
// fn_02731EC4 @ 0x2731ec4
|
|
void Gambit_fn_02731EC4(CPUState* cpu) {
|
|
L_02731EC4: ; // 0x2731ec4
|
|
/* 02731EC4 */ return;
|
|
}
|
|
|
|
// fn_02731EC8 @ 0x2731ec8
|
|
void Gambit_fn_02731EC8(CPUState* cpu) {
|
|
L_02731EC8: ; // 0x2731ec8
|
|
/* 02731EC8 */ return;
|
|
}
|
|
|
|
// fn_02731ECC @ 0x2731ecc
|
|
void Gambit_fn_02731ECC(CPUState* cpu) {
|
|
L_02731ECC: ; // 0x2731ecc
|
|
/* 02731ECC */ return;
|
|
}
|
|
|
|
// fn_02731ED0 @ 0x2731ed0
|
|
void Gambit_fn_02731ED0(CPUState* cpu) {
|
|
L_02731ED0: ; // 0x2731ed0
|
|
/* 02731ED0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02731ED4 */ return;
|
|
}
|
|
|
|
// fn_02731ED8 @ 0x2731ed8
|
|
void Gambit_fn_02731ED8(CPUState* cpu) {
|
|
L_02731ED8: ; // 0x2731ed8
|
|
/* 02731ED8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02731EDC */ return;
|
|
}
|
|
|
|
// fn_02731EE0 @ 0x2731ee0
|
|
void Gambit_fn_02731EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02731EE0: ; // 0x2731ee0
|
|
/* 02731EE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02731EE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02731EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731EE4 */ cpu->r[1] = _t0;
|
|
/* 02731EE8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02731EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731EEC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02731EF0 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02731EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02731EF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02731EF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731EFC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02731F00 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02731F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731F08 */ cpu->r[11] = 0x00000000u;
|
|
/* 02731F0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731F0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02731F0C */ if (_t6) goto L_02731F18; else goto L_02731F10;
|
|
L_02731F10: ; // 0x2731f10
|
|
/* 02731F10 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02731F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02731F14 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02731F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02731F18: ; // 0x2731f18
|
|
/* 02731F18 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02731F18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02731F1C */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02731F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02731F20 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02731F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02731F24 */ cpu->ctr = cpu->r[0];
|
|
/* 02731F28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02731F2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731F30 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02731F34 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02731F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02731F38 */ cpu->ctr = cpu->r[0];
|
|
/* 02731F3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02731F40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731F44 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02731F48 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02731F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02731F4C */ cpu->lr = cpu->r[0];
|
|
/* 02731F50 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02731F50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02731F54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02731F58 */ return;
|
|
}
|
|
|
|
// fn_02731EE4 @ 0x2731ee4
|
|
void Gambit_fn_02731EE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02731EE4: ; // 0x2731ee4
|
|
/* 02731EE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02731EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02731EE4 */ cpu->r[1] = _t0;
|
|
/* 02731EE8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02731EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02731EEC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02731EF0 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02731EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02731EF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02731EF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02731EFC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02731F00 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02731F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02731F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02731F08 */ cpu->r[11] = 0x00000000u;
|
|
/* 02731F0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731F0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02731F0C */ if (_t6) goto L_02731F18; else goto L_02731F10;
|
|
L_02731F10: ; // 0x2731f10
|
|
/* 02731F10 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02731F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02731F14 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02731F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02731F18: ; // 0x2731f18
|
|
/* 02731F18 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02731F18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02731F1C */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02731F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02731F20 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02731F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02731F24 */ cpu->ctr = cpu->r[0];
|
|
/* 02731F28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02731F2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731F30 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02731F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02731F34 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02731F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02731F38 */ cpu->ctr = cpu->r[0];
|
|
/* 02731F3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02731F40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02731F44 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02731F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02731F48 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02731F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02731F4C */ cpu->lr = cpu->r[0];
|
|
/* 02731F50 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02731F50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02731F54 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02731F58 */ return;
|
|
}
|
|
|
|
// fn_02731F5C @ 0x2731f5c
|
|
void Gambit_fn_02731F5C(CPUState* cpu) {
|
|
L_02731F5C: ; // 0x2731f5c
|
|
/* 02731F5C */ return;
|
|
}
|
|
|
|
// fn_02731F74 @ 0x2731f74
|
|
void Gambit_fn_02731F74(CPUState* cpu) {
|
|
L_02731F74: ; // 0x2731f74
|
|
/* 02731F74 */ cpu->r[3] = 0x100F0000u;
|
|
/* 02731F78 */ cpu->r[3] = cpu->r[3] + 0x00006794u;
|
|
/* 02731F7C */ return;
|
|
}
|
|
|
|
// fn_02731F80 @ 0x2731f80
|
|
void Gambit_fn_02731F80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02731F80: ; // 0x2731f80
|
|
/* 02731F80 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02731F84 */ _t0 = cpu->r[9] + 0x00001150u;
|
|
/* 02731F84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02731F88 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02731F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02731F90 */ cpu->r[11] = cpu->r[11] + 0x00001154u;
|
|
/* 02731F94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731F94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02731F94 */ if (_t2) goto L_02731F98; else goto L_02731FB0;
|
|
L_02731F98: ; // 0x2731f98
|
|
/* 02731F98 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02731F9C */ cpu->r[0] = 0x00000001u;
|
|
/* 02731FA0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02731FA4 */ cpu->r[9] = cpu->r[9] + 0x00006784u;
|
|
/* 02731FA8 */ _t3 = cpu->r[12] + 0x00001150u;
|
|
/* 02731FA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02731FAC */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02731FAC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02731FB0: ; // 0x2731fb0
|
|
/* 02731FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02731FB4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731FB4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02731FB4 */ if (_t6) goto L_02731FB8; else goto L_02731FC0;
|
|
L_02731FB8: ; // 0x2731fb8
|
|
/* 02731FB8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02731FBC */ return;
|
|
L_02731FC0: ; // 0x2731fc0
|
|
/* 02731FC0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02731FC4 */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02731FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02731FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02731FCC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02731FD0 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 02731FD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731FD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02731FD4 */ if (_t9) goto L_02731FD8; else goto L_02731FF0;
|
|
L_02731FD8: ; // 0x2731fd8
|
|
/* 02731FD8 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02731FDC */ cpu->r[10] = 0x00000001u;
|
|
/* 02731FE0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02731FE4 */ cpu->r[11] = cpu->r[11] + 0x00006774u;
|
|
/* 02731FE8 */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 02731FE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02731FEC */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02731FEC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02731FF0: ; // 0x2731ff0
|
|
/* 02731FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02731FF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02731FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02731FF4 */ if (_t13) goto L_02731FF8; else goto L_02732000;
|
|
L_02731FF8: ; // 0x2731ff8
|
|
/* 02731FF8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02731FFC */ goto L_02732074;
|
|
L_02732000: ; // 0x2732000
|
|
/* 02732000 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02732004 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02732004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02732004 */ cpu->r[10] = _t14;
|
|
/* 02732008 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0273200C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02732010 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02732014 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732014 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02732014 */ if (_t16) goto L_02732018; else goto L_0273202C;
|
|
L_02732018: ; // 0x2732018
|
|
/* 02732018 */ cpu->r[9] = 0x100F0000u;
|
|
/* 0273201C */ cpu->r[0] = 0x00000001u;
|
|
/* 02732020 */ cpu->r[9] = cpu->r[9] + 0x00006764u;
|
|
/* 02732024 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02732024 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02732028 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02732028 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_0273202C: ; // 0x273202c
|
|
/* 0273202C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02732030 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732030 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02732030 */ if (_t20) goto L_02732034; else goto L_0273203C;
|
|
L_02732034: ; // 0x2732034
|
|
/* 02732034 */ cpu->r[0] = 0x00000001u;
|
|
/* 02732038 */ goto L_02732074;
|
|
L_0273203C: ; // 0x273203c
|
|
/* 0273203C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02732040 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02732040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02732040 */ cpu->r[9] = _t21;
|
|
/* 02732044 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02732048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273204C */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02732050 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732050 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02732050 */ if (_t23) goto L_02732054; else goto L_02732068;
|
|
L_02732054: ; // 0x2732054
|
|
/* 02732054 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732058 */ cpu->r[11] = 0x00000001u;
|
|
/* 0273205C */ cpu->r[0] = cpu->r[0] + 0x000066F4u;
|
|
/* 02732060 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02732060 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02732064 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02732064 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02732068: ; // 0x2732068
|
|
/* 02732068 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 0273206C */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02732070 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02732074: ; // 0x2732074
|
|
/* 02732074 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02732078 */ return;
|
|
}
|
|
|
|
// fn_0273207C @ 0x273207c
|
|
void Gambit_fn_0273207C(CPUState* cpu) {
|
|
L_0273207C: ; // 0x273207c
|
|
/* 0273207C */ return;
|
|
}
|
|
|
|
// fn_02732080 @ 0x2732080
|
|
void Gambit_fn_02732080(CPUState* cpu) {
|
|
L_02732080: ; // 0x2732080
|
|
/* 02732080 */ return;
|
|
}
|
|
|
|
// fn_02732084 @ 0x2732084
|
|
void Gambit_fn_02732084(CPUState* cpu) {
|
|
L_02732084: ; // 0x2732084
|
|
/* 02732084 */ return;
|
|
}
|
|
|
|
// fn_0273208C @ 0x273208c
|
|
void Gambit_fn_0273208C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_0273208C: ; // 0x273208c
|
|
/* 0273208C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273208C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273208C */ cpu->r[1] = _t0;
|
|
/* 02732090 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732090 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02732094 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02732094 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02732098 */ cpu->r[31] = cpu->r[3];
|
|
/* 02732098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273209C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273209C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027320A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027320A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027320A0 */ if (_t5) goto L_027320A4; else goto L_027320B4;
|
|
L_027320A4: ; // 0x27320a4
|
|
/* 027320A4 */ cpu->r[3] = 0x0000029Cu;
|
|
/* 027320A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027320AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027320AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027320B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027320B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027320B0 */ if (_t7) goto L_027321FC; else goto L_027320B4;
|
|
L_027320B4: ; // 0x27320b4
|
|
/* 027320B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027320B8 */ cpu->r[4] = 0x00000009u;
|
|
/* 027320BC */ cpu->r[3] = cpu->r[31];
|
|
/* 027320C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027320C4 */ Gambit_fn_02790BA4(cpu);
|
|
/* 027320C8 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027320C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027320CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027320CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027320CC */ if (_t9) goto L_027320D0; else goto L_027320E0;
|
|
L_027320D0: ; // 0x27320d0
|
|
/* 027320D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027320D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027320D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027320DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027320DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027320DC */ if (_t11) goto L_027320F4; else goto L_027320E0;
|
|
L_027320E0: ; // 0x27320e0
|
|
/* 027320E0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027320E4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 027320E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027320E8 */ cpu->r[0] = cpu->r[0] + 0x00006AB8u;
|
|
/* 027320EC */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 027320EC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 027320F0 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 027320F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_027320F4: ; // 0x27320f4
|
|
/* 027320F4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027320F8 */ _t15 = cpu->r[31] + 0x00000270u;
|
|
/* 027320F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027320FC */ cpu->r[0] = cpu->r[0] + 0x00006CD0u;
|
|
/* 02732100 */ _t16 = cpu->r[31] + 0x00000250u;
|
|
/* 02732100 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02732104 */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 02732104 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02732108 */ _t18 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02732108 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0273210C */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 0273210C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732110 */ _t19 = cpu->r[31] + 0x00000248u;
|
|
/* 02732110 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02732114 */ _t20 = cpu->r[31] + 0x00000264u;
|
|
/* 02732114 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02732118 */ _t21 = cpu->r[31] + 0x00000254u;
|
|
/* 02732118 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0273211C */ _t22 = cpu->r[31] + 0x0000025Cu;
|
|
/* 0273211C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02732120 */ _t23 = cpu->r[31] + 0x00000260u;
|
|
/* 02732120 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02732124 */ _t24 = cpu->r[31] + 0x0000026Cu;
|
|
/* 02732124 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02732128 */ _t25 = cpu->r[31] + 0x00000268u;
|
|
/* 02732128 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0273212C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273212C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273212C */ if (_t27) goto L_02732130; else goto L_02732140;
|
|
L_02732130: ; // 0x2732130
|
|
/* 02732130 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02732134 */ Gambit_fn_02801A78(cpu);
|
|
/* 02732138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273213C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273213C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0273213C */ if (_t29) goto L_02732164; else goto L_02732140;
|
|
L_02732140: ; // 0x2732140
|
|
/* 02732140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732144 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732144 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02732144 */ if (_t31) goto L_02732148; else goto L_02732158;
|
|
L_02732148: ; // 0x2732148
|
|
/* 02732148 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273214C */ Gambit_fn_02801A78(cpu);
|
|
/* 02732150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732154 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732154 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02732154 */ if (_t33) goto L_02732164; else goto L_02732158;
|
|
L_02732158: ; // 0x2732158
|
|
/* 02732158 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 02732158 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 0273215C */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 0273215C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02732160 */ _t36 = cpu->r[3] + 0x00000008u;
|
|
/* 02732160 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
L_02732164: ; // 0x2732164
|
|
/* 02732164 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 02732164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732168 */ _t37 = cpu->r[31] + 0x00000280u;
|
|
/* 02732168 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 0273216C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273216C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273216C */ if (_t39) goto L_02732170; else goto L_02732180;
|
|
L_02732170: ; // 0x2732170
|
|
/* 02732170 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02732174 */ Gambit_fn_02801A78(cpu);
|
|
/* 02732178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273217C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273217C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273217C */ if (_t41) goto L_027321A4; else goto L_02732180;
|
|
L_02732180: ; // 0x2732180
|
|
/* 02732180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732184 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732184 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02732184 */ if (_t43) goto L_02732188; else goto L_02732198;
|
|
L_02732188: ; // 0x2732188
|
|
/* 02732188 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273218C */ Gambit_fn_02801A78(cpu);
|
|
/* 02732190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732194 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732194 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02732194 */ if (_t45) goto L_027321A4; else goto L_02732198;
|
|
L_02732198: ; // 0x2732198
|
|
/* 02732198 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 02732198 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 0273219C */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 0273219C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 027321A0 */ _t48 = cpu->r[3] + 0x00000008u;
|
|
/* 027321A0 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
L_027321A4: ; // 0x27321a4
|
|
/* 027321A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027321A8 */ _t49 = cpu->r[31] + 0x00000298u;
|
|
/* 027321A8 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
/* 027321AC */ cpu->r[30] = 0x00000002u;
|
|
/* 027321B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027321B4 */ _t50 = cpu->r[12] + 0xFFFF87D8u;
|
|
/* 027321B4 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]);
|
|
/* 027321B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027321BC */ _t51 = cpu->r[11] + 0xFFFF97D0u;
|
|
/* 027321BC */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 027321C0 */ Gambit_fn_0215079C(cpu);
|
|
/* 027321C4 */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 027321C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027321CC */ cpu->r[5] = 0x00000000u;
|
|
/* 027321D0 */ cpu->r[6] = 0x00000004u;
|
|
/* 027321D4 */ Gambit_fn_028023CC(cpu);
|
|
/* 027321D8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027321DC */ _t52 = cpu->r[3] + 0xFFFF9918u;
|
|
/* 027321DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027321E0 */ Gambit_fn_02830138(cpu);
|
|
/* 027321E4 */ _t53 = cpu->r[31] + 0x00000284u;
|
|
/* 027321E4 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 027321E8 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 027321EC */ cpu->r[4] = 0x00000010u;
|
|
/* 027321F0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027321F4 */ cpu->r[6] = 0x00000004u;
|
|
/* 027321F8 */ Gambit_fn_028023CC(cpu);
|
|
L_027321FC: ; // 0x27321fc
|
|
/* 027321FC */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 027321FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02732200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02732204 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02732208 */ cpu->lr = cpu->r[0];
|
|
/* 0273220C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0273220C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02732210 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02732214 */ return;
|
|
}
|
|
|
|
// fn_02732218 @ 0x2732218
|
|
void Gambit_fn_02732218(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02732218: ; // 0x2732218
|
|
/* 02732218 */ cpu->r[0] = cpu->lr;
|
|
/* 0273221C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273221C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273221C */ cpu->r[1] = _t0;
|
|
/* 02732220 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02732220 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02732224 */ cpu->r[31] = cpu->r[3];
|
|
/* 02732228 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02732228 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273222C */ Gambit_fn_023D7634(cpu);
|
|
/* 02732230 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02732234 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02732238 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273223C */ _t3 = cpu->r[11] + 0x00006A08u;
|
|
/* 0273223C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02732240 */ _t4 = cpu->r[9] + 0xFFFF87D8u;
|
|
/* 02732240 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02732244 */ cpu->r[0] = 0x00000003u;
|
|
/* 02732248 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732248 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0273224C */ cpu->r[3] = cpu->r[31];
|
|
/* 02732250 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02732250 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02732254 */ cpu->r[0] = 0x00000004u;
|
|
/* 02732258 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273225C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02732260 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02732260 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02732264 */ Gambit_fn_02791774(cpu);
|
|
/* 02732268 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02732268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273226C */ cpu->r[0] = 0x00000001u;
|
|
/* 02732270 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02732274 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02732278 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 02732278 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0273227C */ _t10 = cpu->r[9] + 0xFFFF97D0u;
|
|
/* 0273227C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02732280 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02732280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02732284 */ cpu->lr = cpu->r[0];
|
|
/* 02732288 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02732288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273228C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02732290 */ return;
|
|
}
|
|
|
|
// fn_0273221C @ 0x273221c
|
|
void Gambit_fn_0273221C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0273221C: ; // 0x273221c
|
|
/* 0273221C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273221C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273221C */ cpu->r[1] = _t0;
|
|
/* 02732220 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02732220 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02732224 */ cpu->r[31] = cpu->r[3];
|
|
/* 02732228 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02732228 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273222C */ Gambit_fn_023D7634(cpu);
|
|
/* 02732230 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02732234 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02732238 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273223C */ _t3 = cpu->r[11] + 0x00006A08u;
|
|
/* 0273223C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02732240 */ _t4 = cpu->r[9] + 0xFFFF87D8u;
|
|
/* 02732240 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02732244 */ cpu->r[0] = 0x00000003u;
|
|
/* 02732248 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732248 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0273224C */ cpu->r[3] = cpu->r[31];
|
|
/* 02732250 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02732250 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02732254 */ cpu->r[0] = 0x00000004u;
|
|
/* 02732258 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273225C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02732260 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02732260 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02732264 */ Gambit_fn_02791774(cpu);
|
|
/* 02732268 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02732268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273226C */ cpu->r[0] = 0x00000001u;
|
|
/* 02732270 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02732274 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02732278 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 02732278 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0273227C */ _t10 = cpu->r[9] + 0xFFFF97D0u;
|
|
/* 0273227C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02732280 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02732280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02732284 */ cpu->lr = cpu->r[0];
|
|
/* 02732288 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02732288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273228C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02732290 */ return;
|
|
}
|
|
|
|
// fn_02732294 @ 0x2732294
|
|
void Gambit_fn_02732294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02732294: ; // 0x2732294
|
|
/* 02732294 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02732298 */ _t0 = cpu->r[12] + 0xFFFF8744u;
|
|
/* 02732298 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273229C */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 027322A0 */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 027322A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027322A4 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 027322A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027322A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027322AC */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 027322AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027322B0 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 027322B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027322B4 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027322B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027322B8 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027322B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027322BC */ return;
|
|
}
|
|
|
|
// fn_027322C0 @ 0x27322c0
|
|
void Gambit_fn_027322C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613;
|
|
|
|
L_027322C0: ; // 0x27322c0
|
|
/* 027322C0 */ _t0 = cpu->r[1] + 0xFFFFFC40u;
|
|
/* 027322C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027322C0 */ cpu->r[1] = _t0;
|
|
/* 027322C4 */ _t1 = cpu->r[1] + 0x00000390u;
|
|
/* 027322C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 027322C8 */ _t2 = cpu->r[1] + 0x000003B0u;
|
|
/* 027322C8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027322CC */ _t3 = cpu->r[1] + 0x000003A0u;
|
|
/* 027322CC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027322D0 */ /* nop */
|
|
/* 027322D4 */ cpu->r[21] = cpu->r[3];
|
|
/* 027322D8 */ /* nop */
|
|
/* 027322DC */ cpu->r[25] = 0x100F0000u;
|
|
/* 027322E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027322E4 */ cpu->r[25] = cpu->r[25] + 0x00006A70u;
|
|
/* 027322E8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027322EC */ /* nop */
|
|
/* 027322F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027322F4 */ /* nop */
|
|
/* 027322F8 */ _t4 = cpu->r[1] + 0x000003C4u;
|
|
/* 027322F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027322FC */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732300 */ _t5 = cpu->r[1] + 0x000003B8u;
|
|
/* 02732300 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02732304 */ cpu->r[0] = cpu->r[0] + 0x00006B98u;
|
|
/* 02732308 */ _t6 = cpu->r[1] + 0x00000398u;
|
|
/* 02732308 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 0273230C */ cpu->r[4] = cpu->r[1] + 0x000000C8u;
|
|
/* 02732310 */ _t7 = cpu->r[1] + 0x000000C8u;
|
|
/* 02732310 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02732314 */ cpu->r[6] = 0x00000001u;
|
|
/* 02732318 */ _t8 = cpu->r[1] + 0x000003A8u;
|
|
/* 02732318 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 0273231C */ cpu->r[7] = cpu->r[5];
|
|
/* 02732320 */ _t9 = cpu->r[1] + 0x000000CCu;
|
|
/* 02732320 */ rbrew_write32(cpu->mem, _t9, cpu->r[25]);
|
|
/* 02732324 */ Gambit_fn_02822600(cpu);
|
|
/* 02732328 */ cpu->r[26] = cpu->r[3];
|
|
/* 02732328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273232C */ cpu->r[30] = 0x00000001u;
|
|
/* 02732330 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02732334 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732334 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02732334 */ if (_t11) goto L_02732348; else goto L_02732338;
|
|
L_02732338: ; // 0x2732338
|
|
/* 02732338 */ _t12 = cpu->r[29] + 0xFFFF98F0u;
|
|
/* 02732338 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273233C */ cpu->r[4] = cpu->r[26];
|
|
/* 02732340 */ Gambit_fn_02827008(cpu);
|
|
/* 02732344 */ cpu->r[30] = cpu->r[3];
|
|
L_02732348: ; // 0x2732348
|
|
/* 02732348 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 0273234C */ Gambit_fn_029A5044(cpu);
|
|
/* 02732350 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02732354 */ cpu->r[7] = 0x00000002u;
|
|
/* 02732358 */ cpu->r[6] = cpu->r[6] + 0x00006B68u;
|
|
/* 0273235C */ _t13 = cpu->r[1] + 0x00000130u;
|
|
/* 0273235C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 02732360 */ cpu->r[3] = 0x000000A8u;
|
|
/* 02732364 */ _t14 = cpu->r[1] + 0x00000134u;
|
|
/* 02732364 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02732368 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273236C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732370 */ cpu->r[14] = 0x00000000u;
|
|
/* 02732374 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732374 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02732374 */ if (_t16) goto L_02732438; else goto L_02732378;
|
|
L_02732378: ; // 0x2732378
|
|
/* 02732378 */ cpu->r[8] = 0x10090000u;
|
|
/* 0273237C */ cpu->r[31] = cpu->r[3];
|
|
/* 02732380 */ cpu->r[8] = cpu->r[8] + 0xFFFFCE44u;
|
|
/* 02732384 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02732384 */ rbrew_write32(cpu->mem, _t17, cpu->r[14]);
|
|
/* 02732388 */ cpu->r[28] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02732388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273238C */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 0273238C */ rbrew_write32(cpu->mem, _t18, cpu->r[14]);
|
|
/* 02732390 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02732390 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02732394 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732394 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02732394 */ if (_t21) goto L_02732398; else goto L_027323A8;
|
|
L_02732398: ; // 0x2732398
|
|
/* 02732398 */ cpu->r[3] = 0x00000010u;
|
|
/* 0273239C */ Gambit_fn_02801A78(cpu);
|
|
/* 027323A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027323A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027323A4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027323A4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027323A4 */ if (_t23) goto L_027323E8; else goto L_027323A8;
|
|
L_027323A8: ; // 0x27323a8
|
|
/* 027323A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027323A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027323AC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027323AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027323AC */ if (_t25) goto L_027323B0; else goto L_027323C0;
|
|
L_027323B0: ; // 0x27323b0
|
|
/* 027323B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 027323B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027323B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027323BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027323BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027323BC */ if (_t27) goto L_027323DC; else goto L_027323C0;
|
|
L_027323C0: ; // 0x27323c0
|
|
/* 027323C0 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027323C4 */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027323C4 */ rbrew_write32(cpu->mem, _t28, cpu->r[14]);
|
|
/* 027323C8 */ cpu->r[9] = cpu->r[9] + 0x00006AE0u;
|
|
/* 027323CC */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 027323CC */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[14]);
|
|
/* 027323D0 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 027323D0 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 027323D4 */ _t31 = cpu->r[3] + 0x0000000Au;
|
|
/* 027323D4 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[14]);
|
|
/* 027323D8 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 027323D8 */ rbrew_write32(cpu->mem, _t32, cpu->r[14]);
|
|
L_027323DC: ; // 0x27323dc
|
|
/* 027323DC */ cpu->r[10] = 0x100F0000u;
|
|
/* 027323E0 */ cpu->r[10] = cpu->r[10] + 0x00006AF8u;
|
|
/* 027323E4 */ _t33 = cpu->r[28] + 0x00000000u;
|
|
/* 027323E4 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
L_027323E8: ; // 0x27323e8
|
|
/* 027323E8 */ cpu->r[28] = cpu->r[31] + 0x0000001Cu;
|
|
/* 027323E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027323EC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027323EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 027323EC */ if (_t35) goto L_027323F0; else goto L_02732400;
|
|
L_027323F0: ; // 0x27323f0
|
|
/* 027323F0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 027323F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027323F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027323F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027323FC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027323FC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027323FC */ if (_t37) goto L_0273243C; else goto L_02732400;
|
|
L_02732400: ; // 0x2732400
|
|
/* 02732400 */ cpu->r[3] = cpu->r[28];
|
|
/* 02732400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732404 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732404 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02732404 */ if (_t39) goto L_02732408; else goto L_02732418;
|
|
L_02732408: ; // 0x2732408
|
|
/* 02732408 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273240C */ Gambit_fn_02801A78(cpu);
|
|
/* 02732410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732414 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732414 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02732414 */ if (_t41) goto L_02732424; else goto L_02732418;
|
|
L_02732418: ; // 0x2732418
|
|
/* 02732418 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 02732418 */ rbrew_write32(cpu->mem, _t42, cpu->r[14]);
|
|
/* 0273241C */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 0273241C */ rbrew_write32(cpu->mem, _t43, cpu->r[14]);
|
|
/* 02732420 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 02732420 */ rbrew_write32(cpu->mem, _t44, cpu->r[14]);
|
|
L_02732424: ; // 0x2732424
|
|
/* 02732424 */ cpu->r[4] = 0x00000020u;
|
|
/* 02732428 */ cpu->r[5] = cpu->r[28] + 0x0000000Cu;
|
|
/* 0273242C */ cpu->r[3] = cpu->r[28];
|
|
/* 02732430 */ Gambit_fn_028023A8(cpu);
|
|
/* 02732434 */ goto L_0273243C;
|
|
L_02732438: ; // 0x2732438
|
|
/* 02732438 */ cpu->r[31] = 0x00000000u;
|
|
L_0273243C: ; // 0x273243c
|
|
/* 0273243C */ _t45 = cpu->r[1] + 0x0000013Cu;
|
|
/* 0273243C */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
|
|
/* 02732440 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02732444 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732448 */ _t46 = cpu->r[1] + 0x00000064u;
|
|
/* 02732448 */ rbrew_write32(cpu->mem, _t46, cpu->r[25]);
|
|
/* 0273244C */ cpu->r[4] = cpu->r[1] + 0x00000130u;
|
|
/* 02732450 */ cpu->r[0] = cpu->r[0] + 0x00006BA4u;
|
|
/* 02732454 */ cpu->r[5] = 0x00000000u;
|
|
/* 02732458 */ _t47 = cpu->r[1] + 0x00000060u;
|
|
/* 02732458 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0273245C */ Gambit_fn_0299FE4C(cpu);
|
|
/* 02732460 */ cpu->r[27] = 0x100F0000u;
|
|
/* 02732464 */ _t48 = cpu->r[1] + 0x00000064u;
|
|
/* 02732464 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]);
|
|
/* 02732468 */ cpu->r[27] = cpu->r[27] + 0x00006BB4u;
|
|
/* 0273246C */ cpu->r[28] = 0x100F0000u;
|
|
/* 02732470 */ cpu->r[4] = 0x00000000u;
|
|
/* 02732474 */ _t49 = cpu->r[1] + 0x00000060u;
|
|
/* 02732474 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 02732478 */ cpu->r[7] = cpu->r[4];
|
|
/* 0273247C */ _t50 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0273247C */ rbrew_write32(cpu->mem, _t50, cpu->r[25]);
|
|
/* 02732480 */ cpu->r[28] = cpu->r[28] + 0x00006BC4u;
|
|
/* 02732484 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02732488 */ _t51 = cpu->r[21] + 0x00000248u;
|
|
/* 02732488 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0273248C */ cpu->r[3] = cpu->r[3] + 0x000000C8u;
|
|
/* 02732490 */ cpu->r[6] = cpu->r[1] + 0x00000068u;
|
|
/* 02732494 */ _t52 = cpu->r[1] + 0x00000068u;
|
|
/* 02732494 */ rbrew_write32(cpu->mem, _t52, cpu->r[28]);
|
|
/* 02732498 */ Gambit_fn_029BB430(cpu);
|
|
/* 0273249C */ cpu->r[6] = cpu->r[1] + 0x00000060u;
|
|
/* 027324A0 */ _t53 = cpu->r[21] + 0x00000248u;
|
|
/* 027324A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027324A4 */ cpu->r[7] = 0x00000001u;
|
|
/* 027324A8 */ _t54 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027324A8 */ rbrew_write32(cpu->mem, _t54, cpu->r[25]);
|
|
/* 027324AC */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 027324B0 */ _t55 = cpu->r[1] + 0x00000068u;
|
|
/* 027324B0 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 027324B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027324B8 */ _t56 = cpu->r[1] + 0x00000064u;
|
|
/* 027324B8 */ rbrew_write32(cpu->mem, _t56, cpu->r[25]);
|
|
/* 027324BC */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 027324C0 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 027324C0 */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
/* 027324C4 */ Gambit_fn_029BB430(cpu);
|
|
/* 027324C8 */ cpu->r[28] = 0x100F0000u;
|
|
/* 027324CC */ _t58 = cpu->r[1] + 0x00000064u;
|
|
/* 027324CC */ rbrew_write32(cpu->mem, _t58, cpu->r[25]);
|
|
/* 027324D0 */ cpu->r[6] = 0x00000020u;
|
|
/* 027324D4 */ cpu->r[28] = cpu->r[28] + 0x00006BDCu;
|
|
/* 027324D8 */ cpu->r[7] = 0x00000001u;
|
|
/* 027324DC */ cpu->r[4] = 0x00000000u;
|
|
/* 027324E0 */ _t59 = cpu->r[21] + 0x00000248u;
|
|
/* 027324E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027324E4 */ cpu->r[27] = 0x100F0000u;
|
|
/* 027324E8 */ cpu->r[9] = cpu->r[4];
|
|
/* 027324EC */ _t60 = cpu->r[1] + 0x00000060u;
|
|
/* 027324EC */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
|
|
/* 027324F0 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 027324F4 */ cpu->r[27] = cpu->r[27] + 0x00006BD0u;
|
|
/* 027324F8 */ _t61 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027324F8 */ rbrew_write32(cpu->mem, _t61, cpu->r[25]);
|
|
/* 027324FC */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02732500 */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 02732504 */ _t62 = cpu->r[1] + 0x00000068u;
|
|
/* 02732504 */ rbrew_write32(cpu->mem, _t62, cpu->r[27]);
|
|
/* 02732508 */ Gambit_fn_029BB7D4(cpu);
|
|
/* 0273250C */ cpu->r[6] = 0x00000020u;
|
|
/* 02732510 */ _t63 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02732510 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]);
|
|
/* 02732514 */ cpu->r[4] = 0x00000000u;
|
|
/* 02732518 */ _t64 = cpu->r[21] + 0x00000248u;
|
|
/* 02732518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0273251C */ cpu->r[7] = 0x00000001u;
|
|
/* 02732520 */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 02732524 */ _t65 = cpu->r[1] + 0x00000064u;
|
|
/* 02732524 */ rbrew_write32(cpu->mem, _t65, cpu->r[25]);
|
|
/* 02732528 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0273252C */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02732530 */ _t66 = cpu->r[1] + 0x00000060u;
|
|
/* 02732530 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 02732534 */ cpu->r[9] = cpu->r[7];
|
|
/* 02732538 */ _t67 = cpu->r[1] + 0x00000068u;
|
|
/* 02732538 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
/* 0273253C */ Gambit_fn_029BB7D4(cpu);
|
|
/* 02732540 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 02732544 */ cpu->r[27] = 0x100F0000u;
|
|
/* 02732548 */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 0273254C */ _t68 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0273254C */ rbrew_write32(cpu->mem, _t68, cpu->r[25]);
|
|
/* 02732550 */ cpu->r[27] = cpu->r[27] + 0x00006BE8u;
|
|
/* 02732554 */ cpu->r[6] = 0x00000020u;
|
|
/* 02732558 */ _t69 = cpu->r[21] + 0x00000248u;
|
|
/* 02732558 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0273255C */ cpu->r[4] = 0x00000001u;
|
|
/* 02732560 */ cpu->r[28] = 0x100F0000u;
|
|
/* 02732564 */ _t70 = cpu->r[1] + 0x00000068u;
|
|
/* 02732564 */ rbrew_write32(cpu->mem, _t70, cpu->r[27]);
|
|
/* 02732568 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0273256C */ cpu->r[28] = cpu->r[28] + 0x00006BF4u;
|
|
/* 02732570 */ _t71 = cpu->r[1] + 0x00000064u;
|
|
/* 02732570 */ rbrew_write32(cpu->mem, _t71, cpu->r[25]);
|
|
/* 02732574 */ cpu->r[9] = 0x00000000u;
|
|
/* 02732578 */ cpu->r[7] = cpu->r[4];
|
|
/* 0273257C */ _t72 = cpu->r[1] + 0x00000060u;
|
|
/* 0273257C */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 02732580 */ Gambit_fn_029BB7D4(cpu);
|
|
/* 02732584 */ cpu->r[4] = 0x00000001u;
|
|
/* 02732588 */ _t73 = cpu->r[21] + 0x00000248u;
|
|
/* 02732588 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0273258C */ cpu->r[7] = cpu->r[4];
|
|
/* 02732590 */ _t74 = cpu->r[1] + 0x00000064u;
|
|
/* 02732590 */ rbrew_write32(cpu->mem, _t74, cpu->r[25]);
|
|
/* 02732594 */ cpu->r[6] = 0x00000020u;
|
|
/* 02732598 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0273259C */ _t75 = cpu->r[1] + 0x00000060u;
|
|
/* 0273259C */ rbrew_write32(cpu->mem, _t75, cpu->r[28]);
|
|
/* 027325A0 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 027325A4 */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 027325A8 */ _t76 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027325A8 */ rbrew_write32(cpu->mem, _t76, cpu->r[25]);
|
|
/* 027325AC */ cpu->r[9] = cpu->r[7];
|
|
/* 027325B0 */ _t77 = cpu->r[1] + 0x00000068u;
|
|
/* 027325B0 */ rbrew_write32(cpu->mem, _t77, cpu->r[27]);
|
|
/* 027325B4 */ Gambit_fn_029BB7D4(cpu);
|
|
/* 027325B8 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 027325BC */ _t78 = cpu->r[21] + 0x00000248u;
|
|
/* 027325BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027325C0 */ cpu->r[28] = 0x100F0000u;
|
|
/* 027325C4 */ cpu->r[6] = 0x00000020u;
|
|
/* 027325C8 */ _t79 = cpu->r[1] + 0x00000064u;
|
|
/* 027325C8 */ rbrew_write32(cpu->mem, _t79, cpu->r[25]);
|
|
/* 027325CC */ cpu->r[28] = cpu->r[28] + 0x00006B8Cu;
|
|
/* 027325D0 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 027325D4 */ cpu->r[7] = 0x00000001u;
|
|
/* 027325D8 */ _t80 = cpu->r[1] + 0x00000060u;
|
|
/* 027325D8 */ rbrew_write32(cpu->mem, _t80, cpu->r[28]);
|
|
/* 027325DC */ cpu->r[27] = 0x100F0000u;
|
|
/* 027325E0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027325E4 */ _t81 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027325E4 */ rbrew_write32(cpu->mem, _t81, cpu->r[25]);
|
|
/* 027325E8 */ cpu->r[27] = cpu->r[27] + 0x00006B50u;
|
|
/* 027325EC */ cpu->r[9] = 0x00000000u;
|
|
/* 027325F0 */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 027325F4 */ _t82 = cpu->r[1] + 0x00000068u;
|
|
/* 027325F4 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
/* 027325F8 */ Gambit_fn_029BB7D4(cpu);
|
|
/* 027325FC */ cpu->r[4] = 0x00000002u;
|
|
/* 02732600 */ _t83 = cpu->r[1] + 0x00000064u;
|
|
/* 02732600 */ rbrew_write32(cpu->mem, _t83, cpu->r[25]);
|
|
/* 02732604 */ _t84 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02732604 */ rbrew_write32(cpu->mem, _t84, cpu->r[25]);
|
|
/* 02732608 */ cpu->r[5] = cpu->r[1] + 0x00000068u;
|
|
/* 0273260C */ cpu->r[8] = cpu->r[1] + 0x00000060u;
|
|
/* 02732610 */ _t85 = cpu->r[21] + 0x00000248u;
|
|
/* 02732610 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02732614 */ cpu->r[7] = 0x00000001u;
|
|
/* 02732618 */ cpu->r[6] = 0x00000020u;
|
|
/* 0273261C */ _t86 = cpu->r[1] + 0x00000060u;
|
|
/* 0273261C */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 02732620 */ cpu->r[9] = cpu->r[7];
|
|
/* 02732624 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 02732628 */ _t87 = cpu->r[1] + 0x00000068u;
|
|
/* 02732628 */ rbrew_write32(cpu->mem, _t87, cpu->r[27]);
|
|
/* 0273262C */ Gambit_fn_029BB7D4(cpu);
|
|
/* 02732630 */ _t88 = cpu->r[29] + 0xFFFF98F0u;
|
|
/* 02732630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02732634 */ Gambit_fn_02826F20(cpu);
|
|
/* 02732638 */ _t89 = cpu->r[21] + 0x00000248u;
|
|
/* 02732638 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0273263C */ cpu->r[4] = cpu->r[3];
|
|
/* 02732640 */ cpu->r[3] = cpu->r[31];
|
|
/* 02732644 */ Gambit_fn_023D9B90(cpu);
|
|
/* 02732648 */ _t90 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02732648 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0273264C */ _t91 = cpu->r[5] + 0x0000002Cu;
|
|
/* 0273264C */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02732650 */ cpu->ctr = cpu->r[6];
|
|
/* 02732654 */ cpu->r[3] = cpu->r[26];
|
|
/* 02732658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273265C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02732660 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732660 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02732660 */ if (_t93) goto L_02732670; else goto L_02732664;
|
|
L_02732664: ; // 0x2732664
|
|
/* 02732664 */ _t94 = cpu->r[29] + 0xFFFF98F0u;
|
|
/* 02732664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02732668 */ cpu->r[4] = cpu->r[30];
|
|
/* 0273266C */ Gambit_fn_02827008(cpu);
|
|
L_02732670: ; // 0x2732670
|
|
/* 02732670 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02732674 */ _t95 = cpu->r[1] + 0x00000080u;
|
|
/* 02732674 */ rbrew_write32(cpu->mem, _t95, cpu->r[25]);
|
|
/* 02732678 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273267C */ cpu->r[7] = cpu->r[7] + 0x00006B44u;
|
|
/* 02732680 */ _t96 = cpu->r[21] + 0x00000248u;
|
|
/* 02732680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02732684 */ cpu->r[6] = cpu->r[5];
|
|
/* 02732688 */ cpu->r[4] = cpu->r[1] + 0x0000007Cu;
|
|
/* 0273268C */ _t97 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0273268C */ rbrew_write32(cpu->mem, _t97, cpu->r[7]);
|
|
/* 02732690 */ Gambit_fn_027E8CA4(cpu);
|
|
/* 02732694 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732698 */ _t98 = cpu->r[1] + 0x00000080u;
|
|
/* 02732698 */ rbrew_write32(cpu->mem, _t98, cpu->r[25]);
|
|
/* 0273269C */ cpu->r[4] = cpu->r[1] + 0x0000007Cu;
|
|
/* 027326A0 */ cpu->r[0] = cpu->r[0] + 0x00006B48u;
|
|
/* 027326A4 */ _t99 = cpu->r[21] + 0x00000248u;
|
|
/* 027326A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027326A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 027326AC */ cpu->r[6] = 0x00000000u;
|
|
/* 027326B0 */ _t100 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027326B0 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 027326B4 */ Gambit_fn_027E8CA4(cpu);
|
|
/* 027326B8 */ cpu->r[5] = 0x02730000u;
|
|
/* 027326BC */ _t101 = cpu->r[1] + 0x00000080u;
|
|
/* 027326BC */ rbrew_write32(cpu->mem, _t101, cpu->r[25]);
|
|
/* 027326C0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027326C4 */ cpu->r[5] = cpu->r[5] + 0x000047D8u;
|
|
/* 027326C8 */ cpu->r[0] = cpu->r[0] + 0x00006B34u;
|
|
/* 027326CC */ _t102 = cpu->r[1] + 0x00000010u;
|
|
/* 027326CC */ rbrew_write32(cpu->mem, _t102, cpu->r[5]);
|
|
/* 027326D0 */ cpu->ctr = cpu->r[5];
|
|
/* 027326D4 */ _t103 = cpu->r[21] + 0x00000248u;
|
|
/* 027326D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027326D8 */ _t104 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027326D8 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
/* 027326DC */ _t105 = cpu->r[5] + 0x000008E4u;
|
|
/* 027326DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027326E0 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
|
|
/* 027326E4 */ _t106 = cpu->r[29] + 0x00000000u;
|
|
/* 027326E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027326E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027326EC */ cpu->r[9] = 0x10110000u;
|
|
/* 027326F0 */ _t107 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027326F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 027326F4 */ _t108 = cpu->r[9] + 0x00007399u;
|
|
/* 027326F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 027326F8 */ _t109 = cpu->r[6] + 0x00000000u;
|
|
/* 027326F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t109);
|
|
/* 027326FC */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027326FC */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]);
|
|
/* 02732700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02732704 */ cpu->r[31] = 0x00000000u;
|
|
/* 02732708 */ cpu->r[7] = 0x00080000u;
|
|
/* 0273270C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273270C */ _t112 = _t111 & 0x00000001u;
|
|
/* 0273270C */ if (_t112) goto L_02732734; else goto L_02732710;
|
|
L_02732710: ; // 0x2732710
|
|
/* 02732710 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02732714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02732718 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273271C */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273271C */ _t114 = _t113 & 0x00000001u;
|
|
/* 0273271C */ if (_t114) goto L_02732730; else goto L_02732720;
|
|
L_02732720: ; // 0x2732720
|
|
/* 02732720 */ _t115 = cpu->r[6] + 0x00000000u;
|
|
/* 02732720 */ cpu->r[9] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02732724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02732728 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732728 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02732728 */ if (_t117) goto L_0273272C; else goto L_02732710;
|
|
L_0273272C: ; // 0x273272c
|
|
/* 0273272C */ goto L_02732734;
|
|
L_02732730: ; // 0x2732730
|
|
/* 02732730 */ cpu->r[31] = 0x00000000u;
|
|
L_02732734: ; // 0x2732734
|
|
/* 02732734 */ _t118 = cpu->r[29] + 0x00000008u;
|
|
/* 02732734 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02732738 */ _t119 = cpu->r[1] + 0x00000080u;
|
|
/* 02732738 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0273273C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02732740 */ _t120 = cpu->r[10] + 0x00000014u;
|
|
/* 02732740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02732744 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732744 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02732744 */ if (_t122) goto L_0273274C; else goto L_02732748;
|
|
L_02732748: ; // 0x2732748
|
|
/* 02732748 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0273274C: ; // 0x273274c
|
|
/* 0273274C */ cpu->ctr = cpu->r[12];
|
|
/* 02732750 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02732754 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732758 */ _t123 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02732758 */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0273275C */ cpu->r[3] = cpu->r[30];
|
|
/* 02732760 */ cpu->r[5] = cpu->r[31];
|
|
/* 02732764 */ cpu->r[6] = 0x00000000u;
|
|
/* 02732768 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273276C */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273276C */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02732770 */ cpu->r[4] = 0x00000000u;
|
|
/* 02732774 */ _t125 = cpu->r[30] + cpu->r[31];
|
|
/* 02732774 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]);
|
|
/* 02732778 */ _t126 = cpu->r[21] + 0x00000248u;
|
|
/* 02732778 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0273277C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02732780 */ Gambit_fn_027E22D0(cpu);
|
|
/* 02732784 */ cpu->r[4] = 0x100F0000u;
|
|
/* 02732788 */ _t127 = cpu->r[1] + 0x000000D4u;
|
|
/* 02732788 */ rbrew_write32(cpu->mem, _t127, cpu->r[25]);
|
|
/* 0273278C */ cpu->r[4] = cpu->r[4] + 0x00006B58u;
|
|
/* 02732790 */ _t128 = cpu->r[1] + 0x000000D0u;
|
|
/* 02732790 */ rbrew_write32(cpu->mem, _t128, cpu->r[4]);
|
|
/* 02732794 */ Gambit_fn_027FA974(cpu);
|
|
/* 02732798 */ cpu->r[4] = 0x00000003u;
|
|
/* 0273279C */ cpu->r[5] = cpu->r[1] + 0x000000D0u;
|
|
/* 027327A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027327A4 */ Gambit_fn_027D4248(cpu);
|
|
/* 027327A8 */ _t129 = cpu->r[21] + 0x00000248u;
|
|
/* 027327A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027327AC */ _t130 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027327AC */ rbrew_write32(cpu->mem, _t130, cpu->r[3]);
|
|
/* 027327B0 */ Gambit_fn_029730C0(cpu);
|
|
/* 027327B4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027327B8 */ _t131 = cpu->r[1] + 0x000000DCu;
|
|
/* 027327B8 */ rbrew_write32(cpu->mem, _t131, cpu->r[25]);
|
|
/* 027327BC */ cpu->r[0] = cpu->r[0] + 0x00006C08u;
|
|
/* 027327C0 */ _t132 = cpu->r[1] + 0x000000D8u;
|
|
/* 027327C0 */ rbrew_write32(cpu->mem, _t132, cpu->r[0]);
|
|
/* 027327C4 */ Gambit_fn_027FA974(cpu);
|
|
/* 027327C8 */ cpu->r[4] = 0x00000001u;
|
|
/* 027327CC */ cpu->r[5] = cpu->r[1] + 0x000000D8u;
|
|
/* 027327D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027327D4 */ Gambit_fn_027D4248(cpu);
|
|
/* 027327D8 */ _t133 = cpu->r[21] + 0x00000248u;
|
|
/* 027327D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027327DC */ _t134 = cpu->r[1] + 0x00000014u;
|
|
/* 027327DC */ rbrew_write32(cpu->mem, _t134, cpu->r[3]);
|
|
/* 027327E0 */ Gambit_fn_029730C0(cpu);
|
|
/* 027327E4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027327E8 */ _t135 = cpu->r[12] + 0x00006B24u;
|
|
/* 027327E8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 027327EC */ cpu->r[10] = 0x100F0000u;
|
|
/* 027327F0 */ _t136 = cpu->r[1] + 0x00000014u;
|
|
/* 027327F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
|
|
/* 027327F4 */ cpu->r[5] = 0x100F0000u;
|
|
/* 027327F8 */ _t137 = cpu->r[10] + 0x00006B20u;
|
|
/* 027327F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 027327FC */ _t138 = cpu->r[5] + 0x00006B28u;
|
|
/* 027327FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02732800 */ _t139 = cpu->r[12] + 0x00000018u;
|
|
/* 02732800 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[31]);
|
|
/* 02732804 */ _t140 = cpu->r[12] + 0x00000024u;
|
|
/* 02732804 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[30]);
|
|
/* 02732808 */ _t141 = cpu->r[12] + 0x00000020u;
|
|
/* 02732808 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[29]);
|
|
/* 0273280C */ cpu->r[3] = 0x0000036Cu;
|
|
/* 02732810 */ _t142 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02732810 */ rbrew_write_f32(cpu->mem, _t142, cpu->f[31]);
|
|
/* 02732814 */ Gambit_fn_02801A78(cpu);
|
|
/* 02732818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273281C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273281C */ _t144 = _t143 & 0x00000001u;
|
|
/* 0273281C */ if (_t144) goto L_02732824; else goto L_02732820;
|
|
L_02732820: ; // 0x2732820
|
|
/* 02732820 */ Gambit_fn_02800E08(cpu);
|
|
L_02732824: ; // 0x2732824
|
|
/* 02732824 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732828 */ _t145 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02732828 */ rbrew_write32(cpu->mem, _t145, cpu->r[25]);
|
|
/* 0273282C */ cpu->r[0] = cpu->r[0] + 0x00006B60u;
|
|
/* 02732830 */ _t146 = cpu->r[21] + 0x00000254u;
|
|
/* 02732830 */ rbrew_write32(cpu->mem, _t146, cpu->r[3]);
|
|
/* 02732834 */ _t147 = cpu->r[1] + 0x00000098u;
|
|
/* 02732834 */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
|
|
/* 02732838 */ Gambit_fn_027FA974(cpu);
|
|
/* 0273283C */ cpu->r[4] = 0x00000004u;
|
|
/* 02732840 */ cpu->r[5] = cpu->r[1] + 0x00000098u;
|
|
/* 02732844 */ cpu->r[6] = 0x00000000u;
|
|
/* 02732848 */ Gambit_fn_027D41A4(cpu);
|
|
/* 0273284C */ cpu->r[6] = 0x100F0000u;
|
|
/* 02732850 */ _t148 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02732850 */ rbrew_write32(cpu->mem, _t148, cpu->r[25]);
|
|
/* 02732854 */ cpu->r[6] = cpu->r[6] + 0x00006B3Cu;
|
|
/* 02732858 */ _t149 = cpu->r[1] + 0x00000098u;
|
|
/* 02732858 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 0273285C */ Gambit_fn_027FA974(cpu);
|
|
/* 02732860 */ cpu->r[4] = 0x00000005u;
|
|
/* 02732864 */ cpu->r[5] = cpu->r[1] + 0x00000098u;
|
|
/* 02732868 */ cpu->r[6] = 0x00000001u;
|
|
/* 0273286C */ Gambit_fn_027D41A4(cpu);
|
|
/* 02732870 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732874 */ _t150 = cpu->r[1] + 0x000000E4u;
|
|
/* 02732874 */ rbrew_write32(cpu->mem, _t150, cpu->r[25]);
|
|
/* 02732878 */ cpu->r[0] = cpu->r[0] + 0x00006C14u;
|
|
/* 0273287C */ _t151 = cpu->r[1] + 0x000000E0u;
|
|
/* 0273287C */ rbrew_write32(cpu->mem, _t151, cpu->r[0]);
|
|
/* 02732880 */ Gambit_fn_027FA974(cpu);
|
|
/* 02732884 */ cpu->r[4] = 0x00000002u;
|
|
/* 02732888 */ cpu->r[5] = cpu->r[1] + 0x000000E0u;
|
|
/* 0273288C */ cpu->r[6] = 0x00000000u;
|
|
/* 02732890 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02732894 */ _t152 = cpu->r[3] + 0x00000018u;
|
|
/* 02732894 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[31]);
|
|
/* 02732898 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273289C */ _t153 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273289C */ rbrew_write_f32(cpu->mem, _t153, cpu->f[31]);
|
|
/* 027328A0 */ _t154 = cpu->r[31] + 0x00000020u;
|
|
/* 027328A0 */ rbrew_write_f32(cpu->mem, _t154, cpu->f[29]);
|
|
/* 027328A4 */ cpu->r[3] = 0x00000640u;
|
|
/* 027328A8 */ _t155 = cpu->r[31] + 0x00000024u;
|
|
/* 027328A8 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[30]);
|
|
/* 027328AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027328B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027328B4 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027328B4 */ _t157 = _t156 & 0x00000001u;
|
|
/* 027328B4 */ if (_t157) goto L_027328BC; else goto L_027328B8;
|
|
L_027328B8: ; // 0x27328b8
|
|
/* 027328B8 */ Gambit_fn_02973EC8(cpu);
|
|
L_027328BC: ; // 0x27328bc
|
|
/* 027328BC */ cpu->r[5] = 0x00000000u;
|
|
/* 027328C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027328C4 */ cpu->r[6] = cpu->r[5];
|
|
/* 027328C8 */ _t158 = cpu->r[21] + 0x0000024Cu;
|
|
/* 027328C8 */ rbrew_write32(cpu->mem, _t158, cpu->r[3]);
|
|
/* 027328CC */ Gambit_fn_029741BC(cpu);
|
|
/* 027328D0 */ cpu->r[8] = 0x100F0000u;
|
|
/* 027328D4 */ _t159 = cpu->r[1] + 0x000000ECu;
|
|
/* 027328D4 */ rbrew_write32(cpu->mem, _t159, cpu->r[25]);
|
|
/* 027328D8 */ cpu->r[8] = cpu->r[8] + 0x00006C20u;
|
|
/* 027328DC */ _t160 = cpu->r[1] + 0x000000E8u;
|
|
/* 027328DC */ rbrew_write32(cpu->mem, _t160, cpu->r[8]);
|
|
/* 027328E0 */ Gambit_fn_027FA974(cpu);
|
|
/* 027328E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027328E8 */ cpu->r[5] = cpu->r[1] + 0x000000E8u;
|
|
/* 027328EC */ cpu->r[6] = cpu->r[4];
|
|
/* 027328F0 */ Gambit_fn_027D41A4(cpu);
|
|
/* 027328F4 */ cpu->r[9] = 0x00000001u;
|
|
/* 027328F8 */ _t161 = cpu->r[3] + 0x0000008Cu;
|
|
/* 027328F8 */ rbrew_write32(cpu->mem, _t161, cpu->r[9]);
|
|
/* 027328FC */ _t162 = cpu->r[3] + 0x00000057u;
|
|
/* 027328FC */ rbrew_write8(cpu->mem, _t162, (uint8_t)cpu->r[9]);
|
|
/* 02732900 */ _t163 = cpu->r[1] + 0x000000A0u;
|
|
/* 02732900 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[31]);
|
|
/* 02732904 */ _t164 = cpu->r[1] + 0x000000A0u;
|
|
/* 02732904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02732908 */ _t165 = cpu->r[1] + 0x000000A4u;
|
|
/* 02732908 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[31]);
|
|
/* 0273290C */ _t166 = cpu->r[1] + 0x000000A8u;
|
|
/* 0273290C */ rbrew_write_f32(cpu->mem, _t166, cpu->f[31]);
|
|
/* 02732910 */ _t167 = cpu->r[1] + 0x000000ACu;
|
|
/* 02732910 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[31]);
|
|
/* 02732914 */ _t168 = cpu->r[3] + 0x00000060u;
|
|
/* 02732914 */ rbrew_write32(cpu->mem, _t168, cpu->r[0]);
|
|
/* 02732918 */ _t169 = cpu->r[1] + 0x000000A4u;
|
|
/* 02732918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 0273291C */ _t170 = cpu->r[3] + 0x00000064u;
|
|
/* 0273291C */ rbrew_write32(cpu->mem, _t170, cpu->r[0]);
|
|
/* 02732920 */ _t171 = cpu->r[1] + 0x000000A8u;
|
|
/* 02732920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02732924 */ _t172 = cpu->r[3] + 0x00000068u;
|
|
/* 02732924 */ rbrew_write32(cpu->mem, _t172, cpu->r[12]);
|
|
/* 02732928 */ _t173 = cpu->r[1] + 0x000000ACu;
|
|
/* 02732928 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0273292C */ _t174 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273292C */ rbrew_write_f32(cpu->mem, _t174, cpu->f[31]);
|
|
/* 02732930 */ _t175 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02732930 */ rbrew_write32(cpu->mem, _t175, cpu->r[4]);
|
|
/* 02732934 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02732938 */ _t176 = cpu->r[3] + 0x00000018u;
|
|
/* 02732938 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[31]);
|
|
/* 0273293C */ cpu->r[10] = 0x100F0000u;
|
|
/* 02732940 */ _t177 = cpu->r[9] + 0x00006B30u;
|
|
/* 02732940 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 02732944 */ _t178 = cpu->r[10] + 0x00006B2Cu;
|
|
/* 02732944 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 02732948 */ _t179 = cpu->r[3] + 0x00000024u;
|
|
/* 02732948 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[13]);
|
|
/* 0273294C */ _t180 = cpu->r[3] + 0x00000020u;
|
|
/* 0273294C */ rbrew_write_f32(cpu->mem, _t180, cpu->f[0]);
|
|
/* 02732950 */ cpu->r[3] = 0x0000036Cu;
|
|
/* 02732954 */ Gambit_fn_02801A78(cpu);
|
|
/* 02732958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273295C */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273295C */ _t182 = _t181 & 0x00000001u;
|
|
/* 0273295C */ if (_t182) goto L_02732964; else goto L_02732960;
|
|
L_02732960: ; // 0x2732960
|
|
/* 02732960 */ Gambit_fn_02800E08(cpu);
|
|
L_02732964: ; // 0x2732964
|
|
/* 02732964 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02732968 */ _t183 = cpu->r[21] + 0x00000250u;
|
|
/* 02732968 */ rbrew_write32(cpu->mem, _t183, cpu->r[3]);
|
|
/* 0273296C */ _t184 = cpu->r[8] + 0xFFFF92F0u;
|
|
/* 0273296C */ cpu->r[8] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02732970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02732974 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732974 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02732974 */ if (_t186) goto L_02732980; else goto L_02732978;
|
|
L_02732978: ; // 0x2732978
|
|
/* 02732978 */ cpu->r[5] = 0x00000008u;
|
|
/* 0273297C */ _t187 = cpu->r[8] + 0x00000004u;
|
|
/* 0273297C */ rbrew_write32(cpu->mem, _t187, cpu->r[5]);
|
|
L_02732980: ; // 0x2732980
|
|
/* 02732980 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02732984 */ _t188 = cpu->r[7] + 0xFFFF9024u;
|
|
/* 02732984 */ cpu->r[7] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02732988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273298C */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273298C */ _t190 = _t189 & 0x00000001u;
|
|
/* 0273298C */ if (_t190) goto L_02732998; else goto L_02732990;
|
|
L_02732990: ; // 0x2732990
|
|
/* 02732990 */ cpu->r[6] = 0x00000008u;
|
|
/* 02732994 */ _t191 = cpu->r[7] + 0x00000004u;
|
|
/* 02732994 */ rbrew_write32(cpu->mem, _t191, cpu->r[6]);
|
|
L_02732998: ; // 0x2732998
|
|
/* 02732998 */ cpu->r[3] = cpu->r[1] + 0x00000100u;
|
|
/* 0273299C */ Gambit_fn_02085584(cpu);
|
|
/* 027329A0 */ _t192 = cpu->r[1] + 0x00000100u;
|
|
/* 027329A0 */ rbrew_write32(cpu->mem, _t192, cpu->r[14]);
|
|
/* 027329A4 */ cpu->r[7] = 0x00000002u;
|
|
/* 027329A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027329AC */ cpu->r[4] = cpu->r[1] + 0x00000100u;
|
|
/* 027329B0 */ _t193 = cpu->r[1] + 0x00000104u;
|
|
/* 027329B0 */ rbrew_write32(cpu->mem, _t193, cpu->r[7]);
|
|
/* 027329B4 */ Gambit_fn_020851B8(cpu);
|
|
/* 027329B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027329B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027329BC */ _t194 = cpu->r[21] + 0x00000244u;
|
|
/* 027329BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t194);
|
|
/* 027329C0 */ _t195 = cpu->r[21] + 0x00000260u;
|
|
/* 027329C0 */ rbrew_write32(cpu->mem, _t195, cpu->r[4]);
|
|
/* 027329C4 */ _t196 = cpu->r[9] + 0x00000250u;
|
|
/* 027329C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027329C8 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027329C8 */ _t198 = _t197 & 0x00000001u;
|
|
/* 027329C8 */ if (_t198) goto L_027329D0; else goto L_027329CC;
|
|
L_027329CC: ; // 0x27329cc
|
|
/* 027329CC */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_027329D0: ; // 0x27329d0
|
|
/* 027329D0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027329D4 */ Gambit_fn_027EFC10(cpu);
|
|
/* 027329D8 */ cpu->r[3] = cpu->r[1] + 0x00000110u;
|
|
/* 027329DC */ Gambit_fn_0243A4A4(cpu);
|
|
/* 027329E0 */ cpu->r[8] = 0x00000004u;
|
|
/* 027329E4 */ cpu->r[0] = 0x00000005u;
|
|
/* 027329E8 */ _t199 = cpu->r[1] + 0x00000110u;
|
|
/* 027329E8 */ rbrew_write32(cpu->mem, _t199, cpu->r[8]);
|
|
/* 027329EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027329F0 */ cpu->r[4] = cpu->r[1] + 0x00000110u;
|
|
/* 027329F4 */ _t200 = cpu->r[1] + 0x00000114u;
|
|
/* 027329F4 */ rbrew_write32(cpu->mem, _t200, cpu->r[0]);
|
|
/* 027329F8 */ Gambit_fn_02438F8C(cpu);
|
|
/* 027329FC */ cpu->r[4] = cpu->r[3];
|
|
/* 027329FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02732A00 */ _t201 = cpu->r[21] + 0x00000244u;
|
|
/* 02732A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02732A04 */ _t202 = cpu->r[21] + 0x00000264u;
|
|
/* 02732A04 */ rbrew_write32(cpu->mem, _t202, cpu->r[4]);
|
|
/* 02732A08 */ _t203 = cpu->r[8] + 0x00000250u;
|
|
/* 02732A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02732A0C */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732A0C */ _t205 = _t204 & 0x00000001u;
|
|
/* 02732A0C */ if (_t205) goto L_02732A14; else goto L_02732A10;
|
|
L_02732A10: ; // 0x2732a10
|
|
/* 02732A10 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02732A14: ; // 0x2732a14
|
|
/* 02732A14 */ cpu->r[5] = 0x00000000u;
|
|
/* 02732A18 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02732A1C */ cpu->r[3] = 0x00000030u;
|
|
/* 02732A20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02732A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732A28 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732A28 */ _t207 = _t206 & 0x00000001u;
|
|
/* 02732A28 */ if (_t207) goto L_02732A30; else goto L_02732A2C;
|
|
L_02732A2C: ; // 0x2732a2c
|
|
/* 02732A2C */ Gambit_fn_0206C5B4(cpu);
|
|
L_02732A30: ; // 0x2732a30
|
|
/* 02732A30 */ _t208 = cpu->r[21] + 0x0000026Cu;
|
|
/* 02732A30 */ rbrew_write32(cpu->mem, _t208, cpu->r[3]);
|
|
/* 02732A34 */ cpu->r[4] = cpu->r[3];
|
|
/* 02732A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02732A38 */ _t209 = cpu->r[21] + 0x00000244u;
|
|
/* 02732A38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02732A3C */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732A3C */ _t211 = _t210 & 0x00000001u;
|
|
/* 02732A3C */ if (_t211) goto L_02732A44; else goto L_02732A40;
|
|
L_02732A40: ; // 0x2732a40
|
|
/* 02732A40 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_02732A44: ; // 0x2732a44
|
|
/* 02732A44 */ _t212 = cpu->r[9] + 0x00000250u;
|
|
/* 02732A44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02732A48 */ cpu->r[5] = 0x00000000u;
|
|
/* 02732A4C */ Gambit_fn_027EFC10(cpu);
|
|
/* 02732A50 */ cpu->r[3] = cpu->r[21];
|
|
/* 02732A54 */ cpu->r[4] = 0x00000008u;
|
|
/* 02732A58 */ cpu->r[5] = 0x00000001u;
|
|
/* 02732A5C */ Gambit_fn_0263E47C(cpu);
|
|
/* 02732A60 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02732A64 */ cpu->r[0] = 0x00000002u;
|
|
/* 02732A68 */ cpu->r[11] = cpu->r[11] + 0x00006B10u;
|
|
/* 02732A6C */ cpu->ctr = cpu->r[0];
|
|
/* 02732A70 */ _t213 = cpu->r[1] + 0x000000FCu;
|
|
/* 02732A70 */ rbrew_write32(cpu->mem, _t213, cpu->r[11]);
|
|
/* 02732A74 */ cpu->r[11] = cpu->r[1] + 0x000000ECu;
|
|
/* 02732A78 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02732A7C */ _t214 = cpu->r[1] + 0x000000F8u;
|
|
/* 02732A7C */ rbrew_write32(cpu->mem, _t214, cpu->r[14]);
|
|
L_02732A80: ; // 0x2732a80
|
|
/* 02732A80 */ _t215 = cpu->r[11] + 0x00000004u;
|
|
/* 02732A80 */ rbrew_write32(cpu->mem, _t215, cpu->r[4]);
|
|
/* 02732A80 */ cpu->r[11] = _t215;
|
|
/* 02732A84 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02732A84 */ _t216 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02732A84 */ _t217 = _t216 >> (0x00000002u & 31u);
|
|
/* 02732A84 */ _t218 = _t217 & 0x00000001u;
|
|
/* 02732A84 */ if (_t218) goto L_02732A80; else goto L_02732A88;
|
|
L_02732A88: ; // 0x2732a88
|
|
/* 02732A88 */ cpu->r[6] = 0x101C0000u;
|
|
/* 02732A8C */ cpu->r[12] = 0x00000004u;
|
|
/* 02732A90 */ _t219 = cpu->r[6] + 0x00003480u;
|
|
/* 02732A90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02732A94 */ cpu->r[20] = cpu->r[21] + 0x00000104u;
|
|
/* 02732A98 */ _t220 = cpu->r[1] + 0x000000F0u;
|
|
/* 02732A98 */ rbrew_write32(cpu->mem, _t220, cpu->r[12]);
|
|
/* 02732A9C */ _t221 = cpu->r[20] + cpu->r[6];
|
|
/* 02732A9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t221);
|
|
/* 02732AA0 */ cpu->r[4] = 0x00000005u;
|
|
/* 02732AA4 */ _t222 = cpu->r[21] + 0x00000030u;
|
|
/* 02732AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02732AA8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02732AAC */ _t223 = cpu->r[1] + 0x000000F4u;
|
|
/* 02732AAC */ rbrew_write32(cpu->mem, _t223, cpu->r[4]);
|
|
/* 02732AB0 */ _t224 = cpu->r[6] + cpu->r[8];
|
|
/* 02732AB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t224);
|
|
/* 02732AB4 */ _t225 = cpu->r[11] + 0x00000004u;
|
|
/* 02732AB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02732AB8 */ _t226 = cpu->r[21] + 0x00000244u;
|
|
/* 02732AB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02732ABC */ _t227 = cpu->r[4] + 0x00000000u;
|
|
/* 02732ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02732AC0 */ _t228 = cpu->r[21] + 0x00000268u;
|
|
/* 02732AC0 */ rbrew_write32(cpu->mem, _t228, cpu->r[3]);
|
|
/* 02732AC4 */ _t229 = cpu->r[12] + 0x00000250u;
|
|
/* 02732AC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02732AC8 */ cpu->r[4] = cpu->r[1] + 0x000000F0u;
|
|
/* 02732ACC */ Gambit_fn_020916E8(cpu);
|
|
/* 02732AD0 */ _t230 = cpu->r[21] + 0x00000268u;
|
|
/* 02732AD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02732AD4 */ Gambit_fn_02790458(cpu);
|
|
/* 02732AD8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02732ADC */ cpu->r[3] = 0x00000000u;
|
|
/* 02732AE0 */ cpu->r[4] = cpu->r[4] + 0x0000051Cu;
|
|
/* 02732AE4 */ Gambit_fn_020EEBF8(cpu);
|
|
/* 02732AE8 */ _t231 = cpu->r[21] + 0x00000258u;
|
|
/* 02732AE8 */ rbrew_write32(cpu->mem, _t231, cpu->r[3]);
|
|
/* 02732AEC */ cpu->r[0] = 0x100F0000u;
|
|
/* 02732AF0 */ _t232 = cpu->r[1] + 0x000000C4u;
|
|
/* 02732AF0 */ rbrew_write32(cpu->mem, _t232, cpu->r[25]);
|
|
/* 02732AF4 */ cpu->r[0] = cpu->r[0] + 0x00006B74u;
|
|
/* 02732AF8 */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 02732AFC */ _t233 = cpu->r[1] + 0x000000C0u;
|
|
/* 02732AFC */ rbrew_write32(cpu->mem, _t233, cpu->r[0]);
|
|
/* 02732B00 */ Gambit_fn_020ECD78(cpu);
|
|
/* 02732B04 */ cpu->r[28] = cpu->r[3];
|
|
/* 02732B08 */ _t234 = cpu->r[28] + 0x00000008u;
|
|
/* 02732B08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02732B0C */ cpu->r[4] = 0x00000000u;
|
|
/* 02732B10 */ cpu->r[3] = cpu->r[21];
|
|
/* 02732B14 */ cpu->r[5] = cpu->r[10] + 0x00000002u;
|
|
/* 02732B18 */ Gambit_fn_02734DB8(cpu);
|
|
/* 02732B1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02732B20 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02732B24 */ cpu->r[27] = 0x00000002u;
|
|
/* 02732B28 */ cpu->r[29] = cpu->r[30];
|
|
L_02732B2C: ; // 0x2732b2c
|
|
/* 02732B2C */ _t235 = cpu->r[31] + 0xFFFF8744u;
|
|
/* 02732B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02732B30 */ _t236 = cpu->r[20] + cpu->r[0];
|
|
/* 02732B30 */ cpu->r[8] = rbrew_read8(cpu->mem, _t236);
|
|
/* 02732B34 */ _t237 = cpu->r[21] + 0x00000030u;
|
|
/* 02732B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02732B38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02732B3C */ _t238 = cpu->r[11] + cpu->r[0];
|
|
/* 02732B3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02732B40 */ _t239 = cpu->r[5] + 0x00000004u;
|
|
/* 02732B40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02732B44 */ _t240 = cpu->r[7] + cpu->r[29];
|
|
/* 02732B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02732B48 */ cpu->r[4] = cpu->r[1] + 0x00000070u;
|
|
/* 02732B4C */ _t241 = cpu->r[1] + 0x00000070u;
|
|
/* 02732B4C */ rbrew_write32(cpu->mem, _t241, cpu->r[30]);
|
|
/* 02732B50 */ Gambit_fn_027312A0(cpu);
|
|
/* 02732B54 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02732B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02732B58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02732B5C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02732B60 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732B60 */ _t243 = _t242 & 0x00000001u;
|
|
/* 02732B60 */ if (_t243) goto L_02732B64; else goto L_02732B2C;
|
|
L_02732B64: ; // 0x2732b64
|
|
/* 02732B64 */ _t244 = cpu->r[28] + 0x00000008u;
|
|
/* 02732B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02732B68 */ cpu->r[24] = 0x00000000u;
|
|
/* 02732B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[10]);
|
|
/* 02732B70 */ _t245 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732B70 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02732B70 */ if (_t246) goto L_02732B74; else goto L_02732C48;
|
|
L_02732B74: ; // 0x2732b74
|
|
/* 02732B74 */ cpu->r[27] = 0x00000008u;
|
|
L_02732B78: ; // 0x2732b78
|
|
/* 02732B78 */ cpu->r[3] = cpu->r[28];
|
|
/* 02732B7C */ cpu->r[4] = cpu->r[24];
|
|
/* 02732B80 */ Gambit_fn_02801F14(cpu);
|
|
/* 02732B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02732B88 */ _t247 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732B88 */ _t248 = _t247 & 0x00000001u;
|
|
/* 02732B88 */ if (_t248) goto L_02732C34; else goto L_02732B8C;
|
|
L_02732B8C: ; // 0x2732b8c
|
|
/* 02732B8C */ _t249 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02732B8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02732B90 */ cpu->r[5] = cpu->r[3] - cpu->r[4];
|
|
/* 02732B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02732B94 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732B94 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02732B94 */ if (_t251) goto L_02732C34; else goto L_02732B98;
|
|
L_02732B98: ; // 0x2732b98
|
|
/* 02732B98 */ _t252 = cpu->r[31] + 0xFFFF8744u;
|
|
/* 02732B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02732B9C */ _t253 = cpu->r[20] + cpu->r[0];
|
|
/* 02732B9C */ cpu->r[9] = rbrew_read8(cpu->mem, _t253);
|
|
/* 02732BA0 */ _t254 = cpu->r[21] + 0x00000030u;
|
|
/* 02732BA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02732BA4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02732BA8 */ _t255 = cpu->r[6] + cpu->r[8];
|
|
/* 02732BA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02732BAC */ _t256 = cpu->r[10] + 0x00000004u;
|
|
/* 02732BAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02732BB0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02732BB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02732BB8 */ _t257 = cpu->r[11] + cpu->r[27];
|
|
/* 02732BB8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02732BBC */ Gambit_fn_02801F14(cpu);
|
|
/* 02732BC0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02732BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02732BC4 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732BC4 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02732BC4 */ if (_t259) goto L_02732BD0; else goto L_02732BC8;
|
|
L_02732BC8: ; // 0x2732bc8
|
|
/* 02732BC8 */ _t260 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02732BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02732BCC */ cpu->r[26] = cpu->r[26] - cpu->r[0];
|
|
L_02732BD0: ; // 0x2732bd0
|
|
/* 02732BD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02732BD4 */ cpu->r[4] = cpu->r[24];
|
|
/* 02732BD8 */ Gambit_fn_02801F14(cpu);
|
|
/* 02732BDC */ cpu->r[29] = cpu->r[3];
|
|
/* 02732BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02732BE0 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732BE0 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02732BE0 */ if (_t262) goto L_02732BEC; else goto L_02732BE4;
|
|
L_02732BE4: ; // 0x2732be4
|
|
/* 02732BE4 */ _t263 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02732BE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02732BE8 */ cpu->r[29] = cpu->r[29] - cpu->r[5];
|
|
L_02732BEC: ; // 0x2732bec
|
|
/* 02732BEC */ _t264 = cpu->r[29] + 0x000046BCu;
|
|
/* 02732BEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02732BF0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02732BF4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02732BF8 */ cpu->r[22] = cpu->r[6] + 0x00000028u;
|
|
/* 02732BFC */ Gambit_fn_02801F14(cpu);
|
|
/* 02732C00 */ cpu->r[30] = cpu->r[3];
|
|
/* 02732C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02732C04 */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732C04 */ _t266 = _t265 & 0x00000001u;
|
|
/* 02732C04 */ if (_t266) goto L_02732C10; else goto L_02732C08;
|
|
L_02732C08: ; // 0x2732c08
|
|
/* 02732C08 */ _t267 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02732C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t267);
|
|
/* 02732C0C */ cpu->r[30] = cpu->r[30] - cpu->r[0];
|
|
L_02732C10: ; // 0x2732c10
|
|
/* 02732C10 */ _t268 = cpu->r[22] + 0x00000004u;
|
|
/* 02732C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02732C14 */ cpu->ctr = cpu->r[0];
|
|
/* 02732C18 */ cpu->r[3] = cpu->r[29];
|
|
/* 02732C1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732C20 */ cpu->r[5] = cpu->r[3];
|
|
/* 02732C24 */ cpu->r[6] = cpu->r[30] + 0x0000005Cu;
|
|
/* 02732C28 */ cpu->r[4] = cpu->r[26] + 0x00000030u;
|
|
/* 02732C2C */ cpu->r[3] = cpu->r[23];
|
|
/* 02732C30 */ Gambit_fn_02731320(cpu);
|
|
L_02732C34: ; // 0x2732c34
|
|
/* 02732C34 */ _t269 = cpu->r[28] + 0x00000008u;
|
|
/* 02732C34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02732C38 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02732C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 02732C40 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02732C44 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732C44 */ _t271 = _t270 & 0x00000001u;
|
|
/* 02732C44 */ if (_t271) goto L_02732B78; else goto L_02732C48;
|
|
L_02732C48: ; // 0x2732c48
|
|
/* 02732C48 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02732C4C */ _t272 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732C4C */ cpu->r[24] = rbrew_read8(cpu->mem, _t272);
|
|
/* 02732C50 */ cpu->r[28] = cpu->r[28] + 0x0000093Cu;
|
|
/* 02732C54 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02732C58 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02732C5C */ _t273 = cpu->r[1] + 0x00000020u;
|
|
/* 02732C5C */ rbrew_write32(cpu->mem, _t273, cpu->r[28]);
|
|
/* 02732C60 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02732C64 */ cpu->r[30] = cpu->r[30] + 0x000050FDu;
|
|
/* 02732C68 */ cpu->r[26] = 0x00000000u;
|
|
/* 02732C6C */ cpu->r[29] = cpu->r[29] + 0x00000940u;
|
|
/* 02732C70 */ cpu->r[22] = 0x00000007u;
|
|
/* 02732C74 */ cpu->r[23] = cpu->r[23] + 0x00000944u;
|
|
/* 02732C78 */ _t274 = cpu->r[1] + 0x00000028u;
|
|
/* 02732C78 */ rbrew_write32(cpu->mem, _t274, cpu->r[29]);
|
|
/* 02732C7C */ cpu->r[15] = 0x101D0000u;
|
|
/* 02732C80 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02732C84 */ _t275 = cpu->r[1] + 0x00000008u;
|
|
/* 02732C84 */ rbrew_write32(cpu->mem, _t275, cpu->r[23]);
|
|
/* 02732C88 */ cpu->r[15] = cpu->r[15] + 0x00000948u;
|
|
/* 02732C8C */ cpu->r[9] = cpu->r[9] + 0x00006A58u;
|
|
/* 02732C90 */ _t276 = cpu->r[1] + 0x00000024u;
|
|
/* 02732C90 */ rbrew_write32(cpu->mem, _t276, cpu->r[30]);
|
|
/* 02732C94 */ cpu->r[31] = cpu->r[15];
|
|
/* 02732C98 */ cpu->r[27] = cpu->r[26];
|
|
/* 02732C9C */ _t277 = cpu->r[1] + 0x00000018u;
|
|
/* 02732C9C */ rbrew_write32(cpu->mem, _t277, cpu->r[9]);
|
|
L_02732CA0: ; // 0x2732ca0
|
|
/* 02732CA0 */ _t278 = cpu->r[23] + 0x00000000u;
|
|
/* 02732CA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02732CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02732CA8 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732CA8 */ _t280 = _t279 & 0x00000001u;
|
|
/* 02732CA8 */ if (_t280) goto L_02732CAC; else goto L_02732CC8;
|
|
L_02732CAC: ; // 0x2732cac
|
|
/* 02732CAC */ cpu->r[12] = 0x00000001u;
|
|
/* 02732CB0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02732CB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02732CB8 */ cpu->r[5] = 0x00000081u;
|
|
/* 02732CBC */ cpu->r[4] = cpu->r[4] + 0xFFFF874Cu;
|
|
/* 02732CC0 */ _t281 = cpu->r[23] + 0x00000000u;
|
|
/* 02732CC0 */ rbrew_write32(cpu->mem, _t281, cpu->r[12]);
|
|
/* 02732CC4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02732CC8: ; // 0x2732cc8
|
|
/* 02732CC8 */ _t282 = cpu->r[29] + 0x00000000u;
|
|
/* 02732CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02732CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02732CD0 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732CD0 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02732CD0 */ if (_t284) goto L_02732CD4; else goto L_02732CE0;
|
|
L_02732CD4: ; // 0x2732cd4
|
|
/* 02732CD4 */ _t285 = cpu->r[28] + 0x00000000u;
|
|
/* 02732CD4 */ rbrew_write32(cpu->mem, _t285, cpu->r[14]);
|
|
/* 02732CD8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02732CDC */ _t286 = cpu->r[29] + 0x00000000u;
|
|
/* 02732CDC */ rbrew_write32(cpu->mem, _t286, cpu->r[5]);
|
|
L_02732CE0: ; // 0x2732ce0
|
|
/* 02732CE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 02732CE4 */ _t287 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732CE4 */ _t288 = _t287 & 0x00000001u;
|
|
/* 02732CE4 */ if (_t288) goto L_02732D30; else goto L_02732CE8;
|
|
L_02732CE8: ; // 0x2732ce8
|
|
/* 02732CE8 */ _t289 = cpu->r[1] + 0x00000010u;
|
|
/* 02732CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02732CEC */ _t290 = cpu->r[1] + 0x00000018u;
|
|
/* 02732CEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02732CF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02732CF4 */ _t291 = cpu->r[1] + 0x00000040u;
|
|
/* 02732CF4 */ rbrew_write32(cpu->mem, _t291, cpu->r[25]);
|
|
/* 02732CF8 */ _t292 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732CF8 */ rbrew_write32(cpu->mem, _t292, cpu->r[7]);
|
|
/* 02732CFC */ cpu->r[8] = 0x00000000u;
|
|
/* 02732D00 */ _t293 = cpu->r[1] + 0x00000050u;
|
|
/* 02732D00 */ rbrew_write32(cpu->mem, _t293, cpu->r[25]);
|
|
/* 02732D04 */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732D08 */ _t294 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732D08 */ rbrew_write32(cpu->mem, _t294, cpu->r[8]);
|
|
/* 02732D0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732D10 */ _t295 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732D10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02732D14 */ cpu->r[0] = cpu->r[24];
|
|
/* 02732D18 */ _t296 = cpu->r[12] + 0x00000000u;
|
|
/* 02732D18 */ cpu->r[9] = rbrew_read8(cpu->mem, _t296);
|
|
/* 02732D1C */ cpu->r[19] = 0x00000000u;
|
|
/* 02732D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02732D24 */ cpu->r[4] = 0x00080000u;
|
|
/* 02732D28 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732D28 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02732D28 */ if (_t298) goto L_02732D2C; else goto L_02732DBC;
|
|
L_02732D2C: ; // 0x2732d2c
|
|
/* 02732D2C */ goto L_02732DE0;
|
|
L_02732D30: ; // 0x2732d30
|
|
/* 02732D30 */ _t299 = cpu->r[28] + 0x00000000u;
|
|
/* 02732D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02732D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02732D38 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732D38 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02732D38 */ if (_t301) goto L_02732D3C; else goto L_02732D74;
|
|
L_02732D3C: ; // 0x2732d3c
|
|
/* 02732D3C */ Gambit_fn_0282A450(cpu);
|
|
/* 02732D40 */ cpu->r[19] = cpu->r[3];
|
|
/* 02732D44 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02732D48 */ _t302 = cpu->r[28] + 0x00000000u;
|
|
/* 02732D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02732D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02732D50 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732D50 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02732D50 */ if (_t304) goto L_02732D54; else goto L_02732D68;
|
|
L_02732D54: ; // 0x2732d54
|
|
/* 02732D54 */ cpu->r[5] = 0x00000007u;
|
|
/* 02732D58 */ cpu->r[4] = cpu->r[30];
|
|
/* 02732D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02732D60 */ Gambit_fn_0282A374(cpu);
|
|
/* 02732D64 */ _t305 = cpu->r[28] + 0x00000000u;
|
|
/* 02732D64 */ rbrew_write32(cpu->mem, _t305, cpu->r[31]);
|
|
L_02732D68: ; // 0x2732d68
|
|
/* 02732D68 */ cpu->r[3] = cpu->r[19];
|
|
/* 02732D6C */ Gambit_fn_02837030(cpu);
|
|
/* 02732D70 */ _t306 = cpu->r[28] + 0x00000000u;
|
|
/* 02732D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t306);
|
|
L_02732D74: ; // 0x2732d74
|
|
/* 02732D74 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02732D78 */ _t307 = cpu->r[8] + cpu->r[0];
|
|
/* 02732D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02732D7C */ _t308 = cpu->r[1] + 0x00000010u;
|
|
/* 02732D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02732D80 */ _t309 = cpu->r[1] + 0x00000018u;
|
|
/* 02732D80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02732D84 */ cpu->ctr = cpu->r[0];
|
|
/* 02732D88 */ _t310 = cpu->r[1] + 0x00000040u;
|
|
/* 02732D88 */ rbrew_write32(cpu->mem, _t310, cpu->r[25]);
|
|
/* 02732D8C */ _t311 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732D8C */ rbrew_write32(cpu->mem, _t311, cpu->r[7]);
|
|
/* 02732D90 */ _t312 = cpu->r[1] + 0x00000050u;
|
|
/* 02732D90 */ rbrew_write32(cpu->mem, _t312, cpu->r[25]);
|
|
/* 02732D94 */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732D98 */ _t313 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732D98 */ rbrew_write32(cpu->mem, _t313, cpu->r[8]);
|
|
/* 02732D9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732DA0 */ _t314 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02732DA4 */ cpu->r[0] = cpu->r[24];
|
|
/* 02732DA8 */ _t315 = cpu->r[12] + 0x00000000u;
|
|
/* 02732DA8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t315);
|
|
/* 02732DAC */ cpu->r[19] = 0x00000000u;
|
|
/* 02732DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02732DB4 */ cpu->r[4] = 0x00080000u;
|
|
/* 02732DB8 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732DB8 */ _t317 = _t316 & 0x00000001u;
|
|
/* 02732DB8 */ if (_t317) goto L_02732DE0; else goto L_02732DBC;
|
|
L_02732DBC: ; // 0x2732dbc
|
|
/* 02732DBC */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 02732DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[4]);
|
|
/* 02732DC4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02732DC8 */ _t318 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02732DC8 */ _t319 = _t318 & 0x00000001u;
|
|
/* 02732DC8 */ if (_t319) goto L_02732DDC; else goto L_02732DCC;
|
|
L_02732DCC: ; // 0x2732dcc
|
|
/* 02732DCC */ _t320 = cpu->r[12] + 0x00000000u;
|
|
/* 02732DCC */ cpu->r[10] = rbrew_read8(cpu->mem, _t320);
|
|
/* 02732DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02732DD4 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732DD4 */ _t322 = _t321 & 0x00000001u;
|
|
/* 02732DD4 */ if (_t322) goto L_02732DD8; else goto L_02732DBC;
|
|
L_02732DD8: ; // 0x2732dd8
|
|
/* 02732DD8 */ goto L_02732DE0;
|
|
L_02732DDC: ; // 0x2732ddc
|
|
/* 02732DDC */ cpu->r[19] = 0x00000000u;
|
|
L_02732DE0: ; // 0x2732de0
|
|
/* 02732DE0 */ _t323 = cpu->r[1] + 0x00000040u;
|
|
/* 02732DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02732DE4 */ _t324 = cpu->r[11] + 0x00000014u;
|
|
/* 02732DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t324);
|
|
/* 02732DE8 */ cpu->ctr = cpu->r[12];
|
|
/* 02732DEC */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732DF4 */ _t325 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732DF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02732DF8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02732DFC */ _t326 = cpu->r[7] + 0x00000000u;
|
|
/* 02732DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t326);
|
|
/* 02732E00 */ cpu->r[12] = 0x00000000u;
|
|
/* 02732E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02732E08 */ cpu->r[9] = 0x00080000u;
|
|
/* 02732E0C */ _t327 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732E0C */ _t328 = _t327 & 0x00000001u;
|
|
/* 02732E0C */ if (_t328) goto L_02732E48; else goto L_02732E10;
|
|
L_02732E10: ; // 0x2732e10
|
|
/* 02732E10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02732E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 02732E18 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02732E1C */ _t329 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02732E1C */ _t330 = _t329 & 0x00000001u;
|
|
/* 02732E1C */ if (_t330) goto L_02732E34; else goto L_02732E20;
|
|
L_02732E20: ; // 0x2732e20
|
|
/* 02732E20 */ _t331 = cpu->r[7] + 0x00000000u;
|
|
/* 02732E20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t331);
|
|
/* 02732E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[4]);
|
|
/* 02732E28 */ _t332 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732E28 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02732E28 */ if (_t333) goto L_02732E2C; else goto L_02732E10;
|
|
L_02732E2C: ; // 0x2732e2c
|
|
/* 02732E2C */ cpu->r[17] = cpu->r[12];
|
|
/* 02732E30 */ goto L_02732E4C;
|
|
L_02732E34: ; // 0x2732e34
|
|
/* 02732E34 */ cpu->r[17] = 0x00000000u;
|
|
/* 02732E38 */ cpu->r[7] = cpu->r[19];
|
|
/* 02732E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02732E3C */ cpu->r[18] = cpu->r[17];
|
|
/* 02732E40 */ _t334 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732E40 */ _t335 = _t334 & 0x00000001u;
|
|
/* 02732E40 */ if (_t335) goto L_02732E44; else goto L_02732E58;
|
|
L_02732E44: ; // 0x2732e44
|
|
/* 02732E44 */ goto L_02732F20;
|
|
L_02732E48: ; // 0x2732e48
|
|
/* 02732E48 */ cpu->r[17] = cpu->r[12];
|
|
L_02732E4C: ; // 0x2732e4c
|
|
/* 02732E4C */ cpu->r[7] = cpu->r[19] - cpu->r[17];
|
|
/* 02732E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02732E50 */ cpu->r[18] = 0x00000000u;
|
|
/* 02732E54 */ _t336 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732E54 */ _t337 = _t336 & 0x00000001u;
|
|
/* 02732E54 */ if (_t337) goto L_02732F20; else goto L_02732E58;
|
|
L_02732E58: ; // 0x2732e58
|
|
/* 02732E58 */ cpu->r[19] = cpu->r[7];
|
|
L_02732E5C: ; // 0x2732e5c
|
|
/* 02732E5C */ _t338 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02732E5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t338);
|
|
/* 02732E60 */ _t339 = cpu->r[1] + 0x00000030u;
|
|
/* 02732E60 */ rbrew_write32(cpu->mem, _t339, cpu->r[25]);
|
|
/* 02732E64 */ cpu->r[0] = cpu->r[7] + cpu->r[18];
|
|
/* 02732E68 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02732E6C */ _t340 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02732E6C */ rbrew_write32(cpu->mem, _t340, cpu->r[0]);
|
|
/* 02732E70 */ Gambit_fn_027347D8(cpu);
|
|
/* 02732E74 */ _t341 = cpu->r[1] + 0x00000030u;
|
|
/* 02732E74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t341);
|
|
/* 02732E78 */ _t342 = cpu->r[9] + 0x00000014u;
|
|
/* 02732E78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t342);
|
|
/* 02732E7C */ cpu->ctr = cpu->r[11];
|
|
/* 02732E80 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02732E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732E88 */ _t343 = cpu->r[1] + 0x00000040u;
|
|
/* 02732E88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t343);
|
|
/* 02732E8C */ _t344 = cpu->r[12] + 0x00000014u;
|
|
/* 02732E8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02732E90 */ cpu->ctr = cpu->r[4];
|
|
/* 02732E94 */ _t345 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02732E94 */ cpu->r[16] = rbrew_read32(cpu->mem, _t345);
|
|
/* 02732E98 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732E9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732EA0 */ _t346 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732EA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t346);
|
|
/* 02732EA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[6]);
|
|
/* 02732EA8 */ _t347 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732EA8 */ _t348 = _t347 & 0x00000001u;
|
|
/* 02732EA8 */ if (_t348) goto L_02732F00; else goto L_02732EAC;
|
|
L_02732EAC: ; // 0x2732eac
|
|
/* 02732EAC */ cpu->r[0] = cpu->r[17];
|
|
/* 02732EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02732EB0 */ _t349 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02732EB0 */ _t350 = _t349 & 0x00000001u;
|
|
/* 02732EB0 */ if (_t350) goto L_02732EB4; else goto L_02732F00;
|
|
L_02732EB4: ; // 0x2732eb4
|
|
/* 02732EB4 */ _t351 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02732EB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t351);
|
|
/* 02732EB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02732EBC */ _t352 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02732EBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t352);
|
|
/* 02732EC0 */ cpu->r[12] = cpu->r[24];
|
|
L_02732EC4: ; // 0x2732ec4
|
|
/* 02732EC4 */ _t353 = cpu->r[11] + 0x00000000u;
|
|
/* 02732EC4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t353);
|
|
/* 02732EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02732ECC */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732ECC */ _t355 = _t354 & 0x00000001u;
|
|
/* 02732ECC */ if (_t355) goto L_02732ED0; else goto L_02732EE0;
|
|
L_02732ED0: ; // 0x2732ed0
|
|
/* 02732ED0 */ _t356 = cpu->r[8] + 0x00000000u;
|
|
/* 02732ED0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t356);
|
|
/* 02732ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02732ED8 */ _t357 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732ED8 */ _t358 = _t357 & 0x00000001u;
|
|
/* 02732ED8 */ if (_t358) goto L_02732F00; else goto L_02732EDC;
|
|
L_02732EDC: ; // 0x2732edc
|
|
/* 02732EDC */ goto L_02732F14;
|
|
L_02732EE0: ; // 0x2732ee0
|
|
/* 02732EE0 */ _t359 = cpu->r[8] + 0x00000000u;
|
|
/* 02732EE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t359);
|
|
/* 02732EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02732EE8 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732EE8 */ _t361 = _t360 & 0x00000001u;
|
|
/* 02732EE8 */ if (_t361) goto L_02732F14; else goto L_02732EEC;
|
|
L_02732EEC: ; // 0x2732eec
|
|
/* 02732EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02732EF0 */ _t362 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732EF0 */ _t363 = _t362 & 0x00000001u;
|
|
/* 02732EF0 */ if (_t363) goto L_02732EF4; else goto L_02732F14;
|
|
L_02732EF4: ; // 0x2732ef4
|
|
/* 02732EF4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02732EF8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02732EFC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02732EFC */ _t364 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02732EFC */ _t365 = _t364 >> (0x00000002u & 31u);
|
|
/* 02732EFC */ _t366 = _t365 & 0x00000001u;
|
|
/* 02732EFC */ if (_t366) goto L_02732EC4; else goto L_02732F00;
|
|
L_02732F00: ; // 0x2732f00
|
|
/* 02732F00 */ _t367 = cpu->r[18] | cpu->r[18];
|
|
/* 02732F00 */ cpu->r[8] = ~_t367;
|
|
/* 02732F04 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02732F08 */ cpu->r[11] = cpu->r[8] - cpu->r[10];
|
|
/* 02732F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02732F0C */ _t368 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732F0C */ _t369 = _t368 & 0x00000001u;
|
|
/* 02732F0C */ if (_t369) goto L_02732F10; else goto L_02732F30;
|
|
L_02732F10: ; // 0x2732f10
|
|
/* 02732F10 */ goto L_02732F34;
|
|
L_02732F14: ; // 0x2732f14
|
|
/* 02732F14 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 02732F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[19]);
|
|
/* 02732F1C */ _t370 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02732F1C */ _t371 = _t370 & 0x00000001u;
|
|
/* 02732F1C */ if (_t371) goto L_02732F20; else goto L_02732E5C;
|
|
L_02732F20: ; // 0x2732f20
|
|
/* 02732F20 */ cpu->r[8] = 0x00000000u;
|
|
/* 02732F24 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02732F28 */ cpu->r[11] = ~cpu->r[10];
|
|
/* 02732F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02732F2C */ _t372 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732F2C */ _t373 = _t372 & 0x00000001u;
|
|
/* 02732F2C */ if (_t373) goto L_02732F34; else goto L_02732F30;
|
|
L_02732F30: ; // 0x2732f30
|
|
/* 02732F30 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_02732F34: ; // 0x2732f34
|
|
/* 02732F34 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02732F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02732F38 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02732F3C */ _t374 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732F3C */ _t375 = _t374 & 0x00000001u;
|
|
/* 02732F3C */ if (_t375) goto L_02732F40; else goto L_02732CA0;
|
|
L_02732F40: ; // 0x2732f40
|
|
/* 02732F40 */ cpu->r[3] = cpu->r[21];
|
|
/* 02732F44 */ cpu->r[5] = cpu->r[26];
|
|
/* 02732F48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02732F4C */ Gambit_fn_024FF2FC(cpu);
|
|
/* 02732F50 */ _t376 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02732F50 */ cpu->r[28] = rbrew_read8(cpu->mem, _t376);
|
|
/* 02732F54 */ _t377 = cpu->r[1] + 0x00000020u;
|
|
/* 02732F54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t377);
|
|
/* 02732F58 */ _t378 = cpu->r[1] + 0x00000024u;
|
|
/* 02732F58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t378);
|
|
/* 02732F5C */ cpu->r[23] = 0x00000007u;
|
|
/* 02732F60 */ _t379 = cpu->r[1] + 0x00000008u;
|
|
/* 02732F60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t379);
|
|
/* 02732F64 */ cpu->r[27] = 0x00000000u;
|
|
/* 02732F68 */ _t380 = cpu->r[1] + 0x00000028u;
|
|
/* 02732F68 */ cpu->r[26] = rbrew_read32(cpu->mem, _t380);
|
|
/* 02732F6C */ cpu->r[24] = cpu->r[27];
|
|
L_02732F70: ; // 0x2732f70
|
|
/* 02732F70 */ _t381 = cpu->r[30] + 0x00000000u;
|
|
/* 02732F70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t381);
|
|
/* 02732F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02732F78 */ _t382 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02732F78 */ rbrew_write32(cpu->mem, _t382, cpu->r[27]);
|
|
/* 02732F7C */ _t383 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732F7C */ _t384 = _t383 & 0x00000001u;
|
|
/* 02732F7C */ if (_t384) goto L_02732F80; else goto L_02732F9C;
|
|
L_02732F80: ; // 0x2732f80
|
|
/* 02732F80 */ cpu->r[12] = 0x00000001u;
|
|
/* 02732F84 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02732F88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02732F8C */ cpu->r[5] = 0x00000081u;
|
|
/* 02732F90 */ cpu->r[4] = cpu->r[4] + 0xFFFF874Cu;
|
|
/* 02732F94 */ _t385 = cpu->r[30] + 0x00000000u;
|
|
/* 02732F94 */ rbrew_write32(cpu->mem, _t385, cpu->r[12]);
|
|
/* 02732F98 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02732F9C: ; // 0x2732f9c
|
|
/* 02732F9C */ _t386 = cpu->r[26] + 0x00000000u;
|
|
/* 02732F9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t386);
|
|
/* 02732FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02732FA4 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732FA4 */ _t388 = _t387 & 0x00000001u;
|
|
/* 02732FA4 */ if (_t388) goto L_02732FA8; else goto L_02732FB4;
|
|
L_02732FA8: ; // 0x2732fa8
|
|
/* 02732FA8 */ _t389 = cpu->r[29] + 0x00000000u;
|
|
/* 02732FA8 */ rbrew_write32(cpu->mem, _t389, cpu->r[14]);
|
|
/* 02732FAC */ cpu->r[6] = 0x00000001u;
|
|
/* 02732FB0 */ _t390 = cpu->r[26] + 0x00000000u;
|
|
/* 02732FB0 */ rbrew_write32(cpu->mem, _t390, cpu->r[6]);
|
|
L_02732FB4: ; // 0x2732fb4
|
|
/* 02732FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 02732FB8 */ _t391 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02732FB8 */ _t392 = _t391 & 0x00000001u;
|
|
/* 02732FB8 */ if (_t392) goto L_02733004; else goto L_02732FBC;
|
|
L_02732FBC: ; // 0x2732fbc
|
|
/* 02732FBC */ _t393 = cpu->r[1] + 0x00000010u;
|
|
/* 02732FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02732FC0 */ _t394 = cpu->r[1] + 0x00000048u;
|
|
/* 02732FC0 */ rbrew_write32(cpu->mem, _t394, cpu->r[25]);
|
|
/* 02732FC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02732FC8 */ _t395 = cpu->r[1] + 0x00000018u;
|
|
/* 02732FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t395);
|
|
/* 02732FCC */ _t396 = cpu->r[1] + 0x00000058u;
|
|
/* 02732FCC */ rbrew_write32(cpu->mem, _t396, cpu->r[25]);
|
|
/* 02732FD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02732FD4 */ _t397 = cpu->r[1] + 0x00000044u;
|
|
/* 02732FD4 */ rbrew_write32(cpu->mem, _t397, cpu->r[0]);
|
|
/* 02732FD8 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02732FDC */ _t398 = cpu->r[1] + 0x00000054u;
|
|
/* 02732FDC */ rbrew_write32(cpu->mem, _t398, cpu->r[4]);
|
|
/* 02732FE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02732FE4 */ _t399 = cpu->r[1] + 0x00000054u;
|
|
/* 02732FE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t399);
|
|
/* 02732FE8 */ cpu->r[11] = cpu->r[28];
|
|
/* 02732FEC */ _t400 = cpu->r[8] + 0x00000000u;
|
|
/* 02732FEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t400);
|
|
/* 02732FF0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02732FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02732FF8 */ cpu->r[9] = 0x00080000u;
|
|
/* 02732FFC */ _t401 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02732FFC */ _t402 = _t401 & 0x00000001u;
|
|
/* 02732FFC */ if (_t402) goto L_02733000; else goto L_02733090;
|
|
L_02733000: ; // 0x2733000
|
|
/* 02733000 */ goto L_027330EC;
|
|
L_02733004: ; // 0x2733004
|
|
/* 02733004 */ _t403 = cpu->r[29] + 0x00000000u;
|
|
/* 02733004 */ cpu->r[5] = rbrew_read32(cpu->mem, _t403);
|
|
/* 02733008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273300C */ _t404 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273300C */ _t405 = _t404 & 0x00000001u;
|
|
/* 0273300C */ if (_t405) goto L_02733010; else goto L_02733048;
|
|
L_02733010: ; // 0x2733010
|
|
/* 02733010 */ Gambit_fn_0282A450(cpu);
|
|
/* 02733014 */ cpu->r[22] = cpu->r[3];
|
|
/* 02733018 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0273301C */ _t406 = cpu->r[29] + 0x00000000u;
|
|
/* 0273301C */ cpu->r[0] = rbrew_read32(cpu->mem, _t406);
|
|
/* 02733020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02733024 */ _t407 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733024 */ _t408 = _t407 & 0x00000001u;
|
|
/* 02733024 */ if (_t408) goto L_02733028; else goto L_0273303C;
|
|
L_02733028: ; // 0x2733028
|
|
/* 02733028 */ cpu->r[5] = 0x00000007u;
|
|
/* 0273302C */ cpu->r[4] = cpu->r[31];
|
|
/* 02733030 */ cpu->r[3] = cpu->r[15];
|
|
/* 02733034 */ Gambit_fn_0282A374(cpu);
|
|
/* 02733038 */ _t409 = cpu->r[29] + 0x00000000u;
|
|
/* 02733038 */ rbrew_write32(cpu->mem, _t409, cpu->r[15]);
|
|
L_0273303C: ; // 0x273303c
|
|
/* 0273303C */ cpu->r[3] = cpu->r[22];
|
|
/* 02733040 */ Gambit_fn_02837030(cpu);
|
|
/* 02733044 */ _t410 = cpu->r[29] + 0x00000000u;
|
|
/* 02733044 */ cpu->r[5] = rbrew_read32(cpu->mem, _t410);
|
|
L_02733048: ; // 0x2733048
|
|
/* 02733048 */ _t411 = cpu->r[1] + 0x00000010u;
|
|
/* 02733048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t411);
|
|
/* 0273304C */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733050 */ _t412 = cpu->r[7] + cpu->r[5];
|
|
/* 02733050 */ cpu->r[4] = rbrew_read32(cpu->mem, _t412);
|
|
/* 02733054 */ cpu->ctr = cpu->r[0];
|
|
/* 02733058 */ _t413 = cpu->r[1] + 0x00000018u;
|
|
/* 02733058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t413);
|
|
/* 0273305C */ _t414 = cpu->r[1] + 0x00000048u;
|
|
/* 0273305C */ rbrew_write32(cpu->mem, _t414, cpu->r[25]);
|
|
/* 02733060 */ _t415 = cpu->r[1] + 0x00000044u;
|
|
/* 02733060 */ rbrew_write32(cpu->mem, _t415, cpu->r[0]);
|
|
/* 02733064 */ _t416 = cpu->r[1] + 0x00000058u;
|
|
/* 02733064 */ rbrew_write32(cpu->mem, _t416, cpu->r[25]);
|
|
/* 02733068 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 0273306C */ _t417 = cpu->r[1] + 0x00000054u;
|
|
/* 0273306C */ rbrew_write32(cpu->mem, _t417, cpu->r[4]);
|
|
/* 02733070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02733074 */ _t418 = cpu->r[1] + 0x00000054u;
|
|
/* 02733074 */ cpu->r[8] = rbrew_read32(cpu->mem, _t418);
|
|
/* 02733078 */ cpu->r[11] = cpu->r[28];
|
|
/* 0273307C */ _t419 = cpu->r[8] + 0x00000000u;
|
|
/* 0273307C */ cpu->r[0] = rbrew_read8(cpu->mem, _t419);
|
|
/* 02733080 */ cpu->r[5] = 0x00000000u;
|
|
/* 02733084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02733088 */ cpu->r[9] = 0x00080000u;
|
|
/* 0273308C */ _t420 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273308C */ _t421 = _t420 & 0x00000001u;
|
|
/* 0273308C */ if (_t421) goto L_027330EC; else goto L_02733090;
|
|
L_02733090: ; // 0x2733090
|
|
/* 02733090 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02733094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[9]);
|
|
/* 02733098 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273309C */ _t422 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273309C */ _t423 = _t422 & 0x00000001u;
|
|
/* 0273309C */ if (_t423) goto L_027330B4; else goto L_027330A0;
|
|
L_027330A0: ; // 0x27330a0
|
|
/* 027330A0 */ _t424 = cpu->r[8] + 0x00000000u;
|
|
/* 027330A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t424);
|
|
/* 027330A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 027330A8 */ _t425 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027330A8 */ _t426 = _t425 & 0x00000001u;
|
|
/* 027330A8 */ if (_t426) goto L_027330AC; else goto L_02733090;
|
|
L_027330AC: ; // 0x27330ac
|
|
/* 027330AC */ cpu->r[22] = cpu->r[5];
|
|
/* 027330B0 */ goto L_027330F0;
|
|
L_027330B4: ; // 0x27330b4
|
|
/* 027330B4 */ _t427 = cpu->r[1] + 0x00000048u;
|
|
/* 027330B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t427);
|
|
/* 027330B8 */ _t428 = cpu->r[9] + 0x00000014u;
|
|
/* 027330B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t428);
|
|
/* 027330BC */ cpu->ctr = cpu->r[0];
|
|
/* 027330C0 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 027330C4 */ cpu->r[22] = 0x00000000u;
|
|
/* 027330C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027330CC */ _t429 = cpu->r[1] + 0x00000044u;
|
|
/* 027330CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t429);
|
|
/* 027330D0 */ cpu->r[10] = cpu->r[28];
|
|
/* 027330D4 */ _t430 = cpu->r[5] + 0x00000000u;
|
|
/* 027330D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t430);
|
|
/* 027330D8 */ cpu->r[6] = cpu->r[22];
|
|
/* 027330DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 027330E0 */ cpu->r[7] = 0x00080000u;
|
|
/* 027330E4 */ _t431 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027330E4 */ _t432 = _t431 & 0x00000001u;
|
|
/* 027330E4 */ if (_t432) goto L_027330E8; else goto L_02733120;
|
|
L_027330E8: ; // 0x27330e8
|
|
/* 027330E8 */ goto L_02733158;
|
|
L_027330EC: ; // 0x27330ec
|
|
/* 027330EC */ cpu->r[22] = cpu->r[5];
|
|
L_027330F0: ; // 0x27330f0
|
|
/* 027330F0 */ _t433 = cpu->r[1] + 0x00000048u;
|
|
/* 027330F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t433);
|
|
/* 027330F4 */ _t434 = cpu->r[9] + 0x00000014u;
|
|
/* 027330F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t434);
|
|
/* 027330F8 */ cpu->ctr = cpu->r[0];
|
|
/* 027330FC */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02733100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02733104 */ _t435 = cpu->r[1] + 0x00000044u;
|
|
/* 02733104 */ cpu->r[5] = rbrew_read32(cpu->mem, _t435);
|
|
/* 02733108 */ cpu->r[10] = cpu->r[28];
|
|
/* 0273310C */ _t436 = cpu->r[5] + 0x00000000u;
|
|
/* 0273310C */ cpu->r[0] = rbrew_read8(cpu->mem, _t436);
|
|
/* 02733110 */ cpu->r[6] = 0x00000000u;
|
|
/* 02733114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02733118 */ cpu->r[7] = 0x00080000u;
|
|
/* 0273311C */ _t437 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273311C */ _t438 = _t437 & 0x00000001u;
|
|
/* 0273311C */ if (_t438) goto L_02733158; else goto L_02733120;
|
|
L_02733120: ; // 0x2733120
|
|
/* 02733120 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02733124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 02733128 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0273312C */ _t439 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273312C */ _t440 = _t439 & 0x00000001u;
|
|
/* 0273312C */ if (_t440) goto L_02733144; else goto L_02733130;
|
|
L_02733130: ; // 0x2733130
|
|
/* 02733130 */ _t441 = cpu->r[5] + 0x00000000u;
|
|
/* 02733130 */ cpu->r[0] = rbrew_read8(cpu->mem, _t441);
|
|
/* 02733134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02733138 */ _t442 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733138 */ _t443 = _t442 & 0x00000001u;
|
|
/* 02733138 */ if (_t443) goto L_0273313C; else goto L_02733120;
|
|
L_0273313C: ; // 0x273313c
|
|
/* 0273313C */ cpu->r[18] = cpu->r[6];
|
|
/* 02733140 */ goto L_0273315C;
|
|
L_02733144: ; // 0x2733144
|
|
/* 02733144 */ cpu->r[18] = 0x00000000u;
|
|
/* 02733148 */ cpu->r[8] = cpu->r[22];
|
|
/* 02733148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273314C */ cpu->r[19] = cpu->r[18];
|
|
/* 02733150 */ _t444 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733150 */ _t445 = _t444 & 0x00000001u;
|
|
/* 02733150 */ if (_t445) goto L_02733154; else goto L_02733168;
|
|
L_02733154: ; // 0x2733154
|
|
/* 02733154 */ goto L_02733230;
|
|
L_02733158: ; // 0x2733158
|
|
/* 02733158 */ cpu->r[18] = cpu->r[6];
|
|
L_0273315C: ; // 0x273315c
|
|
/* 0273315C */ cpu->r[8] = cpu->r[22] - cpu->r[18];
|
|
/* 0273315C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02733160 */ cpu->r[19] = 0x00000000u;
|
|
/* 02733164 */ _t446 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733164 */ _t447 = _t446 & 0x00000001u;
|
|
/* 02733164 */ if (_t447) goto L_02733230; else goto L_02733168;
|
|
L_02733168: ; // 0x2733168
|
|
/* 02733168 */ cpu->r[22] = cpu->r[8];
|
|
L_0273316C: ; // 0x273316c
|
|
/* 0273316C */ _t448 = cpu->r[1] + 0x00000054u;
|
|
/* 0273316C */ cpu->r[10] = rbrew_read32(cpu->mem, _t448);
|
|
/* 02733170 */ _t449 = cpu->r[1] + 0x00000038u;
|
|
/* 02733170 */ rbrew_write32(cpu->mem, _t449, cpu->r[25]);
|
|
/* 02733174 */ cpu->r[0] = cpu->r[10] + cpu->r[19];
|
|
/* 02733178 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0273317C */ _t450 = cpu->r[1] + 0x00000034u;
|
|
/* 0273317C */ rbrew_write32(cpu->mem, _t450, cpu->r[0]);
|
|
/* 02733180 */ Gambit_fn_027347D8(cpu);
|
|
/* 02733184 */ _t451 = cpu->r[1] + 0x00000038u;
|
|
/* 02733184 */ cpu->r[11] = rbrew_read32(cpu->mem, _t451);
|
|
/* 02733188 */ _t452 = cpu->r[11] + 0x00000014u;
|
|
/* 02733188 */ cpu->r[4] = rbrew_read32(cpu->mem, _t452);
|
|
/* 0273318C */ cpu->ctr = cpu->r[4];
|
|
/* 02733190 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02733194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02733198 */ _t453 = cpu->r[1] + 0x00000048u;
|
|
/* 02733198 */ cpu->r[5] = rbrew_read32(cpu->mem, _t453);
|
|
/* 0273319C */ _t454 = cpu->r[5] + 0x00000014u;
|
|
/* 0273319C */ cpu->r[6] = rbrew_read32(cpu->mem, _t454);
|
|
/* 027331A0 */ cpu->ctr = cpu->r[6];
|
|
/* 027331A4 */ _t455 = cpu->r[1] + 0x00000034u;
|
|
/* 027331A4 */ cpu->r[17] = rbrew_read32(cpu->mem, _t455);
|
|
/* 027331A8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 027331AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027331B0 */ _t456 = cpu->r[1] + 0x00000044u;
|
|
/* 027331B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t456);
|
|
/* 027331B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[7]);
|
|
/* 027331B8 */ _t457 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027331B8 */ _t458 = _t457 & 0x00000001u;
|
|
/* 027331B8 */ if (_t458) goto L_02733210; else goto L_027331BC;
|
|
L_027331BC: ; // 0x27331bc
|
|
/* 027331BC */ cpu->r[9] = cpu->r[18];
|
|
/* 027331BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027331C0 */ _t459 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027331C0 */ _t460 = _t459 & 0x00000001u;
|
|
/* 027331C0 */ if (_t460) goto L_027331C4; else goto L_02733210;
|
|
L_027331C4: ; // 0x27331c4
|
|
/* 027331C4 */ _t461 = cpu->r[1] + 0x00000044u;
|
|
/* 027331C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t461);
|
|
/* 027331C8 */ cpu->ctr = cpu->r[9];
|
|
/* 027331CC */ _t462 = cpu->r[1] + 0x00000034u;
|
|
/* 027331CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t462);
|
|
/* 027331D0 */ cpu->r[10] = cpu->r[28];
|
|
L_027331D4: ; // 0x27331d4
|
|
/* 027331D4 */ _t463 = cpu->r[9] + 0x00000000u;
|
|
/* 027331D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t463);
|
|
/* 027331D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 027331DC */ _t464 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027331DC */ _t465 = _t464 & 0x00000001u;
|
|
/* 027331DC */ if (_t465) goto L_027331E0; else goto L_027331F0;
|
|
L_027331E0: ; // 0x27331e0
|
|
/* 027331E0 */ _t466 = cpu->r[7] + 0x00000000u;
|
|
/* 027331E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t466);
|
|
/* 027331E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 027331E8 */ _t467 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027331E8 */ _t468 = _t467 & 0x00000001u;
|
|
/* 027331E8 */ if (_t468) goto L_027331EC; else goto L_02733224;
|
|
L_027331EC: ; // 0x27331ec
|
|
/* 027331EC */ goto L_02733210;
|
|
L_027331F0: ; // 0x27331f0
|
|
/* 027331F0 */ _t469 = cpu->r[7] + 0x00000000u;
|
|
/* 027331F0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t469);
|
|
/* 027331F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[10]);
|
|
/* 027331F8 */ _t470 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027331F8 */ _t471 = _t470 & 0x00000001u;
|
|
/* 027331F8 */ if (_t471) goto L_02733224; else goto L_027331FC;
|
|
L_027331FC: ; // 0x27331fc
|
|
/* 027331FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02733200 */ _t472 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733200 */ _t473 = _t472 & 0x00000001u;
|
|
/* 02733200 */ if (_t473) goto L_02733204; else goto L_02733224;
|
|
L_02733204: ; // 0x2733204
|
|
/* 02733204 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02733208 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0273320C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273320C */ _t474 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273320C */ _t475 = _t474 >> (0x00000002u & 31u);
|
|
/* 0273320C */ _t476 = _t475 & 0x00000001u;
|
|
/* 0273320C */ if (_t476) goto L_027331D4; else goto L_02733210;
|
|
L_02733210: ; // 0x2733210
|
|
/* 02733210 */ _t477 = cpu->r[19] | cpu->r[19];
|
|
/* 02733210 */ cpu->r[8] = ~_t477;
|
|
/* 02733214 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02733218 */ cpu->r[5] = cpu->r[8] - cpu->r[0];
|
|
/* 02733218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273321C */ _t478 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273321C */ _t479 = _t478 & 0x00000001u;
|
|
/* 0273321C */ if (_t479) goto L_02733278; else goto L_02733220;
|
|
L_02733220: ; // 0x2733220
|
|
/* 02733220 */ goto L_02733240;
|
|
L_02733224: ; // 0x2733224
|
|
/* 02733224 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 02733228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[22]);
|
|
/* 0273322C */ _t480 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273322C */ _t481 = _t480 & 0x00000001u;
|
|
/* 0273322C */ if (_t481) goto L_02733230; else goto L_0273316C;
|
|
L_02733230: ; // 0x2733230
|
|
/* 02733230 */ cpu->r[8] = 0x00000000u;
|
|
/* 02733234 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02733238 */ cpu->r[5] = ~cpu->r[0];
|
|
/* 02733238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273323C */ _t482 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273323C */ _t483 = _t482 & 0x00000001u;
|
|
/* 0273323C */ if (_t483) goto L_02733278; else goto L_02733240;
|
|
L_02733240: ; // 0x2733240
|
|
/* 02733240 */ cpu->r[6] = 0x101C0000u;
|
|
/* 02733244 */ _t484 = cpu->r[6] + 0x00007D34u;
|
|
/* 02733244 */ cpu->r[6] = rbrew_read32(cpu->mem, _t484);
|
|
/* 02733248 */ _t485 = cpu->r[20] + cpu->r[6];
|
|
/* 02733248 */ cpu->r[11] = rbrew_read8(cpu->mem, _t485);
|
|
/* 0273324C */ _t486 = cpu->r[21] + 0x00000030u;
|
|
/* 0273324C */ cpu->r[10] = rbrew_read32(cpu->mem, _t486);
|
|
/* 02733250 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733254 */ _t487 = cpu->r[9] + cpu->r[10];
|
|
/* 02733254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t487);
|
|
/* 02733258 */ _t488 = cpu->r[11] + 0x00000004u;
|
|
/* 02733258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t488);
|
|
/* 0273325C */ _t489 = cpu->r[21] + 0x00000248u;
|
|
/* 0273325C */ cpu->r[6] = rbrew_read32(cpu->mem, _t489);
|
|
/* 02733260 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02733264 */ _t490 = cpu->r[12] + cpu->r[24];
|
|
/* 02733264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t490);
|
|
/* 02733268 */ cpu->r[5] = 0x00000001u;
|
|
/* 0273326C */ _t491 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0273326C */ rbrew_write32(cpu->mem, _t491, cpu->r[27]);
|
|
/* 02733270 */ Gambit_fn_0264C338(cpu);
|
|
/* 02733274 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
L_02733278: ; // 0x2733278
|
|
/* 02733278 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02733278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273327C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02733280 */ _t492 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733280 */ _t493 = _t492 & 0x00000001u;
|
|
/* 02733280 */ if (_t493) goto L_02733284; else goto L_02732F70;
|
|
L_02733284: ; // 0x2733284
|
|
/* 02733284 */ cpu->r[3] = cpu->r[21];
|
|
/* 02733288 */ cpu->r[4] = 0x00000003u;
|
|
/* 0273328C */ cpu->r[5] = 0x00000001u;
|
|
/* 02733290 */ Gambit_fn_02734E10(cpu);
|
|
/* 02733294 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02733298 */ _t494 = cpu->r[5] + 0xFFFF87E0u;
|
|
/* 02733298 */ cpu->r[5] = rbrew_read32(cpu->mem, _t494);
|
|
/* 0273329C */ _t495 = cpu->r[20] + cpu->r[5];
|
|
/* 0273329C */ cpu->r[12] = rbrew_read8(cpu->mem, _t495);
|
|
/* 027332A0 */ _t496 = cpu->r[21] + 0x00000030u;
|
|
/* 027332A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t496);
|
|
/* 027332A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027332A8 */ _t497 = cpu->r[5] + cpu->r[0];
|
|
/* 027332A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t497);
|
|
/* 027332AC */ _t498 = cpu->r[6] + 0x00000004u;
|
|
/* 027332AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t498);
|
|
/* 027332B0 */ cpu->r[3] = cpu->r[21];
|
|
/* 027332B4 */ _t499 = cpu->r[7] + 0x00000000u;
|
|
/* 027332B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t499);
|
|
/* 027332B8 */ cpu->r[5] = 0x00000002u;
|
|
/* 027332BC */ cpu->r[4] = 0x00000004u;
|
|
/* 027332C0 */ _t500 = cpu->r[21] + 0x0000025Cu;
|
|
/* 027332C0 */ rbrew_write32(cpu->mem, _t500, cpu->r[0]);
|
|
/* 027332C4 */ Gambit_fn_023AE270(cpu);
|
|
/* 027332C8 */ cpu->r[7] = 0x101C0000u;
|
|
/* 027332CC */ _t501 = cpu->r[7] + 0x00000E44u;
|
|
/* 027332CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t501);
|
|
/* 027332D0 */ _t502 = cpu->r[20] + cpu->r[7];
|
|
/* 027332D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t502);
|
|
/* 027332D4 */ _t503 = cpu->r[21] + 0x00000030u;
|
|
/* 027332D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t503);
|
|
/* 027332D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027332DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027332E0 */ _t504 = cpu->r[10] + cpu->r[11];
|
|
/* 027332E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t504);
|
|
/* 027332E4 */ _t505 = cpu->r[31] + 0xFFFFDAFCu;
|
|
/* 027332E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t505);
|
|
/* 027332E4 */ cpu->r[31] = _t505;
|
|
/* 027332E8 */ _t506 = cpu->r[12] + 0x00000004u;
|
|
/* 027332E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t506);
|
|
/* 027332EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027332F0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027332F4 */ _t507 = cpu->r[4] + 0x00000000u;
|
|
/* 027332F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t507);
|
|
/* 027332F8 */ _t508 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027332F8 */ _t509 = _t508 & 0x00000001u;
|
|
/* 027332F8 */ if (_t509) goto L_027332FC; else goto L_02733310;
|
|
L_027332FC: ; // 0x27332fc
|
|
/* 027332FC */ cpu->r[7] = 0x100F0000u;
|
|
/* 02733300 */ cpu->r[6] = 0x00000001u;
|
|
/* 02733304 */ cpu->r[7] = cpu->r[7] + 0x00006AA8u;
|
|
/* 02733308 */ _t510 = cpu->r[31] + 0x00000000u;
|
|
/* 02733308 */ rbrew_write32(cpu->mem, _t510, cpu->r[6]);
|
|
/* 0273330C */ _t511 = cpu->r[30] + 0xFFFFE288u;
|
|
/* 0273330C */ rbrew_write32(cpu->mem, _t511, cpu->r[7]);
|
|
L_02733310: ; // 0x2733310
|
|
/* 02733310 */ _t512 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733310 */ cpu->r[6] = rbrew_read32(cpu->mem, _t512);
|
|
/* 02733314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02733318 */ _t513 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733318 */ _t514 = _t513 & 0x00000001u;
|
|
/* 02733318 */ if (_t514) goto L_0273337C; else goto L_0273331C;
|
|
L_0273331C: ; // 0x273331c
|
|
/* 0273331C */ _t515 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273331C */ cpu->r[3] = rbrew_read32(cpu->mem, _t515);
|
|
/* 02733320 */ _t516 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02733320 */ cpu->r[8] = rbrew_read32(cpu->mem, _t516);
|
|
/* 02733324 */ _t517 = cpu->r[8] + 0x00000014u;
|
|
/* 02733324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t517);
|
|
/* 02733328 */ cpu->ctr = cpu->r[0];
|
|
/* 0273332C */ cpu->r[4] = cpu->r[30] + 0xFFFFE288u;
|
|
/* 02733330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02733334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02733338 */ _t518 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733338 */ _t519 = _t518 & 0x00000001u;
|
|
/* 02733338 */ if (_t519) goto L_0273337C; else goto L_0273333C;
|
|
L_0273333C: ; // 0x273333c
|
|
/* 0273333C */ _t520 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273333C */ cpu->r[4] = rbrew_read32(cpu->mem, _t520);
|
|
/* 02733340 */ cpu->r[5] = 0x00000000u;
|
|
/* 02733344 */ cpu->r[3] = cpu->r[29];
|
|
/* 02733348 */ Gambit_fn_02013E30(cpu);
|
|
/* 0273334C */ cpu->r[4] = 0x101C0000u;
|
|
/* 02733350 */ _t521 = cpu->r[4] + 0x00000E44u;
|
|
/* 02733350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t521);
|
|
/* 02733354 */ _t522 = cpu->r[20] + cpu->r[4];
|
|
/* 02733354 */ cpu->r[4] = rbrew_read8(cpu->mem, _t522);
|
|
/* 02733358 */ _t523 = cpu->r[21] + 0x00000030u;
|
|
/* 02733358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t523);
|
|
/* 0273335C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733360 */ _t524 = cpu->r[11] + cpu->r[12];
|
|
/* 02733360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t524);
|
|
/* 02733364 */ _t525 = cpu->r[31] + 0x00000000u;
|
|
/* 02733364 */ cpu->r[6] = rbrew_read32(cpu->mem, _t525);
|
|
/* 02733368 */ _t526 = cpu->r[4] + 0x00000004u;
|
|
/* 02733368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t526);
|
|
/* 0273336C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02733370 */ _t527 = cpu->r[5] + 0x00000004u;
|
|
/* 02733370 */ cpu->r[29] = rbrew_read32(cpu->mem, _t527);
|
|
/* 02733374 */ _t528 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733374 */ _t529 = _t528 & 0x00000001u;
|
|
/* 02733374 */ if (_t529) goto L_02733378; else goto L_027333CC;
|
|
L_02733378: ; // 0x2733378
|
|
/* 02733378 */ goto L_027333B8;
|
|
L_0273337C: ; // 0x273337c
|
|
/* 0273337C */ cpu->r[4] = 0x00000000u;
|
|
/* 02733380 */ cpu->r[3] = cpu->r[29];
|
|
/* 02733384 */ cpu->r[5] = cpu->r[4];
|
|
/* 02733388 */ Gambit_fn_02013E30(cpu);
|
|
/* 0273338C */ cpu->r[4] = 0x101C0000u;
|
|
/* 02733390 */ _t530 = cpu->r[4] + 0x00000E44u;
|
|
/* 02733390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t530);
|
|
/* 02733394 */ _t531 = cpu->r[20] + cpu->r[4];
|
|
/* 02733394 */ cpu->r[4] = rbrew_read8(cpu->mem, _t531);
|
|
/* 02733398 */ _t532 = cpu->r[21] + 0x00000030u;
|
|
/* 02733398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t532);
|
|
/* 0273339C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027333A0 */ _t533 = cpu->r[11] + cpu->r[12];
|
|
/* 027333A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t533);
|
|
/* 027333A4 */ _t534 = cpu->r[31] + 0x00000000u;
|
|
/* 027333A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t534);
|
|
/* 027333A8 */ _t535 = cpu->r[4] + 0x00000004u;
|
|
/* 027333A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t535);
|
|
/* 027333AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027333B0 */ _t536 = cpu->r[5] + 0x00000004u;
|
|
/* 027333B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t536);
|
|
/* 027333B4 */ _t537 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027333B4 */ _t538 = _t537 & 0x00000001u;
|
|
/* 027333B4 */ if (_t538) goto L_027333B8; else goto L_027333CC;
|
|
L_027333B8: ; // 0x27333b8
|
|
/* 027333B8 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027333BC */ cpu->r[7] = 0x00000001u;
|
|
/* 027333C0 */ cpu->r[9] = cpu->r[9] + 0x00006AA8u;
|
|
/* 027333C4 */ _t539 = cpu->r[31] + 0x00000000u;
|
|
/* 027333C4 */ rbrew_write32(cpu->mem, _t539, cpu->r[7]);
|
|
/* 027333C8 */ _t540 = cpu->r[30] + 0xFFFFE288u;
|
|
/* 027333C8 */ rbrew_write32(cpu->mem, _t540, cpu->r[9]);
|
|
L_027333CC: ; // 0x27333cc
|
|
/* 027333CC */ _t541 = cpu->r[1] + 0x00000014u;
|
|
/* 027333CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t541);
|
|
/* 027333D0 */ _t542 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027333D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t542);
|
|
/* 027333D4 */ _t543 = cpu->r[10] + 0x00000014u;
|
|
/* 027333D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t543);
|
|
/* 027333D8 */ cpu->ctr = cpu->r[0];
|
|
/* 027333DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027333E0 */ cpu->r[4] = cpu->r[30] + 0xFFFFE288u;
|
|
/* 027333E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027333E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027333EC */ _t544 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027333EC */ _t545 = _t544 & 0x00000001u;
|
|
/* 027333EC */ if (_t545) goto L_027333F0; else goto L_027333F4;
|
|
L_027333F0: ; // 0x27333f0
|
|
/* 027333F0 */ cpu->r[31] = 0x00000000u;
|
|
L_027333F4: ; // 0x27333f4
|
|
/* 027333F4 */ cpu->r[5] = 0x00000002u;
|
|
/* 027333F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 027333FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02733400 */ Gambit_fn_02013E30(cpu);
|
|
/* 02733404 */ cpu->r[5] = 0x00000002u;
|
|
/* 02733408 */ cpu->r[4] = 0x00000006u;
|
|
/* 0273340C */ cpu->r[3] = cpu->r[21];
|
|
/* 02733410 */ Gambit_fn_0263E31C(cpu);
|
|
/* 02733414 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02733418 */ _t546 = cpu->r[9] + 0x0000717Cu;
|
|
/* 02733418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t546);
|
|
/* 0273341C */ _t547 = cpu->r[20] + cpu->r[9];
|
|
/* 0273341C */ cpu->r[11] = rbrew_read8(cpu->mem, _t547);
|
|
/* 02733420 */ _t548 = cpu->r[21] + 0x00000030u;
|
|
/* 02733420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t548);
|
|
/* 02733424 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733428 */ _t549 = cpu->r[12] + cpu->r[0];
|
|
/* 02733428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t549);
|
|
/* 0273342C */ _t550 = cpu->r[21] + 0x00000248u;
|
|
/* 0273342C */ cpu->r[5] = rbrew_read32(cpu->mem, _t550);
|
|
/* 02733430 */ _t551 = cpu->r[4] + 0x00000004u;
|
|
/* 02733430 */ cpu->r[6] = rbrew_read32(cpu->mem, _t551);
|
|
/* 02733434 */ _t552 = cpu->r[21] + 0x00000244u;
|
|
/* 02733434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t552);
|
|
/* 02733438 */ _t553 = cpu->r[6] + 0x00000000u;
|
|
/* 02733438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t553);
|
|
/* 0273343C */ _t554 = cpu->r[1] + 0x00000094u;
|
|
/* 0273343C */ rbrew_write32(cpu->mem, _t554, cpu->r[14]);
|
|
/* 02733440 */ _t555 = cpu->r[31] + 0x00000254u;
|
|
/* 02733440 */ cpu->r[6] = rbrew_read32(cpu->mem, _t555);
|
|
/* 02733444 */ cpu->r[4] = cpu->r[1] + 0x00000094u;
|
|
/* 02733448 */ Gambit_fn_0259FD58(cpu);
|
|
/* 0273344C */ _t556 = cpu->r[21] + 0x00000244u;
|
|
/* 0273344C */ cpu->r[31] = rbrew_read32(cpu->mem, _t556);
|
|
/* 02733450 */ cpu->r[4] = 0x00000001u;
|
|
/* 02733454 */ cpu->r[3] = cpu->r[21];
|
|
/* 02733458 */ _t557 = cpu->r[1] + 0x00000094u;
|
|
/* 02733458 */ rbrew_write32(cpu->mem, _t557, cpu->r[4]);
|
|
/* 0273345C */ Gambit_fn_02734C54(cpu);
|
|
/* 02733460 */ _t558 = cpu->r[31] + 0x00000254u;
|
|
/* 02733460 */ cpu->r[6] = rbrew_read32(cpu->mem, _t558);
|
|
/* 02733464 */ _t559 = cpu->r[21] + 0x00000248u;
|
|
/* 02733464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t559);
|
|
/* 02733468 */ cpu->r[4] = cpu->r[1] + 0x00000094u;
|
|
/* 0273346C */ Gambit_fn_0259FD58(cpu);
|
|
/* 02733470 */ cpu->r[3] = cpu->r[21];
|
|
/* 02733474 */ cpu->r[4] = 0x00000007u;
|
|
/* 02733478 */ cpu->r[5] = 0x00000001u;
|
|
/* 0273347C */ Gambit_fn_0263E424(cpu);
|
|
/* 02733480 */ cpu->r[4] = 0x00000000u;
|
|
/* 02733484 */ cpu->r[3] = cpu->r[21];
|
|
/* 02733488 */ Gambit_fn_02734C80(cpu);
|
|
/* 0273348C */ _t560 = cpu->r[21] + 0x00000248u;
|
|
/* 0273348C */ cpu->r[4] = rbrew_read32(cpu->mem, _t560);
|
|
/* 02733490 */ Gambit_fn_0265D934(cpu);
|
|
/* 02733494 */ cpu->r[5] = 0x00000001u;
|
|
/* 02733498 */ cpu->r[4] = 0x00000005u;
|
|
/* 0273349C */ cpu->r[3] = cpu->r[21];
|
|
/* 027334A0 */ Gambit_fn_02734E68(cpu);
|
|
/* 027334A4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 027334A8 */ _t561 = cpu->r[3] + 0x000041B4u;
|
|
/* 027334A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t561);
|
|
/* 027334AC */ Gambit_fn_02150CA0(cpu);
|
|
/* 027334B0 */ _t562 = cpu->r[1] + 0x000000B0u;
|
|
/* 027334B0 */ rbrew_write32(cpu->mem, _t562, cpu->r[14]);
|
|
/* 027334B4 */ cpu->r[7] = 0x100F0000u;
|
|
/* 027334B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 027334BC */ _t563 = cpu->r[7] + 0x000069F0u;
|
|
/* 027334BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t563);
|
|
/* 027334C0 */ cpu->r[3] = cpu->r[21];
|
|
/* 027334C4 */ cpu->r[5] = cpu->r[1] + 0x00000128u;
|
|
/* 027334C8 */ _t564 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027334C8 */ rbrew_write32(cpu->mem, _t564, cpu->r[0]);
|
|
/* 027334CC */ cpu->r[4] = cpu->r[1] + 0x000000B0u;
|
|
/* 027334D0 */ _t565 = cpu->r[1] + 0x00000128u;
|
|
/* 027334D0 */ rbrew_write32(cpu->mem, _t565, cpu->r[9]);
|
|
/* 027334D4 */ Gambit_fn_02791774(cpu);
|
|
/* 027334D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027334DC */ cpu->r[3] = cpu->r[21] + 0x00000230u;
|
|
/* 027334E0 */ Gambit_fn_02734800(cpu);
|
|
/* 027334E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027334E8 */ cpu->r[3] = cpu->r[21];
|
|
/* 027334EC */ Gambit_fn_02734C20(cpu);
|
|
/* 027334F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027334F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027334F8 */ cpu->r[3] = cpu->r[21];
|
|
/* 027334FC */ Gambit_fn_02734C54(cpu);
|
|
/* 02733500 */ _t566 = cpu->r[31] + 0x00000008u;
|
|
/* 02733500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t566);
|
|
/* 02733504 */ Gambit_fn_0259FD6C(cpu);
|
|
/* 02733508 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273350C */ cpu->r[3] = cpu->r[21];
|
|
/* 02733510 */ Gambit_fn_02734C20(cpu);
|
|
/* 02733514 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733518 */ cpu->r[4] = 0x00000001u;
|
|
/* 0273351C */ cpu->r[3] = cpu->r[21];
|
|
/* 02733520 */ Gambit_fn_02734C54(cpu);
|
|
/* 02733524 */ _t567 = cpu->r[31] + 0x00000008u;
|
|
/* 02733524 */ cpu->r[4] = rbrew_read32(cpu->mem, _t567);
|
|
/* 02733528 */ Gambit_fn_0259FD6C(cpu);
|
|
/* 0273352C */ _t568 = cpu->r[21] + 0x0000025Cu;
|
|
/* 0273352C */ cpu->r[3] = rbrew_read32(cpu->mem, _t568);
|
|
/* 02733530 */ _t569 = cpu->r[3] + 0x00000004u;
|
|
/* 02733530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t569);
|
|
/* 02733534 */ _t570 = cpu->r[11] + 0x0000011Cu;
|
|
/* 02733534 */ cpu->r[12] = rbrew_read32(cpu->mem, _t570);
|
|
/* 02733538 */ cpu->ctr = cpu->r[12];
|
|
/* 0273353C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02733540 */ cpu->r[3] = 0x00000000u;
|
|
/* 02733544 */ Gambit_fn_020F89F8(cpu);
|
|
/* 02733548 */ Gambit_fn_027FAE24(cpu);
|
|
/* 0273354C */ cpu->r[4] = cpu->r[3];
|
|
/* 02733550 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02733554 */ _t571 = cpu->r[3] + 0x000036F8u;
|
|
/* 02733554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t571);
|
|
/* 02733558 */ Gambit_fn_020F8A8C(cpu);
|
|
/* 0273355C */ cpu->r[3] = 0x00000000u;
|
|
/* 02733560 */ Gambit_fn_020FAAF4(cpu);
|
|
/* 02733564 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02733568 */ _t572 = cpu->r[1] + 0x000000B4u;
|
|
/* 02733568 */ rbrew_write32(cpu->mem, _t572, cpu->r[0]);
|
|
/* 0273356C */ Gambit_fn_027FAE24(cpu);
|
|
/* 02733570 */ cpu->r[4] = cpu->r[3];
|
|
/* 02733574 */ cpu->r[3] = 0x00000000u;
|
|
/* 02733578 */ cpu->r[5] = 0x0000000Au;
|
|
/* 0273357C */ cpu->r[7] = cpu->r[3];
|
|
/* 02733580 */ cpu->r[6] = cpu->r[1] + 0x000000B4u;
|
|
/* 02733584 */ cpu->r[8] = cpu->r[7];
|
|
/* 02733588 */ Gambit_fn_02101DCC(cpu);
|
|
/* 0273358C */ cpu->r[31] = 0x101C0000u;
|
|
/* 02733590 */ _t573 = cpu->r[21] + 0x00000270u;
|
|
/* 02733590 */ rbrew_write32(cpu->mem, _t573, cpu->r[3]);
|
|
/* 02733594 */ _t574 = cpu->r[31] + 0x00003708u;
|
|
/* 02733594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t574);
|
|
/* 02733594 */ cpu->r[31] = _t574;
|
|
/* 02733598 */ cpu->r[4] = cpu->r[1] + 0x000000B8u;
|
|
/* 0273359C */ _t575 = cpu->r[1] + 0x000000B8u;
|
|
/* 0273359C */ rbrew_write32(cpu->mem, _t575, cpu->r[14]);
|
|
/* 027335A0 */ Gambit_fn_020FFF80(cpu);
|
|
/* 027335A4 */ _t576 = cpu->r[3] + 0x00000008u;
|
|
/* 027335A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t576);
|
|
/* 027335A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027335AC */ _t577 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027335AC */ _t578 = _t577 & 0x00000001u;
|
|
/* 027335AC */ if (_t578) goto L_027335B0; else goto L_027335D8;
|
|
L_027335B0: ; // 0x27335b0
|
|
/* 027335B0 */ _t579 = cpu->r[31] + 0x00000000u;
|
|
/* 027335B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t579);
|
|
/* 027335B4 */ cpu->r[4] = cpu->r[1] + 0x000000BCu;
|
|
/* 027335B8 */ _t580 = cpu->r[1] + 0x000000BCu;
|
|
/* 027335B8 */ rbrew_write32(cpu->mem, _t580, cpu->r[14]);
|
|
/* 027335BC */ Gambit_fn_020FFF80(cpu);
|
|
/* 027335C0 */ cpu->r[4] = cpu->r[3];
|
|
/* 027335C4 */ _t581 = cpu->r[21] + 0x00000270u;
|
|
/* 027335C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t581);
|
|
/* 027335C8 */ Gambit_fn_021012E8(cpu);
|
|
/* 027335CC */ _t582 = cpu->r[21] + 0x00000270u;
|
|
/* 027335CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t582);
|
|
/* 027335D0 */ cpu->r[3] = cpu->r[21] + 0x00000274u;
|
|
/* 027335D4 */ Gambit_fn_02734D0C(cpu);
|
|
L_027335D8: ; // 0x27335d8
|
|
/* 027335D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027335DC */ cpu->r[3] = cpu->r[21];
|
|
/* 027335E0 */ Gambit_fn_02734C20(cpu);
|
|
/* 027335E4 */ cpu->r[31] = 0x101C0000u;
|
|
/* 027335E8 */ cpu->r[10] = cpu->r[3];
|
|
/* 027335EC */ _t583 = cpu->r[31] + 0x00003700u;
|
|
/* 027335EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t583);
|
|
/* 027335F0 */ _t584 = cpu->r[10] + 0x00000008u;
|
|
/* 027335F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t584);
|
|
/* 027335F4 */ Gambit_fn_020FAC24(cpu);
|
|
/* 027335F8 */ _t585 = cpu->r[31] + 0x00003700u;
|
|
/* 027335F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t585);
|
|
/* 027335FC */ Gambit_fn_020FBF58(cpu);
|
|
/* 02733600 */ cpu->r[4] = 0x100F0000u;
|
|
/* 02733604 */ cpu->r[3] = cpu->r[1] + 0x00000120u;
|
|
/* 02733608 */ cpu->r[4] = cpu->r[4] + 0x00006B80u;
|
|
/* 0273360C */ Gambit_fn_027345D8(cpu);
|
|
/* 02733610 */ cpu->r[4] = cpu->r[3];
|
|
/* 02733614 */ cpu->r[5] = 0x00000000u;
|
|
/* 02733618 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 0273361C */ cpu->r[6] = cpu->r[5];
|
|
/* 02733620 */ Gambit_fn_027C6980(cpu);
|
|
/* 02733624 */ cpu->r[4] = 0x00000002u;
|
|
/* 02733628 */ cpu->r[3] = cpu->r[1] + 0x00000120u;
|
|
/* 0273362C */ Gambit_fn_027345C4(cpu);
|
|
/* 02733630 */ _t586 = cpu->r[1] + 0x00000088u;
|
|
/* 02733630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t586);
|
|
/* 02733634 */ _t587 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02733634 */ cpu->r[3] = rbrew_read32(cpu->mem, _t587);
|
|
/* 02733638 */ Gambit_fn_02734818(cpu);
|
|
/* 0273363C */ _t588 = cpu->r[3] + 0x00000052u;
|
|
/* 0273363C */ cpu->r[29] = rbrew_read16(cpu->mem, _t588);
|
|
/* 02733640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02733644 */ cpu->r[28] = 0x00000000u;
|
|
/* 02733648 */ _t589 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733648 */ _t590 = _t589 & 0x00000001u;
|
|
/* 02733648 */ if (_t590) goto L_027336D4; else goto L_0273364C;
|
|
L_0273364C: ; // 0x273364c
|
|
/* 0273364C */ cpu->r[31] = 0x100F0000u;
|
|
L_02733650: ; // 0x2733650
|
|
/* 02733650 */ _t591 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02733650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t591);
|
|
/* 02733654 */ cpu->r[4] = cpu->r[28];
|
|
/* 02733658 */ Gambit_fn_0273481C(cpu);
|
|
/* 0273365C */ cpu->r[4] = cpu->r[3];
|
|
/* 02733660 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02733664 */ Gambit_fn_027345D8(cpu);
|
|
/* 02733668 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 0273366C */ cpu->r[4] = cpu->r[31] + 0x00006C2Cu;
|
|
/* 02733670 */ Gambit_fn_027345D8(cpu);
|
|
/* 02733674 */ cpu->r[4] = cpu->r[3];
|
|
/* 02733678 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0273367C */ Gambit_fn_02734628(cpu);
|
|
/* 02733680 */ cpu->r[30] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02733684 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02733688 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273368C */ Gambit_fn_027345C4(cpu);
|
|
/* 02733690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02733694 */ _t592 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733694 */ _t593 = _t592 & 0x00000001u;
|
|
/* 02733694 */ if (_t593) goto L_02733698; else goto L_027336B4;
|
|
L_02733698: ; // 0x2733698
|
|
/* 02733698 */ _t594 = cpu->r[1] + 0x00000088u;
|
|
/* 02733698 */ cpu->r[7] = rbrew_read32(cpu->mem, _t594);
|
|
/* 0273369C */ _t595 = cpu->r[7] + 0x0000001Cu;
|
|
/* 0273369C */ cpu->r[3] = rbrew_read32(cpu->mem, _t595);
|
|
/* 027336A0 */ cpu->r[4] = cpu->r[28];
|
|
/* 027336A4 */ Gambit_fn_02734858(cpu);
|
|
/* 027336A8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027336AC */ cpu->r[3] = cpu->r[21] + 0x0000028Cu;
|
|
/* 027336B0 */ Gambit_fn_02734D38(cpu);
|
|
L_027336B4: ; // 0x27336b4
|
|
/* 027336B4 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 027336B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027336BC */ Gambit_fn_027345C4(cpu);
|
|
/* 027336C0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027336C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027336C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027336C8 */ _t596 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027336C8 */ _t597 = _t596 & 0x00000001u;
|
|
/* 027336C8 */ if (_t597) goto L_027336D4; else goto L_027336CC;
|
|
L_027336CC: ; // 0x27336cc
|
|
/* 027336CC */ _t598 = cpu->r[1] + 0x00000088u;
|
|
/* 027336CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t598);
|
|
/* 027336D0 */ goto L_02733650;
|
|
L_027336D4: ; // 0x27336d4
|
|
/* 027336D4 */ cpu->r[3] = 0x00000028u;
|
|
/* 027336D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027336DC */ cpu->r[10] = cpu->r[3];
|
|
/* 027336DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027336E0 */ _t599 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027336E0 */ _t600 = _t599 & 0x00000001u;
|
|
/* 027336E0 */ if (_t600) goto L_027336F8; else goto L_027336E4;
|
|
L_027336E4: ; // 0x27336e4
|
|
/* 027336E4 */ cpu->r[5] = 0x00000000u;
|
|
/* 027336E8 */ cpu->r[4] = 0x00000003u;
|
|
/* 027336EC */ cpu->r[3] = cpu->r[10];
|
|
/* 027336F0 */ Gambit_fn_02398200(cpu);
|
|
/* 027336F4 */ cpu->r[10] = cpu->r[3];
|
|
L_027336F8: ; // 0x27336f8
|
|
/* 027336F8 */ _t601 = cpu->r[21] + 0x00000288u;
|
|
/* 027336F8 */ rbrew_write32(cpu->mem, _t601, cpu->r[10]);
|
|
/* 027336FC */ cpu->r[3] = cpu->r[21];
|
|
/* 02733700 */ Gambit_fn_02732294(cpu);
|
|
/* 02733704 */ _t602 = cpu->r[10] + 0x00000014u;
|
|
/* 02733704 */ rbrew_write32(cpu->mem, _t602, cpu->r[3]);
|
|
/* 02733708 */ _t603 = cpu->r[21] + 0x00000288u;
|
|
/* 02733708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t603);
|
|
/* 0273370C */ cpu->r[4] = 0x00000002u;
|
|
/* 02733710 */ Gambit_fn_023982F0(cpu);
|
|
/* 02733714 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02733718 */ _t604 = cpu->r[8] + 0xFFFFA6B0u;
|
|
/* 02733718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t604);
|
|
/* 0273371C */ cpu->r[5] = 0x00000000u;
|
|
/* 02733720 */ cpu->r[4] = 0x00000001u;
|
|
/* 02733724 */ cpu->r[3] = cpu->r[8] + 0x00000048u;
|
|
/* 02733728 */ Gambit_fn_027347DC(cpu);
|
|
/* 0273372C */ /* nop */
|
|
/* 02733730 */ _t605 = cpu->r[1] + 0x00000398u;
|
|
/* 02733730 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t605);
|
|
/* 02733734 */ _t606 = cpu->r[1] + 0x000003A8u;
|
|
/* 02733734 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t606);
|
|
/* 02733738 */ _t607 = cpu->r[1] + 0x00000390u;
|
|
/* 02733738 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t607);
|
|
/* 0273373C */ _t608 = cpu->r[1] + 0x000003B8u;
|
|
/* 0273373C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t608);
|
|
/* 02733740 */ _t609 = cpu->r[1] + 0x000003A0u;
|
|
/* 02733740 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t609);
|
|
/* 02733744 */ _t610 = cpu->r[1] + 0x000003B0u;
|
|
/* 02733744 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t610);
|
|
/* 02733748 */ _t611 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733748 */ _t612 = _t611 & 0x00000001u;
|
|
/* 02733748 */ if (_t612) goto L_0273374C; // else: addr-0 trap, fall-through
|
|
L_0273374C: ; // 0x273374c
|
|
/* 0273374C */ _t613 = cpu->r[1] + 0x000003C4u;
|
|
/* 0273374C */ cpu->r[0] = rbrew_read32(cpu->mem, _t613);
|
|
/* 02733750 */ cpu->lr = cpu->r[0];
|
|
/* 02733754 */ cpu->r[1] = cpu->r[1] + 0x000003C0u;
|
|
/* 02733758 */ return;
|
|
}
|
|
|
|
// fn_0273375C @ 0x273375c
|
|
void Gambit_fn_0273375C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_0273375C: ; // 0x273375c
|
|
/* 0273375C */ cpu->r[0] = cpu->lr;
|
|
/* 02733760 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02733760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733760 */ cpu->r[1] = _t0;
|
|
/* 02733764 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02733764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02733768 */ cpu->r[31] = 0x00000001u;
|
|
/* 0273376C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0273376C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02733770 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733774 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02733774 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02733778 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0273377C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0273377C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02733780 */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 02733780 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02733784 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02733784 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733788 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273378C */ _t7 = cpu->r[10] + 0x000069F8u;
|
|
/* 0273378C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733790 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02733794 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02733794 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733798 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273379C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273379C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027337A0 */ Gambit_fn_02791774(cpu);
|
|
/* 027337A4 */ cpu->r[28] = 0x100F0000u;
|
|
/* 027337A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027337AC */ cpu->r[28] = cpu->r[28] + 0x00006A70u;
|
|
/* 027337B0 */ _t10 = cpu->r[30] + 0x00000248u;
|
|
/* 027337B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027337B4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027337B8 */ _t11 = cpu->r[30] + 0x00000230u;
|
|
/* 027337B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027337BC */ cpu->r[0] = cpu->r[0] + 0x00006C44u;
|
|
/* 027337C0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027337C4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027337C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027337C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027337CC */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 027337D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027337D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027337D4 */ cpu->r[6] = cpu->r[29];
|
|
/* 027337D8 */ cpu->r[3] = cpu->r[11] + 0x000000C8u;
|
|
/* 027337DC */ _t14 = cpu->r[30] + 0x00000230u;
|
|
/* 027337DC */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027337E0 */ Gambit_fn_029BA484(cpu);
|
|
/* 027337E4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027337E8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027337EC */ _t15 = cpu->r[30] + 0x00000248u;
|
|
/* 027337EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027337F0 */ cpu->r[0] = cpu->r[0] + 0x00006C38u;
|
|
/* 027337F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027337F8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027337F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 027337FC */ cpu->r[3] = cpu->r[11] + 0x000000C8u;
|
|
/* 02733800 */ cpu->r[6] = cpu->r[31];
|
|
/* 02733804 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02733804 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02733808 */ Gambit_fn_029BA484(cpu);
|
|
/* 0273380C */ _t18 = cpu->r[30] + 0x00000248u;
|
|
/* 0273380C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02733810 */ _t19 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733810 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02733814 */ _t20 = cpu->r[6] + 0x00000510u;
|
|
/* 02733814 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 02733818 */ _t21 = cpu->r[30] + 0x00000248u;
|
|
/* 02733818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273381C */ _t22 = cpu->r[11] + 0x000000B4u;
|
|
/* 0273381C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733820 */ _t23 = cpu->r[7] + 0x00000520u;
|
|
/* 02733820 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02733824 */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 02733824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02733828 */ _t25 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733828 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273382C */ _t26 = cpu->r[8] + 0x000004A0u;
|
|
/* 0273382C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
|
|
/* 02733830 */ _t27 = cpu->r[30] + 0x00000248u;
|
|
/* 02733830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02733834 */ _t28 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733834 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02733838 */ _t29 = cpu->r[10] + 0x000004C0u;
|
|
/* 02733838 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 0273383C */ _t30 = cpu->r[30] + 0x00000248u;
|
|
/* 0273383C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02733840 */ _t31 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02733844 */ _t32 = cpu->r[11] + 0x00000530u;
|
|
/* 02733844 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 02733848 */ _t33 = cpu->r[30] + 0x00000248u;
|
|
/* 02733848 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273384C */ _t34 = cpu->r[11] + 0x000000B4u;
|
|
/* 0273384C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02733850 */ _t35 = cpu->r[12] + 0x00000750u;
|
|
/* 02733850 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[29]);
|
|
/* 02733854 */ _t36 = cpu->r[30] + 0x00000248u;
|
|
/* 02733854 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02733858 */ _t37 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273385C */ _t38 = cpu->r[7] + 0x00000510u;
|
|
/* 0273385C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02733860 */ _t39 = cpu->r[30] + 0x00000248u;
|
|
/* 02733860 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02733864 */ _t40 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733864 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02733868 */ _t41 = cpu->r[8] + 0x00000520u;
|
|
/* 02733868 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
|
|
/* 0273386C */ _t42 = cpu->r[30] + 0x00000248u;
|
|
/* 0273386C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02733870 */ Gambit_fn_029A352C(cpu);
|
|
/* 02733874 */ Gambit_fn_023D6FD8(cpu);
|
|
/* 02733878 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02733878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273387C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 0273387C */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02733880 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02733880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02733884 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 02733884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02733888 */ cpu->lr = cpu->r[0];
|
|
/* 0273388C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273388C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02733890 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02733894 */ return;
|
|
}
|
|
|
|
// fn_02733760 @ 0x2733760
|
|
void Gambit_fn_02733760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_02733760: ; // 0x2733760
|
|
/* 02733760 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02733760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733760 */ cpu->r[1] = _t0;
|
|
/* 02733764 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02733764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02733768 */ cpu->r[31] = 0x00000001u;
|
|
/* 0273376C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0273376C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02733770 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733774 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02733774 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02733778 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0273377C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0273377C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02733780 */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 02733780 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02733784 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02733784 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733788 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273378C */ _t7 = cpu->r[10] + 0x000069F8u;
|
|
/* 0273378C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733790 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02733794 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02733794 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733798 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273379C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273379C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027337A0 */ Gambit_fn_02791774(cpu);
|
|
/* 027337A4 */ cpu->r[28] = 0x100F0000u;
|
|
/* 027337A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027337AC */ cpu->r[28] = cpu->r[28] + 0x00006A70u;
|
|
/* 027337B0 */ _t10 = cpu->r[30] + 0x00000248u;
|
|
/* 027337B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027337B4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027337B8 */ _t11 = cpu->r[30] + 0x00000230u;
|
|
/* 027337B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027337BC */ cpu->r[0] = cpu->r[0] + 0x00006C44u;
|
|
/* 027337C0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027337C4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027337C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027337C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027337CC */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 027337D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027337D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027337D4 */ cpu->r[6] = cpu->r[29];
|
|
/* 027337D8 */ cpu->r[3] = cpu->r[11] + 0x000000C8u;
|
|
/* 027337DC */ _t14 = cpu->r[30] + 0x00000230u;
|
|
/* 027337DC */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027337E0 */ Gambit_fn_029BA484(cpu);
|
|
/* 027337E4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027337E8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027337EC */ _t15 = cpu->r[30] + 0x00000248u;
|
|
/* 027337EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027337F0 */ cpu->r[0] = cpu->r[0] + 0x00006C38u;
|
|
/* 027337F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027337F8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027337F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 027337FC */ cpu->r[3] = cpu->r[11] + 0x000000C8u;
|
|
/* 02733800 */ cpu->r[6] = cpu->r[31];
|
|
/* 02733804 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02733804 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02733808 */ Gambit_fn_029BA484(cpu);
|
|
/* 0273380C */ _t18 = cpu->r[30] + 0x00000248u;
|
|
/* 0273380C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02733810 */ _t19 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733810 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02733814 */ _t20 = cpu->r[6] + 0x00000510u;
|
|
/* 02733814 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 02733818 */ _t21 = cpu->r[30] + 0x00000248u;
|
|
/* 02733818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273381C */ _t22 = cpu->r[11] + 0x000000B4u;
|
|
/* 0273381C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733820 */ _t23 = cpu->r[7] + 0x00000520u;
|
|
/* 02733820 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02733824 */ _t24 = cpu->r[30] + 0x00000248u;
|
|
/* 02733824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02733828 */ _t25 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733828 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273382C */ _t26 = cpu->r[8] + 0x000004A0u;
|
|
/* 0273382C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
|
|
/* 02733830 */ _t27 = cpu->r[30] + 0x00000248u;
|
|
/* 02733830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02733834 */ _t28 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733834 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02733838 */ _t29 = cpu->r[10] + 0x000004C0u;
|
|
/* 02733838 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 0273383C */ _t30 = cpu->r[30] + 0x00000248u;
|
|
/* 0273383C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02733840 */ _t31 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02733844 */ _t32 = cpu->r[11] + 0x00000530u;
|
|
/* 02733844 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 02733848 */ _t33 = cpu->r[30] + 0x00000248u;
|
|
/* 02733848 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273384C */ _t34 = cpu->r[11] + 0x000000B4u;
|
|
/* 0273384C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02733850 */ _t35 = cpu->r[12] + 0x00000750u;
|
|
/* 02733850 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[29]);
|
|
/* 02733854 */ _t36 = cpu->r[30] + 0x00000248u;
|
|
/* 02733854 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02733858 */ _t37 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273385C */ _t38 = cpu->r[7] + 0x00000510u;
|
|
/* 0273385C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[29]);
|
|
/* 02733860 */ _t39 = cpu->r[30] + 0x00000248u;
|
|
/* 02733860 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02733864 */ _t40 = cpu->r[11] + 0x000000B4u;
|
|
/* 02733864 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02733868 */ _t41 = cpu->r[8] + 0x00000520u;
|
|
/* 02733868 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
|
|
/* 0273386C */ _t42 = cpu->r[30] + 0x00000248u;
|
|
/* 0273386C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02733870 */ Gambit_fn_029A352C(cpu);
|
|
/* 02733874 */ Gambit_fn_023D6FD8(cpu);
|
|
/* 02733878 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02733878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273387C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 0273387C */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02733880 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02733880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02733884 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 02733884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02733888 */ cpu->lr = cpu->r[0];
|
|
/* 0273388C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273388C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02733890 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02733894 */ return;
|
|
}
|
|
|
|
// fn_02733898 @ 0x2733898
|
|
void Gambit_fn_02733898(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02733898: ; // 0x2733898
|
|
/* 02733898 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02733898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733898 */ cpu->r[1] = _t0;
|
|
/* 0273389C */ /* nop */
|
|
/* 027338A0 */ cpu->r[0] = cpu->lr;
|
|
/* 027338A4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027338A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027338A8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027338AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027338B0 */ _t2 = cpu->r[29] + 0xFFFF8744u;
|
|
/* 027338B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027338B0 */ cpu->r[29] = _t2;
|
|
/* 027338B4 */ cpu->r[30] = cpu->r[31] + 0x00000104u;
|
|
/* 027338B8 */ _t3 = cpu->r[30] + cpu->r[6];
|
|
/* 027338B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027338BC */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 027338BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027338C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027338C4 */ _t5 = cpu->r[8] + cpu->r[6];
|
|
/* 027338C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027338C8 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 027338C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027338CC */ cpu->r[27] = 0x00000000u;
|
|
/* 027338D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 027338D4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027338D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027338D4 */ if (_t8) goto L_027338D8; else goto L_02733920;
|
|
L_027338D8: ; // 0x27338d8
|
|
/* 027338D8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 027338D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027338DC */ _t10 = cpu->r[30] + cpu->r[0];
|
|
/* 027338DC */ cpu->r[7] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027338E0 */ cpu->r[28] = 0x00000000u;
|
|
L_027338E4: ; // 0x27338e4
|
|
/* 027338E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027338E8 */ _t11 = cpu->r[11] + cpu->r[6];
|
|
/* 027338E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027338EC */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 027338EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027338F0 */ _t13 = cpu->r[6] + cpu->r[28];
|
|
/* 027338F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027338F4 */ Gambit_fn_02790458(cpu);
|
|
/* 027338F8 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 027338F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027338FC */ _t15 = cpu->r[30] + cpu->r[0];
|
|
/* 027338FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02733900 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 02733900 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02733904 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733908 */ _t17 = cpu->r[12] + cpu->r[6];
|
|
/* 02733908 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273390C */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 0273390C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02733910 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02733914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[9]);
|
|
/* 02733918 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0273391C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273391C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273391C */ if (_t20) goto L_027338E4; else goto L_02733920;
|
|
L_02733920: ; // 0x2733920
|
|
/* 02733920 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02733924 */ _t21 = cpu->r[29] + 0x00007D34u;
|
|
/* 02733924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02733924 */ cpu->r[29] = _t21;
|
|
/* 02733928 */ _t22 = cpu->r[30] + cpu->r[10];
|
|
/* 02733928 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0273392C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733930 */ _t23 = cpu->r[11] + cpu->r[6];
|
|
/* 02733930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02733934 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02733934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02733938 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273393C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 02733940 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733940 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02733940 */ if (_t26) goto L_02733944; else goto L_0273398C;
|
|
L_02733944: ; // 0x2733944
|
|
/* 02733944 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02733944 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02733948 */ _t28 = cpu->r[30] + cpu->r[7];
|
|
/* 02733948 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0273394C */ cpu->r[28] = 0x00000000u;
|
|
L_02733950: ; // 0x2733950
|
|
/* 02733950 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733954 */ _t29 = cpu->r[7] + cpu->r[6];
|
|
/* 02733954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02733958 */ _t30 = cpu->r[8] + 0x00000004u;
|
|
/* 02733958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273395C */ _t31 = cpu->r[9] + cpu->r[28];
|
|
/* 0273395C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02733960 */ Gambit_fn_02790458(cpu);
|
|
/* 02733964 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02733964 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02733968 */ _t33 = cpu->r[30] + cpu->r[7];
|
|
/* 02733968 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0273396C */ _t34 = cpu->r[31] + 0x00000030u;
|
|
/* 0273396C */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02733970 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733974 */ _t35 = cpu->r[10] + cpu->r[6];
|
|
/* 02733974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02733978 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 02733978 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273397C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02733980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 02733984 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02733988 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733988 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02733988 */ if (_t38) goto L_02733950; else goto L_0273398C;
|
|
L_0273398C: ; // 0x273398c
|
|
/* 0273398C */ cpu->r[29] = 0x101C0000u;
|
|
/* 02733990 */ _t39 = cpu->r[29] + 0x00000E44u;
|
|
/* 02733990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02733990 */ cpu->r[29] = _t39;
|
|
/* 02733994 */ _t40 = cpu->r[30] + cpu->r[0];
|
|
/* 02733994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02733998 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273399C */ _t41 = cpu->r[10] + cpu->r[6];
|
|
/* 0273399C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027339A0 */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 027339A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027339A4 */ cpu->r[27] = 0x00000000u;
|
|
/* 027339A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 027339AC */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027339AC */ _t44 = _t43 & 0x00000001u;
|
|
/* 027339AC */ if (_t44) goto L_027339B0; else goto L_027339F8;
|
|
L_027339B0: ; // 0x27339b0
|
|
/* 027339B0 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 027339B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027339B4 */ _t46 = cpu->r[30] + cpu->r[0];
|
|
/* 027339B4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027339B8 */ cpu->r[28] = 0x00000000u;
|
|
L_027339BC: ; // 0x27339bc
|
|
/* 027339BC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027339C0 */ _t47 = cpu->r[8] + cpu->r[6];
|
|
/* 027339C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027339C4 */ _t48 = cpu->r[10] + 0x00000004u;
|
|
/* 027339C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027339C8 */ _t49 = cpu->r[11] + cpu->r[28];
|
|
/* 027339C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027339CC */ Gambit_fn_02790458(cpu);
|
|
/* 027339D0 */ _t50 = cpu->r[29] + 0x00000000u;
|
|
/* 027339D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027339D4 */ _t51 = cpu->r[30] + cpu->r[0];
|
|
/* 027339D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
|
|
/* 027339D8 */ _t52 = cpu->r[31] + 0x00000030u;
|
|
/* 027339D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027339DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027339E0 */ _t53 = cpu->r[12] + cpu->r[6];
|
|
/* 027339E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027339E4 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 027339E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027339E8 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 027339EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]);
|
|
/* 027339F0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 027339F4 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027339F4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027339F4 */ if (_t56) goto L_027339BC; else goto L_027339F8;
|
|
L_027339F8: ; // 0x27339f8
|
|
/* 027339F8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 027339FC */ _t57 = cpu->r[29] + 0x0000717Cu;
|
|
/* 027339FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027339FC */ cpu->r[29] = _t57;
|
|
/* 02733A00 */ _t58 = cpu->r[30] + cpu->r[0];
|
|
/* 02733A00 */ cpu->r[12] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02733A04 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733A08 */ _t59 = cpu->r[12] + cpu->r[6];
|
|
/* 02733A08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02733A0C */ _t60 = cpu->r[7] + 0x00000000u;
|
|
/* 02733A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02733A10 */ cpu->r[27] = 0x00000000u;
|
|
/* 02733A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 02733A18 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733A18 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02733A18 */ if (_t62) goto L_02733A1C; else goto L_02733A64;
|
|
L_02733A1C: ; // 0x2733a1c
|
|
/* 02733A1C */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02733A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02733A20 */ _t64 = cpu->r[30] + cpu->r[11];
|
|
/* 02733A20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02733A24 */ cpu->r[28] = 0x00000000u;
|
|
L_02733A28: ; // 0x2733a28
|
|
/* 02733A28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733A2C */ _t65 = cpu->r[9] + cpu->r[6];
|
|
/* 02733A2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02733A30 */ _t66 = cpu->r[10] + 0x00000004u;
|
|
/* 02733A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02733A34 */ _t67 = cpu->r[11] + cpu->r[28];
|
|
/* 02733A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02733A38 */ Gambit_fn_02790458(cpu);
|
|
/* 02733A3C */ _t68 = cpu->r[29] + 0x00000000u;
|
|
/* 02733A3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02733A40 */ _t69 = cpu->r[30] + cpu->r[11];
|
|
/* 02733A40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02733A44 */ _t70 = cpu->r[31] + 0x00000030u;
|
|
/* 02733A44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02733A48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733A4C */ _t71 = cpu->r[12] + cpu->r[6];
|
|
/* 02733A4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02733A50 */ _t72 = cpu->r[7] + 0x00000000u;
|
|
/* 02733A50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02733A54 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02733A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]);
|
|
/* 02733A5C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02733A60 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733A60 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02733A60 */ if (_t74) goto L_02733A28; else goto L_02733A64;
|
|
L_02733A64: ; // 0x2733a64
|
|
/* 02733A64 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02733A68 */ _t75 = cpu->r[12] + 0x00007F10u;
|
|
/* 02733A68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02733A6C */ _t76 = cpu->r[30] + cpu->r[12];
|
|
/* 02733A6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02733A70 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733A74 */ _t77 = cpu->r[9] + cpu->r[6];
|
|
/* 02733A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02733A78 */ _t78 = cpu->r[10] + 0x00000004u;
|
|
/* 02733A78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02733A7C */ _t79 = cpu->r[11] + 0x00000000u;
|
|
/* 02733A7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02733A80 */ Gambit_fn_02790458(cpu);
|
|
/* 02733A84 */ _t80 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02733A84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02733A88 */ Gambit_fn_02790458(cpu);
|
|
/* 02733A8C */ cpu->r[11] = 0x101C0000u;
|
|
/* 02733A90 */ _t81 = cpu->r[11] + 0x000066E4u;
|
|
/* 02733A90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02733A94 */ _t82 = cpu->r[30] + cpu->r[11];
|
|
/* 02733A94 */ cpu->r[7] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02733A98 */ _t83 = cpu->r[31] + 0x00000030u;
|
|
/* 02733A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02733A9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733AA0 */ _t84 = cpu->r[12] + cpu->r[0];
|
|
/* 02733AA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02733AA4 */ _t85 = cpu->r[8] + 0x00000004u;
|
|
/* 02733AA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02733AA8 */ _t86 = cpu->r[9] + 0x00000000u;
|
|
/* 02733AA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02733AAC */ Gambit_fn_02790458(cpu);
|
|
/* 02733AB0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02733AB4 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02733AB8 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02733AB8 */ rbrew_write32(cpu->mem, _t87, cpu->r[10]);
|
|
/* 02733ABC */ cpu->r[9] = 0x00000004u;
|
|
/* 02733AC0 */ _t88 = cpu->r[11] + 0x00006A00u;
|
|
/* 02733AC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02733AC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02733AC8 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02733AC8 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 02733ACC */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02733AD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733AD4 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02733AD4 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 02733AD8 */ Gambit_fn_02791774(cpu);
|
|
/* 02733ADC */ _t91 = cpu->r[31] + 0x00000230u;
|
|
/* 02733ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02733AE0 */ _t92 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02733AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02733AE4 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 02733AE8 */ _t93 = cpu->r[31] + 0x00000230u;
|
|
/* 02733AE8 */ rbrew_write32(cpu->mem, _t93, cpu->r[12]);
|
|
/* 02733AEC */ Gambit_fn_0273654C(cpu);
|
|
/* 02733AF0 */ _t94 = cpu->r[31] + 0x00000288u;
|
|
/* 02733AF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02733AF4 */ Gambit_fn_02398534(cpu);
|
|
/* 02733AF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02733AFC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B00 */ _t95 = cpu->r[31] + 0x00000298u;
|
|
/* 02733B00 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02733B04 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02733B08 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B08 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 02733B0C */ Gambit_fn_02052C1C(cpu);
|
|
/* 02733B10 */ /* nop */
|
|
/* 02733B14 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 02733B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02733B18 */ cpu->lr = cpu->r[0];
|
|
/* 02733B1C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02733B20 */ return;
|
|
}
|
|
|
|
// fn_02733B24 @ 0x2733b24
|
|
void Gambit_fn_02733B24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02733B24: ; // 0x2733b24
|
|
/* 02733B24 */ cpu->r[0] = cpu->lr;
|
|
/* 02733B28 */ cpu->r[9] = 0x00000004u;
|
|
/* 02733B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02733B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733B2C */ cpu->r[1] = _t0;
|
|
/* 02733B30 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02733B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02733B34 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733B38 */ cpu->r[12] = 0x00000006u;
|
|
/* 02733B3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02733B3C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02733B40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02733B44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733B44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02733B48 */ _t5 = cpu->r[10] + 0x00006A10u;
|
|
/* 02733B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733B4C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733B54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733B58 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B58 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733B5C */ Gambit_fn_02791888(cpu);
|
|
/* 02733B60 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02733B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733B64 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02733B68 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02733B68 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733B6C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733B70 */ cpu->lr = cpu->r[0];
|
|
/* 02733B74 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02733B78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02733B7C */ return;
|
|
}
|
|
|
|
// fn_02733B2C @ 0x2733b2c
|
|
void Gambit_fn_02733B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02733B2C: ; // 0x2733b2c
|
|
/* 02733B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02733B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733B2C */ cpu->r[1] = _t0;
|
|
/* 02733B30 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02733B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02733B34 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733B38 */ cpu->r[12] = 0x00000006u;
|
|
/* 02733B3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02733B3C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02733B40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02733B44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733B44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02733B48 */ _t5 = cpu->r[10] + 0x00006A10u;
|
|
/* 02733B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733B4C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733B54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733B58 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733B58 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733B5C */ Gambit_fn_02791888(cpu);
|
|
/* 02733B60 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02733B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733B64 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02733B68 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02733B68 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733B6C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733B70 */ cpu->lr = cpu->r[0];
|
|
/* 02733B74 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02733B78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02733B7C */ return;
|
|
}
|
|
|
|
// fn_02733B80 @ 0x2733b80
|
|
void Gambit_fn_02733B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02733B80: ; // 0x2733b80
|
|
/* 02733B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02733B84 */ cpu->r[9] = 0x00000004u;
|
|
/* 02733B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02733B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733B88 */ cpu->r[1] = _t0;
|
|
/* 02733B8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02733B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02733B90 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733B94 */ cpu->r[12] = 0x00000008u;
|
|
/* 02733B98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02733B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02733B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02733BA0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02733BA4 */ _t5 = cpu->r[10] + 0x00006A20u;
|
|
/* 02733BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733BA8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733BAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733BB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733BB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733BB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733BB8 */ Gambit_fn_02791888(cpu);
|
|
/* 02733BBC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02733BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733BC0 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02733BC4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02733BC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733BC8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733BCC */ cpu->lr = cpu->r[0];
|
|
/* 02733BD0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02733BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02733BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02733BD8 */ return;
|
|
}
|
|
|
|
// fn_02733B88 @ 0x2733b88
|
|
void Gambit_fn_02733B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02733B88: ; // 0x2733b88
|
|
/* 02733B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02733B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733B88 */ cpu->r[1] = _t0;
|
|
/* 02733B8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02733B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02733B90 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733B94 */ cpu->r[12] = 0x00000008u;
|
|
/* 02733B98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02733B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02733B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02733B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02733BA0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02733BA4 */ _t5 = cpu->r[10] + 0x00006A20u;
|
|
/* 02733BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733BA8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733BAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733BB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733BB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733BB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02733BB8 */ Gambit_fn_02791888(cpu);
|
|
/* 02733BBC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02733BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733BC0 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02733BC4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02733BC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02733BC8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733BCC */ cpu->lr = cpu->r[0];
|
|
/* 02733BD0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02733BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02733BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02733BD8 */ return;
|
|
}
|
|
|
|
// fn_02733BDC @ 0x2733bdc
|
|
void Gambit_fn_02733BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02733BDC: ; // 0x2733bdc
|
|
/* 02733BDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02733BE0 */ _t0 = cpu->r[12] + 0xFFFF87E0u;
|
|
/* 02733BE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02733BE4 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02733BE8 */ _t1 = cpu->r[11] + 0x00000104u;
|
|
/* 02733BE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02733BEC */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02733BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02733BF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733BF4 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 02733BF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02733BF8 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02733BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02733BFC */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02733BFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733C00 */ _t6 = cpu->r[11] + 0x00000284u;
|
|
/* 02733C00 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02733C04 */ return;
|
|
}
|
|
|
|
// fn_02733C08 @ 0x2733c08
|
|
void Gambit_fn_02733C08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02733C08: ; // 0x2733c08
|
|
/* 02733C08 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02733C08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733C08 */ cpu->r[1] = _t0;
|
|
/* 02733C0C */ /* nop */
|
|
/* 02733C10 */ cpu->r[0] = cpu->lr;
|
|
/* 02733C14 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02733C14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02733C18 */ cpu->r[29] = cpu->r[3];
|
|
/* 02733C1C */ Gambit_fn_02732294(cpu);
|
|
/* 02733C20 */ _t2 = cpu->r[3] + 0x000000A4u;
|
|
/* 02733C20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02733C24 */ _t3 = cpu->r[3] + 0x00000030u;
|
|
/* 02733C24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02733C28 */ cpu->r[4] = 0x00000000u;
|
|
/* 02733C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
|
|
/* 02733C30 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733C30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02733C30 */ if (_t5) goto L_02733C34; else goto L_02733D10;
|
|
L_02733C34: ; // 0x2733c34
|
|
/* 02733C34 */ _t6 = cpu->r[3] + 0x00000034u;
|
|
/* 02733C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02733C38 */ _t7 = cpu->r[3] + 0x00000030u;
|
|
/* 02733C38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02733C3C */ cpu->r[10] = 0x00000000u;
|
|
L_02733C40: ; // 0x2733c40
|
|
/* 02733C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02733C44 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733C44 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02733C44 */ if (_t9) goto L_02733C48; else goto L_02733C5C;
|
|
L_02733C48: ; // 0x2733c48
|
|
/* 02733C48 */ _t10 = cpu->r[12] + cpu->r[10];
|
|
/* 02733C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02733C4C */ /* nop */
|
|
/* 02733C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 02733C54 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733C54 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02733C54 */ if (_t12) goto L_02733C90; else goto L_02733C58;
|
|
L_02733C58: ; // 0x2733c58
|
|
/* 02733C58 */ goto L_02733C6C;
|
|
L_02733C5C: ; // 0x2733c5c
|
|
/* 02733C5C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02733C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02733C60 */ /* nop */
|
|
/* 02733C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 02733C68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733C68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02733C68 */ if (_t15) goto L_02733C90; else goto L_02733C6C;
|
|
L_02733C6C: ; // 0x2733c6c
|
|
/* 02733C6C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02733C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
|
|
/* 02733C74 */ cpu->r[10] = cpu->r[10] + 0x0000001Cu;
|
|
/* 02733C78 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733C78 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02733C78 */ if (_t17) goto L_02733C40; else goto L_02733C7C;
|
|
L_02733C7C: ; // 0x2733c7c
|
|
/* 02733C7C */ /* nop */
|
|
/* 02733C80 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02733C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02733C84 */ cpu->lr = cpu->r[0];
|
|
/* 02733C88 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02733C8C */ return;
|
|
L_02733C90: ; // 0x2733c90
|
|
/* 02733C90 */ Gambit_fn_02989118(cpu);
|
|
/* 02733C94 */ cpu->r[27] = cpu->r[3];
|
|
/* 02733C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02733C98 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733C98 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02733C98 */ if (_t20) goto L_02733D10; else goto L_02733C9C;
|
|
L_02733C9C: ; // 0x2733c9c
|
|
/* 02733C9C */ _t21 = cpu->r[29] + 0x00000284u;
|
|
/* 02733C9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02733CA0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02733CA4 */ Gambit_fn_028300A4(cpu);
|
|
/* 02733CA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02733CAC */ cpu->r[26] = 0x00000003u;
|
|
/* 02733CB0 */ cpu->r[28] = cpu->r[31];
|
|
L_02733CB4: ; // 0x2733cb4
|
|
/* 02733CB4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02733CB8 */ Gambit_fn_02830138(cpu);
|
|
/* 02733CBC */ cpu->r[30] = 0x0000000Au;
|
|
/* 02733CC0 */ /* nop */
|
|
/* 02733CC4 */ _t22 = cpu->r[29] + 0x0000026Cu;
|
|
/* 02733CC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733CC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02733CCC */ Gambit_fn_0206C638(cpu);
|
|
/* 02733CD0 */ _t23 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02733CD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02733CD4 */ _t24 = cpu->r[12] + cpu->r[28];
|
|
/* 02733CD4 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 02733CD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02733CDC */ Gambit_fn_02830138(cpu);
|
|
/* 02733CE0 */ /* nop */
|
|
/* 02733CE4 */ cpu->r[30] = cpu->r[31] + 0x00000003u;
|
|
/* 02733CE8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02733CEC */ _t25 = cpu->r[29] + 0x0000026Cu;
|
|
/* 02733CEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02733CF0 */ Gambit_fn_0206C638(cpu);
|
|
/* 02733CF4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02733CF8 */ _t26 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02733CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02733CFC */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733D00 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02733D04 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02733D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02733D08 */ _t27 = cpu->r[7] + cpu->r[0];
|
|
/* 02733D08 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02733D0C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733D0C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02733D0C */ if (_t29) goto L_02733D10; else goto L_02733CB4;
|
|
L_02733D10: ; // 0x2733d10
|
|
/* 02733D10 */ /* nop */
|
|
/* 02733D14 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02733D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02733D18 */ cpu->lr = cpu->r[0];
|
|
/* 02733D1C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02733D20 */ return;
|
|
}
|
|
|
|
// fn_02733D24 @ 0x2733d24
|
|
void Gambit_fn_02733D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02733D24: ; // 0x2733d24
|
|
/* 02733D24 */ cpu->r[0] = cpu->lr;
|
|
/* 02733D28 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02733D28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733D28 */ cpu->r[1] = _t0;
|
|
/* 02733D2C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02733D2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02733D30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02733D34 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02733D38 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02733D38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02733D3C */ Gambit_fn_02732294(cpu);
|
|
/* 02733D40 */ _t4 = cpu->r[3] + 0x000000A4u;
|
|
/* 02733D40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02733D44 */ _t5 = cpu->r[3] + 0x00000030u;
|
|
/* 02733D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733D48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02733D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02733D50 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D50 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02733D50 */ if (_t7) goto L_02733D54; else goto L_02733E1C;
|
|
L_02733D54: ; // 0x2733d54
|
|
/* 02733D54 */ _t8 = cpu->r[3] + 0x00000034u;
|
|
/* 02733D54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02733D58 */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 02733D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733D5C */ cpu->r[12] = 0x00000000u;
|
|
L_02733D60: ; // 0x2733d60
|
|
/* 02733D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02733D64 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02733D64 */ if (_t11) goto L_02733D68; else goto L_02733D7C;
|
|
L_02733D68: ; // 0x2733d68
|
|
/* 02733D68 */ _t12 = cpu->r[5] + cpu->r[12];
|
|
/* 02733D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02733D6C */ /* nop */
|
|
/* 02733D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02733D74 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733D74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02733D74 */ if (_t14) goto L_02733DB4; else goto L_02733D78;
|
|
L_02733D78: ; // 0x2733d78
|
|
/* 02733D78 */ goto L_02733D8C;
|
|
L_02733D7C: ; // 0x2733d7c
|
|
/* 02733D7C */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02733D7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02733D80 */ /* nop */
|
|
/* 02733D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02733D88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733D88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02733D88 */ if (_t17) goto L_02733DB4; else goto L_02733D8C;
|
|
L_02733D8C: ; // 0x2733d8c
|
|
/* 02733D8C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02733D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02733D94 */ cpu->r[12] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02733D98 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D98 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02733D98 */ if (_t19) goto L_02733D60; else goto L_02733D9C;
|
|
L_02733D9C: ; // 0x2733d9c
|
|
/* 02733D9C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02733D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02733DA0 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02733DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02733DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02733DA8 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733DAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02733DB0 */ return;
|
|
L_02733DB4: ; // 0x2733db4
|
|
/* 02733DB4 */ Gambit_fn_02989118(cpu);
|
|
/* 02733DB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02733DBC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733DBC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02733DBC */ if (_t24) goto L_02733E1C; else goto L_02733DC0;
|
|
L_02733DC0: ; // 0x2733dc0
|
|
/* 02733DC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02733DC4 */ Gambit_fn_02830100(cpu);
|
|
/* 02733DC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733DCC */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 02733DD0 */ Gambit_fn_028024F4(cpu);
|
|
/* 02733DD4 */ cpu->r[0] = 0x00000008u;
|
|
/* 02733DD8 */ cpu->ctr = cpu->r[0];
|
|
/* 02733DDC */ cpu->r[12] = 0x00000000u;
|
|
L_02733DE0: ; // 0x2733de0
|
|
/* 02733DE0 */ _t25 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02733DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02733DE4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[12] / (int32_t)cpu->r[0]);
|
|
/* 02733DE8 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[0]);
|
|
/* 02733DEC */ cpu->r[9] = cpu->r[12] - cpu->r[6];
|
|
/* 02733DF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02733DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02733DF8 */ _t26 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02733DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02733DFC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733DFC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02733DFC */ if (_t28) goto L_02733E00; else goto L_02733E0C;
|
|
L_02733E00: ; // 0x2733e00
|
|
/* 02733E00 */ _t29 = cpu->r[30] + 0x00000294u;
|
|
/* 02733E00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02733E04 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733E08 */ _t30 = cpu->r[8] + cpu->r[10];
|
|
/* 02733E08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
L_02733E0C: ; // 0x2733e0c
|
|
/* 02733E0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733E10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02733E14 */ _t31 = cpu->r[11] + cpu->r[0];
|
|
/* 02733E14 */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02733E18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02733E18 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02733E18 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 02733E18 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02733E18 */ if (_t34) goto L_02733DE0; else goto L_02733E1C;
|
|
L_02733E1C: ; // 0x2733e1c
|
|
/* 02733E1C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02733E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02733E20 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02733E20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02733E24 */ cpu->lr = cpu->r[0];
|
|
/* 02733E28 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02733E2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02733E30 */ return;
|
|
}
|
|
|
|
// fn_02733D28 @ 0x2733d28
|
|
void Gambit_fn_02733D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02733D28: ; // 0x2733d28
|
|
/* 02733D28 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02733D28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733D28 */ cpu->r[1] = _t0;
|
|
/* 02733D2C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02733D2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02733D30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02733D34 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02733D38 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02733D38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02733D3C */ Gambit_fn_02732294(cpu);
|
|
/* 02733D40 */ _t4 = cpu->r[3] + 0x000000A4u;
|
|
/* 02733D40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02733D44 */ _t5 = cpu->r[3] + 0x00000030u;
|
|
/* 02733D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02733D48 */ cpu->r[4] = 0x00000000u;
|
|
/* 02733D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02733D50 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D50 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02733D50 */ if (_t7) goto L_02733D54; else goto L_02733E1C;
|
|
L_02733D54: ; // 0x2733d54
|
|
/* 02733D54 */ _t8 = cpu->r[3] + 0x00000034u;
|
|
/* 02733D54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02733D58 */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 02733D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02733D5C */ cpu->r[12] = 0x00000000u;
|
|
L_02733D60: ; // 0x2733d60
|
|
/* 02733D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02733D64 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02733D64 */ if (_t11) goto L_02733D68; else goto L_02733D7C;
|
|
L_02733D68: ; // 0x2733d68
|
|
/* 02733D68 */ _t12 = cpu->r[5] + cpu->r[12];
|
|
/* 02733D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02733D6C */ /* nop */
|
|
/* 02733D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02733D74 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733D74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02733D74 */ if (_t14) goto L_02733DB4; else goto L_02733D78;
|
|
L_02733D78: ; // 0x2733d78
|
|
/* 02733D78 */ goto L_02733D8C;
|
|
L_02733D7C: ; // 0x2733d7c
|
|
/* 02733D7C */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02733D7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02733D80 */ /* nop */
|
|
/* 02733D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02733D88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733D88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02733D88 */ if (_t17) goto L_02733DB4; else goto L_02733D8C;
|
|
L_02733D8C: ; // 0x2733d8c
|
|
/* 02733D8C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02733D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02733D94 */ cpu->r[12] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02733D98 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733D98 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02733D98 */ if (_t19) goto L_02733D60; else goto L_02733D9C;
|
|
L_02733D9C: ; // 0x2733d9c
|
|
/* 02733D9C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02733D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02733DA0 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02733DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02733DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02733DA8 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733DAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02733DB0 */ return;
|
|
L_02733DB4: ; // 0x2733db4
|
|
/* 02733DB4 */ Gambit_fn_02989118(cpu);
|
|
/* 02733DB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02733DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02733DBC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733DBC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02733DBC */ if (_t24) goto L_02733E1C; else goto L_02733DC0;
|
|
L_02733DC0: ; // 0x2733dc0
|
|
/* 02733DC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02733DC4 */ Gambit_fn_02830100(cpu);
|
|
/* 02733DC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02733DCC */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 02733DD0 */ Gambit_fn_028024F4(cpu);
|
|
/* 02733DD4 */ cpu->r[0] = 0x00000008u;
|
|
/* 02733DD8 */ cpu->ctr = cpu->r[0];
|
|
/* 02733DDC */ cpu->r[12] = 0x00000000u;
|
|
L_02733DE0: ; // 0x2733de0
|
|
/* 02733DE0 */ _t25 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02733DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02733DE4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[12] / (int32_t)cpu->r[0]);
|
|
/* 02733DE8 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[0]);
|
|
/* 02733DEC */ cpu->r[9] = cpu->r[12] - cpu->r[6];
|
|
/* 02733DF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02733DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02733DF8 */ _t26 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02733DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02733DFC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733DFC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02733DFC */ if (_t28) goto L_02733E00; else goto L_02733E0C;
|
|
L_02733E00: ; // 0x2733e00
|
|
/* 02733E00 */ _t29 = cpu->r[30] + 0x00000294u;
|
|
/* 02733E00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02733E04 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733E08 */ _t30 = cpu->r[8] + cpu->r[10];
|
|
/* 02733E08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
L_02733E0C: ; // 0x2733e0c
|
|
/* 02733E0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02733E10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02733E14 */ _t31 = cpu->r[11] + cpu->r[0];
|
|
/* 02733E14 */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02733E18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02733E18 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02733E18 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 02733E18 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02733E18 */ if (_t34) goto L_02733DE0; else goto L_02733E1C;
|
|
L_02733E1C: ; // 0x2733e1c
|
|
/* 02733E1C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02733E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02733E20 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02733E20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02733E24 */ cpu->lr = cpu->r[0];
|
|
/* 02733E28 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02733E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02733E2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02733E30 */ return;
|
|
}
|
|
|
|
// fn_02733E34 @ 0x2733e34
|
|
void Gambit_fn_02733E34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02733E34: ; // 0x2733e34
|
|
/* 02733E34 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02733E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02733E34 */ cpu->r[1] = _t0;
|
|
/* 02733E38 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02733E38 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02733E3C */ /* nop */
|
|
/* 02733E40 */ /* nop */
|
|
/* 02733E44 */ cpu->r[0] = cpu->lr;
|
|
/* 02733E48 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02733E48 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02733E4C */ /* nop */
|
|
/* 02733E50 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02733E50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02733E54 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02733E58 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 02733E58 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02733E5C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02733E60 */ _t5 = cpu->r[1] + 0x00000064u;
|
|
/* 02733E60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02733E64 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02733E68 */ /* nop */
|
|
/* 02733E6C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02733E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02733E70 */ cpu->r[8] = 0x43300000u;
|
|
/* 02733E74 */ _t7 = cpu->r[9] + 0x00006C58u;
|
|
/* 02733E74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02733E78 */ cpu->r[9] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02733E7C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02733E7C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02733E80 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733E80 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02733E84 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02733E84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02733E88 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 02733E8C */ cpu->f[10] = (double)(float)cpu->f[11];
|
|
/* 02733E90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 02733E94 */ cpu->f[31] = cpu->f[2];
|
|
/* 02733E98 */ cpu->r[28] = cpu->r[3];
|
|
/* 02733E9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733E9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02733E9C */ if (_t12) goto L_02733EB4; else goto L_02733EA0;
|
|
L_02733EA0: ; // 0x2733ea0
|
|
/* 02733EA0 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02733EA4 */ _t13 = cpu->r[6] + 0x00006B20u;
|
|
/* 02733EA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02733EA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02733EAC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733EAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02733EAC */ if (_t15) goto L_02733EB0; else goto L_02733EB4;
|
|
L_02733EB0: ; // 0x2733eb0
|
|
/* 02733EB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02733EB4: ; // 0x2733eb4
|
|
/* 02733EB4 */ /* nop */
|
|
/* 02733EB8 */ _t16 = cpu->r[28] + 0x00000288u;
|
|
/* 02733EB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02733EBC */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02733EC0 */ _t17 = cpu->r[11] + 0x00000008u;
|
|
/* 02733EC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02733EC4 */ cpu->r[0] = cpu->r[9] + cpu->r[12];
|
|
/* 02733EC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02733ECC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu);
|
|
/* 02733ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02733ED4 */ cpu->r[29] = cpu->r[12] - cpu->r[5];
|
|
/* 02733ED8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02733ED8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02733ED8 */ if (_t19) goto L_02733EE4; else goto L_02733EDC;
|
|
L_02733EDC: ; // 0x2733edc
|
|
/* 02733EDC */ _t20 = cpu->r[11] + 0x00000010u;
|
|
/* 02733EDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02733EE0 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02733EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
L_02733EE4: ; // 0x2733ee4
|
|
/* 02733EE4 */ _t22 = cpu->r[11] + 0x00000008u;
|
|
/* 02733EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02733EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02733EEC */ cpu->r[31] = 0x00000000u;
|
|
/* 02733EF0 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02733EF0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02733EF0 */ if (_t24) goto L_02733EF4; else goto L_02733EFC;
|
|
L_02733EF4: ; // 0x2733ef4
|
|
/* 02733EF4 */ _t25 = cpu->r[11] + 0x00000010u;
|
|
/* 02733EF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02733EF8 */ _t26 = cpu->r[11] + 0x00000004u;
|
|
/* 02733EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
L_02733EFC: ; // 0x2733efc
|
|
/* 02733EFC */ cpu->r[11] = 0x100F0000u;
|
|
/* 02733F00 */ cpu->r[26] = 0x100F0000u;
|
|
/* 02733F04 */ cpu->r[27] = 0x100F0000u;
|
|
/* 02733F08 */ _t27 = cpu->r[11] + 0x00006C60u;
|
|
/* 02733F08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02733F0C */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02733F10 */ cpu->r[7] = cpu->r[29] ^ 0x80000000u;
|
|
/* 02733F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Cu);
|
|
/* 02733F18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02733F1C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733F1C */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 02733F20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02733F24 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02733F24 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02733F24 */ if (_t30) goto L_02733F28; else goto L_02734078;
|
|
L_02733F28: ; // 0x2733f28
|
|
/* 02733F28 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02733F2C */ cpu->r[25] = 0x43300000u;
|
|
/* 02733F30 */ _t31 = cpu->r[10] + 0x00006C58u;
|
|
/* 02733F30 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02733F34 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02733F34 */ rbrew_write32(cpu->mem, _t32, cpu->r[25]);
|
|
/* 02733F38 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02733F38 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 02733F3C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733F3C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02733F40 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02733F40 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 02733F44 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02733F48 */ cpu->f[12] = cpu->f[8] - cpu->f[11];
|
|
/* 02733F4C */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02733F50 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02733F54 */ cpu->f[12] = cpu->f[1] - cpu->f[0];
|
|
/* 02733F58 */ cpu->f[0] = cpu->f[11] + cpu->f[12];
|
|
/* 02733F5C */ cpu->r[5] = cpu->r[26] + 0x00006C68u;
|
|
/* 02733F60 */ cpu->f[30] = cpu->f[0] * cpu->f[13];
|
|
/* 02733F64 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02733F68 */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 02733F68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02733F6C */ _t37 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02733F6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02733F70 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02733F70 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02733F74 */ _t39 = cpu->r[5] + 0x000000A4u;
|
|
/* 02733F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02733F78 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02733F7C */ Gambit_fn_0298415C(cpu);
|
|
/* 02733F80 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02733F84 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02733F84 */ rbrew_write32(cpu->mem, _t40, cpu->r[25]);
|
|
/* 02733F88 */ cpu->r[12] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02733F8C */ _t41 = cpu->r[9] + 0x00006C58u;
|
|
/* 02733F8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02733F90 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733F90 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02733F94 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02733F94 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02733F98 */ cpu->f[11] = cpu->f[10] - cpu->f[13];
|
|
/* 02733F9C */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02733FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02733FA4 */ _t44 = cpu->r[30] + 0x00000004u;
|
|
/* 02733FA4 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[8]);
|
|
/* 02733FA8 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02733FAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02733FB0 */ cpu->r[5] = cpu->r[26] + 0x00006C68u;
|
|
/* 02733FB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02733FB8 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02733FBC */ _t45 = cpu->r[30] + 0x00000000u;
|
|
/* 02733FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02733FC0 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02733FC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02733FC4 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02733FC4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02733FC8 */ _t48 = cpu->r[11] + 0x000000A4u;
|
|
/* 02733FC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02733FCC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02733FD0 */ Gambit_fn_0298415C(cpu);
|
|
/* 02733FD4 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02733FD8 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02733FD8 */ rbrew_write32(cpu->mem, _t49, cpu->r[25]);
|
|
/* 02733FDC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02733FE0 */ _t50 = cpu->r[8] + 0x00006C58u;
|
|
/* 02733FE0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02733FE4 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02733FE4 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02733FE8 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02733FE8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02733FEC */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02733FF0 */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 02733FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02733FF8 */ _t53 = cpu->r[31] + 0x00000004u;
|
|
/* 02733FF8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[9]);
|
|
/* 02733FFC */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734000 */ cpu->r[4] = 0x00000003u;
|
|
/* 02734004 */ cpu->r[3] = cpu->r[30];
|
|
/* 02734008 */ cpu->r[5] = cpu->r[27] + 0x00006C78u;
|
|
/* 0273400C */ Gambit_fn_027C63C4(cpu);
|
|
/* 02734010 */ _t54 = cpu->r[30] + 0x00000004u;
|
|
/* 02734010 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[30]);
|
|
/* 02734014 */ cpu->r[3] = cpu->r[30];
|
|
/* 02734018 */ _t55 = cpu->r[30] + 0x00000008u;
|
|
/* 02734018 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[31]);
|
|
/* 0273401C */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734020 */ cpu->r[4] = 0x00000002u;
|
|
/* 02734024 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734028 */ cpu->r[5] = cpu->r[27] + 0x00006C78u;
|
|
/* 0273402C */ Gambit_fn_027C63C4(cpu);
|
|
/* 02734030 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02734030 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[30]);
|
|
/* 02734034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734038 */ _t57 = cpu->r[31] + 0x00000008u;
|
|
/* 02734038 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[31]);
|
|
/* 0273403C */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734040 */ /* nop */
|
|
/* 02734044 */ cpu->r[4] = cpu->r[0];
|
|
/* 02734048 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273404C */ Gambit_fn_02733C08(cpu);
|
|
/* 02734050 */ /* nop */
|
|
/* 02734054 */ _t58 = cpu->r[1] + 0x00000048u;
|
|
/* 02734054 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02734058 */ _t59 = cpu->r[1] + 0x00000058u;
|
|
/* 02734058 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0273405C */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 0273405C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02734060 */ _t61 = cpu->r[1] + 0x00000050u;
|
|
/* 02734060 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02734064 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02734064 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02734064 */ if (_t63) goto L_02734068; // else: addr-0 trap, fall-through
|
|
L_02734068: ; // 0x2734068
|
|
/* 02734068 */ _t64 = cpu->r[1] + 0x00000064u;
|
|
/* 02734068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0273406C */ cpu->lr = cpu->r[0];
|
|
/* 02734070 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02734074 */ return;
|
|
L_02734078: ; // 0x2734078
|
|
/* 02734078 */ cpu->r[25] = 0x100F0000u;
|
|
/* 0273407C */ _t65 = cpu->r[25] + 0x00006C58u;
|
|
/* 0273407C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02734080 */ cpu->r[29] = 0x43300000u;
|
|
/* 02734084 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02734084 */ rbrew_write32(cpu->mem, _t66, cpu->r[29]);
|
|
/* 02734088 */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02734088 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 0273408C */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273408C */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02734090 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 02734090 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02734094 */ cpu->f[11] = cpu->f[9] - cpu->f[12];
|
|
/* 02734098 */ cpu->f[10] = cpu->f[8] - cpu->f[12];
|
|
/* 0273409C */ cpu->r[5] = 0x100F0000u;
|
|
/* 027340A0 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 027340A4 */ _t70 = cpu->r[5] + 0x00006C64u;
|
|
/* 027340A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027340A8 */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 027340AC */ cpu->f[0] = cpu->f[0] - cpu->f[9];
|
|
/* 027340B0 */ cpu->f[11] = cpu->f[1] - cpu->f[8];
|
|
/* 027340B4 */ cpu->f[12] = cpu->f[0] + cpu->f[11];
|
|
/* 027340B8 */ cpu->r[5] = cpu->r[27] + 0x00006C78u;
|
|
/* 027340BC */ cpu->f[30] = cpu->f[12] * cpu->f[13];
|
|
/* 027340C0 */ Gambit_fn_027C63C4(cpu);
|
|
/* 027340C4 */ _t71 = cpu->r[30] + 0x00000000u;
|
|
/* 027340C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027340C8 */ _t72 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027340C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027340CC */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 027340CC */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 027340D0 */ _t74 = cpu->r[8] + 0x000000A4u;
|
|
/* 027340D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027340D4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 027340D8 */ Gambit_fn_0298415C(cpu);
|
|
/* 027340DC */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 027340DC */ rbrew_write32(cpu->mem, _t75, cpu->r[29]);
|
|
/* 027340E0 */ cpu->r[6] = cpu->r[3] ^ 0x80000000u;
|
|
/* 027340E4 */ _t76 = cpu->r[25] + 0x00006C58u;
|
|
/* 027340E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 027340E8 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027340E8 */ rbrew_write32(cpu->mem, _t77, cpu->r[6]);
|
|
/* 027340EC */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 027340EC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 027340F0 */ cpu->f[10] = cpu->f[9] - cpu->f[8];
|
|
/* 027340F4 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 027340F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027340FC */ _t79 = cpu->r[30] + 0x00000004u;
|
|
/* 027340FC */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
|
|
/* 02734100 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734104 */ cpu->r[4] = 0x00000002u;
|
|
/* 02734108 */ cpu->r[5] = cpu->r[27] + 0x00006C78u;
|
|
/* 0273410C */ cpu->r[3] = cpu->r[31];
|
|
/* 02734110 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02734114 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 02734114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02734118 */ _t81 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02734118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0273411C */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273411C */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02734120 */ _t83 = cpu->r[12] + 0x000000A4u;
|
|
/* 02734120 */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02734124 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734128 */ Gambit_fn_0298415C(cpu);
|
|
/* 0273412C */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0273412C */ rbrew_write32(cpu->mem, _t84, cpu->r[29]);
|
|
/* 02734130 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02734134 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02734138 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734138 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 0273413C */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 0273413C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 02734140 */ _t87 = cpu->r[9] + 0x00006C58u;
|
|
/* 02734140 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 02734144 */ cpu->f[8] = cpu->f[13] - cpu->f[0];
|
|
/* 02734148 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 0273414C */ cpu->r[3] = cpu->r[31];
|
|
/* 02734150 */ _t88 = cpu->r[31] + 0x00000004u;
|
|
/* 02734150 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[8]);
|
|
/* 02734154 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734158 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273415C */ cpu->r[5] = cpu->r[26] + 0x00006C68u;
|
|
/* 02734160 */ cpu->r[4] = 0x00000003u;
|
|
/* 02734164 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02734168 */ _t89 = cpu->r[30] + 0x00000004u;
|
|
/* 02734168 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[30]);
|
|
/* 0273416C */ cpu->r[3] = cpu->r[30];
|
|
/* 02734170 */ _t90 = cpu->r[30] + 0x00000008u;
|
|
/* 02734170 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[31]);
|
|
/* 02734174 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734178 */ cpu->r[5] = cpu->r[26] + 0x00006C68u;
|
|
/* 0273417C */ cpu->r[3] = cpu->r[31];
|
|
/* 02734180 */ cpu->r[4] = 0x00000002u;
|
|
/* 02734184 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02734188 */ _t91 = cpu->r[31] + 0x00000004u;
|
|
/* 02734188 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[30]);
|
|
/* 0273418C */ cpu->r[3] = cpu->r[31];
|
|
/* 02734190 */ _t92 = cpu->r[31] + 0x00000008u;
|
|
/* 02734190 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02734194 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02734198 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273419C */ Gambit_fn_02733D24(cpu);
|
|
/* 027341A0 */ /* nop */
|
|
/* 027341A4 */ _t93 = cpu->r[1] + 0x00000048u;
|
|
/* 027341A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 027341A8 */ _t94 = cpu->r[1] + 0x00000058u;
|
|
/* 027341A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027341AC */ _t95 = cpu->r[1] + 0x00000040u;
|
|
/* 027341AC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 027341B0 */ _t96 = cpu->r[1] + 0x00000050u;
|
|
/* 027341B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 027341B4 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027341B4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027341B4 */ if (_t98) goto L_027341B8; // else: addr-0 trap, fall-through
|
|
L_027341B8: ; // 0x27341b8
|
|
/* 027341B8 */ _t99 = cpu->r[1] + 0x00000064u;
|
|
/* 027341B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027341BC */ cpu->lr = cpu->r[0];
|
|
/* 027341C0 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 027341C4 */ return;
|
|
}
|
|
|
|
// fn_027341C8 @ 0x27341c8
|
|
void Gambit_fn_027341C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
|
|
|
|
L_027341C8: ; // 0x27341c8
|
|
/* 027341C8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027341C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027341C8 */ cpu->r[1] = _t0;
|
|
/* 027341CC */ /* nop */
|
|
/* 027341D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027341D4 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 027341D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027341D8 */ cpu->r[0] = 0x0000000Au;
|
|
/* 027341DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027341DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027341E0 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027341E4 */ _t3 = cpu->r[9] + 0x00006A30u;
|
|
/* 027341E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027341E8 */ cpu->r[10] = 0x00000004u;
|
|
/* 027341EC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027341F0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027341F4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027341F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027341F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027341FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027341FC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02734200 */ Gambit_fn_02791888(cpu);
|
|
/* 02734204 */ _t6 = cpu->r[30] + 0x00000230u;
|
|
/* 02734204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02734208 */ _t7 = cpu->r[30] + 0x0000024Cu;
|
|
/* 02734208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273420C */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 02734210 */ _t8 = cpu->r[30] + 0x00000230u;
|
|
/* 02734210 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02734214 */ cpu->r[27] = 0x00000001u;
|
|
/* 02734218 */ _t9 = cpu->r[12] + 0x000002DCu;
|
|
/* 02734218 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[27]);
|
|
/* 0273421C */ _t10 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0273421C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734220 */ _t11 = cpu->r[30] + 0x00000254u;
|
|
/* 02734220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02734224 */ cpu->r[4] = cpu->r[7] + 0x00000250u;
|
|
/* 02734228 */ Gambit_fn_02800EE4(cpu);
|
|
/* 0273422C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02734230 */ _t12 = cpu->r[31] + 0xFFFF8744u;
|
|
/* 02734230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02734234 */ cpu->r[28] = cpu->r[30] + 0x00000104u;
|
|
/* 02734238 */ _t13 = cpu->r[28] + cpu->r[0];
|
|
/* 02734238 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0273423C */ _t14 = cpu->r[30] + 0x00000030u;
|
|
/* 0273423C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02734240 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734244 */ _t15 = cpu->r[8] + cpu->r[0];
|
|
/* 02734244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02734248 */ _t16 = cpu->r[30] + 0x00000254u;
|
|
/* 02734248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273424C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 0273424C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02734250 */ cpu->r[29] = 0x100F0000u;
|
|
/* 02734254 */ cpu->r[29] = cpu->r[29] + 0x00006A70u;
|
|
/* 02734258 */ cpu->r[10] = 0x100F0000u;
|
|
/* 0273425C */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 0273425C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02734260 */ cpu->r[10] = cpu->r[10] + 0x00006CA4u;
|
|
/* 02734264 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02734264 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02734268 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734268 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0273426C */ _t21 = cpu->r[9] + 0x00000008u;
|
|
/* 0273426C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02734270 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734274 */ cpu->r[5] = 0x00000000u;
|
|
/* 02734278 */ Gambit_fn_02800960(cpu);
|
|
/* 0273427C */ cpu->r[3] = 0x00000000u;
|
|
/* 02734280 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 02734284 */ cpu->r[7] = cpu->r[3];
|
|
/* 02734288 */ _t22 = cpu->r[30] + 0x00000250u;
|
|
/* 02734288 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273428C */ cpu->r[4] = cpu->r[7] + 0x0000048Cu;
|
|
/* 02734290 */ Gambit_fn_02800EE4(cpu);
|
|
/* 02734294 */ _t23 = cpu->r[30] + 0x00000250u;
|
|
/* 02734294 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02734298 */ cpu->r[7] = 0x00010000u;
|
|
/* 0273429C */ cpu->r[7] = cpu->r[7] + 0x00000205u;
|
|
/* 027342A0 */ _t24 = cpu->r[9] + 0x00000364u;
|
|
/* 027342A0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[27]);
|
|
/* 027342A4 */ _t25 = cpu->r[9] + 0x00000368u;
|
|
/* 027342A4 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 027342A8 */ _t26 = cpu->r[31] + 0xFFFF8744u;
|
|
/* 027342A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027342AC */ _t27 = cpu->r[28] + cpu->r[8];
|
|
/* 027342AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 027342B0 */ _t28 = cpu->r[30] + 0x00000030u;
|
|
/* 027342B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027342B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027342B8 */ _t29 = cpu->r[9] + cpu->r[0];
|
|
/* 027342B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027342BC */ cpu->r[0] = 0x100F0000u;
|
|
/* 027342C0 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 027342C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027342C4 */ _t31 = cpu->r[30] + 0x00000250u;
|
|
/* 027342C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027342C8 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 027342C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027342CC */ cpu->r[0] = cpu->r[0] + 0x00006C94u;
|
|
/* 027342D0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027342D0 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 027342D4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027342D8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027342D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027342DC */ _t35 = cpu->r[9] + 0x00000008u;
|
|
/* 027342DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027342E0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027342E4 */ Gambit_fn_02800960(cpu);
|
|
/* 027342E8 */ _t36 = cpu->r[30] + 0x00000288u;
|
|
/* 027342E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027342EC */ Gambit_fn_0239859C(cpu);
|
|
/* 027342F0 */ cpu->r[12] = 0x88890000u;
|
|
/* 027342F4 */ _t37 = cpu->r[30] + 0x00000298u;
|
|
/* 027342F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027342F8 */ cpu->r[12] = cpu->r[12] + 0xFFFF8889u;
|
|
/* 027342FC */ /* nop */
|
|
/* 02734300 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02734304 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Eu);
|
|
/* 02734308 */ cpu->r[10] = cpu->r[0] - cpu->r[11];
|
|
/* 02734308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273430C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273430C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273430C */ if (_t39) goto L_02734310; else goto L_0273434C;
|
|
L_02734310: ; // 0x2734310
|
|
/* 02734310 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02734314 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734314 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02734318 */ cpu->r[7] = 0x43300000u;
|
|
/* 0273431C */ _t41 = cpu->r[8] + 0x00006C88u;
|
|
/* 0273431C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02734320 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02734320 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02734324 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02734324 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02734328 */ cpu->r[7] = 0x100F0000u;
|
|
/* 0273432C */ cpu->f[13] = cpu->f[0] - cpu->f[13];
|
|
/* 02734330 */ _t44 = cpu->r[7] + 0x00006C60u;
|
|
/* 02734330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02734334 */ cpu->f[13] = (double)(float)cpu->f[13];
|
|
/* 02734338 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273433C */ cpu->f[1] = cpu->f[13] / cpu->f[0];
|
|
/* 02734340 */ _t45 = cpu->r[11] + 0x00006C90u;
|
|
/* 02734340 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02734344 */ cpu->r[3] = cpu->r[30];
|
|
/* 02734348 */ Gambit_fn_02733E34(cpu);
|
|
L_0273434C: ; // 0x273434c
|
|
/* 0273434C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02734350 */ _t46 = cpu->r[3] + 0x000036F8u;
|
|
/* 02734350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02734354 */ Gambit_fn_020F9600(cpu);
|
|
/* 02734358 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273435C */ Gambit_fn_02733BDC(cpu);
|
|
/* 02734360 */ _t47 = cpu->r[30] + 0x00000248u;
|
|
/* 02734360 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02734364 */ cpu->r[3] = cpu->r[9] + 0x00004AC0u;
|
|
/* 02734368 */ Gambit_fn_0265E898(cpu);
|
|
/* 0273436C */ _t48 = cpu->r[30] + 0x00000274u;
|
|
/* 0273436C */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02734370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02734374 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02734378 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02734378 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02734378 */ if (_t50) goto L_0273444C; else goto L_0273437C;
|
|
L_0273437C: ; // 0x273437c
|
|
/* 0273437C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273437C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273437C */ if (_t52) goto L_02734380; else goto L_02734430;
|
|
L_02734380: ; // 0x2734380
|
|
/* 02734380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02734384 */ cpu->r[3] = 0x00000000u;
|
|
/* 02734388 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734388 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02734388 */ if (_t54) goto L_02734394; else goto L_0273438C;
|
|
L_0273438C: ; // 0x273438c
|
|
/* 0273438C */ _t55 = cpu->r[30] + 0x0000027Cu;
|
|
/* 0273438C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02734390 */ _t56 = cpu->r[10] + 0x00000000u;
|
|
/* 02734390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
L_02734394: ; // 0x2734394
|
|
/* 02734394 */ Gambit_fn_02101A2C(cpu);
|
|
/* 02734398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273439C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273439C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273439C */ if (_t58) goto L_02734424; else goto L_027343A0;
|
|
L_027343A0: ; // 0x27343a0
|
|
/* 027343A0 */ _t59 = cpu->r[30] + 0x00000274u;
|
|
/* 027343A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027343A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027343A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027343AC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027343AC */ _t61 = _t60 & 0x00000001u;
|
|
/* 027343AC */ if (_t61) goto L_027343B8; else goto L_027343B0;
|
|
L_027343B0: ; // 0x27343b0
|
|
/* 027343B0 */ _t62 = cpu->r[30] + 0x0000027Cu;
|
|
/* 027343B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027343B4 */ _t63 = cpu->r[12] + 0x00000000u;
|
|
/* 027343B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
L_027343B8: ; // 0x27343b8
|
|
/* 027343B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027343BC */ Gambit_fn_02101A24(cpu);
|
|
/* 027343C0 */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 027343C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027343C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027343C8 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027343C8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 027343C8 */ if (_t66) goto L_027343CC; else goto L_02734414;
|
|
L_027343CC: ; // 0x27343cc
|
|
/* 027343CC */ cpu->r[0] = 0x00000000u;
|
|
/* 027343D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027343D4 */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 027343D4 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027343D8 */ Gambit_fn_02101A24(cpu);
|
|
/* 027343DC */ cpu->r[4] = cpu->r[3];
|
|
/* 027343E0 */ _t68 = cpu->r[29] + 0x00003700u;
|
|
/* 027343E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027343E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027343E8 */ cpu->r[6] = 0x00000003u;
|
|
/* 027343EC */ Gambit_fn_020FC0C0(cpu);
|
|
/* 027343F0 */ cpu->r[11] = 0x00000001u;
|
|
/* 027343F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027343F8 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 027343F8 */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 027343FC */ Gambit_fn_02101A24(cpu);
|
|
/* 02734400 */ cpu->r[4] = cpu->r[3];
|
|
/* 02734404 */ _t70 = cpu->r[29] + 0x00003700u;
|
|
/* 02734404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02734408 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0273440C */ cpu->r[6] = 0x00000003u;
|
|
/* 02734410 */ Gambit_fn_020FC0C0(cpu);
|
|
L_02734414: ; // 0x2734414
|
|
/* 02734414 */ cpu->r[5] = 0x00000001u;
|
|
/* 02734418 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273441C */ cpu->r[3] = cpu->r[30] + 0x00000274u;
|
|
/* 02734420 */ Gambit_fn_0280246C(cpu);
|
|
L_02734424: ; // 0x2734424
|
|
/* 02734424 */ _t71 = cpu->r[30] + 0x00000274u;
|
|
/* 02734424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02734428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273442C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273442C */ _t73 = _t72 & 0x00000001u;
|
|
/* 0273442C */ if (_t73) goto L_02734430; else goto L_0273444C;
|
|
L_02734430: ; // 0x2734430
|
|
/* 02734430 */ _t74 = cpu->r[30] + 0x00000280u;
|
|
/* 02734430 */ cpu->r[12] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02734434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734438 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734438 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02734438 */ if (_t76) goto L_0273443C; else goto L_0273444C;
|
|
L_0273443C: ; // 0x273443c
|
|
/* 0273443C */ cpu->r[0] = 0x00000001u;
|
|
/* 02734440 */ _t77 = cpu->r[30] + 0x00000280u;
|
|
/* 02734440 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[0]);
|
|
/* 02734444 */ _t78 = cpu->r[29] + 0x00003700u;
|
|
/* 02734444 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02734448 */ _t79 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02734448 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[0]);
|
|
L_0273444C: ; // 0x273444c
|
|
/* 0273444C */ _t80 = cpu->r[30] + 0x00000298u;
|
|
/* 0273444C */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02734450 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02734454 */ _t81 = cpu->r[30] + 0x00000298u;
|
|
/* 02734454 */ rbrew_write32(cpu->mem, _t81, cpu->r[11]);
|
|
/* 02734458 */ /* nop */
|
|
/* 0273445C */ _t82 = cpu->r[1] + 0x00000044u;
|
|
/* 0273445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02734460 */ cpu->lr = cpu->r[0];
|
|
/* 02734464 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02734468 */ return;
|
|
}
|
|
|
|
// fn_0273446C @ 0x273446c
|
|
void Gambit_fn_0273446C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0273446C: ; // 0x273446c
|
|
/* 0273446C */ cpu->r[0] = cpu->lr;
|
|
/* 02734470 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734470 */ cpu->r[1] = _t0;
|
|
/* 02734474 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734478 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273447C */ cpu->r[9] = 0x0000000Bu;
|
|
/* 02734480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734480 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02734484 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734488 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273448C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273448C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734490 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734494 */ _t4 = cpu->r[11] + 0x00006A38u;
|
|
/* 02734494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734498 */ cpu->r[6] = cpu->r[4];
|
|
/* 0273449C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273449C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027344A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027344A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027344A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 027344A8 */ Gambit_fn_027919C4(cpu);
|
|
/* 027344AC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027344AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027344B0 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 027344B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027344B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027344B8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027344B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027344BC */ cpu->lr = cpu->r[0];
|
|
/* 027344C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027344C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027344C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027344C8 */ return;
|
|
}
|
|
|
|
// fn_02734470 @ 0x2734470
|
|
void Gambit_fn_02734470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734470: ; // 0x2734470
|
|
/* 02734470 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734470 */ cpu->r[1] = _t0;
|
|
/* 02734474 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734478 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273447C */ cpu->r[9] = 0x0000000Bu;
|
|
/* 02734480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734480 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02734484 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734488 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273448C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273448C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734490 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734494 */ _t4 = cpu->r[11] + 0x00006A38u;
|
|
/* 02734494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734498 */ cpu->r[6] = cpu->r[4];
|
|
/* 0273449C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273449C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027344A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027344A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027344A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 027344A8 */ Gambit_fn_027919C4(cpu);
|
|
/* 027344AC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027344AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027344B0 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 027344B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027344B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027344B8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027344B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027344BC */ cpu->lr = cpu->r[0];
|
|
/* 027344C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027344C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027344C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027344C8 */ return;
|
|
}
|
|
|
|
// fn_027344CC @ 0x27344cc
|
|
void Gambit_fn_027344CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_027344CC: ; // 0x27344cc
|
|
/* 027344CC */ cpu->r[10] = 0x101F0000u;
|
|
/* 027344D0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027344D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027344D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027344D4 */ cpu->r[1] = _t0;
|
|
/* 027344D8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027344DC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027344E0 */ _t1 = cpu->r[10] + 0x00000504u;
|
|
/* 027344E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027344E0 */ cpu->r[10] = _t1;
|
|
/* 027344E4 */ cpu->r[6] = 0xFFFFFFFDu;
|
|
/* 027344E8 */ _t2 = cpu->r[11] + 0x000004FCu;
|
|
/* 027344E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027344E8 */ cpu->r[11] = _t2;
|
|
/* 027344EC */ cpu->r[8] = 0x101F0000u;
|
|
/* 027344F0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 027344F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 027344F4 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027344F8 */ _t4 = cpu->r[8] + 0x00000514u;
|
|
/* 027344F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027344F8 */ cpu->r[8] = _t4;
|
|
/* 027344FC */ cpu->r[9] = 0x100F0000u;
|
|
/* 02734500 */ _t5 = cpu->r[11] + 0x00006CBCu;
|
|
/* 02734500 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02734504 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734508 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273450C */ _t6 = cpu->r[9] + 0x00006B20u;
|
|
/* 0273450C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02734510 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02734514 */ _t7 = cpu->r[5] + 0x000004F4u;
|
|
/* 02734514 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02734514 */ cpu->r[5] = _t7;
|
|
/* 02734518 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0273451C */ _t8 = cpu->r[11] + 0x00006CB4u;
|
|
/* 0273451C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02734520 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734524 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02734524 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02734528 */ cpu->r[9] = cpu->r[9] + 0x00000528u;
|
|
/* 0273452C */ _t10 = cpu->r[11] + 0x00006C90u;
|
|
/* 0273452C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02734530 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02734530 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02734534 */ cpu->r[0] = 0x00000002u;
|
|
/* 02734538 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02734538 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0273453C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0273453C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02734540 */ _t14 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02734540 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02734544 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02734548 */ _t15 = cpu->r[7] + 0x0000050Cu;
|
|
/* 02734548 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02734548 */ cpu->r[7] = _t15;
|
|
/* 0273454C */ cpu->r[0] = 0x00000004u;
|
|
/* 02734550 */ _t16 = cpu->r[8] + 0x00000004u;
|
|
/* 02734550 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02734554 */ _t17 = cpu->r[10] + 0x00000524u;
|
|
/* 02734554 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02734558 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273455C */ _t18 = cpu->r[9] + 0x00000008u;
|
|
/* 0273455C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02734560 */ cpu->r[5] = cpu->r[5] + 0x00000548u;
|
|
/* 02734564 */ _t19 = cpu->r[9] + 0x00000004u;
|
|
/* 02734564 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02734568 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 02734568 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0273456C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02734570 */ _t21 = cpu->r[7] + 0x00000004u;
|
|
/* 02734570 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02734574 */ cpu->r[11] = cpu->r[11] + 0x00000538u;
|
|
/* 02734578 */ _t22 = cpu->r[5] + 0x00000008u;
|
|
/* 02734578 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 0273457C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02734580 */ _t23 = cpu->r[5] + 0x00000000u;
|
|
/* 02734580 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02734584 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02734588 */ _t24 = cpu->r[5] + 0x00000004u;
|
|
/* 02734588 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 0273458C */ cpu->r[6] = cpu->r[6] + 0x0000051Cu;
|
|
/* 02734590 */ _t25 = cpu->r[9] + 0x00006CB8u;
|
|
/* 02734590 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02734594 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734598 */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02734598 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0273459C */ cpu->r[0] = 0x100F0000u;
|
|
/* 027345A0 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 027345A0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 027345A4 */ cpu->r[0] = cpu->r[0] + 0x00006A70u;
|
|
/* 027345A8 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 027345A8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 027345AC */ cpu->r[5] = 0x100F0000u;
|
|
/* 027345B0 */ _t29 = cpu->r[11] + 0x00000008u;
|
|
/* 027345B0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 027345B4 */ cpu->r[5] = cpu->r[5] + 0x00006CC0u;
|
|
/* 027345B8 */ _t30 = cpu->r[6] + 0x00000004u;
|
|
/* 027345B8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027345BC */ _t31 = cpu->r[6] + 0x00000000u;
|
|
/* 027345BC */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 027345C0 */ return;
|
|
}
|
|
|
|
// fn_027344D4 @ 0x27344d4
|
|
void Gambit_fn_027344D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_027344D4: ; // 0x27344d4
|
|
/* 027344D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027344D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027344D4 */ cpu->r[1] = _t0;
|
|
/* 027344D8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027344DC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027344E0 */ _t1 = cpu->r[10] + 0x00000504u;
|
|
/* 027344E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027344E0 */ cpu->r[10] = _t1;
|
|
/* 027344E4 */ cpu->r[6] = 0xFFFFFFFDu;
|
|
/* 027344E8 */ _t2 = cpu->r[11] + 0x000004FCu;
|
|
/* 027344E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027344E8 */ cpu->r[11] = _t2;
|
|
/* 027344EC */ cpu->r[8] = 0x101F0000u;
|
|
/* 027344F0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 027344F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 027344F4 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027344F8 */ _t4 = cpu->r[8] + 0x00000514u;
|
|
/* 027344F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027344F8 */ cpu->r[8] = _t4;
|
|
/* 027344FC */ cpu->r[9] = 0x100F0000u;
|
|
/* 02734500 */ _t5 = cpu->r[11] + 0x00006CBCu;
|
|
/* 02734500 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02734504 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734508 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273450C */ _t6 = cpu->r[9] + 0x00006B20u;
|
|
/* 0273450C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02734510 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02734514 */ _t7 = cpu->r[5] + 0x000004F4u;
|
|
/* 02734514 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02734514 */ cpu->r[5] = _t7;
|
|
/* 02734518 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0273451C */ _t8 = cpu->r[11] + 0x00006CB4u;
|
|
/* 0273451C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02734520 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02734524 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02734524 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02734528 */ cpu->r[9] = cpu->r[9] + 0x00000528u;
|
|
/* 0273452C */ _t10 = cpu->r[11] + 0x00006C90u;
|
|
/* 0273452C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02734530 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02734530 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02734534 */ cpu->r[0] = 0x00000002u;
|
|
/* 02734538 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02734538 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0273453C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0273453C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02734540 */ _t14 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02734540 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02734544 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02734548 */ _t15 = cpu->r[7] + 0x0000050Cu;
|
|
/* 02734548 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02734548 */ cpu->r[7] = _t15;
|
|
/* 0273454C */ cpu->r[0] = 0x00000004u;
|
|
/* 02734550 */ _t16 = cpu->r[8] + 0x00000004u;
|
|
/* 02734550 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02734554 */ _t17 = cpu->r[10] + 0x00000524u;
|
|
/* 02734554 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02734558 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273455C */ _t18 = cpu->r[9] + 0x00000008u;
|
|
/* 0273455C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02734560 */ cpu->r[5] = cpu->r[5] + 0x00000548u;
|
|
/* 02734564 */ _t19 = cpu->r[9] + 0x00000004u;
|
|
/* 02734564 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02734568 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 02734568 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0273456C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02734570 */ _t21 = cpu->r[7] + 0x00000004u;
|
|
/* 02734570 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02734574 */ cpu->r[11] = cpu->r[11] + 0x00000538u;
|
|
/* 02734578 */ _t22 = cpu->r[5] + 0x00000008u;
|
|
/* 02734578 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 0273457C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02734580 */ _t23 = cpu->r[5] + 0x00000000u;
|
|
/* 02734580 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02734584 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02734588 */ _t24 = cpu->r[5] + 0x00000004u;
|
|
/* 02734588 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 0273458C */ cpu->r[6] = cpu->r[6] + 0x0000051Cu;
|
|
/* 02734590 */ _t25 = cpu->r[9] + 0x00006CB8u;
|
|
/* 02734590 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02734594 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734598 */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02734598 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0273459C */ cpu->r[0] = 0x100F0000u;
|
|
/* 027345A0 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 027345A0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 027345A4 */ cpu->r[0] = cpu->r[0] + 0x00006A70u;
|
|
/* 027345A8 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 027345A8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 027345AC */ cpu->r[5] = 0x100F0000u;
|
|
/* 027345B0 */ _t29 = cpu->r[11] + 0x00000008u;
|
|
/* 027345B0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 027345B4 */ cpu->r[5] = cpu->r[5] + 0x00006CC0u;
|
|
/* 027345B8 */ _t30 = cpu->r[6] + 0x00000004u;
|
|
/* 027345B8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027345BC */ _t31 = cpu->r[6] + 0x00000000u;
|
|
/* 027345BC */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 027345C0 */ return;
|
|
}
|
|
|
|
// fn_027345C4 @ 0x27345c4
|
|
void Gambit_fn_027345C4(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_027345C4: ; // 0x27345c4
|
|
/* 027345C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027345C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027345C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027345C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027345C8 */ goto L_027345CC;
|
|
L_027345CC: ; // 0x27345cc
|
|
/* 027345CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027345CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027345D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027345D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027345D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027345D0 */ goto L_027345D4;
|
|
L_027345D4: ; // 0x27345d4
|
|
/* 027345D4 */ 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_027345D8 @ 0x27345d8
|
|
void Gambit_fn_027345D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027345D8: ; // 0x27345d8
|
|
/* 027345D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027345DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027345DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027345DC */ cpu->r[1] = _t0;
|
|
/* 027345E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027345E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027345E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027345E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027345EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027345EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027345F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027345F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027345F0 */ if (_t4) goto L_027345F4; else goto L_02734604;
|
|
L_027345F4: ; // 0x27345f4
|
|
/* 027345F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027345F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027345FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734600 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734600 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02734600 */ if (_t6) goto L_02734614; else goto L_02734604;
|
|
L_02734604: ; // 0x2734604
|
|
/* 02734604 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02734608 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02734608 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0273460C */ cpu->r[0] = cpu->r[0] + 0x00006A70u;
|
|
/* 02734610 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02734610 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02734614: ; // 0x2734614
|
|
/* 02734614 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02734614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734618 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273461C */ cpu->lr = cpu->r[0];
|
|
/* 02734620 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734624 */ return;
|
|
}
|
|
|
|
// fn_027345DC @ 0x27345dc
|
|
void Gambit_fn_027345DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027345DC: ; // 0x27345dc
|
|
/* 027345DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027345DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027345DC */ cpu->r[1] = _t0;
|
|
/* 027345E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027345E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027345E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027345E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027345EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027345EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027345F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027345F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027345F0 */ if (_t4) goto L_027345F4; else goto L_02734604;
|
|
L_027345F4: ; // 0x27345f4
|
|
/* 027345F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027345F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027345FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734600 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734600 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02734600 */ if (_t6) goto L_02734614; else goto L_02734604;
|
|
L_02734604: ; // 0x2734604
|
|
/* 02734604 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02734608 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02734608 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0273460C */ cpu->r[0] = cpu->r[0] + 0x00006A70u;
|
|
/* 02734610 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02734610 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02734614: ; // 0x2734614
|
|
/* 02734614 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02734614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734618 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273461C */ cpu->lr = cpu->r[0];
|
|
/* 02734620 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734624 */ return;
|
|
}
|
|
|
|
// fn_02734628 @ 0x2734628
|
|
void Gambit_fn_02734628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02734628: ; // 0x2734628
|
|
/* 02734628 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02734628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734628 */ cpu->r[1] = _t0;
|
|
/* 0273462C */ /* nop */
|
|
/* 02734630 */ cpu->r[0] = cpu->lr;
|
|
/* 02734634 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02734634 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02734638 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02734638 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273463C */ _t3 = cpu->r[8] + 0x00000014u;
|
|
/* 0273463C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734640 */ cpu->ctr = cpu->r[9];
|
|
/* 02734644 */ cpu->r[27] = cpu->r[4];
|
|
/* 02734648 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273464C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02734650 */ cpu->r[31] = 0x10110000u;
|
|
/* 02734654 */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 02734654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734658 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 02734658 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0273465C */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 0273465C */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02734660 */ cpu->r[0] = 0x00080000u;
|
|
/* 02734664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02734668 */ cpu->r[29] = 0x00000000u;
|
|
/* 0273466C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273466C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0273466C */ if (_t8) goto L_02734694; else goto L_02734670;
|
|
L_02734670: ; // 0x2734670
|
|
/* 02734670 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02734674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02734678 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273467C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273467C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273467C */ if (_t10) goto L_02734690; else goto L_02734680;
|
|
L_02734680: ; // 0x2734680
|
|
/* 02734680 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02734680 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02734684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02734688 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734688 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02734688 */ if (_t13) goto L_0273468C; else goto L_02734670;
|
|
L_0273468C: ; // 0x273468c
|
|
/* 0273468C */ goto L_02734694;
|
|
L_02734690: ; // 0x2734690
|
|
/* 02734690 */ cpu->r[29] = 0x00000000u;
|
|
L_02734694: ; // 0x2734694
|
|
/* 02734694 */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 02734694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02734698 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 02734698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273469C */ cpu->ctr = cpu->r[0];
|
|
/* 027346A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027346A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027346A8 */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 027346A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027346AC */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 027346AC */ cpu->r[4] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027346B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027346B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027346B8 */ cpu->r[11] = 0x00080000u;
|
|
/* 027346BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027346BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027346BC */ if (_t19) goto L_027346E4; else goto L_027346C0;
|
|
L_027346C0: ; // 0x27346c0
|
|
/* 027346C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027346C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 027346C8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027346CC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027346CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027346CC */ if (_t21) goto L_027346E0; else goto L_027346D0;
|
|
L_027346D0: ; // 0x27346d0
|
|
/* 027346D0 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 027346D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027346D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027346D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027346D8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027346D8 */ if (_t24) goto L_027346DC; else goto L_027346C0;
|
|
L_027346DC: ; // 0x27346dc
|
|
/* 027346DC */ goto L_027346E4;
|
|
L_027346E0: ; // 0x27346e0
|
|
/* 027346E0 */ cpu->r[30] = 0x00000000u;
|
|
L_027346E4: ; // 0x27346e4
|
|
/* 027346E4 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 027346E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027346E8 */ cpu->r[28] = 0x00000000u;
|
|
/* 027346EC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027346EC */ _t26 = _t25 & 0x00000001u;
|
|
/* 027346EC */ if (_t26) goto L_027347B8; else goto L_027346F0;
|
|
L_027346F0: ; // 0x27346f0
|
|
/* 027346F0 */ cpu->r[24] = 0x100F0000u;
|
|
/* 027346F4 */ cpu->r[24] = cpu->r[24] + 0x00006A70u;
|
|
L_027346F8: ; // 0x27346f8
|
|
/* 027346F8 */ _t27 = cpu->r[26] + 0x00000000u;
|
|
/* 027346F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027346FC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027346FC */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
|
|
/* 02734700 */ cpu->r[6] = cpu->r[7] + cpu->r[28];
|
|
/* 02734704 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02734708 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02734708 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 0273470C */ Gambit_fn_027347D8(cpu);
|
|
/* 02734710 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734710 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02734714 */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 02734714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02734718 */ cpu->ctr = cpu->r[0];
|
|
/* 0273471C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02734720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02734724 */ _t32 = cpu->r[27] + 0x00000004u;
|
|
/* 02734724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02734728 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 02734728 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273472C */ cpu->ctr = cpu->r[5];
|
|
/* 02734730 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02734730 */ cpu->r[25] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02734734 */ cpu->r[3] = cpu->r[27];
|
|
/* 02734738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273473C */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 0273473C */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02734740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[6]);
|
|
/* 02734744 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734744 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02734744 */ if (_t37) goto L_0273479C; else goto L_02734748;
|
|
L_02734748: ; // 0x2734748
|
|
/* 02734748 */ cpu->r[0] = cpu->r[30];
|
|
/* 02734748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273474C */ cpu->r[7] = 0x00000000u;
|
|
/* 02734750 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02734750 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02734750 */ if (_t39) goto L_02734754; else goto L_0273479C;
|
|
L_02734754: ; // 0x2734754
|
|
/* 02734754 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02734754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02734758 */ cpu->ctr = cpu->r[0];
|
|
/* 0273475C */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 0273475C */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
L_02734760: ; // 0x2734760
|
|
/* 02734760 */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 02734760 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02734764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02734768 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734768 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02734768 */ if (_t44) goto L_0273476C; else goto L_0273477C;
|
|
L_0273476C: ; // 0x273476c
|
|
/* 0273476C */ _t45 = cpu->r[6] + cpu->r[7];
|
|
/* 0273476C */ cpu->r[7] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02734770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02734774 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734774 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02734774 */ if (_t47) goto L_02734778; else goto L_027347AC;
|
|
L_02734778: ; // 0x2734778
|
|
/* 02734778 */ goto L_0273479C;
|
|
L_0273477C: ; // 0x273477c
|
|
/* 0273477C */ _t48 = cpu->r[6] + cpu->r[7];
|
|
/* 0273477C */ cpu->r[4] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02734780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02734784 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734784 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02734784 */ if (_t50) goto L_027347AC; else goto L_02734788;
|
|
L_02734788: ; // 0x2734788
|
|
/* 02734788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273478C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273478C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273478C */ if (_t52) goto L_02734790; else goto L_027347AC;
|
|
L_02734790: ; // 0x2734790
|
|
/* 02734790 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02734794 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02734798 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02734798 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02734798 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02734798 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02734798 */ if (_t55) goto L_02734760; else goto L_0273479C;
|
|
L_0273479C: ; // 0x273479c
|
|
/* 0273479C */ _t56 = cpu->r[28] | cpu->r[28];
|
|
/* 0273479C */ cpu->r[8] = ~_t56;
|
|
/* 027347A0 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027347A4 */ cpu->r[3] = cpu->r[8] - cpu->r[10];
|
|
/* 027347A8 */ goto L_027347C4;
|
|
L_027347AC: ; // 0x27347ac
|
|
/* 027347AC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027347B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 027347B4 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027347B4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027347B4 */ if (_t58) goto L_027347B8; else goto L_027346F8;
|
|
L_027347B8: ; // 0x27347b8
|
|
/* 027347B8 */ cpu->r[8] = 0x00000000u;
|
|
/* 027347BC */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027347C0 */ cpu->r[3] = ~cpu->r[10];
|
|
L_027347C4: ; // 0x27347c4
|
|
/* 027347C4 */ /* nop */
|
|
/* 027347C8 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 027347C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027347CC */ cpu->lr = cpu->r[0];
|
|
/* 027347D0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027347D4 */ return;
|
|
}
|
|
|
|
// fn_027347D8 @ 0x27347d8
|
|
void Gambit_fn_027347D8(CPUState* cpu) {
|
|
L_027347D8: ; // 0x27347d8
|
|
/* 027347D8 */ return;
|
|
}
|
|
|
|
// fn_027347DC @ 0x27347dc
|
|
void Gambit_fn_027347DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027347DC: ; // 0x27347dc
|
|
/* 027347DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027347E0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027347E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027347E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027347E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027347E4 */ if (_t2) goto L_027347F4; else goto L_027347E8;
|
|
L_027347E8: ; // 0x27347e8
|
|
/* 027347E8 */ cpu->r[0] = cpu->r[12] | cpu->r[4];
|
|
/* 027347EC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027347EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027347F0 */ return;
|
|
L_027347F4: ; // 0x27347f4
|
|
/* 027347F4 */ _t4 = ~cpu->r[4];
|
|
/* 027347F4 */ cpu->r[0] = cpu->r[12] & _t4;
|
|
/* 027347F8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 027347F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027347FC */ return;
|
|
}
|
|
|
|
// fn_02734800 @ 0x2734800
|
|
void Gambit_fn_02734800(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02734800: ; // 0x2734800
|
|
/* 02734800 */ cpu->r[12] = 0x00000001u;
|
|
/* 02734804 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02734804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734808 */ /* nop */
|
|
/* 0273480C */ cpu->r[0] = cpu->r[0] | cpu->r[11];
|
|
/* 02734810 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02734810 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02734814 */ return;
|
|
}
|
|
|
|
// fn_02734818 @ 0x2734818
|
|
void Gambit_fn_02734818(CPUState* cpu) {
|
|
L_02734818: ; // 0x2734818
|
|
/* 02734818 */ return;
|
|
}
|
|
|
|
// fn_0273481C @ 0x273481c
|
|
void Gambit_fn_0273481C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273481C: ; // 0x273481c
|
|
/* 0273481C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0273481C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734820 */ cpu->r[12] = 0x00000000u;
|
|
/* 02734824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02734828 */ cpu->r[11] = cpu->r[3] + 0x00000024u;
|
|
/* 0273482C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273482C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0273482C */ if (_t2) goto L_02734834; else goto L_02734830;
|
|
L_02734830: ; // 0x2734830
|
|
/* 02734830 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
L_02734834: ; // 0x2734834
|
|
/* 02734834 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02734838 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 0273483C */ _t3 = cpu->r[12] + 0x00000020u;
|
|
/* 0273483C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734840 */ cpu->r[11] = cpu->r[12] + 0x00000020u;
|
|
/* 02734844 */ cpu->r[3] = 0x00000000u;
|
|
/* 02734848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273484C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273484C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273484C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273484C */ goto L_02734850;
|
|
L_02734850: ; // 0x2734850
|
|
/* 02734850 */ cpu->r[3] = cpu->r[11] + cpu->r[0];
|
|
/* 02734854 */ return;
|
|
}
|
|
|
|
// fn_02734858 @ 0x2734858
|
|
void Gambit_fn_02734858(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734858: ; // 0x2734858
|
|
/* 02734858 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02734858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273485C */ cpu->r[8] = 0x00000000u;
|
|
/* 02734860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734864 */ cpu->r[9] = cpu->r[3] + 0x00000024u;
|
|
/* 02734868 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734868 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734868 */ if (_t2) goto L_02734870; else goto L_0273486C;
|
|
L_0273486C: ; // 0x273486c
|
|
/* 0273486C */ cpu->r[8] = cpu->r[9] + cpu->r[12];
|
|
L_02734870: ; // 0x2734870
|
|
/* 02734870 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02734874 */ cpu->r[12] = cpu->r[8] + cpu->r[0];
|
|
/* 02734878 */ _t3 = cpu->r[12] + 0x00000024u;
|
|
/* 02734878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273487C */ cpu->r[10] = cpu->r[12] + 0x00000024u;
|
|
/* 02734880 */ cpu->r[3] = 0x00000000u;
|
|
/* 02734884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02734888 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734888 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734888 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734888 */ goto L_0273488C;
|
|
L_0273488C: ; // 0x273488c
|
|
/* 0273488C */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
/* 02734890 */ return;
|
|
}
|
|
|
|
// fn_02734894 @ 0x2734894
|
|
void Gambit_fn_02734894(CPUState* cpu) {
|
|
L_02734894: ; // 0x2734894
|
|
/* 02734894 */ return;
|
|
}
|
|
|
|
// fn_02734898 @ 0x2734898
|
|
void Gambit_fn_02734898(CPUState* cpu) {
|
|
L_02734898: ; // 0x2734898
|
|
/* 02734898 */ return;
|
|
}
|
|
|
|
// fn_0273489C @ 0x273489c
|
|
void Gambit_fn_0273489C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0273489C: ; // 0x273489c
|
|
/* 0273489C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0273489C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027348A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027348A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027348A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027348A4 */ if (_t2) goto L_027348B0; else goto L_027348A8;
|
|
L_027348A8: ; // 0x27348a8
|
|
/* 027348A8 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 027348AC */ return;
|
|
L_027348B0: ; // 0x27348b0
|
|
/* 027348B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027348B4 */ return;
|
|
}
|
|
|
|
// fn_027348B8 @ 0x27348b8
|
|
void Gambit_fn_027348B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027348B8: ; // 0x27348b8
|
|
/* 027348B8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027348B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027348BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027348C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027348C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027348C0 */ if (_t2) goto L_027348CC; else goto L_027348C4;
|
|
L_027348C4: ; // 0x27348c4
|
|
/* 027348C4 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 027348C8 */ return;
|
|
L_027348CC: ; // 0x27348cc
|
|
/* 027348CC */ cpu->r[3] = 0x00000000u;
|
|
/* 027348D0 */ return;
|
|
}
|
|
|
|
// fn_027348D4 @ 0x27348d4
|
|
void Gambit_fn_027348D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027348D4: ; // 0x27348d4
|
|
/* 027348D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027348D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027348D8 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 027348D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027348DC */ cpu->ctr = cpu->r[0];
|
|
/* 027348E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027348E4 @ 0x27348e4
|
|
void Gambit_fn_027348E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027348E4: ; // 0x27348e4
|
|
/* 027348E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027348E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027348E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027348E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027348EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027348EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027348EC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027348EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027348EC */ goto L_027348F0;
|
|
L_027348F0: ; // 0x27348f0
|
|
/* 027348F0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027348F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027348F4 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 027348F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027348F8 */ cpu->ctr = cpu->r[12];
|
|
/* 027348FC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734900 @ 0x2734900
|
|
void Gambit_fn_02734900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734900: ; // 0x2734900
|
|
/* 02734900 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02734900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734904 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02734904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734908 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734908 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734908 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02734908 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734908 */ goto L_0273490C;
|
|
L_0273490C: ; // 0x273490c
|
|
/* 0273490C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0273490C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734910 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02734910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734914 */ cpu->ctr = cpu->r[0];
|
|
/* 02734918 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273491C @ 0x273491c
|
|
void Gambit_fn_0273491C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273491C: ; // 0x273491c
|
|
/* 0273491C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273491C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734920 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02734920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734924 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734924 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734924 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02734924 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734924 */ goto L_02734928;
|
|
L_02734928: ; // 0x2734928
|
|
/* 02734928 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02734928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273492C */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 0273492C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734930 */ cpu->ctr = cpu->r[0];
|
|
/* 02734934 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734938 @ 0x2734938
|
|
void Gambit_fn_02734938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734938: ; // 0x2734938
|
|
/* 02734938 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02734938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273493C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734940 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734940 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734940 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02734940 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734940 */ goto L_02734944;
|
|
L_02734944: ; // 0x2734944
|
|
/* 02734944 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02734944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734948 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02734948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273494C */ cpu->ctr = cpu->r[0];
|
|
/* 02734950 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734954 @ 0x2734954
|
|
void Gambit_fn_02734954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734954: ; // 0x2734954
|
|
/* 02734954 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02734954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734958 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02734958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0273495C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273495C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0273495C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0273495C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273495C */ goto L_02734960;
|
|
L_02734960: ; // 0x2734960
|
|
/* 02734960 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02734960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734964 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02734964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734968 */ cpu->ctr = cpu->r[0];
|
|
/* 0273496C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734970 @ 0x2734970
|
|
void Gambit_fn_02734970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734970: ; // 0x2734970
|
|
/* 02734970 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02734970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734974 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02734974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734978 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734978 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734978 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02734978 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734978 */ goto L_0273497C;
|
|
L_0273497C: ; // 0x273497c
|
|
/* 0273497C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0273497C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734980 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02734980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734984 */ cpu->ctr = cpu->r[0];
|
|
/* 02734988 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273498C @ 0x273498c
|
|
void Gambit_fn_0273498C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273498C: ; // 0x273498c
|
|
/* 0273498C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734990 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02734990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02734994 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734994 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734994 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02734994 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734994 */ goto L_02734998;
|
|
L_02734998: ; // 0x2734998
|
|
/* 02734998 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02734998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273499C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0273499C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027349A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349A8 @ 0x27349a8
|
|
void Gambit_fn_027349A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349A8: ; // 0x27349a8
|
|
/* 027349A8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349AC */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 027349AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027349B0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349B8 @ 0x27349b8
|
|
void Gambit_fn_027349B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349B8: ; // 0x27349b8
|
|
/* 027349B8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349BC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027349BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027349C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349C8 @ 0x27349c8
|
|
void Gambit_fn_027349C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349C8: ; // 0x27349c8
|
|
/* 027349C8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349CC */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 027349CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027349D0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349D8 @ 0x27349d8
|
|
void Gambit_fn_027349D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349D8: ; // 0x27349d8
|
|
/* 027349D8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349DC */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 027349DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027349E0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349E4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349E8 @ 0x27349e8
|
|
void Gambit_fn_027349E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349E8: ; // 0x27349e8
|
|
/* 027349E8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349EC */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 027349EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027349F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027349F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027349F8 @ 0x27349f8
|
|
void Gambit_fn_027349F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027349F8: ; // 0x27349f8
|
|
/* 027349F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027349F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027349FC */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 027349FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734A00 */ cpu->ctr = cpu->r[0];
|
|
/* 02734A04 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734A08 @ 0x2734a08
|
|
void Gambit_fn_02734A08(CPUState* cpu) {
|
|
L_02734A08: ; // 0x2734a08
|
|
/* 02734A08 */ return;
|
|
}
|
|
|
|
// fn_02734A0C @ 0x2734a0c
|
|
void Gambit_fn_02734A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02734A0C: ; // 0x2734a0c
|
|
/* 02734A0C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02734A10 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 02734A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734A10 */ cpu->r[9] = _t0;
|
|
/* 02734A14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02734A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02734A1C */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 02734A20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734A20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734A20 */ if (_t2) goto L_02734A24; else goto L_02734A38;
|
|
L_02734A24: ; // 0x2734a24
|
|
/* 02734A24 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02734A28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02734A2C */ cpu->r[7] = cpu->r[7] + 0x00006A98u;
|
|
/* 02734A30 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02734A30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734A34 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02734A34 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02734A38: ; // 0x2734a38
|
|
/* 02734A38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02734A3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734A3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02734A3C */ if (_t6) goto L_02734A40; else goto L_02734A48;
|
|
L_02734A40: ; // 0x2734a40
|
|
/* 02734A40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02734A44 */ return;
|
|
L_02734A48: ; // 0x2734a48
|
|
/* 02734A48 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02734A4C */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 02734A4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734A4C */ cpu->r[7] = _t7;
|
|
/* 02734A50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02734A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02734A58 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02734A5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734A5C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02734A5C */ if (_t9) goto L_02734A60; else goto L_02734A74;
|
|
L_02734A60: ; // 0x2734a60
|
|
/* 02734A60 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02734A64 */ cpu->r[9] = 0x00000001u;
|
|
/* 02734A68 */ cpu->r[0] = cpu->r[0] + 0x00006A60u;
|
|
/* 02734A6C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02734A6C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02734A70 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02734A70 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02734A74: ; // 0x2734a74
|
|
/* 02734A74 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02734A78 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02734A7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02734A80 */ return;
|
|
}
|
|
|
|
// fn_02734A84 @ 0x2734a84
|
|
void Gambit_fn_02734A84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734A84: ; // 0x2734a84
|
|
/* 02734A84 */ cpu->r[0] = cpu->lr;
|
|
/* 02734A88 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02734A8C */ cpu->r[10] = 0x00000007u;
|
|
/* 02734A90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734A90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734A90 */ cpu->r[1] = _t0;
|
|
/* 02734A94 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02734A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02734A98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02734A98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02734A9C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AA0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734AA4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734AA8 */ _t4 = cpu->r[12] + 0x00006A18u;
|
|
/* 02734AA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734AAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734AB0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734AB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734AB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734AB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02734ABC */ Gambit_fn_02791888(cpu);
|
|
/* 02734AC0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734AC4 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02734AC8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734AC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02734ACC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02734AD4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734AD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734AD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734ADC */ return;
|
|
}
|
|
|
|
// fn_02734A90 @ 0x2734a90
|
|
void Gambit_fn_02734A90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734A90: ; // 0x2734a90
|
|
/* 02734A90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734A90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734A90 */ cpu->r[1] = _t0;
|
|
/* 02734A94 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02734A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02734A98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02734A98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02734A9C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AA0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734AA4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734AA8 */ _t4 = cpu->r[12] + 0x00006A18u;
|
|
/* 02734AA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734AAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734AB0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734AB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734AB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734AB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02734ABC */ Gambit_fn_02791888(cpu);
|
|
/* 02734AC0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734AC4 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02734AC8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734AC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02734ACC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02734AD4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734AD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734AD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734ADC */ return;
|
|
}
|
|
|
|
// fn_02734AE0 @ 0x2734ae0
|
|
void Gambit_fn_02734AE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734AE0: ; // 0x2734ae0
|
|
/* 02734AE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02734AE4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02734AE8 */ cpu->r[10] = 0x00000009u;
|
|
/* 02734AEC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734AEC */ cpu->r[1] = _t0;
|
|
/* 02734AF0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02734AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02734AF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02734AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02734AF8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AFC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734AFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734B00 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734B04 */ _t4 = cpu->r[12] + 0x00006A28u;
|
|
/* 02734B04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734B08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734B0C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734B0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734B10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734B14 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B14 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02734B18 */ Gambit_fn_02791888(cpu);
|
|
/* 02734B1C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734B20 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02734B24 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B24 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02734B28 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734B2C */ cpu->lr = cpu->r[0];
|
|
/* 02734B30 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734B34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734B38 */ return;
|
|
}
|
|
|
|
// fn_02734AEC @ 0x2734aec
|
|
void Gambit_fn_02734AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734AEC: ; // 0x2734aec
|
|
/* 02734AEC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734AEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734AEC */ cpu->r[1] = _t0;
|
|
/* 02734AF0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02734AF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02734AF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02734AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02734AF8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734AFC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734AFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734B00 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734B04 */ _t4 = cpu->r[12] + 0x00006A28u;
|
|
/* 02734B04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734B08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734B0C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734B0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734B10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734B14 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B14 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02734B18 */ Gambit_fn_02791888(cpu);
|
|
/* 02734B1C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734B20 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02734B24 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B24 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02734B28 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734B2C */ cpu->lr = cpu->r[0];
|
|
/* 02734B30 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734B34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734B38 */ return;
|
|
}
|
|
|
|
// fn_02734B3C @ 0x2734b3c
|
|
void Gambit_fn_02734B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734B3C: ; // 0x2734b3c
|
|
/* 02734B3C */ cpu->r[0] = cpu->lr;
|
|
/* 02734B40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734B40 */ cpu->r[1] = _t0;
|
|
/* 02734B44 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02734B48 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734B4C */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02734B50 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02734B54 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734B5C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734B60 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734B64 */ _t4 = cpu->r[8] + 0x00006A40u;
|
|
/* 02734B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734B68 */ cpu->r[6] = cpu->r[4];
|
|
/* 02734B6C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734B6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734B70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734B74 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02734B78 */ Gambit_fn_027919C4(cpu);
|
|
/* 02734B7C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734B80 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02734B84 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B84 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02734B88 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734B8C */ cpu->lr = cpu->r[0];
|
|
/* 02734B90 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734B94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734B98 */ return;
|
|
}
|
|
|
|
// fn_02734B40 @ 0x2734b40
|
|
void Gambit_fn_02734B40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02734B40: ; // 0x2734b40
|
|
/* 02734B40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734B40 */ cpu->r[1] = _t0;
|
|
/* 02734B44 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02734B48 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734B4C */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02734B50 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02734B54 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734B5C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734B60 */ cpu->r[0] = 0x00000004u;
|
|
/* 02734B64 */ _t4 = cpu->r[8] + 0x00006A40u;
|
|
/* 02734B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734B68 */ cpu->r[6] = cpu->r[4];
|
|
/* 02734B6C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02734B6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02734B70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734B74 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02734B78 */ Gambit_fn_027919C4(cpu);
|
|
/* 02734B7C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734B80 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02734B84 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02734B84 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02734B88 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734B8C */ cpu->lr = cpu->r[0];
|
|
/* 02734B90 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02734B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734B94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734B98 */ return;
|
|
}
|
|
|
|
// fn_02734B9C @ 0x2734b9c
|
|
void Gambit_fn_02734B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02734B9C: ; // 0x2734b9c
|
|
/* 02734B9C */ cpu->r[0] = cpu->lr;
|
|
/* 02734BA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734BA0 */ cpu->r[1] = _t0;
|
|
/* 02734BA4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734BA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734BAC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734BB0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02734BB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734BB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734BB8 */ if (_t5) goto L_02734BBC; else goto L_02734BD8;
|
|
L_02734BBC: ; // 0x2734bbc
|
|
/* 02734BBC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02734BBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02734BC0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02734BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734BC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02734BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734BCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02734BD0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02734BD4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734BD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02734BD8: ; // 0x2734bd8
|
|
/* 02734BD8 */ cpu->r[0] = 0x00000005u;
|
|
/* 02734BDC */ cpu->r[12] = 0x100F0000u;
|
|
/* 02734BE0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02734BE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02734BE4 */ _t10 = cpu->r[12] + 0x00006A48u;
|
|
/* 02734BE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734BE4 */ cpu->r[12] = _t10;
|
|
/* 02734BE8 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02734BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02734BEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734BF0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734BF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02734BF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734BF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734BFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02734BFC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02734C00 */ Gambit_fn_02791888(cpu);
|
|
/* 02734C04 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02734C08 */ cpu->lr = cpu->r[0];
|
|
/* 02734C0C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02734C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02734C10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734C14 */ return;
|
|
}
|
|
|
|
// fn_02734BA0 @ 0x2734ba0
|
|
void Gambit_fn_02734BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02734BA0: ; // 0x2734ba0
|
|
/* 02734BA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02734BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734BA0 */ cpu->r[1] = _t0;
|
|
/* 02734BA4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02734BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734BA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734BAC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734BB0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02734BB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734BB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734BB8 */ if (_t5) goto L_02734BBC; else goto L_02734BD8;
|
|
L_02734BBC: ; // 0x2734bbc
|
|
/* 02734BBC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02734BBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02734BC0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02734BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734BC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02734BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734BCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02734BD0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02734BD4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734BD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02734BD8: ; // 0x2734bd8
|
|
/* 02734BD8 */ cpu->r[0] = 0x00000005u;
|
|
/* 02734BDC */ cpu->r[12] = 0x100F0000u;
|
|
/* 02734BE0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02734BE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02734BE4 */ _t10 = cpu->r[12] + 0x00006A48u;
|
|
/* 02734BE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02734BE4 */ cpu->r[12] = _t10;
|
|
/* 02734BE8 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02734BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02734BEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734BF0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734BF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02734BF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734BF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734BFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02734BFC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02734C00 */ Gambit_fn_02791888(cpu);
|
|
/* 02734C04 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02734C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02734C08 */ cpu->lr = cpu->r[0];
|
|
/* 02734C0C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02734C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02734C10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02734C14 */ return;
|
|
}
|
|
|
|
// fn_02734C20 @ 0x2734c20
|
|
void Gambit_fn_02734C20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734C20: ; // 0x2734c20
|
|
/* 02734C20 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02734C24 */ _t0 = cpu->r[12] + 0xFFFF8744u;
|
|
/* 02734C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734C28 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 02734C2C */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 02734C2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02734C30 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02734C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734C34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734C38 */ _t3 = cpu->r[11] + cpu->r[0];
|
|
/* 02734C38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734C3C */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02734C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734C40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734C44 */ _t5 = cpu->r[10] + cpu->r[0];
|
|
/* 02734C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734C48 */ return;
|
|
}
|
|
|
|
// fn_02734C54 @ 0x2734c54
|
|
void Gambit_fn_02734C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734C54: ; // 0x2734c54
|
|
/* 02734C54 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02734C58 */ _t0 = cpu->r[12] + 0x0000717Cu;
|
|
/* 02734C58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734C5C */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 02734C60 */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 02734C60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02734C64 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02734C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734C68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734C6C */ _t3 = cpu->r[11] + cpu->r[0];
|
|
/* 02734C6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734C70 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02734C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734C74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734C78 */ _t5 = cpu->r[10] + cpu->r[0];
|
|
/* 02734C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734C7C */ return;
|
|
}
|
|
|
|
// fn_02734C80 @ 0x2734c80
|
|
void Gambit_fn_02734C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734C80: ; // 0x2734c80
|
|
/* 02734C80 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02734C84 */ _t0 = cpu->r[12] + 0x00007F10u;
|
|
/* 02734C84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734C88 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 02734C8C */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 02734C8C */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02734C90 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02734C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734C94 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734C98 */ _t3 = cpu->r[11] + cpu->r[0];
|
|
/* 02734C98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734C9C */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02734C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734CA0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734CA4 */ _t5 = cpu->r[10] + cpu->r[0];
|
|
/* 02734CA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734CA8 */ return;
|
|
}
|
|
|
|
// fn_02734CB0 @ 0x2734cb0
|
|
void Gambit_fn_02734CB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02734CB0: ; // 0x2734cb0
|
|
/* 02734CB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734CB0 */ cpu->r[1] = _t0;
|
|
/* 02734CB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734CB8 */ cpu->r[3] = 0x00000244u;
|
|
/* 02734CBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02734CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734CC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734CC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734CC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734CC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02734CC8 */ if (_t4) goto L_02734CE0; else goto L_02734CCC;
|
|
L_02734CCC: ; // 0x2734ccc
|
|
/* 02734CCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02734CD0 */ Gambit_fn_024FA3D8(cpu);
|
|
/* 02734CD4 */ cpu->r[0] = 0x100C0000u;
|
|
/* 02734CD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD66Cu;
|
|
/* 02734CDC */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02734CDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02734CE0: ; // 0x2734ce0
|
|
/* 02734CE0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02734CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02734CE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734CE8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734CE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734CEC */ cpu->lr = cpu->r[0];
|
|
/* 02734CF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734CF4 */ return;
|
|
}
|
|
|
|
// fn_02734CF8 @ 0x2734cf8
|
|
void Gambit_fn_02734CF8(CPUState* cpu) {
|
|
L_02734CF8: ; // 0x2734cf8
|
|
/* 02734CF8 */ return;
|
|
}
|
|
|
|
// fn_02734CFC @ 0x2734cfc
|
|
void Gambit_fn_02734CFC(CPUState* cpu) {
|
|
L_02734CFC: ; // 0x2734cfc
|
|
/* 02734CFC */ return;
|
|
}
|
|
|
|
// fn_02734D00 @ 0x2734d00
|
|
void Gambit_fn_02734D00(CPUState* cpu) {
|
|
L_02734D00: ; // 0x2734d00
|
|
/* 02734D00 */ cpu->r[3] = 0x100F0000u;
|
|
/* 02734D04 */ cpu->r[3] = cpu->r[3] + 0x00006A50u;
|
|
/* 02734D08 */ return;
|
|
}
|
|
|
|
// fn_02734D0C @ 0x2734d0c
|
|
void Gambit_fn_02734D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02734D0C: ; // 0x2734d0c
|
|
/* 02734D0C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734D10 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02734D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02734D18 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02734D18 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02734D18 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02734D18 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734D18 */ goto L_02734D1C;
|
|
L_02734D1C: ; // 0x2734d1c
|
|
/* 02734D1C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02734D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734D20 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734D24 */ _t6 = cpu->r[12] + cpu->r[0];
|
|
/* 02734D24 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02734D28 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734D2C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02734D30 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D30 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02734D34 */ return;
|
|
}
|
|
|
|
// fn_02734D38 @ 0x2734d38
|
|
void Gambit_fn_02734D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02734D38: ; // 0x2734d38
|
|
/* 02734D38 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734D3C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02734D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02734D44 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02734D44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02734D44 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02734D44 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734D44 */ goto L_02734D48;
|
|
L_02734D48: ; // 0x2734d48
|
|
/* 02734D48 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02734D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734D4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02734D50 */ _t6 = cpu->r[12] + cpu->r[0];
|
|
/* 02734D50 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02734D54 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02734D58 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02734D5C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02734D5C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02734D60 */ return;
|
|
}
|
|
|
|
// fn_02734D64 @ 0x2734d64
|
|
void Gambit_fn_02734D64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02734D64: ; // 0x2734d64
|
|
/* 02734D64 */ cpu->r[12] = cpu->r[3];
|
|
/* 02734D68 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02734D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02734D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02734D70 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734D70 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02734D70 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734D70 */ goto L_02734D74;
|
|
L_02734D74: ; // 0x2734d74
|
|
/* 02734D74 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02734D74 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02734D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02734D7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734D7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734D7C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02734D7C */ goto L_02734D80;
|
|
L_02734D80: ; // 0x2734d80
|
|
/* 02734D80 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02734D80 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02734D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02734D88 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 02734D8C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02734D8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02734D8C */ if (_t8) goto L_02734D90; else goto L_02734D9C;
|
|
L_02734D90: ; // 0x2734d90
|
|
/* 02734D90 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02734D90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02734D94 */ cpu->ctr = cpu->r[10];
|
|
/* 02734D98 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02734D9C: ; // 0x2734d9c
|
|
/* 02734D9C */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02734D9C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02734DA0 */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 02734DA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02734DA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02734DA8 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02734DAC */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02734DAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02734DB0 */ cpu->ctr = cpu->r[10];
|
|
/* 02734DB4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02734DB8 @ 0x2734db8
|
|
void Gambit_fn_02734DB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734DB8: ; // 0x2734db8
|
|
/* 02734DB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02734DBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02734DC0 */ cpu->r[7] = 0x02730000u;
|
|
/* 02734DC4 */ cpu->r[6] = 0x02730000u;
|
|
/* 02734DC8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02734DCC */ cpu->r[7] = cpu->r[7] + 0x00004C18u;
|
|
/* 02734DD0 */ cpu->r[6] = cpu->r[6] + 0x00004C18u;
|
|
/* 02734DD4 */ cpu->r[10] = cpu->r[10] + 0xFFFF8748u;
|
|
/* 02734DD8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02734DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02734DDC */ cpu->r[0] = 0x101D0000u;
|
|
/* 02734DE0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734DE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02734DE0 */ cpu->r[1] = _t1;
|
|
/* 02734DE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8744u;
|
|
/* 02734DE8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734DE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734DEC */ cpu->r[8] = 0x00000000u;
|
|
/* 02734DF0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02734DF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734DF4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734DF8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734DF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02734DFC */ Gambit_fn_02791B10(cpu);
|
|
/* 02734E00 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02734E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734E04 */ cpu->lr = cpu->r[0];
|
|
/* 02734E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734E0C */ return;
|
|
}
|
|
|
|
// fn_02734DE0 @ 0x2734de0
|
|
void Gambit_fn_02734DE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02734DE0: ; // 0x2734de0
|
|
/* 02734DE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734DE0 */ cpu->r[1] = _t0;
|
|
/* 02734DE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8744u;
|
|
/* 02734DE8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734DE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734DEC */ cpu->r[8] = 0x00000000u;
|
|
/* 02734DF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734DF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734DF4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734DF8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734DF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02734DFC */ Gambit_fn_02791B10(cpu);
|
|
/* 02734E00 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02734E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734E04 */ cpu->lr = cpu->r[0];
|
|
/* 02734E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734E0C */ return;
|
|
}
|
|
|
|
// fn_02734E10 @ 0x2734e10
|
|
void Gambit_fn_02734E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734E10: ; // 0x2734e10
|
|
/* 02734E10 */ cpu->r[0] = cpu->lr;
|
|
/* 02734E14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02734E18 */ cpu->r[7] = 0x02730000u;
|
|
/* 02734E1C */ cpu->r[6] = 0x02730000u;
|
|
/* 02734E20 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02734E24 */ cpu->r[7] = cpu->r[7] + 0x00004C4Cu;
|
|
/* 02734E28 */ cpu->r[6] = cpu->r[6] + 0x00004C4Cu;
|
|
/* 02734E2C */ cpu->r[10] = cpu->r[10] + 0xFFFF87E4u;
|
|
/* 02734E30 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02734E30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02734E34 */ cpu->r[0] = 0x101D0000u;
|
|
/* 02734E38 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734E38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02734E38 */ cpu->r[1] = _t1;
|
|
/* 02734E3C */ cpu->r[0] = cpu->r[0] + 0xFFFF87E0u;
|
|
/* 02734E40 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734E44 */ cpu->r[8] = 0x00000000u;
|
|
/* 02734E48 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02734E48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734E4C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734E50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734E50 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02734E54 */ Gambit_fn_02791B10(cpu);
|
|
/* 02734E58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02734E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734E5C */ cpu->lr = cpu->r[0];
|
|
/* 02734E60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734E64 */ return;
|
|
}
|
|
|
|
// fn_02734E38 @ 0x2734e38
|
|
void Gambit_fn_02734E38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02734E38: ; // 0x2734e38
|
|
/* 02734E38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734E38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734E38 */ cpu->r[1] = _t0;
|
|
/* 02734E3C */ cpu->r[0] = cpu->r[0] + 0xFFFF87E0u;
|
|
/* 02734E40 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734E44 */ cpu->r[8] = 0x00000000u;
|
|
/* 02734E48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734E4C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734E50 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734E50 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02734E54 */ Gambit_fn_02791B10(cpu);
|
|
/* 02734E58 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02734E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734E5C */ cpu->lr = cpu->r[0];
|
|
/* 02734E60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734E64 */ return;
|
|
}
|
|
|
|
// fn_02734E68 @ 0x2734e68
|
|
void Gambit_fn_02734E68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02734E68: ; // 0x2734e68
|
|
/* 02734E68 */ cpu->r[0] = cpu->lr;
|
|
/* 02734E6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02734E70 */ cpu->r[7] = 0x02730000u;
|
|
/* 02734E74 */ cpu->r[6] = 0x02730000u;
|
|
/* 02734E78 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02734E7C */ cpu->r[7] = cpu->r[7] + 0x00004CACu;
|
|
/* 02734E80 */ cpu->r[6] = cpu->r[6] + 0x00004CACu;
|
|
/* 02734E84 */ cpu->r[10] = cpu->r[10] + 0x000066E8u;
|
|
/* 02734E88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02734E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02734E8C */ cpu->r[0] = 0x101C0000u;
|
|
/* 02734E90 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734E90 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02734E90 */ cpu->r[1] = _t1;
|
|
/* 02734E94 */ cpu->r[0] = cpu->r[0] + 0x000066E4u;
|
|
/* 02734E98 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02734E9C */ cpu->r[8] = 0x00000000u;
|
|
/* 02734EA0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02734EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734EA4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EA8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02734EAC */ Gambit_fn_02791B10(cpu);
|
|
/* 02734EB0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02734EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02734EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02734EB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734EBC */ return;
|
|
}
|
|
|
|
// fn_02734E90 @ 0x2734e90
|
|
void Gambit_fn_02734E90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02734E90: ; // 0x2734e90
|
|
/* 02734E90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734E90 */ cpu->r[1] = _t0;
|
|
/* 02734E94 */ cpu->r[0] = cpu->r[0] + 0x000066E4u;
|
|
/* 02734E98 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02734E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02734E9C */ cpu->r[8] = 0x00000000u;
|
|
/* 02734EA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02734EA4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EA8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02734EAC */ Gambit_fn_02791B10(cpu);
|
|
/* 02734EB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02734EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02734EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02734EB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734EBC */ return;
|
|
}
|
|
|
|
// fn_02734EC0 @ 0x2734ec0
|
|
void Gambit_fn_02734EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02734EC0: ; // 0x2734ec0
|
|
/* 02734EC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02734EC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734EC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734EC4 */ cpu->r[1] = _t0;
|
|
/* 02734EC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734ECC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02734ED0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734ED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02734ED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734ED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734ED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734ED8 */ if (_t5) goto L_02734EDC; else goto L_02734EEC;
|
|
L_02734EDC: ; // 0x2734edc
|
|
/* 02734EDC */ cpu->r[3] = 0x00000020u;
|
|
/* 02734EE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734EE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734EE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734EE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02734EE8 */ if (_t7) goto L_02734F70; else goto L_02734EEC;
|
|
L_02734EEC: ; // 0x2734eec
|
|
/* 02734EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02734EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734EF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02734EF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734EF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02734EF4 */ if (_t9) goto L_02734EF8; else goto L_02734F08;
|
|
L_02734EF8: ; // 0x2734ef8
|
|
/* 02734EF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02734EFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02734F04 */ if (_t11) goto L_02734F2C; else goto L_02734F08;
|
|
L_02734F08: ; // 0x2734f08
|
|
/* 02734F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02734F0C */ if (_t13) goto L_02734F10; else goto L_02734F20;
|
|
L_02734F10: ; // 0x2734f10
|
|
/* 02734F10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02734F14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02734F1C */ if (_t15) goto L_02734F2C; else goto L_02734F20;
|
|
L_02734F20: ; // 0x2734f20
|
|
/* 02734F20 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02734F20 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02734F24 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02734F24 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02734F28 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02734F28 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02734F2C: ; // 0x2734f2c
|
|
/* 02734F2C */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02734F2C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02734F30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734F34 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734F34 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02734F38 */ cpu->r[5] = 0x00000000u;
|
|
/* 02734F3C */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02734F3C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02734F40 */ cpu->r[4] = 0x00000008u;
|
|
/* 02734F44 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 02734F44 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02734F48 */ cpu->r[6] = 0x00000004u;
|
|
/* 02734F4C */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02734F4C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02734F50 */ Gambit_fn_028023CC(cpu);
|
|
/* 02734F54 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 02734F58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F60 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02734F60 */ if (_t25) goto L_02734F6C; else goto L_02734F64;
|
|
L_02734F64: ; // 0x2734f64
|
|
/* 02734F64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02734F68 */ Gambit_fn_02151074(cpu);
|
|
L_02734F6C: ; // 0x2734f6c
|
|
/* 02734F6C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02734F6C */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
L_02734F70: ; // 0x2734f70
|
|
/* 02734F70 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02734F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02734F74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734F78 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02734F7C */ cpu->lr = cpu->r[0];
|
|
/* 02734F80 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02734F80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02734F84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734F88 */ return;
|
|
}
|
|
|
|
// fn_02734EC4 @ 0x2734ec4
|
|
void Gambit_fn_02734EC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02734EC4: ; // 0x2734ec4
|
|
/* 02734EC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02734EC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734EC4 */ cpu->r[1] = _t0;
|
|
/* 02734EC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734EC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02734ECC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02734ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02734ED0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734ED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02734ED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02734ED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734ED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02734ED8 */ if (_t5) goto L_02734EDC; else goto L_02734EEC;
|
|
L_02734EDC: ; // 0x2734edc
|
|
/* 02734EDC */ cpu->r[3] = 0x00000020u;
|
|
/* 02734EE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734EE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734EE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734EE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02734EE8 */ if (_t7) goto L_02734F70; else goto L_02734EEC;
|
|
L_02734EEC: ; // 0x2734eec
|
|
/* 02734EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02734EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734EF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02734EF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734EF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02734EF4 */ if (_t9) goto L_02734EF8; else goto L_02734F08;
|
|
L_02734EF8: ; // 0x2734ef8
|
|
/* 02734EF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02734EFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02734F04 */ if (_t11) goto L_02734F2C; else goto L_02734F08;
|
|
L_02734F08: ; // 0x2734f08
|
|
/* 02734F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02734F0C */ if (_t13) goto L_02734F10; else goto L_02734F20;
|
|
L_02734F10: ; // 0x2734f10
|
|
/* 02734F10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02734F14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02734F1C */ if (_t15) goto L_02734F2C; else goto L_02734F20;
|
|
L_02734F20: ; // 0x2734f20
|
|
/* 02734F20 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02734F20 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02734F24 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02734F24 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02734F28 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02734F28 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02734F2C: ; // 0x2734f2c
|
|
/* 02734F2C */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02734F2C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02734F30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734F34 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02734F34 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02734F38 */ cpu->r[5] = 0x00000000u;
|
|
/* 02734F3C */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02734F3C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02734F40 */ cpu->r[4] = 0x00000008u;
|
|
/* 02734F44 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 02734F44 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02734F48 */ cpu->r[6] = 0x00000004u;
|
|
/* 02734F4C */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02734F4C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02734F50 */ Gambit_fn_028023CC(cpu);
|
|
/* 02734F54 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 02734F58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02734F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734F60 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734F60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02734F60 */ if (_t25) goto L_02734F6C; else goto L_02734F64;
|
|
L_02734F64: ; // 0x2734f64
|
|
/* 02734F64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02734F68 */ Gambit_fn_02151074(cpu);
|
|
L_02734F6C: ; // 0x2734f6c
|
|
/* 02734F6C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02734F6C */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
L_02734F70: ; // 0x2734f70
|
|
/* 02734F70 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02734F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02734F74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734F78 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02734F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02734F7C */ cpu->lr = cpu->r[0];
|
|
/* 02734F80 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02734F80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02734F84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02734F88 */ return;
|
|
}
|
|
|
|
// fn_02734F8C @ 0x2734f8c
|
|
void Gambit_fn_02734F8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02734F8C: ; // 0x2734f8c
|
|
/* 02734F8C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02734F8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02734F8C */ cpu->r[1] = _t0;
|
|
/* 02734F90 */ /* nop */
|
|
/* 02734F94 */ cpu->r[0] = cpu->lr;
|
|
/* 02734F98 */ cpu->r[27] = 0x100F0000u;
|
|
/* 02734F9C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02734F9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02734FA0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02734FA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02734FA8 */ cpu->r[27] = cpu->r[27] + 0x00006DE8u;
|
|
/* 02734FAC */ cpu->r[0] = cpu->r[0] + 0x00006E00u;
|
|
/* 02734FB0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02734FB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 02734FB4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02734FB8 */ _t3 = cpu->r[3] + 0x000041B4u;
|
|
/* 02734FB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02734FBC */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02734FC0 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02734FC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02734FC4 */ Gambit_fn_02150DF4(cpu);
|
|
/* 02734FC8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02734FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02734FD0 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02734FD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02734FD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734FD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02734FD4 */ if (_t7) goto L_02734FD8; else goto L_02735084;
|
|
L_02734FD8: ; // 0x2734fd8
|
|
/* 02734FD8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02734FDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02734FE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02734FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02734FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02734FE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02734FE4 */ if (_t9) goto L_02734FF4; else goto L_02734FE8;
|
|
L_02734FE8: ; // 0x2734fe8
|
|
/* 02734FE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02734FEC */ Gambit_fn_021489D8(cpu);
|
|
/* 02734FF0 */ cpu->r[31] = cpu->r[3];
|
|
L_02734FF4: ; // 0x2734ff4
|
|
/* 02734FF4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02734FF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02734FF8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02734FFC */ cpu->r[8] = 0x100F0000u;
|
|
/* 02735000 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02735004 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02735004 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 02735008 */ cpu->r[8] = cpu->r[8] + 0x00006E08u;
|
|
/* 0273500C */ cpu->r[3] = 0x00000000u;
|
|
/* 02735010 */ cpu->r[28] = 0x00000002u;
|
|
/* 02735014 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02735014 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02735018 */ cpu->r[7] = cpu->r[3];
|
|
/* 0273501C */ cpu->r[8] = 0x00000001u;
|
|
/* 02735020 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735024 */ cpu->r[9] = cpu->r[7];
|
|
/* 02735028 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735028 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0273502C */ Gambit_fn_0214DA08(cpu);
|
|
/* 02735030 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02735038 */ Gambit_fn_02148A74(cpu);
|
|
/* 0273503C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273503C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02735040 */ cpu->r[3] = 0x00000000u;
|
|
/* 02735044 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02735048 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02735048 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0273504C */ cpu->r[6] = 0x100F0000u;
|
|
/* 02735050 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02735054 */ cpu->r[7] = cpu->r[3];
|
|
/* 02735058 */ cpu->r[6] = cpu->r[6] + 0x00006E34u;
|
|
/* 0273505C */ cpu->r[8] = 0x00000001u;
|
|
/* 02735060 */ cpu->r[9] = cpu->r[7];
|
|
/* 02735064 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02735064 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02735068 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273506C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0273506C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02735070 */ Gambit_fn_0214DA08(cpu);
|
|
/* 02735074 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735078 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273507C */ Gambit_fn_02148A74(cpu);
|
|
/* 02735080 */ _t18 = cpu->r[30] + 0x00000018u;
|
|
/* 02735080 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
L_02735084: ; // 0x2735084
|
|
/* 02735084 */ cpu->r[3] = 0x00000010u;
|
|
/* 02735088 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273508C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02735090 */ cpu->r[31] = cpu->r[3];
|
|
/* 02735094 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735094 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02735094 */ if (_t20) goto L_027350A0; else goto L_02735098;
|
|
L_02735098: ; // 0x2735098
|
|
/* 02735098 */ Gambit_fn_021489D8(cpu);
|
|
/* 0273509C */ cpu->r[31] = cpu->r[3];
|
|
L_027350A0: ; // 0x27350a0
|
|
/* 027350A0 */ _t21 = cpu->r[30] + 0x00000014u;
|
|
/* 027350A0 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 027350A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027350A8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027350AC */ cpu->r[0] = 0x00000001u;
|
|
/* 027350B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027350B4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027350B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 027350B8 */ Gambit_fn_0214EF24(cpu);
|
|
/* 027350BC */ cpu->r[4] = cpu->r[3];
|
|
/* 027350C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027350C4 */ Gambit_fn_02148A74(cpu);
|
|
/* 027350C8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027350CC */ cpu->r[3] = 0x00000000u;
|
|
/* 027350D0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027350D4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027350D4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027350D8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027350DC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027350E0 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 027350E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 027350E4 */ Gambit_fn_021497AC(cpu);
|
|
/* 027350E8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027350EC */ _t25 = cpu->r[30] + 0x00000014u;
|
|
/* 027350EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027350F0 */ Gambit_fn_02148A74(cpu);
|
|
/* 027350F4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027350F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027350FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02735100 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735104 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735104 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02735104 */ if (_t27) goto L_02735110; else goto L_02735108;
|
|
L_02735108: ; // 0x2735108
|
|
/* 02735108 */ Gambit_fn_0214F454(cpu);
|
|
/* 0273510C */ cpu->r[4] = cpu->r[3];
|
|
L_02735110: ; // 0x2735110
|
|
/* 02735110 */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02735110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02735114 */ Gambit_fn_02148A74(cpu);
|
|
/* 02735118 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273511C */ Gambit_fn_02801A78(cpu);
|
|
/* 02735120 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02735124 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735124 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02735124 */ if (_t30) goto L_02735134; else goto L_02735128;
|
|
L_02735128: ; // 0x2735128
|
|
/* 02735128 */ cpu->r[3] = cpu->r[4];
|
|
/* 0273512C */ Gambit_fn_0214A21C(cpu);
|
|
/* 02735130 */ cpu->r[4] = cpu->r[3];
|
|
L_02735134: ; // 0x2735134
|
|
/* 02735134 */ _t31 = cpu->r[30] + 0x00000014u;
|
|
/* 02735134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02735138 */ Gambit_fn_02148A74(cpu);
|
|
/* 0273513C */ cpu->r[3] = 0x00000000u;
|
|
/* 02735140 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02735144 */ cpu->r[12] = 0x00000011u;
|
|
/* 02735148 */ cpu->r[5] = cpu->r[3];
|
|
/* 0273514C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0273514C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02735150 */ Gambit_fn_0214EF24(cpu);
|
|
/* 02735154 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735158 */ _t33 = cpu->r[30] + 0x00000014u;
|
|
/* 02735158 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273515C */ Gambit_fn_02148A74(cpu);
|
|
/* 02735160 */ cpu->r[3] = 0x00000010u;
|
|
/* 02735164 */ Gambit_fn_02801A78(cpu);
|
|
/* 02735168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273516C */ cpu->r[31] = cpu->r[3];
|
|
/* 02735170 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735170 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02735170 */ if (_t35) goto L_0273517C; else goto L_02735174;
|
|
L_02735174: ; // 0x2735174
|
|
/* 02735174 */ Gambit_fn_021489D8(cpu);
|
|
/* 02735178 */ cpu->r[31] = cpu->r[3];
|
|
L_0273517C: ; // 0x273517c
|
|
/* 0273517C */ cpu->r[3] = 0x00000000u;
|
|
/* 02735180 */ cpu->r[5] = cpu->r[3];
|
|
/* 02735184 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735188 */ _t36 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02735188 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 0273518C */ Gambit_fn_02150058(cpu);
|
|
/* 02735190 */ cpu->r[4] = cpu->r[3];
|
|
/* 02735194 */ cpu->r[3] = cpu->r[31];
|
|
/* 02735198 */ Gambit_fn_02148A74(cpu);
|
|
/* 0273519C */ cpu->r[3] = 0x00000000u;
|
|
/* 027351A0 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027351A4 */ cpu->r[5] = cpu->r[3];
|
|
/* 027351A8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027351A8 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 027351AC */ Gambit_fn_0214EF24(cpu);
|
|
/* 027351B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 027351B4 */ _t38 = cpu->r[30] + 0x00000014u;
|
|
/* 027351B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027351B8 */ Gambit_fn_02148A74(cpu);
|
|
/* 027351BC */ /* nop */
|
|
/* 027351C0 */ _t39 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027351C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027351C4 */ cpu->lr = cpu->r[0];
|
|
/* 027351C8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027351CC */ return;
|
|
}
|
|
|
|
// fn_027351D0 @ 0x27351d0
|
|
void Gambit_fn_027351D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027351D0: ; // 0x27351d0
|
|
/* 027351D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027351D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027351D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027351D4 */ cpu->r[1] = _t0;
|
|
/* 027351D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027351D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027351DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027351E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027351E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027351E4 */ _t3 = cpu->r[31] + 0xFFFF87DCu;
|
|
/* 027351E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027351E8 */ _t4 = cpu->r[12] + 0x00000278u;
|
|
/* 027351E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027351EC */ _t5 = cpu->r[12] + 0x00000260u;
|
|
/* 027351EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027351F0 */ Gambit_fn_02085400(cpu);
|
|
/* 027351F4 */ _t6 = cpu->r[31] + 0xFFFF87DCu;
|
|
/* 027351F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027351F4 */ cpu->r[31] = _t6;
|
|
/* 027351F8 */ _t7 = cpu->r[12] + 0x00000278u;
|
|
/* 027351F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027351FC */ _t8 = cpu->r[12] + 0x00000260u;
|
|
/* 027351FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02735200 */ Gambit_fn_020853E8(cpu);
|
|
/* 02735204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02735208 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735208 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02735208 */ if (_t10) goto L_0273521C; else goto L_0273520C;
|
|
L_0273520C: ; // 0x273520c
|
|
/* 0273520C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0273520C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02735210 */ _t12 = cpu->r[12] + 0x00000278u;
|
|
/* 02735210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02735214 */ _t13 = cpu->r[12] + 0x00000260u;
|
|
/* 02735214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02735218 */ Gambit_fn_020853DC(cpu);
|
|
L_0273521C: ; // 0x273521c
|
|
/* 0273521C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273521C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02735220 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02735224 */ cpu->lr = cpu->r[0];
|
|
/* 02735228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273522C */ return;
|
|
}
|
|
|
|
// fn_027351D4 @ 0x27351d4
|
|
void Gambit_fn_027351D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027351D4: ; // 0x27351d4
|
|
/* 027351D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027351D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027351D4 */ cpu->r[1] = _t0;
|
|
/* 027351D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027351D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027351DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027351E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027351E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027351E4 */ _t3 = cpu->r[31] + 0xFFFF87DCu;
|
|
/* 027351E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027351E8 */ _t4 = cpu->r[12] + 0x00000278u;
|
|
/* 027351E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027351EC */ _t5 = cpu->r[12] + 0x00000260u;
|
|
/* 027351EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027351F0 */ Gambit_fn_02085400(cpu);
|
|
/* 027351F4 */ _t6 = cpu->r[31] + 0xFFFF87DCu;
|
|
/* 027351F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027351F4 */ cpu->r[31] = _t6;
|
|
/* 027351F8 */ _t7 = cpu->r[12] + 0x00000278u;
|
|
/* 027351F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027351FC */ _t8 = cpu->r[12] + 0x00000260u;
|
|
/* 027351FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02735200 */ Gambit_fn_020853E8(cpu);
|
|
/* 02735204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02735208 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735208 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02735208 */ if (_t10) goto L_0273521C; else goto L_0273520C;
|
|
L_0273520C: ; // 0x273520c
|
|
/* 0273520C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0273520C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02735210 */ _t12 = cpu->r[12] + 0x00000278u;
|
|
/* 02735210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02735214 */ _t13 = cpu->r[12] + 0x00000260u;
|
|
/* 02735214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02735218 */ Gambit_fn_020853DC(cpu);
|
|
L_0273521C: ; // 0x273521c
|
|
/* 0273521C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273521C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02735220 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02735224 */ cpu->lr = cpu->r[0];
|
|
/* 02735228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273522C */ return;
|
|
}
|
|
|
|
// fn_02735230 @ 0x2735230
|
|
void Gambit_fn_02735230(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02735230: ; // 0x2735230
|
|
/* 02735230 */ cpu->r[0] = cpu->lr;
|
|
/* 02735234 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735234 */ cpu->r[1] = _t0;
|
|
/* 02735238 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735238 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273523C */ cpu->r[31] = cpu->r[3];
|
|
/* 02735240 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02735240 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02735244 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02735244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02735248 */ Gambit_fn_0215128C(cpu);
|
|
/* 0273524C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0273524C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02735250 */ cpu->r[11] = 0x00000000u;
|
|
/* 02735254 */ _t5 = cpu->r[31] + 0x00000014u;
|
|
/* 02735254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0273525C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0273525C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02735260 */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 02735260 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02735264 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735264 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02735264 */ if (_t9) goto L_02735268; else goto L_02735284;
|
|
L_02735268: ; // 0x2735268
|
|
/* 02735268 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02735268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273526C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02735270 */ _t11 = cpu->r[9] + cpu->r[10];
|
|
/* 02735270 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02735274 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02735274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02735278 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02735278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273527C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02735280 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02735280 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_02735284: ; // 0x2735284
|
|
/* 02735284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02735288 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 02735288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273528C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273528C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0273528C */ if (_t17) goto L_02735290; else goto L_027352AC;
|
|
L_02735290: ; // 0x2735290
|
|
/* 02735290 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 02735290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735294 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02735298 */ _t19 = cpu->r[11] + cpu->r[12];
|
|
/* 02735298 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0273529C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 0273529C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027352A0 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027352A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027352A4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027352A8 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 027352A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_027352AC: ; // 0x27352ac
|
|
/* 027352AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 027352B0 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027352B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027352B4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027352B4 */ if (_t25) goto L_027352B8; else goto L_027352D0;
|
|
L_027352B8: ; // 0x27352b8
|
|
/* 027352B8 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 027352B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027352BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027352C0 */ _t27 = cpu->r[12] + cpu->r[6];
|
|
/* 027352C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027352C4 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 027352C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027352C8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027352CC */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 027352CC */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
L_027352D0: ; // 0x27352d0
|
|
/* 027352D0 */ _t30 = cpu->r[31] + 0x00000010u;
|
|
/* 027352D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027352D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 027352D8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352D8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027352D8 */ if (_t32) goto L_027352DC; else goto L_027352FC;
|
|
L_027352DC: ; // 0x27352dc
|
|
/* 027352DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 027352E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027352E4 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027352E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027352E8 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027352E8 */ if (_t35) goto L_027352EC; else goto L_027352F8;
|
|
L_027352EC: ; // 0x27352ec
|
|
/* 027352EC */ _t36 = cpu->r[31] + 0x00000008u;
|
|
/* 027352EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027352F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027352F4 */ _t37 = cpu->r[8] + cpu->r[9];
|
|
/* 027352F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
L_027352F8: ; // 0x27352f8
|
|
/* 027352F8 */ Gambit_fn_021512FC(cpu);
|
|
L_027352FC: ; // 0x27352fc
|
|
/* 027352FC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027352FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02735300 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02735304 */ cpu->lr = cpu->r[0];
|
|
/* 02735308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273530C */ return;
|
|
}
|
|
|
|
// fn_02735234 @ 0x2735234
|
|
void Gambit_fn_02735234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02735234: ; // 0x2735234
|
|
/* 02735234 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735234 */ cpu->r[1] = _t0;
|
|
/* 02735238 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735238 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273523C */ cpu->r[31] = cpu->r[3];
|
|
/* 02735240 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02735240 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02735244 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02735244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02735248 */ Gambit_fn_0215128C(cpu);
|
|
/* 0273524C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0273524C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02735250 */ cpu->r[11] = 0x00000000u;
|
|
/* 02735254 */ _t5 = cpu->r[31] + 0x00000014u;
|
|
/* 02735254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0273525C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0273525C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02735260 */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 02735260 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02735264 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735264 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02735264 */ if (_t9) goto L_02735268; else goto L_02735284;
|
|
L_02735268: ; // 0x2735268
|
|
/* 02735268 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02735268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273526C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02735270 */ _t11 = cpu->r[9] + cpu->r[10];
|
|
/* 02735270 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02735274 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02735274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02735278 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02735278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273527C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02735280 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02735280 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_02735284: ; // 0x2735284
|
|
/* 02735284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02735288 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 02735288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273528C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273528C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0273528C */ if (_t17) goto L_02735290; else goto L_027352AC;
|
|
L_02735290: ; // 0x2735290
|
|
/* 02735290 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 02735290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735294 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02735298 */ _t19 = cpu->r[11] + cpu->r[12];
|
|
/* 02735298 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0273529C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 0273529C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027352A0 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027352A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027352A4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027352A8 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 027352A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_027352AC: ; // 0x27352ac
|
|
/* 027352AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 027352B0 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027352B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027352B4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027352B4 */ if (_t25) goto L_027352B8; else goto L_027352D0;
|
|
L_027352B8: ; // 0x27352b8
|
|
/* 027352B8 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 027352B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027352BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027352C0 */ _t27 = cpu->r[12] + cpu->r[6];
|
|
/* 027352C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027352C4 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 027352C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027352C8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027352CC */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 027352CC */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
L_027352D0: ; // 0x27352d0
|
|
/* 027352D0 */ _t30 = cpu->r[31] + 0x00000010u;
|
|
/* 027352D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027352D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 027352D8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352D8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027352D8 */ if (_t32) goto L_027352DC; else goto L_027352FC;
|
|
L_027352DC: ; // 0x27352dc
|
|
/* 027352DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 027352E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027352E4 */ _t33 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027352E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027352E8 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027352E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027352E8 */ if (_t35) goto L_027352EC; else goto L_027352F8;
|
|
L_027352EC: ; // 0x27352ec
|
|
/* 027352EC */ _t36 = cpu->r[31] + 0x00000008u;
|
|
/* 027352EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027352F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027352F4 */ _t37 = cpu->r[8] + cpu->r[9];
|
|
/* 027352F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
L_027352F8: ; // 0x27352f8
|
|
/* 027352F8 */ Gambit_fn_021512FC(cpu);
|
|
L_027352FC: ; // 0x27352fc
|
|
/* 027352FC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027352FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02735300 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02735304 */ cpu->lr = cpu->r[0];
|
|
/* 02735308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273530C */ return;
|
|
}
|
|
|
|
// fn_02735310 @ 0x2735310
|
|
void Gambit_fn_02735310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
|
|
|
|
L_02735310: ; // 0x2735310
|
|
/* 02735310 */ cpu->r[0] = cpu->lr;
|
|
/* 02735314 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02735314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735314 */ cpu->r[1] = _t0;
|
|
/* 02735318 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02735318 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273531C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0273531C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02735320 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735324 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735324 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735328 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02735328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273532C */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 0273532C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02735334 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735334 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02735334 */ if (_t7) goto L_02735338; else goto L_02735494;
|
|
L_02735338: ; // 0x2735338
|
|
/* 02735338 */ cpu->r[31] = 0x00000000u;
|
|
/* 0273533C */ cpu->r[4] = 0x00000005u;
|
|
/* 02735340 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02735340 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02735344 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735344 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02735348 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273534C */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 0273534C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02735350 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735350 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02735354 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02735358 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02735358 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0273535C */ Gambit_fn_028023A8(cpu);
|
|
/* 02735360 */ cpu->r[0] = 0x00000003u;
|
|
/* 02735364 */ cpu->ctr = cpu->r[0];
|
|
/* 02735368 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
L_0273536C: ; // 0x273536c
|
|
/* 0273536C */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 0273536C */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 0273536C */ cpu->r[9] = _t13;
|
|
/* 02735370 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02735370 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02735370 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02735370 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02735370 */ if (_t16) goto L_0273536C; else goto L_02735374;
|
|
L_02735374: ; // 0x2735374
|
|
/* 02735374 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735378 */ _t17 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02735378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273537C */ _t18 = cpu->r[12] + 0x00000278u;
|
|
/* 0273537C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735380 */ _t19 = cpu->r[11] + 0x00000260u;
|
|
/* 02735380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02735384 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02735384 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02735388 */ _t21 = cpu->r[12] + 0x00000278u;
|
|
/* 02735388 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273538C */ _t22 = cpu->r[11] + 0x00000244u;
|
|
/* 0273538C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02735390 */ _t23 = cpu->r[9] + 0x00000250u;
|
|
/* 02735390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02735394 */ _t24 = cpu->r[11] + 0x000000ACu;
|
|
/* 02735394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02735398 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735398 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0273539C */ _t26 = cpu->r[12] + 0x00000278u;
|
|
/* 0273539C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027353A0 */ _t27 = cpu->r[9] + 0x00000030u;
|
|
/* 027353A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027353A4 */ _t28 = cpu->r[8] + 0x00000018u;
|
|
/* 027353A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027353A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027353AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027353AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 027353AC */ if (_t30) goto L_02735418; else goto L_027353B0;
|
|
L_027353B0: ; // 0x27353b0
|
|
/* 027353B0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 027353B4 */ _t31 = cpu->r[11] + 0x0000717Cu;
|
|
/* 027353B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027353B8 */ cpu->r[10] = cpu->r[9] + cpu->r[11];
|
|
/* 027353BC */ _t32 = cpu->r[10] + 0x00000104u;
|
|
/* 027353BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 027353C0 */ _t33 = cpu->r[9] + 0x00000030u;
|
|
/* 027353C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027353C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027353C8 */ _t34 = cpu->r[8] + cpu->r[0];
|
|
/* 027353C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027353CC */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 027353CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027353D0 */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 027353D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027353D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027353D8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027353D8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027353D8 */ if (_t38) goto L_027353E0; else goto L_027353DC;
|
|
L_027353DC: ; // 0x27353dc
|
|
/* 027353DC */ cpu->r[10] = cpu->r[10] + 0x000001CCu;
|
|
L_027353E0: ; // 0x27353e0
|
|
/* 027353E0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027353E0 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 027353E4 */ _t40 = cpu->r[12] + 0x00000278u;
|
|
/* 027353E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027353E8 */ cpu->r[8] = cpu->r[9] + cpu->r[11];
|
|
/* 027353EC */ _t41 = cpu->r[8] + 0x00000104u;
|
|
/* 027353EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t41);
|
|
/* 027353F0 */ _t42 = cpu->r[9] + 0x00000030u;
|
|
/* 027353F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027353F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027353F8 */ _t43 = cpu->r[10] + cpu->r[8];
|
|
/* 027353F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027353FC */ _t44 = cpu->r[10] + 0x00000004u;
|
|
/* 027353FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02735400 */ _t45 = cpu->r[11] + 0x00000004u;
|
|
/* 02735400 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02735404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02735408 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735408 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02735408 */ if (_t47) goto L_02735410; else goto L_0273540C;
|
|
L_0273540C: ; // 0x273540c
|
|
/* 0273540C */ cpu->r[8] = cpu->r[8] + 0x000001CCu;
|
|
L_02735410: ; // 0x2735410
|
|
/* 02735410 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02735410 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02735414 */ _t49 = cpu->r[12] + 0x00000278u;
|
|
/* 02735414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
L_02735418: ; // 0x2735418
|
|
/* 02735418 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 02735418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273541C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02735420 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735420 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02735424 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735424 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02735424 */ if (_t53) goto L_0273542C; else goto L_02735428;
|
|
L_02735428: ; // 0x2735428
|
|
/* 02735428 */ cpu->r[9] = cpu->r[9] + 0x00000238u;
|
|
L_0273542C: ; // 0x273542c
|
|
/* 0273542C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02735430 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735430 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02735430 */ if (_t55) goto L_02735434; else goto L_0273544C;
|
|
L_02735434: ; // 0x2735434
|
|
/* 02735434 */ _t56 = cpu->r[1] + 0x00000024u;
|
|
/* 02735434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02735438 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273543C */ _t57 = cpu->r[10] + cpu->r[0];
|
|
/* 0273543C */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02735440 */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02735444 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02735448 */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735448 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
|
|
L_0273544C: ; // 0x273544c
|
|
/* 0273544C */ _t60 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273544C */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02735450 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02735454 */ Gambit_fn_02151304(cpu);
|
|
/* 02735458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273545C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273545C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0273545C */ if (_t62) goto L_02735460; else goto L_0273547C;
|
|
L_02735460: ; // 0x2735460
|
|
/* 02735460 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02735464 */ _t64 = cpu->r[1] + 0x00000040u;
|
|
/* 02735464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02735468 */ cpu->lr = cpu->r[0];
|
|
/* 0273546C */ _t65 = cpu->r[1] + 0x00000044u;
|
|
/* 0273546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02735470 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02735474 */ cpu->r[3] = 0x00000000u;
|
|
/* 02735478 */ return;
|
|
L_0273547C: ; // 0x273547c
|
|
/* 0273547C */ _t66 = cpu->r[30] + 0x00000010u;
|
|
/* 0273547C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02735480 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02735480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02735484 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02735488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 0273548C */ _t68 = cpu->r[30] + 0x00000010u;
|
|
/* 0273548C */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02735490 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735490 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02735490 */ if (_t70) goto L_027354B0; else goto L_02735494;
|
|
L_02735494: ; // 0x2735494
|
|
/* 02735494 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02735498 */ _t72 = cpu->r[1] + 0x00000040u;
|
|
/* 02735498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0273549C */ cpu->lr = cpu->r[0];
|
|
/* 027354A0 */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 027354A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027354A4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027354A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027354AC */ return;
|
|
L_027354B0: ; // 0x27354b0
|
|
/* 027354B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 027354B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027354B8 */ _t74 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027354B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027354BC */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027354BC */ _t76 = _t75 & 0x00000001u;
|
|
/* 027354BC */ if (_t76) goto L_027354C0; else goto L_027354CC;
|
|
L_027354C0: ; // 0x27354c0
|
|
/* 027354C0 */ _t77 = cpu->r[30] + 0x00000008u;
|
|
/* 027354C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027354C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027354C8 */ _t78 = cpu->r[12] + cpu->r[8];
|
|
/* 027354C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
L_027354CC: ; // 0x27354cc
|
|
/* 027354CC */ Gambit_fn_021512FC(cpu);
|
|
/* 027354D0 */ _t79 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027354D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027354D4 */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 027354D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027354D8 */ cpu->lr = cpu->r[0];
|
|
/* 027354DC */ _t81 = cpu->r[1] + 0x00000044u;
|
|
/* 027354DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027354E0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027354E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027354E8 */ return;
|
|
}
|
|
|
|
// fn_02735314 @ 0x2735314
|
|
void Gambit_fn_02735314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
|
|
|
|
L_02735314: ; // 0x2735314
|
|
/* 02735314 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02735314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735314 */ cpu->r[1] = _t0;
|
|
/* 02735318 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02735318 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273531C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 0273531C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02735320 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735324 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735324 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735328 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02735328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273532C */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 0273532C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02735334 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735334 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02735334 */ if (_t7) goto L_02735338; else goto L_02735494;
|
|
L_02735338: ; // 0x2735338
|
|
/* 02735338 */ cpu->r[31] = 0x00000000u;
|
|
/* 0273533C */ cpu->r[4] = 0x00000005u;
|
|
/* 02735340 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02735340 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02735344 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735344 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02735348 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273534C */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 0273534C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02735350 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735350 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02735354 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02735358 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02735358 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0273535C */ Gambit_fn_028023A8(cpu);
|
|
/* 02735360 */ cpu->r[0] = 0x00000003u;
|
|
/* 02735364 */ cpu->ctr = cpu->r[0];
|
|
/* 02735368 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
L_0273536C: ; // 0x273536c
|
|
/* 0273536C */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 0273536C */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 0273536C */ cpu->r[9] = _t13;
|
|
/* 02735370 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02735370 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02735370 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02735370 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02735370 */ if (_t16) goto L_0273536C; else goto L_02735374;
|
|
L_02735374: ; // 0x2735374
|
|
/* 02735374 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735378 */ _t17 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02735378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273537C */ _t18 = cpu->r[12] + 0x00000278u;
|
|
/* 0273537C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735380 */ _t19 = cpu->r[11] + 0x00000260u;
|
|
/* 02735380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02735384 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02735384 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02735388 */ _t21 = cpu->r[12] + 0x00000278u;
|
|
/* 02735388 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273538C */ _t22 = cpu->r[11] + 0x00000244u;
|
|
/* 0273538C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02735390 */ _t23 = cpu->r[9] + 0x00000250u;
|
|
/* 02735390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02735394 */ _t24 = cpu->r[11] + 0x000000ACu;
|
|
/* 02735394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02735398 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735398 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0273539C */ _t26 = cpu->r[12] + 0x00000278u;
|
|
/* 0273539C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027353A0 */ _t27 = cpu->r[9] + 0x00000030u;
|
|
/* 027353A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027353A4 */ _t28 = cpu->r[8] + 0x00000018u;
|
|
/* 027353A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027353A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027353AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027353AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 027353AC */ if (_t30) goto L_02735418; else goto L_027353B0;
|
|
L_027353B0: ; // 0x27353b0
|
|
/* 027353B0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 027353B4 */ _t31 = cpu->r[11] + 0x0000717Cu;
|
|
/* 027353B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027353B8 */ cpu->r[10] = cpu->r[9] + cpu->r[11];
|
|
/* 027353BC */ _t32 = cpu->r[10] + 0x00000104u;
|
|
/* 027353BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 027353C0 */ _t33 = cpu->r[9] + 0x00000030u;
|
|
/* 027353C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027353C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027353C8 */ _t34 = cpu->r[8] + cpu->r[0];
|
|
/* 027353C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027353CC */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 027353CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027353D0 */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 027353D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027353D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027353D8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027353D8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027353D8 */ if (_t38) goto L_027353E0; else goto L_027353DC;
|
|
L_027353DC: ; // 0x27353dc
|
|
/* 027353DC */ cpu->r[10] = cpu->r[10] + 0x000001CCu;
|
|
L_027353E0: ; // 0x27353e0
|
|
/* 027353E0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027353E0 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 027353E4 */ _t40 = cpu->r[12] + 0x00000278u;
|
|
/* 027353E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027353E8 */ cpu->r[8] = cpu->r[9] + cpu->r[11];
|
|
/* 027353EC */ _t41 = cpu->r[8] + 0x00000104u;
|
|
/* 027353EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t41);
|
|
/* 027353F0 */ _t42 = cpu->r[9] + 0x00000030u;
|
|
/* 027353F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027353F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027353F8 */ _t43 = cpu->r[10] + cpu->r[8];
|
|
/* 027353F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027353FC */ _t44 = cpu->r[10] + 0x00000004u;
|
|
/* 027353FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02735400 */ _t45 = cpu->r[11] + 0x00000004u;
|
|
/* 02735400 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02735404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02735408 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735408 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02735408 */ if (_t47) goto L_02735410; else goto L_0273540C;
|
|
L_0273540C: ; // 0x273540c
|
|
/* 0273540C */ cpu->r[8] = cpu->r[8] + 0x000001CCu;
|
|
L_02735410: ; // 0x2735410
|
|
/* 02735410 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02735410 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02735414 */ _t49 = cpu->r[12] + 0x00000278u;
|
|
/* 02735414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
L_02735418: ; // 0x2735418
|
|
/* 02735418 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 02735418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273541C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02735420 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735420 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02735424 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735424 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02735424 */ if (_t53) goto L_0273542C; else goto L_02735428;
|
|
L_02735428: ; // 0x2735428
|
|
/* 02735428 */ cpu->r[9] = cpu->r[9] + 0x00000238u;
|
|
L_0273542C: ; // 0x273542c
|
|
/* 0273542C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02735430 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735430 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02735430 */ if (_t55) goto L_02735434; else goto L_0273544C;
|
|
L_02735434: ; // 0x2735434
|
|
/* 02735434 */ _t56 = cpu->r[1] + 0x00000024u;
|
|
/* 02735434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02735438 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273543C */ _t57 = cpu->r[10] + cpu->r[0];
|
|
/* 0273543C */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02735440 */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02735444 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02735448 */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735448 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
|
|
L_0273544C: ; // 0x273544c
|
|
/* 0273544C */ _t60 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273544C */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02735450 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02735454 */ Gambit_fn_02151304(cpu);
|
|
/* 02735458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273545C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273545C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0273545C */ if (_t62) goto L_02735460; else goto L_0273547C;
|
|
L_02735460: ; // 0x2735460
|
|
/* 02735460 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02735464 */ _t64 = cpu->r[1] + 0x00000040u;
|
|
/* 02735464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02735468 */ cpu->lr = cpu->r[0];
|
|
/* 0273546C */ _t65 = cpu->r[1] + 0x00000044u;
|
|
/* 0273546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02735470 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02735474 */ cpu->r[3] = 0x00000000u;
|
|
/* 02735478 */ return;
|
|
L_0273547C: ; // 0x273547c
|
|
/* 0273547C */ _t66 = cpu->r[30] + 0x00000010u;
|
|
/* 0273547C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02735480 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02735480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02735484 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02735488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 0273548C */ _t68 = cpu->r[30] + 0x00000010u;
|
|
/* 0273548C */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02735490 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735490 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02735490 */ if (_t70) goto L_027354B0; else goto L_02735494;
|
|
L_02735494: ; // 0x2735494
|
|
/* 02735494 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02735494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02735498 */ _t72 = cpu->r[1] + 0x00000040u;
|
|
/* 02735498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0273549C */ cpu->lr = cpu->r[0];
|
|
/* 027354A0 */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 027354A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027354A4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027354A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027354AC */ return;
|
|
L_027354B0: ; // 0x27354b0
|
|
/* 027354B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 027354B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027354B8 */ _t74 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027354B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027354BC */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027354BC */ _t76 = _t75 & 0x00000001u;
|
|
/* 027354BC */ if (_t76) goto L_027354C0; else goto L_027354CC;
|
|
L_027354C0: ; // 0x27354c0
|
|
/* 027354C0 */ _t77 = cpu->r[30] + 0x00000008u;
|
|
/* 027354C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027354C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027354C8 */ _t78 = cpu->r[12] + cpu->r[8];
|
|
/* 027354C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
L_027354CC: ; // 0x27354cc
|
|
/* 027354CC */ Gambit_fn_021512FC(cpu);
|
|
/* 027354D0 */ _t79 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027354D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027354D4 */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 027354D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027354D8 */ cpu->lr = cpu->r[0];
|
|
/* 027354DC */ _t81 = cpu->r[1] + 0x00000044u;
|
|
/* 027354DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027354E0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027354E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027354E8 */ return;
|
|
}
|
|
|
|
// fn_027354EC @ 0x27354ec
|
|
void Gambit_fn_027354EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027354EC: ; // 0x27354ec
|
|
/* 027354EC */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 027354F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027354F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027354F0 */ cpu->r[1] = _t0;
|
|
/* 027354F4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027354F8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027354FC */ _t1 = cpu->r[10] + 0x00000554u;
|
|
/* 027354FC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027354FC */ cpu->r[10] = _t1;
|
|
/* 02735500 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02735504 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02735504 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02735508 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273550C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735510 */ _t3 = cpu->r[7] + 0x00000564u;
|
|
/* 02735510 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02735510 */ cpu->r[7] = _t3;
|
|
/* 02735514 */ _t4 = cpu->r[8] + 0x0000055Cu;
|
|
/* 02735514 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02735514 */ cpu->r[8] = _t4;
|
|
/* 02735518 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273551C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273551C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02735520 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735524 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02735524 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02735528 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273552C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273552C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02735530 */ _t8 = cpu->r[8] + 0x00000574u;
|
|
/* 02735530 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02735530 */ cpu->r[8] = _t8;
|
|
/* 02735534 */ _t9 = cpu->r[12] + 0x0000056Cu;
|
|
/* 02735534 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02735534 */ cpu->r[12] = _t9;
|
|
/* 02735538 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02735538 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273553C */ cpu->r[0] = 0x00000004u;
|
|
/* 02735540 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02735540 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02735544 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02735548 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02735548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273554C */ _t13 = cpu->r[11] + 0x0000057Cu;
|
|
/* 0273554C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02735550 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735554 */ return;
|
|
}
|
|
|
|
// fn_027354F0 @ 0x27354f0
|
|
void Gambit_fn_027354F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027354F0: ; // 0x27354f0
|
|
/* 027354F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027354F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027354F0 */ cpu->r[1] = _t0;
|
|
/* 027354F4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027354F8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027354FC */ _t1 = cpu->r[10] + 0x00000554u;
|
|
/* 027354FC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027354FC */ cpu->r[10] = _t1;
|
|
/* 02735500 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02735504 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02735504 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02735508 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273550C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735510 */ _t3 = cpu->r[7] + 0x00000564u;
|
|
/* 02735510 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02735510 */ cpu->r[7] = _t3;
|
|
/* 02735514 */ _t4 = cpu->r[8] + 0x0000055Cu;
|
|
/* 02735514 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02735514 */ cpu->r[8] = _t4;
|
|
/* 02735518 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273551C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273551C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02735520 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735524 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02735524 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02735528 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273552C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273552C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02735530 */ _t8 = cpu->r[8] + 0x00000574u;
|
|
/* 02735530 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02735530 */ cpu->r[8] = _t8;
|
|
/* 02735534 */ _t9 = cpu->r[12] + 0x0000056Cu;
|
|
/* 02735534 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02735534 */ cpu->r[12] = _t9;
|
|
/* 02735538 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02735538 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273553C */ cpu->r[0] = 0x00000004u;
|
|
/* 02735540 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02735540 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02735544 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02735548 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02735548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273554C */ _t13 = cpu->r[11] + 0x0000057Cu;
|
|
/* 0273554C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02735550 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735554 */ return;
|
|
}
|
|
|
|
// fn_02735558 @ 0x2735558
|
|
void Gambit_fn_02735558(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_02735558: ; // 0x2735558
|
|
/* 02735558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273555C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273555C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273555C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273555C */ goto L_02735560;
|
|
L_02735560: ; // 0x2735560
|
|
/* 02735560 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02735564 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735564 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02735564 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02735564 */ goto L_02735568;
|
|
L_02735568: ; // 0x2735568
|
|
/* 02735568 */ 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_0273556C @ 0x273556c
|
|
void Gambit_fn_0273556C(CPUState* cpu) {
|
|
L_0273556C: ; // 0x273556c
|
|
/* 0273556C */ return;
|
|
}
|
|
|
|
// fn_02735570 @ 0x2735570
|
|
void Gambit_fn_02735570(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02735570: ; // 0x2735570
|
|
/* 02735570 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02735574 */ goto L_02735834;
|
|
L_02735834: ; // 0x2735834
|
|
/* 02735834 */ cpu->r[0] = cpu->lr;
|
|
/* 02735838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735838 */ cpu->r[1] = _t0;
|
|
/* 0273583C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273583C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735840 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735840 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02735844 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735848 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273584C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273584C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735850 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735850 */ if (_t5) goto L_02735894; else goto L_02735854;
|
|
L_02735854: ; // 0x2735854
|
|
/* 02735854 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735858 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0273585C */ cpu->r[0] = cpu->r[0] + 0x00006E70u;
|
|
/* 02735860 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735864 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02735864 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02735868 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273586C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02735870 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735874 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735878 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273587C */ cpu->r[4] = 0x00000000u;
|
|
/* 02735880 */ Gambit_fn_028136EC(cpu);
|
|
/* 02735884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02735888 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735888 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02735888 */ if (_t8) goto L_02735894; else goto L_0273588C;
|
|
L_0273588C: ; // 0x273588c
|
|
/* 0273588C */ cpu->r[3] = cpu->r[30];
|
|
/* 02735890 */ Gambit_fn_02801BB0(cpu);
|
|
L_02735894: ; // 0x2735894
|
|
/* 02735894 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02735894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02735898 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02735898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273589C */ cpu->lr = cpu->r[0];
|
|
/* 027358A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027358A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027358A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027358A8 */ return;
|
|
}
|
|
|
|
// fn_02735578 @ 0x2735578
|
|
void Gambit_fn_02735578(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02735578: ; // 0x2735578
|
|
/* 02735578 */ cpu->r[0] = cpu->lr;
|
|
/* 0273557C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273557C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273557C */ cpu->r[1] = _t0;
|
|
/* 02735580 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735584 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735584 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02735588 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273558C */ cpu->r[31] = cpu->r[4];
|
|
/* 02735590 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02735590 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735594 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735594 */ if (_t5) goto L_02735698; else goto L_02735598;
|
|
L_02735598: ; // 0x2735598
|
|
/* 02735598 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273559C */ cpu->r[11] = 0x100F0000u;
|
|
/* 027355A0 */ cpu->r[0] = cpu->r[0] + 0x00007048u;
|
|
/* 027355A4 */ cpu->r[11] = cpu->r[11] + 0x00007058u;
|
|
/* 027355A8 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355AC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027355AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027355B0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027355B4 */ cpu->r[12] = cpu->r[12] + 0x00006EC8u;
|
|
/* 027355B8 */ _t7 = cpu->r[30] + 0x00000158u;
|
|
/* 027355B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027355BC */ cpu->r[0] = cpu->r[0] + 0x00007088u;
|
|
/* 027355C0 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 027355C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027355C4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355C8 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 027355C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027355CC */ cpu->r[12] = cpu->r[12] + 0x00007078u;
|
|
/* 027355D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027355D4 */ _t10 = cpu->r[30] + 0x00000214u;
|
|
/* 027355D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027355D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027355DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027355E0 */ _t11 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 027355E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027355E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027355E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027355E4 */ if (_t13) goto L_02735688; else goto L_027355E8;
|
|
L_027355E8: ; // 0x27355e8
|
|
/* 027355E8 */ cpu->r[11] = 0x10020000u;
|
|
/* 027355EC */ cpu->r[12] = 0x10020000u;
|
|
/* 027355F0 */ cpu->r[11] = cpu->r[11] + 0x000041C0u;
|
|
/* 027355F4 */ cpu->r[12] = cpu->r[12] + 0x00004190u;
|
|
/* 027355F8 */ cpu->r[0] = 0x10020000u;
|
|
/* 027355FC */ _t14 = cpu->r[30] + 0x00000214u;
|
|
/* 027355FC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02735600 */ cpu->r[0] = cpu->r[0] + 0x000041A0u;
|
|
/* 02735604 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02735604 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02735608 */ cpu->r[12] = 0x10020000u;
|
|
/* 0273560C */ _t16 = cpu->r[30] + 0x00000158u;
|
|
/* 0273560C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02735610 */ cpu->r[12] = cpu->r[12] + 0x000041D0u;
|
|
/* 02735614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735618 */ _t17 = cpu->r[30] + 0x00000218u;
|
|
/* 02735618 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0273561C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273561C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273561C */ if (_t19) goto L_02735688; else goto L_02735620;
|
|
L_02735620: ; // 0x2735620
|
|
/* 02735620 */ cpu->r[0] = 0x10110000u;
|
|
/* 02735624 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 02735628 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF04u;
|
|
/* 0273562C */ cpu->r[12] = 0x10110000u;
|
|
/* 02735630 */ _t20 = cpu->r[30] + 0x00000020u;
|
|
/* 02735630 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02735634 */ cpu->r[12] = cpu->r[12] + 0xFFFFDF14u;
|
|
/* 02735638 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273563C */ _t21 = cpu->r[30] + 0x00000158u;
|
|
/* 0273563C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02735640 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735644 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 02735648 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273564C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735654 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735654 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02735654 */ if (_t23) goto L_02735688; else goto L_02735658;
|
|
L_02735658: ; // 0x2735658
|
|
/* 02735658 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273565C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02735660 */ cpu->r[11] = cpu->r[11] + 0x00006E70u;
|
|
/* 02735664 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735668 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 02735668 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0273566C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735670 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02735674 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735678 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273567C */ cpu->r[3] = cpu->r[30];
|
|
/* 02735680 */ cpu->r[4] = 0x00000000u;
|
|
/* 02735684 */ Gambit_fn_028136EC(cpu);
|
|
L_02735688: ; // 0x2735688
|
|
/* 02735688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273568C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273568C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273568C */ if (_t26) goto L_02735698; else goto L_02735690;
|
|
L_02735690: ; // 0x2735690
|
|
/* 02735690 */ cpu->r[3] = cpu->r[30];
|
|
/* 02735694 */ Gambit_fn_02801BB0(cpu);
|
|
L_02735698: ; // 0x2735698
|
|
/* 02735698 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02735698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273569C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0273569C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027356A0 */ cpu->lr = cpu->r[0];
|
|
/* 027356A4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027356A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027356A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027356AC */ return;
|
|
}
|
|
|
|
// fn_0273557C @ 0x273557c
|
|
void Gambit_fn_0273557C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0273557C: ; // 0x273557c
|
|
/* 0273557C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273557C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273557C */ cpu->r[1] = _t0;
|
|
/* 02735580 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735584 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735584 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02735588 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273558C */ cpu->r[31] = cpu->r[4];
|
|
/* 02735590 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02735590 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735594 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735594 */ if (_t5) goto L_02735698; else goto L_02735598;
|
|
L_02735598: ; // 0x2735598
|
|
/* 02735598 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273559C */ cpu->r[11] = 0x100F0000u;
|
|
/* 027355A0 */ cpu->r[0] = cpu->r[0] + 0x00007048u;
|
|
/* 027355A4 */ cpu->r[11] = cpu->r[11] + 0x00007058u;
|
|
/* 027355A8 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355AC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027355AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027355B0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027355B4 */ cpu->r[12] = cpu->r[12] + 0x00006EC8u;
|
|
/* 027355B8 */ _t7 = cpu->r[30] + 0x00000158u;
|
|
/* 027355B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027355BC */ cpu->r[0] = cpu->r[0] + 0x00007088u;
|
|
/* 027355C0 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 027355C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027355C4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355C8 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 027355C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027355CC */ cpu->r[12] = cpu->r[12] + 0x00007078u;
|
|
/* 027355D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027355D4 */ _t10 = cpu->r[30] + 0x00000214u;
|
|
/* 027355D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027355D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027355DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027355E0 */ _t11 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 027355E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027355E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027355E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027355E4 */ if (_t13) goto L_02735688; else goto L_027355E8;
|
|
L_027355E8: ; // 0x27355e8
|
|
/* 027355E8 */ cpu->r[11] = 0x10020000u;
|
|
/* 027355EC */ cpu->r[12] = 0x10020000u;
|
|
/* 027355F0 */ cpu->r[11] = cpu->r[11] + 0x000041C0u;
|
|
/* 027355F4 */ cpu->r[12] = cpu->r[12] + 0x00004190u;
|
|
/* 027355F8 */ cpu->r[0] = 0x10020000u;
|
|
/* 027355FC */ _t14 = cpu->r[30] + 0x00000214u;
|
|
/* 027355FC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02735600 */ cpu->r[0] = cpu->r[0] + 0x000041A0u;
|
|
/* 02735604 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02735604 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02735608 */ cpu->r[12] = 0x10020000u;
|
|
/* 0273560C */ _t16 = cpu->r[30] + 0x00000158u;
|
|
/* 0273560C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02735610 */ cpu->r[12] = cpu->r[12] + 0x000041D0u;
|
|
/* 02735614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735618 */ _t17 = cpu->r[30] + 0x00000218u;
|
|
/* 02735618 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0273561C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273561C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273561C */ if (_t19) goto L_02735688; else goto L_02735620;
|
|
L_02735620: ; // 0x2735620
|
|
/* 02735620 */ cpu->r[0] = 0x10110000u;
|
|
/* 02735624 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 02735628 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF04u;
|
|
/* 0273562C */ cpu->r[12] = 0x10110000u;
|
|
/* 02735630 */ _t20 = cpu->r[30] + 0x00000020u;
|
|
/* 02735630 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02735634 */ cpu->r[12] = cpu->r[12] + 0xFFFFDF14u;
|
|
/* 02735638 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273563C */ _t21 = cpu->r[30] + 0x00000158u;
|
|
/* 0273563C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02735640 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735644 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 02735648 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273564C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735654 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735654 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02735654 */ if (_t23) goto L_02735688; else goto L_02735658;
|
|
L_02735658: ; // 0x2735658
|
|
/* 02735658 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273565C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02735660 */ cpu->r[11] = cpu->r[11] + 0x00006E70u;
|
|
/* 02735664 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735668 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 02735668 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0273566C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735670 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02735674 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735678 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273567C */ cpu->r[3] = cpu->r[30];
|
|
/* 02735680 */ cpu->r[4] = 0x00000000u;
|
|
/* 02735684 */ Gambit_fn_028136EC(cpu);
|
|
L_02735688: ; // 0x2735688
|
|
/* 02735688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273568C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273568C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273568C */ if (_t26) goto L_02735698; else goto L_02735690;
|
|
L_02735690: ; // 0x2735690
|
|
/* 02735690 */ cpu->r[3] = cpu->r[30];
|
|
/* 02735694 */ Gambit_fn_02801BB0(cpu);
|
|
L_02735698: ; // 0x2735698
|
|
/* 02735698 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02735698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273569C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0273569C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027356A0 */ cpu->lr = cpu->r[0];
|
|
/* 027356A4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027356A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027356A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027356AC */ return;
|
|
}
|
|
|
|
// fn_027356B0 @ 0x27356b0
|
|
void Gambit_fn_027356B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02735578: ; // 0x2735578
|
|
/* 02735578 */ cpu->r[0] = cpu->lr;
|
|
/* 0273557C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273557C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273557C */ cpu->r[1] = _t0;
|
|
/* 02735580 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735584 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735584 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02735588 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273558C */ cpu->r[31] = cpu->r[4];
|
|
/* 02735590 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02735590 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735594 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735594 */ if (_t5) goto L_02735698; else goto L_02735598;
|
|
L_02735598: ; // 0x2735598
|
|
/* 02735598 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273559C */ cpu->r[11] = 0x100F0000u;
|
|
/* 027355A0 */ cpu->r[0] = cpu->r[0] + 0x00007048u;
|
|
/* 027355A4 */ cpu->r[11] = cpu->r[11] + 0x00007058u;
|
|
/* 027355A8 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355AC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027355AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027355B0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027355B4 */ cpu->r[12] = cpu->r[12] + 0x00006EC8u;
|
|
/* 027355B8 */ _t7 = cpu->r[30] + 0x00000158u;
|
|
/* 027355B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027355BC */ cpu->r[0] = cpu->r[0] + 0x00007088u;
|
|
/* 027355C0 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 027355C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027355C4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027355C8 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 027355C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027355CC */ cpu->r[12] = cpu->r[12] + 0x00007078u;
|
|
/* 027355D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027355D4 */ _t10 = cpu->r[30] + 0x00000214u;
|
|
/* 027355D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027355D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027355DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027355E0 */ _t11 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 027355E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027355E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027355E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027355E4 */ if (_t13) goto L_02735688; else goto L_027355E8;
|
|
L_027355E8: ; // 0x27355e8
|
|
/* 027355E8 */ cpu->r[11] = 0x10020000u;
|
|
/* 027355EC */ cpu->r[12] = 0x10020000u;
|
|
/* 027355F0 */ cpu->r[11] = cpu->r[11] + 0x000041C0u;
|
|
/* 027355F4 */ cpu->r[12] = cpu->r[12] + 0x00004190u;
|
|
/* 027355F8 */ cpu->r[0] = 0x10020000u;
|
|
/* 027355FC */ _t14 = cpu->r[30] + 0x00000214u;
|
|
/* 027355FC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02735600 */ cpu->r[0] = cpu->r[0] + 0x000041A0u;
|
|
/* 02735604 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02735604 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02735608 */ cpu->r[12] = 0x10020000u;
|
|
/* 0273560C */ _t16 = cpu->r[30] + 0x00000158u;
|
|
/* 0273560C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02735610 */ cpu->r[12] = cpu->r[12] + 0x000041D0u;
|
|
/* 02735614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735618 */ _t17 = cpu->r[30] + 0x00000218u;
|
|
/* 02735618 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0273561C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273561C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273561C */ if (_t19) goto L_02735688; else goto L_02735620;
|
|
L_02735620: ; // 0x2735620
|
|
/* 02735620 */ cpu->r[0] = 0x10110000u;
|
|
/* 02735624 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 02735628 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF04u;
|
|
/* 0273562C */ cpu->r[12] = 0x10110000u;
|
|
/* 02735630 */ _t20 = cpu->r[30] + 0x00000020u;
|
|
/* 02735630 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02735634 */ cpu->r[12] = cpu->r[12] + 0xFFFFDF14u;
|
|
/* 02735638 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273563C */ _t21 = cpu->r[30] + 0x00000158u;
|
|
/* 0273563C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02735640 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735644 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 02735648 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273564C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735654 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735654 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02735654 */ if (_t23) goto L_02735688; else goto L_02735658;
|
|
L_02735658: ; // 0x2735658
|
|
/* 02735658 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273565C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02735660 */ cpu->r[11] = cpu->r[11] + 0x00006E70u;
|
|
/* 02735664 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735668 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 02735668 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0273566C */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735670 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02735674 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735678 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273567C */ cpu->r[3] = cpu->r[30];
|
|
/* 02735680 */ cpu->r[4] = 0x00000000u;
|
|
/* 02735684 */ Gambit_fn_028136EC(cpu);
|
|
L_02735688: ; // 0x2735688
|
|
/* 02735688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273568C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273568C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273568C */ if (_t26) goto L_02735698; else goto L_02735690;
|
|
L_02735690: ; // 0x2735690
|
|
/* 02735690 */ cpu->r[3] = cpu->r[30];
|
|
/* 02735694 */ Gambit_fn_02801BB0(cpu);
|
|
L_02735698: ; // 0x2735698
|
|
/* 02735698 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02735698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273569C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0273569C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027356A0 */ cpu->lr = cpu->r[0];
|
|
/* 027356A4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027356A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027356A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027356AC */ return;
|
|
L_027356B0: ; // 0x27356b0
|
|
/* 027356B0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027356B4 */ goto L_02735578;
|
|
}
|
|
|
|
// fn_027356B8 @ 0x27356b8
|
|
void Gambit_fn_027356B8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027356B8: ; // 0x27356b8
|
|
/* 027356B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFEB0u;
|
|
/* 027356BC */ goto L_027358AC;
|
|
L_027358AC: ; // 0x27358ac
|
|
/* 027358AC */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027358AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027358B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027358B4 */ /* nop */
|
|
/* 027358B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027358BC */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027358C0 */ return;
|
|
}
|
|
|
|
// fn_027356C0 @ 0x27356c0
|
|
void Gambit_fn_027356C0(CPUState* cpu) {
|
|
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_027356C0: ; // 0x27356c0
|
|
/* 027356C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027356C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027356C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027356C4 */ cpu->r[1] = _t0;
|
|
/* 027356C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027356C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027356CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027356CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027356D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027356D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027356D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027356D8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027356D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027356DC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027356DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027356E0 */ cpu->r[29] = cpu->r[5];
|
|
/* 027356E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027356E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027356E4 */ if (_t6) goto L_027356E8; else goto L_027356F8;
|
|
L_027356E8: ; // 0x27356e8
|
|
/* 027356E8 */ cpu->r[3] = 0x0000027Cu;
|
|
/* 027356EC */ Gambit_fn_02801A78(cpu);
|
|
/* 027356F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027356F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027356F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027356F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027356F4 */ if (_t8) goto L_02735764; else goto L_027356F8;
|
|
L_027356F8: ; // 0x27356f8
|
|
/* 027356F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027356FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02735700 */ cpu->r[5] = cpu->r[29];
|
|
/* 02735704 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 02735708 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273570C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735710 */ cpu->r[11] = cpu->r[11] + 0x00006EC8u;
|
|
/* 02735714 */ cpu->r[0] = cpu->r[0] + 0x00007058u;
|
|
/* 02735718 */ cpu->r[12] = 0x100F0000u;
|
|
/* 0273571C */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0273571C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02735720 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02735724 */ cpu->r[12] = cpu->r[12] + 0x00007048u;
|
|
/* 02735728 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 02735728 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273572C */ cpu->r[11] = cpu->r[11] + 0x00007078u;
|
|
/* 02735730 */ _t11 = cpu->r[31] + 0x00000020u;
|
|
/* 02735730 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02735734 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02735738 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273573C */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 0273573C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02735740 */ cpu->r[12] = cpu->r[12] + 0x00007088u;
|
|
/* 02735744 */ _t13 = cpu->r[31] + 0x00000278u;
|
|
/* 02735744 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02735748 */ _t14 = cpu->r[31] + 0x00000218u;
|
|
/* 02735748 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0273574C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735750 */ cpu->r[3] = cpu->r[31];
|
|
/* 02735754 */ _t15 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02735754 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02735758 */ Gambit_fn_02735AD0(cpu);
|
|
/* 0273575C */ _t16 = cpu->r[31] + 0x00000278u;
|
|
/* 0273575C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02735760 */ _t17 = cpu->r[3] + 0x00000244u;
|
|
/* 02735760 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_02735764: ; // 0x2735764
|
|
/* 02735764 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735764 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735768 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273576C */ cpu->r[3] = cpu->r[31];
|
|
/* 02735770 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02735770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02735774 */ cpu->lr = cpu->r[0];
|
|
/* 02735778 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02735778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273577C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735780 */ return;
|
|
}
|
|
|
|
// fn_027356C4 @ 0x27356c4
|
|
void Gambit_fn_027356C4(CPUState* cpu) {
|
|
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_027356C4: ; // 0x27356c4
|
|
/* 027356C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027356C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027356C4 */ cpu->r[1] = _t0;
|
|
/* 027356C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027356C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027356CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027356CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027356D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027356D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027356D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027356D8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027356D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027356DC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027356DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027356E0 */ cpu->r[29] = cpu->r[5];
|
|
/* 027356E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027356E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027356E4 */ if (_t6) goto L_027356E8; else goto L_027356F8;
|
|
L_027356E8: ; // 0x27356e8
|
|
/* 027356E8 */ cpu->r[3] = 0x0000027Cu;
|
|
/* 027356EC */ Gambit_fn_02801A78(cpu);
|
|
/* 027356F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027356F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027356F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027356F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027356F4 */ if (_t8) goto L_02735764; else goto L_027356F8;
|
|
L_027356F8: ; // 0x27356f8
|
|
/* 027356F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027356FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02735700 */ cpu->r[5] = cpu->r[29];
|
|
/* 02735704 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 02735708 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273570C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735710 */ cpu->r[11] = cpu->r[11] + 0x00006EC8u;
|
|
/* 02735714 */ cpu->r[0] = cpu->r[0] + 0x00007058u;
|
|
/* 02735718 */ cpu->r[12] = 0x100F0000u;
|
|
/* 0273571C */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0273571C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02735720 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02735724 */ cpu->r[12] = cpu->r[12] + 0x00007048u;
|
|
/* 02735728 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 02735728 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273572C */ cpu->r[11] = cpu->r[11] + 0x00007078u;
|
|
/* 02735730 */ _t11 = cpu->r[31] + 0x00000020u;
|
|
/* 02735730 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02735734 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02735738 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273573C */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 0273573C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02735740 */ cpu->r[12] = cpu->r[12] + 0x00007088u;
|
|
/* 02735744 */ _t13 = cpu->r[31] + 0x00000278u;
|
|
/* 02735744 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02735748 */ _t14 = cpu->r[31] + 0x00000218u;
|
|
/* 02735748 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0273574C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735750 */ cpu->r[3] = cpu->r[31];
|
|
/* 02735754 */ _t15 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02735754 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02735758 */ Gambit_fn_02735AD0(cpu);
|
|
/* 0273575C */ _t16 = cpu->r[31] + 0x00000278u;
|
|
/* 0273575C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02735760 */ _t17 = cpu->r[3] + 0x00000244u;
|
|
/* 02735760 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_02735764: ; // 0x2735764
|
|
/* 02735764 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735764 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02735768 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273576C */ cpu->r[3] = cpu->r[31];
|
|
/* 02735770 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02735770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02735774 */ cpu->lr = cpu->r[0];
|
|
/* 02735778 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02735778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273577C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735780 */ return;
|
|
}
|
|
|
|
// fn_02735784 @ 0x2735784
|
|
void Gambit_fn_02735784(CPUState* cpu) {
|
|
L_02735784: ; // 0x2735784
|
|
/* 02735784 */ return;
|
|
}
|
|
|
|
// fn_02735788 @ 0x2735788
|
|
void Gambit_fn_02735788(CPUState* cpu) {
|
|
uint32_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_02735788: ; // 0x2735788
|
|
/* 02735788 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273578C */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 02735790 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02735790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735790 */ cpu->r[1] = _t0;
|
|
/* 02735794 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735798 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0273579C */ _t1 = cpu->r[7] + 0x00000580u;
|
|
/* 0273579C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0273579C */ cpu->r[7] = _t1;
|
|
/* 027357A0 */ cpu->r[8] = cpu->r[8] + 0x00000598u;
|
|
/* 027357A4 */ _t2 = cpu->r[7] + 0x00000004u;
|
|
/* 027357A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 027357A8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027357AC */ _t3 = cpu->r[8] + 0x00000004u;
|
|
/* 027357AC */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 027357B0 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027357B4 */ _t4 = cpu->r[7] + 0x00000590u;
|
|
/* 027357B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027357B4 */ cpu->r[7] = _t4;
|
|
/* 027357B8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027357BC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027357C0 */ _t5 = cpu->r[9] + 0x00006EC0u;
|
|
/* 027357C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027357C4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027357C8 */ _t6 = cpu->r[10] + 0x00000588u;
|
|
/* 027357C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027357C8 */ cpu->r[10] = _t6;
|
|
/* 027357CC */ cpu->r[12] = cpu->r[12] + 0x000005ACu;
|
|
/* 027357D0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027357D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 027357D4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027357D8 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 027357D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027357DC */ cpu->r[10] = 0x100F0000u;
|
|
/* 027357E0 */ _t9 = cpu->r[9] + 0x000005A0u;
|
|
/* 027357E0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027357E0 */ cpu->r[9] = _t9;
|
|
/* 027357E4 */ cpu->r[0] = 0x00000002u;
|
|
/* 027357E8 */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 027357E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027357EC */ _t11 = cpu->r[10] + 0x00006EC4u;
|
|
/* 027357EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027357F0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027357F0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027357F4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027357F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027357F8 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 027357F8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027357FC */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027357FC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02735800 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02735804 */ _t16 = cpu->r[12] + 0x00000008u;
|
|
/* 02735804 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02735808 */ cpu->r[10] = cpu->r[10] + 0x000005BCu;
|
|
/* 0273580C */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 0273580C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02735810 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02735810 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02735814 */ _t19 = cpu->r[10] + 0x00000008u;
|
|
/* 02735814 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02735818 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273581C */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 0273581C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02735820 */ cpu->r[0] = 0x00000004u;
|
|
/* 02735824 */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 02735824 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02735828 */ _t22 = cpu->r[8] + 0x000005A8u;
|
|
/* 02735828 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0273582C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735830 */ return;
|
|
}
|
|
|
|
// fn_02735790 @ 0x2735790
|
|
void Gambit_fn_02735790(CPUState* cpu) {
|
|
uint32_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_02735790: ; // 0x2735790
|
|
/* 02735790 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02735790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735790 */ cpu->r[1] = _t0;
|
|
/* 02735794 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02735798 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0273579C */ _t1 = cpu->r[7] + 0x00000580u;
|
|
/* 0273579C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0273579C */ cpu->r[7] = _t1;
|
|
/* 027357A0 */ cpu->r[8] = cpu->r[8] + 0x00000598u;
|
|
/* 027357A4 */ _t2 = cpu->r[7] + 0x00000004u;
|
|
/* 027357A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 027357A8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027357AC */ _t3 = cpu->r[8] + 0x00000004u;
|
|
/* 027357AC */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 027357B0 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027357B4 */ _t4 = cpu->r[7] + 0x00000590u;
|
|
/* 027357B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027357B4 */ cpu->r[7] = _t4;
|
|
/* 027357B8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027357BC */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027357C0 */ _t5 = cpu->r[9] + 0x00006EC0u;
|
|
/* 027357C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027357C4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027357C8 */ _t6 = cpu->r[10] + 0x00000588u;
|
|
/* 027357C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027357C8 */ cpu->r[10] = _t6;
|
|
/* 027357CC */ cpu->r[12] = cpu->r[12] + 0x000005ACu;
|
|
/* 027357D0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027357D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 027357D4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027357D8 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 027357D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027357DC */ cpu->r[10] = 0x100F0000u;
|
|
/* 027357E0 */ _t9 = cpu->r[9] + 0x000005A0u;
|
|
/* 027357E0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027357E0 */ cpu->r[9] = _t9;
|
|
/* 027357E4 */ cpu->r[0] = 0x00000002u;
|
|
/* 027357E8 */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 027357E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027357EC */ _t11 = cpu->r[10] + 0x00006EC4u;
|
|
/* 027357EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027357F0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027357F0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027357F4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027357F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027357F8 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 027357F8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027357FC */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027357FC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02735800 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02735804 */ _t16 = cpu->r[12] + 0x00000008u;
|
|
/* 02735804 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02735808 */ cpu->r[10] = cpu->r[10] + 0x000005BCu;
|
|
/* 0273580C */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 0273580C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02735810 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02735810 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02735814 */ _t19 = cpu->r[10] + 0x00000008u;
|
|
/* 02735814 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02735818 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273581C */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 0273581C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02735820 */ cpu->r[0] = 0x00000004u;
|
|
/* 02735824 */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 02735824 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02735828 */ _t22 = cpu->r[8] + 0x000005A8u;
|
|
/* 02735828 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0273582C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02735830 */ return;
|
|
}
|
|
|
|
// fn_02735838 @ 0x2735838
|
|
void Gambit_fn_02735838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02735838: ; // 0x2735838
|
|
/* 02735838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735838 */ cpu->r[1] = _t0;
|
|
/* 0273583C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273583C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735840 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735840 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02735844 */ cpu->r[30] = cpu->r[3];
|
|
/* 02735844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02735848 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273584C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273584C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735850 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735850 */ if (_t5) goto L_02735894; else goto L_02735854;
|
|
L_02735854: ; // 0x2735854
|
|
/* 02735854 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735858 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0273585C */ cpu->r[0] = cpu->r[0] + 0x00006E70u;
|
|
/* 02735860 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735864 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02735864 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02735868 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273586C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02735870 */ cpu->r[4] = 0x00000002u;
|
|
/* 02735874 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02735878 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273587C */ cpu->r[4] = 0x00000000u;
|
|
/* 02735880 */ Gambit_fn_028136EC(cpu);
|
|
/* 02735884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02735884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02735888 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735888 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02735888 */ if (_t8) goto L_02735894; else goto L_0273588C;
|
|
L_0273588C: ; // 0x273588c
|
|
/* 0273588C */ cpu->r[3] = cpu->r[30];
|
|
/* 02735890 */ Gambit_fn_02801BB0(cpu);
|
|
L_02735894: ; // 0x2735894
|
|
/* 02735894 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02735894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02735898 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02735898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273589C */ cpu->lr = cpu->r[0];
|
|
/* 027358A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027358A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027358A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027358A8 */ return;
|
|
}
|
|
|
|
// fn_027358AC @ 0x27358ac
|
|
void Gambit_fn_027358AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027358AC: ; // 0x27358ac
|
|
/* 027358AC */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027358AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027358B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027358B4 */ /* nop */
|
|
/* 027358B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027358BC */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027358C0 */ return;
|
|
}
|
|
|
|
// fn_027358C4 @ 0x27358c4
|
|
void Gambit_fn_027358C4(CPUState* cpu) {
|
|
L_027358C4: ; // 0x27358c4
|
|
/* 027358C4 */ return;
|
|
}
|
|
|
|
// fn_027358C8 @ 0x27358c8
|
|
void Gambit_fn_027358C8(CPUState* cpu) {
|
|
L_027358C8: ; // 0x27358c8
|
|
/* 027358C8 */ return;
|
|
}
|
|
|
|
// fn_027358D4 @ 0x27358d4
|
|
void Gambit_fn_027358D4(CPUState* cpu) {
|
|
L_027358D4: ; // 0x27358d4
|
|
/* 027358D4 */ return;
|
|
}
|
|
|
|
// fn_027358D8 @ 0x27358d8
|
|
void Gambit_fn_027358D8(CPUState* cpu) {
|
|
L_027358D8: ; // 0x27358d8
|
|
/* 027358D8 */ return;
|
|
}
|
|
|
|
// fn_027358DC @ 0x27358dc
|
|
void Gambit_fn_027358DC(CPUState* cpu) {
|
|
L_027358DC: ; // 0x27358dc
|
|
/* 027358DC */ return;
|
|
}
|
|
|
|
// fn_027358E0 @ 0x27358e0
|
|
void Gambit_fn_027358E0(CPUState* cpu) {
|
|
L_027358E0: ; // 0x27358e0
|
|
/* 027358E0 */ return;
|
|
}
|
|
|
|
// fn_027358E4 @ 0x27358e4
|
|
void Gambit_fn_027358E4(CPUState* cpu) {
|
|
L_027358E4: ; // 0x27358e4
|
|
/* 027358E4 */ return;
|
|
}
|
|
|
|
// fn_027358E8 @ 0x27358e8
|
|
void Gambit_fn_027358E8(CPUState* cpu) {
|
|
L_027358E8: ; // 0x27358e8
|
|
/* 027358E8 */ return;
|
|
}
|
|
|
|
// fn_027358EC @ 0x27358ec
|
|
void Gambit_fn_027358EC(CPUState* 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_027358EC: ; // 0x27358ec
|
|
/* 027358EC */ goto L_0217ADCC;
|
|
}
|
|
|
|
// fn_027358F0 @ 0x27358f0
|
|
void Gambit_fn_027358F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027358F0: ; // 0x27358f0
|
|
/* 027358F0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027358F4 */ _t0 = cpu->r[8] + 0xFFFFEE30u;
|
|
/* 027358F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027358F8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 027358FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02735900 */ cpu->r[6] = cpu->r[6] + 0x00001158u;
|
|
/* 02735904 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735904 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02735904 */ if (_t2) goto L_02735908; else goto L_02735920;
|
|
L_02735908: ; // 0x2735908
|
|
/* 02735908 */ cpu->r[5] = 0x100F0000u;
|
|
/* 0273590C */ cpu->r[0] = 0x00000001u;
|
|
/* 02735910 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02735914 */ cpu->r[5] = cpu->r[5] + 0x00006EB0u;
|
|
/* 02735918 */ _t3 = cpu->r[8] + 0xFFFFEE30u;
|
|
/* 02735918 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273591C */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0273591C */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02735920: ; // 0x2735920
|
|
/* 02735920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02735924 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735924 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02735924 */ if (_t6) goto L_02735928; else goto L_02735930;
|
|
L_02735928: ; // 0x2735928
|
|
/* 02735928 */ cpu->r[3] = 0x00000001u;
|
|
/* 0273592C */ return;
|
|
L_02735930: ; // 0x2735930
|
|
/* 02735930 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02735934 */ _t7 = cpu->r[10] + 0xFFFFDE0Cu;
|
|
/* 02735934 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02735938 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0273593C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02735940 */ cpu->r[8] = cpu->r[8] + 0xFFFFF664u;
|
|
/* 02735944 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735944 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02735944 */ if (_t9) goto L_02735948; else goto L_02735960;
|
|
L_02735948: ; // 0x2735948
|
|
/* 02735948 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273594C */ cpu->r[7] = 0x00000001u;
|
|
/* 02735950 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02735954 */ cpu->r[0] = cpu->r[0] + 0x00006EA0u;
|
|
/* 02735958 */ _t10 = cpu->r[6] + 0xFFFFDE0Cu;
|
|
/* 02735958 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0273595C */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0273595C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02735960: ; // 0x2735960
|
|
/* 02735960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02735964 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735964 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02735964 */ if (_t13) goto L_02735968; else goto L_02735970;
|
|
L_02735968: ; // 0x2735968
|
|
/* 02735968 */ cpu->r[0] = 0x00000001u;
|
|
/* 0273596C */ goto L_02735A68;
|
|
L_02735970: ; // 0x2735970
|
|
/* 02735970 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735974 */ _t14 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 02735974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02735978 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0273597C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02735980 */ cpu->r[10] = cpu->r[10] + 0xFFFFF660u;
|
|
/* 02735984 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735984 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02735984 */ if (_t16) goto L_02735988; else goto L_027359A0;
|
|
L_02735988: ; // 0x2735988
|
|
/* 02735988 */ cpu->r[7] = 0x100F0000u;
|
|
/* 0273598C */ cpu->r[5] = 0x00000001u;
|
|
/* 02735990 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735994 */ cpu->r[7] = cpu->r[7] + 0x00006E90u;
|
|
/* 02735998 */ _t17 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 02735998 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0273599C */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0273599C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_027359A0: ; // 0x27359a0
|
|
/* 027359A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027359A4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027359A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027359A4 */ if (_t20) goto L_027359A8; else goto L_027359B0;
|
|
L_027359A8: ; // 0x27359a8
|
|
/* 027359A8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027359AC */ goto L_02735A68;
|
|
L_027359B0: ; // 0x27359b0
|
|
/* 027359B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027359B4 */ _t21 = cpu->r[11] + 0xFFFFDAE4u;
|
|
/* 027359B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027359B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027359BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027359C0 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027359C4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027359C4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027359C4 */ if (_t23) goto L_027359C8; else goto L_027359E0;
|
|
L_027359C8: ; // 0x27359c8
|
|
/* 027359C8 */ cpu->r[10] = 0x100F0000u;
|
|
/* 027359CC */ cpu->r[9] = 0x00000001u;
|
|
/* 027359D0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027359D4 */ cpu->r[10] = cpu->r[10] + 0x00006E80u;
|
|
/* 027359D8 */ _t24 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 027359D8 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 027359DC */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 027359DC */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_027359E0: ; // 0x27359e0
|
|
/* 027359E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027359E4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027359E4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027359E4 */ if (_t27) goto L_027359E8; else goto L_027359F0;
|
|
L_027359E8: ; // 0x27359e8
|
|
/* 027359E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027359EC */ goto L_02735A64;
|
|
L_027359F0: ; // 0x27359f0
|
|
/* 027359F0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027359F4 */ _t28 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 027359F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027359F4 */ cpu->r[10] = _t28;
|
|
/* 027359F8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027359FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02735A00 */ cpu->r[7] = cpu->r[7] + 0xFFFFDD70u;
|
|
/* 02735A04 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735A04 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02735A04 */ if (_t30) goto L_02735A08; else goto L_02735A1C;
|
|
L_02735A08: ; // 0x2735a08
|
|
/* 02735A08 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735A0C */ cpu->r[12] = 0x00000001u;
|
|
/* 02735A10 */ cpu->r[0] = cpu->r[0] + 0x00006E60u;
|
|
/* 02735A14 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02735A14 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02735A18 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 02735A18 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02735A1C: ; // 0x2735a1c
|
|
/* 02735A1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02735A20 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735A20 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02735A20 */ if (_t34) goto L_02735A24; else goto L_02735A2C;
|
|
L_02735A24: ; // 0x2735a24
|
|
/* 02735A24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02735A28 */ goto L_02735A64;
|
|
L_02735A2C: ; // 0x2735a2c
|
|
/* 02735A2C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02735A30 */ _t35 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 02735A30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02735A30 */ cpu->r[8] = _t35;
|
|
/* 02735A34 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02735A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02735A3C */ cpu->r[6] = cpu->r[6] + 0xFFFFDD6Cu;
|
|
/* 02735A40 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735A40 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02735A40 */ if (_t37) goto L_02735A44; else goto L_02735A58;
|
|
L_02735A44: ; // 0x2735a44
|
|
/* 02735A44 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02735A48 */ cpu->r[7] = 0x00000001u;
|
|
/* 02735A4C */ cpu->r[9] = cpu->r[9] + 0x00006E50u;
|
|
/* 02735A50 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02735A50 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02735A54 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02735A54 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_02735A58: ; // 0x2735a58
|
|
/* 02735A58 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02735A5C */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02735A60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02735A64: ; // 0x2735a64
|
|
/* 02735A64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02735A68: ; // 0x2735a68
|
|
/* 02735A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02735A6C */ return;
|
|
}
|
|
|
|
// fn_02735A70 @ 0x2735a70
|
|
void Gambit_fn_02735A70(CPUState* cpu) {
|
|
L_02735A70: ; // 0x2735a70
|
|
/* 02735A70 */ return;
|
|
}
|
|
|
|
// fn_02735A74 @ 0x2735a74
|
|
void Gambit_fn_02735A74(CPUState* cpu) {
|
|
L_02735A74: ; // 0x2735a74
|
|
/* 02735A74 */ return;
|
|
}
|
|
|
|
// fn_02735A78 @ 0x2735a78
|
|
void Gambit_fn_02735A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02735A78: ; // 0x2735a78
|
|
/* 02735A78 */ cpu->r[0] = cpu->lr;
|
|
/* 02735A7C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735A80 */ cpu->r[7] = 0x02730000u;
|
|
/* 02735A84 */ cpu->r[6] = 0x02730000u;
|
|
/* 02735A88 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02735A8C */ cpu->r[7] = cpu->r[7] + 0x000058CCu;
|
|
/* 02735A90 */ cpu->r[6] = cpu->r[6] + 0x000058CCu;
|
|
/* 02735A94 */ cpu->r[10] = cpu->r[10] + 0xFFFF87D4u;
|
|
/* 02735A98 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02735A98 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02735A9C */ cpu->r[0] = 0x101D0000u;
|
|
/* 02735AA0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02735AA0 */ cpu->r[1] = _t1;
|
|
/* 02735AA4 */ cpu->r[0] = cpu->r[0] + 0xFFFF87D0u;
|
|
/* 02735AA8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02735AA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02735AAC */ cpu->r[8] = 0x00000000u;
|
|
/* 02735AB0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02735AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02735AB4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02735ABC */ Gambit_fn_02791B10(cpu);
|
|
/* 02735AC0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02735AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02735AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02735ACC */ return;
|
|
}
|
|
|
|
// fn_02735AA0 @ 0x2735aa0
|
|
void Gambit_fn_02735AA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02735AA0: ; // 0x2735aa0
|
|
/* 02735AA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735AA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735AA0 */ cpu->r[1] = _t0;
|
|
/* 02735AA4 */ cpu->r[0] = cpu->r[0] + 0xFFFF87D0u;
|
|
/* 02735AA8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02735AA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02735AAC */ cpu->r[8] = 0x00000000u;
|
|
/* 02735AB0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02735AB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02735AB4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02735ABC */ Gambit_fn_02791B10(cpu);
|
|
/* 02735AC0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02735AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02735AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02735AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02735ACC */ return;
|
|
}
|
|
|
|
// fn_02735AD0 @ 0x2735ad0
|
|
void Gambit_fn_02735AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02735AD0: ; // 0x2735ad0
|
|
/* 02735AD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02735AD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735AD4 */ cpu->r[1] = _t0;
|
|
/* 02735AD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735ADC */ cpu->r[31] = cpu->r[3];
|
|
/* 02735AE0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02735AE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02735AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02735AE8 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02735AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02735AEC */ cpu->r[4] = 0x00000000u;
|
|
/* 02735AF0 */ Gambit_fn_02735A78(cpu);
|
|
/* 02735AF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735AF8 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02735AF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02735AFC */ _t5 = cpu->r[12] + 0xFFFF87D0u;
|
|
/* 02735AFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735B00 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02735B04 */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 02735B04 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02735B08 */ Gambit_fn_027910F0(cpu);
|
|
/* 02735B0C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02735B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02735B10 */ cpu->lr = cpu->r[0];
|
|
/* 02735B14 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735B14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02735B18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02735B1C */ return;
|
|
}
|
|
|
|
// fn_02735AD4 @ 0x2735ad4
|
|
void Gambit_fn_02735AD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02735AD4: ; // 0x2735ad4
|
|
/* 02735AD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02735AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735AD4 */ cpu->r[1] = _t0;
|
|
/* 02735AD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735AD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02735ADC */ cpu->r[31] = cpu->r[3];
|
|
/* 02735AE0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02735AE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02735AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02735AE8 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02735AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02735AEC */ cpu->r[4] = 0x00000000u;
|
|
/* 02735AF0 */ Gambit_fn_02735A78(cpu);
|
|
/* 02735AF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02735AF8 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02735AF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02735AFC */ _t5 = cpu->r[12] + 0xFFFF87D0u;
|
|
/* 02735AFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02735B00 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02735B04 */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 02735B04 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02735B08 */ Gambit_fn_027910F0(cpu);
|
|
/* 02735B0C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02735B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02735B10 */ cpu->lr = cpu->r[0];
|
|
/* 02735B14 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735B14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02735B18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02735B1C */ return;
|
|
}
|
|
|
|
// fn_02735B20 @ 0x2735b20
|
|
void Gambit_fn_02735B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178;
|
|
|
|
L_02735B20: ; // 0x2735b20
|
|
/* 02735B20 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02735B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02735B20 */ cpu->r[1] = _t0;
|
|
/* 02735B24 */ cpu->r[0] = cpu->lr;
|
|
/* 02735B28 */ /* nop */
|
|
/* 02735B2C */ cpu->r[25] = cpu->r[3];
|
|
/* 02735B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02735B30 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02735B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02735B34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735B34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02735B34 */ if (_t3) goto L_02735B38; else goto L_02735B48;
|
|
L_02735B38: ; // 0x2735b38
|
|
/* 02735B38 */ cpu->r[3] = 0x00000294u;
|
|
/* 02735B3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02735B40 */ cpu->r[25] = cpu->r[3];
|
|
/* 02735B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02735B44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735B44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02735B44 */ if (_t5) goto L_027360C4; else goto L_02735B48;
|
|
L_02735B48: ; // 0x2735b48
|
|
/* 02735B48 */ cpu->r[28] = 0x00000000u;
|
|
/* 02735B4C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02735B50 */ cpu->r[3] = cpu->r[25];
|
|
/* 02735B54 */ cpu->r[5] = cpu->r[28];
|
|
/* 02735B58 */ Gambit_fn_02790BA4(cpu);
|
|
/* 02735B5C */ cpu->r[10] = 0x100F0000u;
|
|
/* 02735B60 */ cpu->r[10] = cpu->r[10] + 0x00007270u;
|
|
/* 02735B64 */ cpu->r[31] = cpu->r[25] + 0x00000238u;
|
|
/* 02735B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02735B68 */ _t6 = cpu->r[25] + 0x00000004u;
|
|
/* 02735B68 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02735B6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735B6C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02735B6C */ if (_t8) goto L_02735B70; else goto L_02735B80;
|
|
L_02735B70: ; // 0x2735b70
|
|
/* 02735B70 */ cpu->r[3] = 0x00000038u;
|
|
/* 02735B74 */ Gambit_fn_02801A78(cpu);
|
|
/* 02735B78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02735B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02735B7C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735B7C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02735B7C */ if (_t10) goto L_02735BB0; else goto L_02735B80;
|
|
L_02735B80: ; // 0x2735b80
|
|
/* 02735B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02735B84 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02735B88 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735B8C */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02735B8C */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02735B90 */ cpu->r[0] = cpu->r[0] + 0x000073A0u;
|
|
/* 02735B94 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02735B94 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02735B98 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02735B98 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02735B9C */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02735B9C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02735BA0 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02735BA0 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02735BA4 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02735BA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02735BA8 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02735BA8 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02735BAC */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02735BAC */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
L_02735BB0: ; // 0x2735bb0
|
|
/* 02735BB0 */ _t19 = cpu->r[25] + 0x00000274u;
|
|
/* 02735BB0 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02735BB4 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02735BB8 */ _t20 = cpu->r[25] + 0x00000280u;
|
|
/* 02735BB8 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02735BBC */ _t21 = cpu->r[9] + 0x000071A0u;
|
|
/* 02735BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02735BC0 */ _t22 = cpu->r[25] + 0x00000278u;
|
|
/* 02735BC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 02735BC4 */ _t23 = cpu->r[25] + 0x00000284u;
|
|
/* 02735BC4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02735BC8 */ _t24 = cpu->r[25] + 0x0000028Cu;
|
|
/* 02735BC8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02735BCC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02735BD0 */ _t25 = cpu->r[25] + 0x00000290u;
|
|
/* 02735BD0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02735BD4 */ _t26 = cpu->r[25] + 0x0000027Cu;
|
|
/* 02735BD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 02735BD8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02735BDC */ _t27 = cpu->r[25] + 0x00000288u;
|
|
/* 02735BDC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02735BE0 */ cpu->r[9] = 0x00000004u;
|
|
/* 02735BE4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02735BE8 */ _t28 = cpu->r[25] + 0x00000270u;
|
|
/* 02735BE8 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 02735BEC */ cpu->r[3] = cpu->r[25] + 0x00000238u;
|
|
/* 02735BF0 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02735BF0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[9]);
|
|
/* 02735BF4 */ Gambit_fn_02736E24(cpu);
|
|
/* 02735BF8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735BFC */ cpu->r[27] = 0x02730000u;
|
|
/* 02735C00 */ cpu->r[0] = cpu->r[0] + 0x000071B4u;
|
|
/* 02735C04 */ cpu->r[26] = 0x100F0000u;
|
|
/* 02735C08 */ cpu->r[27] = cpu->r[27] + 0x000068F0u;
|
|
/* 02735C0C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735C0C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02735C10 */ cpu->r[26] = cpu->r[26] + 0x00007110u;
|
|
/* 02735C14 */ cpu->ctr = cpu->r[27];
|
|
/* 02735C18 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02735C18 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 02735C1C */ _t32 = cpu->r[25] + 0x00000250u;
|
|
/* 02735C1C */ cpu->r[24] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02735C20 */ _t33 = cpu->r[24] + 0x00000000u;
|
|
/* 02735C20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02735C24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735C2C */ cpu->r[30] = 0x10110000u;
|
|
/* 02735C30 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735C30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02735C34 */ _t35 = cpu->r[30] + 0x00007399u;
|
|
/* 02735C34 */ cpu->r[30] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02735C38 */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 02735C38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02735C3C */ cpu->r[31] = 0x00000000u;
|
|
/* 02735C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02735C44 */ cpu->r[12] = 0x00080000u;
|
|
/* 02735C48 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735C48 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02735C48 */ if (_t38) goto L_02735C70; else goto L_02735C4C;
|
|
L_02735C4C: ; // 0x2735c4c
|
|
/* 02735C4C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02735C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02735C54 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02735C58 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735C58 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02735C58 */ if (_t40) goto L_02735C6C; else goto L_02735C5C;
|
|
L_02735C5C: ; // 0x2735c5c
|
|
/* 02735C5C */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 02735C5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02735C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02735C64 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735C64 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02735C64 */ if (_t43) goto L_02735C68; else goto L_02735C4C;
|
|
L_02735C68: ; // 0x2735c68
|
|
/* 02735C68 */ goto L_02735C70;
|
|
L_02735C6C: ; // 0x2735c6c
|
|
/* 02735C6C */ cpu->r[31] = 0x00000000u;
|
|
L_02735C70: ; // 0x2735c70
|
|
/* 02735C70 */ _t44 = cpu->r[24] + 0x00000008u;
|
|
/* 02735C70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02735C74 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02735C74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02735C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02735C7C */ _t46 = cpu->r[7] + 0x00000014u;
|
|
/* 02735C7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02735C80 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735C80 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02735C80 */ if (_t48) goto L_02735C88; else goto L_02735C84;
|
|
L_02735C84: ; // 0x2735c84
|
|
/* 02735C84 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02735C88: ; // 0x2735c88
|
|
/* 02735C88 */ cpu->ctr = cpu->r[8];
|
|
/* 02735C8C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735C94 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735C94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02735C98 */ cpu->r[6] = 0x00000000u;
|
|
/* 02735C9C */ cpu->r[5] = cpu->r[31];
|
|
/* 02735CA0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02735CA4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02735CA8 */ _t50 = cpu->r[29] + cpu->r[31];
|
|
/* 02735CA8 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[30]);
|
|
/* 02735CAC */ cpu->r[12] = 0x02730000u;
|
|
/* 02735CB0 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02735CB0 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[28]);
|
|
/* 02735CB4 */ cpu->r[10] = 0x02730000u;
|
|
/* 02735CB8 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02735CB8 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 02735CBC */ cpu->r[10] = cpu->r[10] + 0x00006E1Cu;
|
|
/* 02735CC0 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02735CC0 */ rbrew_write32(cpu->mem, _t53, cpu->r[28]);
|
|
/* 02735CC4 */ cpu->r[12] = cpu->r[12] + 0x00006598u;
|
|
/* 02735CC8 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02735CC8 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 02735CCC */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 02735CCC */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 02735CD0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02735CD4 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735CD4 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[28]);
|
|
/* 02735CD8 */ cpu->r[3] = cpu->r[25] + 0x00000238u;
|
|
/* 02735CDC */ _t57 = cpu->r[1] + 0x00000016u;
|
|
/* 02735CDC */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[11]);
|
|
/* 02735CE0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02735CE4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02735CE8 */ _t58 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02735CE8 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[11]);
|
|
/* 02735CEC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735CF0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02735CF4 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02735CF4 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[10]);
|
|
/* 02735CF8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02735CFC */ _t60 = cpu->r[1] + 0x00000026u;
|
|
/* 02735CFC */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[28]);
|
|
/* 02735D00 */ Gambit_fn_027370D4(cpu);
|
|
/* 02735D04 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02735D08 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02735D08 */ rbrew_write32(cpu->mem, _t61, cpu->r[26]);
|
|
/* 02735D0C */ cpu->r[7] = cpu->r[7] + 0x000071A4u;
|
|
/* 02735D10 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735D10 */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 02735D14 */ _t63 = cpu->r[25] + 0x0000024Cu;
|
|
/* 02735D14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02735D18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 02735D1C */ _t64 = cpu->r[25] + 0x00000250u;
|
|
/* 02735D1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02735D20 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735D20 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02735D20 */ if (_t66) goto L_02735D24; else goto L_02735D28;
|
|
L_02735D24: ; // 0x2735d24
|
|
/* 02735D24 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
L_02735D28: ; // 0x2735d28
|
|
/* 02735D28 */ cpu->ctr = cpu->r[27];
|
|
/* 02735D2C */ _t67 = cpu->r[29] + 0x00000000u;
|
|
/* 02735D2C */ cpu->r[24] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02735D30 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735D34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735D38 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735D38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02735D3C */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 02735D3C */ cpu->r[9] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02735D40 */ cpu->r[31] = 0x00000000u;
|
|
/* 02735D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 02735D48 */ cpu->r[12] = 0x00080000u;
|
|
/* 02735D4C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735D4C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02735D4C */ if (_t71) goto L_02735D74; else goto L_02735D50;
|
|
L_02735D50: ; // 0x2735d50
|
|
/* 02735D50 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02735D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02735D58 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02735D5C */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735D5C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02735D5C */ if (_t73) goto L_02735D70; else goto L_02735D60;
|
|
L_02735D60: ; // 0x2735d60
|
|
/* 02735D60 */ _t74 = cpu->r[11] + 0x00000000u;
|
|
/* 02735D60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02735D64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02735D68 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735D68 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02735D68 */ if (_t76) goto L_02735D6C; else goto L_02735D50;
|
|
L_02735D6C: ; // 0x2735d6c
|
|
/* 02735D6C */ goto L_02735D74;
|
|
L_02735D70: ; // 0x2735d70
|
|
/* 02735D70 */ cpu->r[31] = 0x00000000u;
|
|
L_02735D74: ; // 0x2735d74
|
|
/* 02735D74 */ _t77 = cpu->r[29] + 0x00000008u;
|
|
/* 02735D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02735D78 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 02735D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02735D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02735D80 */ _t79 = cpu->r[11] + 0x00000014u;
|
|
/* 02735D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02735D84 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735D84 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02735D84 */ if (_t81) goto L_02735D8C; else goto L_02735D88;
|
|
L_02735D88: ; // 0x2735d88
|
|
/* 02735D88 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02735D8C: ; // 0x2735d8c
|
|
/* 02735D8C */ cpu->ctr = cpu->r[12];
|
|
/* 02735D90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735D94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735D98 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02735D9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02735DA0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02735DA4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02735DA8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02735DAC */ _t83 = cpu->r[24] + cpu->r[31];
|
|
/* 02735DAC */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[30]);
|
|
/* 02735DB0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02735DB4 */ _t84 = cpu->r[1] + 0x00000026u;
|
|
/* 02735DB4 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[28]);
|
|
/* 02735DB8 */ cpu->r[0] = 0x02730000u;
|
|
/* 02735DBC */ _t85 = cpu->r[1] + 0x00000008u;
|
|
/* 02735DBC */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
/* 02735DC0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02735DC4 */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 02735DC4 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[28]);
|
|
/* 02735DC8 */ cpu->r[8] = 0x02730000u;
|
|
/* 02735DCC */ _t87 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02735DCC */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[6]);
|
|
/* 02735DD0 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02735DD0 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[28]);
|
|
/* 02735DD4 */ cpu->r[0] = cpu->r[0] + 0x000065D8u;
|
|
/* 02735DD8 */ _t89 = cpu->r[1] + 0x00000016u;
|
|
/* 02735DD8 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[6]);
|
|
/* 02735DDC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02735DE0 */ cpu->r[8] = cpu->r[8] + 0x00006628u;
|
|
/* 02735DE4 */ _t90 = cpu->r[1] + 0x00000020u;
|
|
/* 02735DE4 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02735DE8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02735DEC */ _t91 = cpu->r[1] + 0x00000018u;
|
|
/* 02735DEC */ rbrew_write32(cpu->mem, _t91, cpu->r[8]);
|
|
/* 02735DF0 */ cpu->r[3] = cpu->r[25] + 0x00000238u;
|
|
/* 02735DF4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735DF8 */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735DF8 */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[28]);
|
|
/* 02735DFC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02735E00 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 02735E00 */ rbrew_write32(cpu->mem, _t93, cpu->r[28]);
|
|
/* 02735E04 */ Gambit_fn_027370D4(cpu);
|
|
/* 02735E08 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02735E0C */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02735E0C */ rbrew_write32(cpu->mem, _t94, cpu->r[26]);
|
|
/* 02735E10 */ cpu->r[9] = cpu->r[9] + 0x000071C8u;
|
|
/* 02735E14 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735E14 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 02735E18 */ _t96 = cpu->r[25] + 0x0000024Cu;
|
|
/* 02735E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02735E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02735E20 */ _t97 = cpu->r[25] + 0x00000250u;
|
|
/* 02735E20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02735E24 */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735E24 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02735E24 */ if (_t99) goto L_02735E28; else goto L_02735E2C;
|
|
L_02735E28: ; // 0x2735e28
|
|
/* 02735E28 */ cpu->r[29] = cpu->r[29] + 0x00000048u;
|
|
L_02735E2C: ; // 0x2735e2c
|
|
/* 02735E2C */ cpu->ctr = cpu->r[27];
|
|
/* 02735E30 */ _t100 = cpu->r[29] + 0x00000000u;
|
|
/* 02735E30 */ cpu->r[24] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02735E34 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735E38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735E3C */ _t101 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735E3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02735E40 */ _t102 = cpu->r[6] + 0x00000000u;
|
|
/* 02735E40 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 02735E44 */ cpu->r[31] = 0x00000000u;
|
|
/* 02735E48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02735E4C */ cpu->r[8] = 0x00080000u;
|
|
/* 02735E50 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735E50 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02735E50 */ if (_t104) goto L_02735E78; else goto L_02735E54;
|
|
L_02735E54: ; // 0x2735e54
|
|
/* 02735E54 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02735E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02735E5C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02735E60 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735E60 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02735E60 */ if (_t106) goto L_02735E74; else goto L_02735E64;
|
|
L_02735E64: ; // 0x2735e64
|
|
/* 02735E64 */ _t107 = cpu->r[6] + 0x00000000u;
|
|
/* 02735E64 */ cpu->r[7] = rbrew_read8(cpu->mem, _t107);
|
|
/* 02735E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02735E6C */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735E6C */ _t109 = _t108 & 0x00000001u;
|
|
/* 02735E6C */ if (_t109) goto L_02735E70; else goto L_02735E54;
|
|
L_02735E70: ; // 0x2735e70
|
|
/* 02735E70 */ goto L_02735E78;
|
|
L_02735E74: ; // 0x2735e74
|
|
/* 02735E74 */ cpu->r[31] = 0x00000000u;
|
|
L_02735E78: ; // 0x2735e78
|
|
/* 02735E78 */ _t110 = cpu->r[29] + 0x00000008u;
|
|
/* 02735E78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02735E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02735E80 */ _t111 = cpu->r[1] + 0x00000010u;
|
|
/* 02735E80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02735E84 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735E84 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02735E84 */ if (_t113) goto L_02735E8C; else goto L_02735E88;
|
|
L_02735E88: ; // 0x2735e88
|
|
/* 02735E88 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02735E8C: ; // 0x2735e8c
|
|
/* 02735E8C */ _t114 = cpu->r[9] + 0x00000014u;
|
|
/* 02735E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02735E90 */ cpu->ctr = cpu->r[10];
|
|
/* 02735E94 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735E98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735E9C */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735E9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02735EA0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02735EA4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02735EA8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02735EAC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02735EB0 */ _t116 = cpu->r[24] + cpu->r[31];
|
|
/* 02735EB0 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[30]);
|
|
/* 02735EB4 */ cpu->r[10] = 0x00000002u;
|
|
/* 02735EB8 */ _t117 = cpu->r[1] + 0x00000024u;
|
|
/* 02735EB8 */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[28]);
|
|
/* 02735EBC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02735EC0 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 02735EC0 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[10]);
|
|
/* 02735EC4 */ cpu->r[0] = 0x02730000u;
|
|
/* 02735EC8 */ _t119 = cpu->r[1] + 0x00000016u;
|
|
/* 02735EC8 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[12]);
|
|
/* 02735ECC */ _t120 = cpu->r[1] + 0x00000026u;
|
|
/* 02735ECC */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 02735ED0 */ cpu->r[11] = 0x02730000u;
|
|
/* 02735ED4 */ _t121 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02735ED4 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[12]);
|
|
/* 02735ED8 */ cpu->r[11] = cpu->r[11] + 0x0000672Cu;
|
|
/* 02735EDC */ _t122 = cpu->r[1] + 0x00000014u;
|
|
/* 02735EDC */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[28]);
|
|
/* 02735EE0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735EE4 */ _t123 = cpu->r[1] + 0x00000018u;
|
|
/* 02735EE4 */ rbrew_write32(cpu->mem, _t123, cpu->r[11]);
|
|
/* 02735EE8 */ cpu->r[0] = cpu->r[0] + 0x000066D0u;
|
|
/* 02735EEC */ cpu->r[3] = cpu->r[25] + 0x00000238u;
|
|
/* 02735EF0 */ _t124 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735EF0 */ rbrew_write16(cpu->mem, _t124, (uint16_t)cpu->r[28]);
|
|
/* 02735EF4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02735EF8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02735EFC */ _t125 = cpu->r[1] + 0x00000020u;
|
|
/* 02735EFC */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02735F00 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02735F04 */ _t126 = cpu->r[1] + 0x00000028u;
|
|
/* 02735F04 */ rbrew_write32(cpu->mem, _t126, cpu->r[28]);
|
|
/* 02735F08 */ Gambit_fn_027370D4(cpu);
|
|
/* 02735F0C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02735F10 */ _t127 = cpu->r[1] + 0x00000010u;
|
|
/* 02735F10 */ rbrew_write32(cpu->mem, _t127, cpu->r[26]);
|
|
/* 02735F14 */ cpu->r[0] = cpu->r[0] + 0x000071D8u;
|
|
/* 02735F18 */ _t128 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735F18 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
|
|
/* 02735F1C */ _t129 = cpu->r[25] + 0x0000024Cu;
|
|
/* 02735F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02735F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 02735F24 */ _t130 = cpu->r[25] + 0x00000250u;
|
|
/* 02735F24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02735F28 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735F28 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02735F28 */ if (_t132) goto L_02735F2C; else goto L_02735F30;
|
|
L_02735F2C: ; // 0x2735f2c
|
|
/* 02735F2C */ cpu->r[31] = cpu->r[31] + 0x0000006Cu;
|
|
L_02735F30: ; // 0x2735f30
|
|
/* 02735F30 */ cpu->ctr = cpu->r[27];
|
|
/* 02735F34 */ _t133 = cpu->r[31] + 0x00000000u;
|
|
/* 02735F34 */ cpu->r[24] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02735F38 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735F40 */ _t134 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735F40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02735F44 */ _t135 = cpu->r[10] + 0x00000000u;
|
|
/* 02735F44 */ cpu->r[7] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02735F48 */ cpu->r[12] = 0x00080000u;
|
|
/* 02735F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02735F50 */ cpu->r[29] = 0x00000000u;
|
|
/* 02735F54 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735F54 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02735F54 */ if (_t137) goto L_02735F7C; else goto L_02735F58;
|
|
L_02735F58: ; // 0x2735f58
|
|
/* 02735F58 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02735F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 02735F60 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02735F64 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02735F64 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02735F64 */ if (_t139) goto L_02735F78; else goto L_02735F68;
|
|
L_02735F68: ; // 0x2735f68
|
|
/* 02735F68 */ _t140 = cpu->r[10] + 0x00000000u;
|
|
/* 02735F68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t140);
|
|
/* 02735F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02735F70 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02735F70 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02735F70 */ if (_t142) goto L_02735F74; else goto L_02735F58;
|
|
L_02735F74: ; // 0x2735f74
|
|
/* 02735F74 */ goto L_02735F7C;
|
|
L_02735F78: ; // 0x2735f78
|
|
/* 02735F78 */ cpu->r[29] = 0x00000000u;
|
|
L_02735F7C: ; // 0x2735f7c
|
|
/* 02735F7C */ _t143 = cpu->r[31] + 0x00000008u;
|
|
/* 02735F7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02735F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 02735F84 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02735F84 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02735F84 */ if (_t145) goto L_02735F8C; else goto L_02735F88;
|
|
L_02735F88: ; // 0x2735f88
|
|
/* 02735F88 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02735F8C: ; // 0x2735f8c
|
|
/* 02735F8C */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 02735F8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02735F90 */ _t147 = cpu->r[11] + 0x00000014u;
|
|
/* 02735F90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02735F94 */ cpu->ctr = cpu->r[5];
|
|
/* 02735F98 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735F9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02735FA0 */ _t148 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02735FA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02735FA4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02735FA8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02735FAC */ cpu->r[6] = 0x00000000u;
|
|
/* 02735FB0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02735FB4 */ _t149 = cpu->r[24] + cpu->r[29];
|
|
/* 02735FB4 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[30]);
|
|
/* 02735FB8 */ cpu->r[6] = 0x00000003u;
|
|
/* 02735FBC */ _t150 = cpu->r[1] + 0x00000014u;
|
|
/* 02735FBC */ rbrew_write16(cpu->mem, _t150, (uint16_t)cpu->r[28]);
|
|
/* 02735FC0 */ cpu->r[11] = 0x02730000u;
|
|
/* 02735FC4 */ _t151 = cpu->r[1] + 0x00000024u;
|
|
/* 02735FC4 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 02735FC8 */ cpu->r[11] = cpu->r[11] + 0x00006834u;
|
|
/* 02735FCC */ _t152 = cpu->r[1] + 0x00000028u;
|
|
/* 02735FCC */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 02735FD0 */ cpu->r[8] = 0x02730000u;
|
|
/* 02735FD4 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02735FD8 */ _t153 = cpu->r[1] + 0x00000008u;
|
|
/* 02735FD8 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[6]);
|
|
/* 02735FDC */ cpu->r[8] = cpu->r[8] + 0x00006E20u;
|
|
/* 02735FE0 */ _t154 = cpu->r[1] + 0x00000016u;
|
|
/* 02735FE0 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[9]);
|
|
/* 02735FE4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02735FE8 */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 02735FE8 */ rbrew_write32(cpu->mem, _t155, cpu->r[8]);
|
|
/* 02735FEC */ cpu->r[3] = cpu->r[25] + 0x00000238u;
|
|
/* 02735FF0 */ _t156 = cpu->r[1] + 0x00000018u;
|
|
/* 02735FF0 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
/* 02735FF4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02735FF8 */ _t157 = cpu->r[1] + 0x00000026u;
|
|
/* 02735FF8 */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[28]);
|
|
/* 02735FFC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02736000 */ _t158 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736000 */ rbrew_write16(cpu->mem, _t158, (uint16_t)cpu->r[28]);
|
|
/* 02736004 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02736008 */ _t159 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02736008 */ rbrew_write16(cpu->mem, _t159, (uint16_t)cpu->r[9]);
|
|
/* 0273600C */ Gambit_fn_027370D4(cpu);
|
|
/* 02736010 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02736014 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736018 */ _t160 = cpu->r[1] + 0x00000030u;
|
|
/* 02736018 */ rbrew_write32(cpu->mem, _t160, cpu->r[26]);
|
|
/* 0273601C */ cpu->r[0] = cpu->r[0] + 0x000071FCu;
|
|
/* 02736020 */ _t161 = cpu->r[1] + 0x00000010u;
|
|
/* 02736020 */ rbrew_write32(cpu->mem, _t161, cpu->r[26]);
|
|
/* 02736024 */ cpu->r[12] = cpu->r[12] + 0x000071ECu;
|
|
/* 02736028 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273602C */ _t162 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273602C */ rbrew_write32(cpu->mem, _t162, cpu->r[0]);
|
|
/* 02736030 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02736034 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736038 */ _t163 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736038 */ rbrew_write32(cpu->mem, _t163, cpu->r[12]);
|
|
/* 0273603C */ Gambit_fn_020176C8(cpu);
|
|
/* 02736040 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02736044 */ _t164 = cpu->r[25] + 0x00000270u;
|
|
/* 02736044 */ rbrew_write32(cpu->mem, _t164, cpu->r[3]);
|
|
/* 02736048 */ cpu->r[5] = 0x100F0000u;
|
|
/* 0273604C */ _t165 = cpu->r[1] + 0x00000030u;
|
|
/* 0273604C */ rbrew_write32(cpu->mem, _t165, cpu->r[26]);
|
|
/* 02736050 */ cpu->r[5] = cpu->r[5] + 0x00007210u;
|
|
/* 02736054 */ _t166 = cpu->r[1] + 0x00000010u;
|
|
/* 02736054 */ rbrew_write32(cpu->mem, _t166, cpu->r[26]);
|
|
/* 02736058 */ cpu->r[6] = cpu->r[6] + 0x00007224u;
|
|
/* 0273605C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02736060 */ _t167 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02736060 */ rbrew_write32(cpu->mem, _t167, cpu->r[5]);
|
|
/* 02736064 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736068 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273606C */ _t168 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273606C */ rbrew_write32(cpu->mem, _t168, cpu->r[6]);
|
|
/* 02736070 */ Gambit_fn_020176C8(cpu);
|
|
/* 02736074 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02736078 */ _t169 = cpu->r[25] + 0x00000274u;
|
|
/* 02736078 */ rbrew_write32(cpu->mem, _t169, cpu->r[3]);
|
|
/* 0273607C */ cpu->r[0] = cpu->r[0] + 0x00007248u;
|
|
/* 02736080 */ _t170 = cpu->r[1] + 0x00000010u;
|
|
/* 02736080 */ rbrew_write32(cpu->mem, _t170, cpu->r[26]);
|
|
/* 02736084 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02736088 */ _t171 = cpu->r[1] + 0x00000030u;
|
|
/* 02736088 */ rbrew_write32(cpu->mem, _t171, cpu->r[26]);
|
|
/* 0273608C */ cpu->r[7] = cpu->r[7] + 0x00007234u;
|
|
/* 02736090 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736094 */ _t172 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736094 */ rbrew_write32(cpu->mem, _t172, cpu->r[0]);
|
|
/* 02736098 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0273609C */ cpu->r[3] = 0x00000000u;
|
|
/* 027360A0 */ _t173 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027360A0 */ rbrew_write32(cpu->mem, _t173, cpu->r[7]);
|
|
/* 027360A4 */ Gambit_fn_020176C8(cpu);
|
|
/* 027360A8 */ _t174 = cpu->r[25] + 0x00000278u;
|
|
/* 027360A8 */ rbrew_write32(cpu->mem, _t174, cpu->r[3]);
|
|
/* 027360AC */ cpu->r[3] = 0x00000020u;
|
|
/* 027360B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027360B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027360B8 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027360B8 */ _t176 = _t175 & 0x00000001u;
|
|
/* 027360B8 */ if (_t176) goto L_027360C0; else goto L_027360BC;
|
|
L_027360BC: ; // 0x27360bc
|
|
/* 027360BC */ Gambit_fn_02734EC0(cpu);
|
|
L_027360C0: ; // 0x27360c0
|
|
/* 027360C0 */ _t177 = cpu->r[25] + 0x0000027Cu;
|
|
/* 027360C0 */ rbrew_write32(cpu->mem, _t177, cpu->r[3]);
|
|
L_027360C4: ; // 0x27360c4
|
|
/* 027360C4 */ cpu->r[3] = cpu->r[25];
|
|
/* 027360C8 */ /* nop */
|
|
/* 027360CC */ _t178 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027360CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 027360D0 */ cpu->lr = cpu->r[0];
|
|
/* 027360D4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027360D8 */ return;
|
|
}
|
|
|
|
// fn_027360DC @ 0x27360dc
|
|
void Gambit_fn_027360DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027360DC: ; // 0x27360dc
|
|
/* 027360DC */ cpu->r[0] = cpu->lr;
|
|
/* 027360E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027360E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027360E0 */ cpu->r[1] = _t0;
|
|
/* 027360E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027360E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027360E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027360EC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027360F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027360F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027360F4 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027360F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027360F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027360FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02736100 */ _t4 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02736100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736104 */ cpu->r[5] = cpu->r[3];
|
|
/* 02736108 */ _t5 = cpu->r[12] + 0x00000254u;
|
|
/* 02736108 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273610C */ cpu->r[4] = cpu->r[31] + 0x00000238u;
|
|
/* 02736110 */ Gambit_fn_027B8F9C(cpu);
|
|
/* 02736114 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02736114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736118 */ _t7 = cpu->r[12] + 0x00000124u;
|
|
/* 02736118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273611C */ cpu->ctr = cpu->r[0];
|
|
/* 02736120 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736124 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736128 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02736128 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273612C */ _t9 = cpu->r[10] + 0x0000012Cu;
|
|
/* 0273612C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736130 */ cpu->ctr = cpu->r[0];
|
|
/* 02736134 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273613C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0273613C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736140 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736144 */ cpu->lr = cpu->r[0];
|
|
/* 02736148 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273614C */ return;
|
|
}
|
|
|
|
// fn_027360E0 @ 0x27360e0
|
|
void Gambit_fn_027360E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027360E0: ; // 0x27360e0
|
|
/* 027360E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027360E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027360E0 */ cpu->r[1] = _t0;
|
|
/* 027360E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027360E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027360E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027360EC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027360F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027360F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027360F4 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027360F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027360F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027360FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02736100 */ _t4 = cpu->r[12] + 0xFFFF87DCu;
|
|
/* 02736100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736104 */ cpu->r[5] = cpu->r[3];
|
|
/* 02736108 */ _t5 = cpu->r[12] + 0x00000254u;
|
|
/* 02736108 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273610C */ cpu->r[4] = cpu->r[31] + 0x00000238u;
|
|
/* 02736110 */ Gambit_fn_027B8F9C(cpu);
|
|
/* 02736114 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02736114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736118 */ _t7 = cpu->r[12] + 0x00000124u;
|
|
/* 02736118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273611C */ cpu->ctr = cpu->r[0];
|
|
/* 02736120 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736124 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736128 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02736128 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273612C */ _t9 = cpu->r[10] + 0x0000012Cu;
|
|
/* 0273612C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736130 */ cpu->ctr = cpu->r[0];
|
|
/* 02736134 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273613C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0273613C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736140 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736144 */ cpu->lr = cpu->r[0];
|
|
/* 02736148 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273614C */ return;
|
|
}
|
|
|
|
// fn_02736150 @ 0x2736150
|
|
void Gambit_fn_02736150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02736150: ; // 0x2736150
|
|
/* 02736150 */ cpu->r[0] = cpu->lr;
|
|
/* 02736154 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736154 */ cpu->r[1] = _t0;
|
|
/* 02736158 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736158 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273615C */ cpu->r[31] = cpu->r[3];
|
|
/* 02736160 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736160 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736164 */ _t3 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02736164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736168 */ Gambit_fn_02734F8C(cpu);
|
|
/* 0273616C */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736170 */ cpu->r[0] = 0x00000000u;
|
|
/* 02736174 */ _t4 = cpu->r[12] + 0x00007098u;
|
|
/* 02736174 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736178 */ cpu->r[12] = 0x00000004u;
|
|
/* 0273617C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0273617C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736180 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736184 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02736184 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02736188 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273618C */ cpu->r[3] = cpu->r[31];
|
|
/* 02736190 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736190 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02736194 */ Gambit_fn_02791774(cpu);
|
|
/* 02736198 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273619C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 027361A0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 027361A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027361A4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027361A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027361A8 */ cpu->lr = cpu->r[0];
|
|
/* 027361AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027361AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027361B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027361B4 */ return;
|
|
}
|
|
|
|
// fn_02736154 @ 0x2736154
|
|
void Gambit_fn_02736154(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02736154: ; // 0x2736154
|
|
/* 02736154 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736154 */ cpu->r[1] = _t0;
|
|
/* 02736158 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736158 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273615C */ cpu->r[31] = cpu->r[3];
|
|
/* 02736160 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736160 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736164 */ _t3 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02736164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736168 */ Gambit_fn_02734F8C(cpu);
|
|
/* 0273616C */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736170 */ cpu->r[0] = 0x00000000u;
|
|
/* 02736174 */ _t4 = cpu->r[12] + 0x00007098u;
|
|
/* 02736174 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736178 */ cpu->r[12] = 0x00000004u;
|
|
/* 0273617C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0273617C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736180 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736184 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02736184 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02736188 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273618C */ cpu->r[3] = cpu->r[31];
|
|
/* 02736190 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736190 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02736194 */ Gambit_fn_02791774(cpu);
|
|
/* 02736198 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273619C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 027361A0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 027361A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027361A4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027361A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027361A8 */ cpu->lr = cpu->r[0];
|
|
/* 027361AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027361AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027361B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027361B4 */ return;
|
|
}
|
|
|
|
// fn_027361B8 @ 0x27361b8
|
|
void Gambit_fn_027361B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027361B8: ; // 0x27361b8
|
|
/* 027361B8 */ cpu->r[0] = cpu->lr;
|
|
/* 027361BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027361BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027361BC */ cpu->r[1] = _t0;
|
|
/* 027361C0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027361C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027361C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027361C8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027361C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027361CC */ _t3 = cpu->r[31] + 0x00000246u;
|
|
/* 027361CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027361D0 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027361D4 */ /* nop */
|
|
/* 027361D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027361DC */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027361E0 */ Gambit_fn_0273715C(cpu);
|
|
/* 027361E4 */ _t4 = cpu->r[31] + 0x0000027Cu;
|
|
/* 027361E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027361E8 */ Gambit_fn_027351D0(cpu);
|
|
/* 027361EC */ cpu->r[12] = 0x100F0000u;
|
|
/* 027361F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 027361F4 */ _t5 = cpu->r[12] + 0x000070A8u;
|
|
/* 027361F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027361F8 */ cpu->r[10] = 0x00000004u;
|
|
/* 027361FC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027361FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02736200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736204 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02736204 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02736208 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273620C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736210 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736210 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02736214 */ Gambit_fn_02791774(cpu);
|
|
/* 02736218 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 02736218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273621C */ cpu->r[8] = cpu->r[8] | 0x00000004u;
|
|
/* 02736220 */ _t10 = cpu->r[31] + 0x00000230u;
|
|
/* 02736220 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02736224 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736228 */ cpu->lr = cpu->r[0];
|
|
/* 0273622C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273622C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02736230 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736234 */ return;
|
|
}
|
|
|
|
// fn_027361BC @ 0x27361bc
|
|
void Gambit_fn_027361BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027361BC: ; // 0x27361bc
|
|
/* 027361BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027361BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027361BC */ cpu->r[1] = _t0;
|
|
/* 027361C0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027361C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027361C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027361C8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027361C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027361CC */ _t3 = cpu->r[31] + 0x00000246u;
|
|
/* 027361CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027361D0 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027361D4 */ /* nop */
|
|
/* 027361D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027361DC */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027361E0 */ Gambit_fn_0273715C(cpu);
|
|
/* 027361E4 */ _t4 = cpu->r[31] + 0x0000027Cu;
|
|
/* 027361E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027361E8 */ Gambit_fn_027351D0(cpu);
|
|
/* 027361EC */ cpu->r[12] = 0x100F0000u;
|
|
/* 027361F0 */ cpu->r[0] = 0x00000002u;
|
|
/* 027361F4 */ _t5 = cpu->r[12] + 0x000070A8u;
|
|
/* 027361F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027361F8 */ cpu->r[10] = 0x00000004u;
|
|
/* 027361FC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027361FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02736200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736204 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02736204 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02736208 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273620C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736210 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736210 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02736214 */ Gambit_fn_02791774(cpu);
|
|
/* 02736218 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 02736218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273621C */ cpu->r[8] = cpu->r[8] | 0x00000004u;
|
|
/* 02736220 */ _t10 = cpu->r[31] + 0x00000230u;
|
|
/* 02736220 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02736224 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736228 */ cpu->lr = cpu->r[0];
|
|
/* 0273622C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273622C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02736230 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736234 */ return;
|
|
}
|
|
|
|
// fn_02736238 @ 0x2736238
|
|
void Gambit_fn_02736238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_02736238: ; // 0x2736238
|
|
/* 02736238 */ cpu->r[0] = cpu->lr;
|
|
/* 0273623C */ cpu->r[9] = 0x00000004u;
|
|
/* 02736240 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736240 */ cpu->r[1] = _t0;
|
|
/* 02736244 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02736244 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02736248 */ cpu->r[10] = 0x100F0000u;
|
|
/* 0273624C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736250 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736250 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736254 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736254 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736258 */ cpu->r[0] = 0x00000006u;
|
|
/* 0273625C */ _t4 = cpu->r[10] + 0x000070B8u;
|
|
/* 0273625C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736260 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736264 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02736264 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736268 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273626C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273626C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02736270 */ Gambit_fn_02791888(cpu);
|
|
/* 02736274 */ _t7 = cpu->r[31] + 0x00000244u;
|
|
/* 02736274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02736278 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273627C */ /* nop */
|
|
/* 02736280 */ cpu->r[10] = cpu->r[10] | 0x00000040u;
|
|
/* 02736284 */ _t9 = cpu->r[31] + 0x00000284u;
|
|
/* 02736284 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02736288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0273628C */ _t10 = cpu->r[31] + 0x00000230u;
|
|
/* 0273628C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02736290 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736290 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02736290 */ if (_t12) goto L_02736294; else goto L_027362BC;
|
|
L_02736294: ; // 0x2736294
|
|
/* 02736294 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02736298 */ _t13 = cpu->r[7] + 0x00007254u;
|
|
/* 02736298 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0273629C */ cpu->r[8] = 0x100F0000u;
|
|
/* 027362A0 */ cpu->f[12] = cpu->f[0] + cpu->f[11];
|
|
/* 027362A4 */ _t14 = cpu->r[8] + 0x000071A0u;
|
|
/* 027362A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027362A8 */ cpu->r[6] = 0x100F0000u;
|
|
/* 027362AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027362B0 */ _t15 = cpu->r[6] + 0x0000725Cu;
|
|
/* 027362B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027362B4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027362B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027362B4 */ if (_t17) goto L_027362E0; else goto L_027362B8;
|
|
L_027362B8: ; // 0x27362b8
|
|
/* 027362B8 */ goto L_02736360;
|
|
L_027362BC: ; // 0x27362bc
|
|
/* 027362BC */ cpu->r[11] = 0x100F0000u;
|
|
/* 027362C0 */ _t18 = cpu->r[11] + 0x00007258u;
|
|
/* 027362C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027362C4 */ cpu->r[8] = 0x100F0000u;
|
|
/* 027362C8 */ cpu->f[12] = cpu->f[0] + cpu->f[11];
|
|
/* 027362CC */ _t19 = cpu->r[8] + 0x000071A0u;
|
|
/* 027362CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027362D0 */ cpu->r[6] = 0x100F0000u;
|
|
/* 027362D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027362D8 */ _t20 = cpu->r[6] + 0x0000725Cu;
|
|
/* 027362D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027362DC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027362DC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027362DC */ if (_t22) goto L_027362E0; else goto L_02736360;
|
|
L_027362E0: ; // 0x27362e0
|
|
/* 027362E0 */ cpu->f[12] = cpu->f[0];
|
|
/* 027362E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027362E8 */ _t23 = cpu->r[31] + 0x00000288u;
|
|
/* 027362E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027362EC */ _t24 = cpu->r[31] + 0x00000284u;
|
|
/* 027362EC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 027362F0 */ _t25 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 027362F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027362F4 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 027362F8 */ _t26 = cpu->r[12] + 0x00000278u;
|
|
/* 027362F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027362FC */ _t27 = cpu->r[9] + 0x00000248u;
|
|
/* 027362FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02736300 */ cpu->f[11] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02736304 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736308 */ _t28 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273630C */ _t29 = cpu->r[10] + 0x00007260u;
|
|
/* 0273630C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02736310 */ _t30 = cpu->r[12] + 0x00000660u;
|
|
/* 02736310 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02736314 */ _t31 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02736318 */ _t32 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02736318 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0273631C */ _t33 = cpu->r[6] + 0x00000278u;
|
|
/* 0273631C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02736320 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 02736324 */ _t34 = cpu->r[31] + 0x00000284u;
|
|
/* 02736324 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02736328 */ _t35 = cpu->r[9] + 0x00000248u;
|
|
/* 02736328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273632C */ cpu->f[10] = fma(cpu->f[13], cpu->f[10], cpu->f[11]);
|
|
/* 02736330 */ _t36 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02736334 */ _t37 = cpu->r[9] + 0x00000650u;
|
|
/* 02736334 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]);
|
|
/* 02736338 */ _t38 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273633C */ _t39 = cpu->r[31] + 0x00000290u;
|
|
/* 0273633C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02736340 */ _t40 = cpu->r[7] + 0x00000278u;
|
|
/* 02736340 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02736344 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02736348 */ _t41 = cpu->r[31] + 0x00000284u;
|
|
/* 02736348 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0273634C */ _t42 = cpu->r[9] + 0x00000248u;
|
|
/* 0273634C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02736350 */ cpu->f[12] = fma(cpu->f[11], cpu->f[12], cpu->f[13]);
|
|
/* 02736354 */ _t43 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02736358 */ _t44 = cpu->r[6] + 0x00000670u;
|
|
/* 02736358 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[12]);
|
|
/* 0273635C */ goto L_027363E4;
|
|
L_02736360: ; // 0x2736360
|
|
/* 02736360 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 02736364 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736364 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02736364 */ if (_t46) goto L_02736368; else goto L_0273636C;
|
|
L_02736368: ; // 0x2736368
|
|
/* 02736368 */ cpu->f[12] = cpu->f[13];
|
|
L_0273636C: ; // 0x273636c
|
|
/* 0273636C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02736370 */ _t47 = cpu->r[31] + 0x00000284u;
|
|
/* 02736370 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02736374 */ _t48 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02736378 */ _t49 = cpu->r[31] + 0x00000288u;
|
|
/* 02736378 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0273637C */ _t50 = cpu->r[12] + 0x00000278u;
|
|
/* 0273637C */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02736380 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02736384 */ _t51 = cpu->r[9] + 0x00000248u;
|
|
/* 02736384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02736388 */ cpu->r[10] = 0x100F0000u;
|
|
/* 0273638C */ cpu->f[11] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02736390 */ _t52 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02736394 */ _t53 = cpu->r[10] + 0x00007260u;
|
|
/* 02736394 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02736398 */ _t54 = cpu->r[12] + 0x00000660u;
|
|
/* 02736398 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 0273639C */ _t55 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 0273639C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027363A0 */ _t56 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027363A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027363A4 */ _t57 = cpu->r[6] + 0x00000278u;
|
|
/* 027363A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027363A8 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 027363AC */ _t58 = cpu->r[31] + 0x00000284u;
|
|
/* 027363AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027363B0 */ _t59 = cpu->r[9] + 0x00000248u;
|
|
/* 027363B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027363B4 */ cpu->f[10] = fma(cpu->f[13], cpu->f[10], cpu->f[11]);
|
|
/* 027363B8 */ _t60 = cpu->r[11] + 0x000028FCu;
|
|
/* 027363B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027363BC */ _t61 = cpu->r[9] + 0x00000650u;
|
|
/* 027363BC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[10]);
|
|
/* 027363C0 */ _t62 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 027363C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027363C4 */ _t63 = cpu->r[31] + 0x00000290u;
|
|
/* 027363C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027363C8 */ _t64 = cpu->r[7] + 0x00000278u;
|
|
/* 027363C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027363CC */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 027363D0 */ _t65 = cpu->r[31] + 0x00000284u;
|
|
/* 027363D0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 027363D4 */ _t66 = cpu->r[9] + 0x00000248u;
|
|
/* 027363D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027363D8 */ cpu->f[12] = fma(cpu->f[11], cpu->f[12], cpu->f[13]);
|
|
/* 027363DC */ _t67 = cpu->r[11] + 0x000028FCu;
|
|
/* 027363DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027363E0 */ _t68 = cpu->r[6] + 0x00000670u;
|
|
/* 027363E0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
L_027363E4: ; // 0x27363e4
|
|
/* 027363E4 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027363E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027363E8 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 027363E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027363EC */ cpu->lr = cpu->r[0];
|
|
/* 027363F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027363F4 */ return;
|
|
}
|
|
|
|
// fn_02736240 @ 0x2736240
|
|
void Gambit_fn_02736240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_02736240: ; // 0x2736240
|
|
/* 02736240 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736240 */ cpu->r[1] = _t0;
|
|
/* 02736244 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02736244 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 02736248 */ cpu->r[10] = 0x100F0000u;
|
|
/* 0273624C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736250 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736250 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736254 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736254 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736258 */ cpu->r[0] = 0x00000006u;
|
|
/* 0273625C */ _t4 = cpu->r[10] + 0x000070B8u;
|
|
/* 0273625C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736260 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736264 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02736264 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736268 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273626C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273626C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02736270 */ Gambit_fn_02791888(cpu);
|
|
/* 02736274 */ _t7 = cpu->r[31] + 0x00000244u;
|
|
/* 02736274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02736278 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273627C */ /* nop */
|
|
/* 02736280 */ cpu->r[10] = cpu->r[10] | 0x00000040u;
|
|
/* 02736284 */ _t9 = cpu->r[31] + 0x00000284u;
|
|
/* 02736284 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02736288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0273628C */ _t10 = cpu->r[31] + 0x00000230u;
|
|
/* 0273628C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02736290 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736290 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02736290 */ if (_t12) goto L_02736294; else goto L_027362BC;
|
|
L_02736294: ; // 0x2736294
|
|
/* 02736294 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02736298 */ _t13 = cpu->r[7] + 0x00007254u;
|
|
/* 02736298 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0273629C */ cpu->r[8] = 0x100F0000u;
|
|
/* 027362A0 */ cpu->f[12] = cpu->f[0] + cpu->f[11];
|
|
/* 027362A4 */ _t14 = cpu->r[8] + 0x000071A0u;
|
|
/* 027362A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027362A8 */ cpu->r[6] = 0x100F0000u;
|
|
/* 027362AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027362B0 */ _t15 = cpu->r[6] + 0x0000725Cu;
|
|
/* 027362B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027362B4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027362B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027362B4 */ if (_t17) goto L_027362E0; else goto L_027362B8;
|
|
L_027362B8: ; // 0x27362b8
|
|
/* 027362B8 */ goto L_02736360;
|
|
L_027362BC: ; // 0x27362bc
|
|
/* 027362BC */ cpu->r[11] = 0x100F0000u;
|
|
/* 027362C0 */ _t18 = cpu->r[11] + 0x00007258u;
|
|
/* 027362C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027362C4 */ cpu->r[8] = 0x100F0000u;
|
|
/* 027362C8 */ cpu->f[12] = cpu->f[0] + cpu->f[11];
|
|
/* 027362CC */ _t19 = cpu->r[8] + 0x000071A0u;
|
|
/* 027362CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027362D0 */ cpu->r[6] = 0x100F0000u;
|
|
/* 027362D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027362D8 */ _t20 = cpu->r[6] + 0x0000725Cu;
|
|
/* 027362D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027362DC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027362DC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027362DC */ if (_t22) goto L_027362E0; else goto L_02736360;
|
|
L_027362E0: ; // 0x27362e0
|
|
/* 027362E0 */ cpu->f[12] = cpu->f[0];
|
|
/* 027362E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027362E8 */ _t23 = cpu->r[31] + 0x00000288u;
|
|
/* 027362E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027362EC */ _t24 = cpu->r[31] + 0x00000284u;
|
|
/* 027362EC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 027362F0 */ _t25 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 027362F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027362F4 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 027362F8 */ _t26 = cpu->r[12] + 0x00000278u;
|
|
/* 027362F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027362FC */ _t27 = cpu->r[9] + 0x00000248u;
|
|
/* 027362FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02736300 */ cpu->f[11] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02736304 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736308 */ _t28 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273630C */ _t29 = cpu->r[10] + 0x00007260u;
|
|
/* 0273630C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02736310 */ _t30 = cpu->r[12] + 0x00000660u;
|
|
/* 02736310 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02736314 */ _t31 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02736318 */ _t32 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02736318 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0273631C */ _t33 = cpu->r[6] + 0x00000278u;
|
|
/* 0273631C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02736320 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 02736324 */ _t34 = cpu->r[31] + 0x00000284u;
|
|
/* 02736324 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02736328 */ _t35 = cpu->r[9] + 0x00000248u;
|
|
/* 02736328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273632C */ cpu->f[10] = fma(cpu->f[13], cpu->f[10], cpu->f[11]);
|
|
/* 02736330 */ _t36 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02736334 */ _t37 = cpu->r[9] + 0x00000650u;
|
|
/* 02736334 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]);
|
|
/* 02736338 */ _t38 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736338 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273633C */ _t39 = cpu->r[31] + 0x00000290u;
|
|
/* 0273633C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02736340 */ _t40 = cpu->r[7] + 0x00000278u;
|
|
/* 02736340 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02736344 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02736348 */ _t41 = cpu->r[31] + 0x00000284u;
|
|
/* 02736348 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0273634C */ _t42 = cpu->r[9] + 0x00000248u;
|
|
/* 0273634C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02736350 */ cpu->f[12] = fma(cpu->f[11], cpu->f[12], cpu->f[13]);
|
|
/* 02736354 */ _t43 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02736358 */ _t44 = cpu->r[6] + 0x00000670u;
|
|
/* 02736358 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[12]);
|
|
/* 0273635C */ goto L_027363E4;
|
|
L_02736360: ; // 0x2736360
|
|
/* 02736360 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 02736364 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736364 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02736364 */ if (_t46) goto L_02736368; else goto L_0273636C;
|
|
L_02736368: ; // 0x2736368
|
|
/* 02736368 */ cpu->f[12] = cpu->f[13];
|
|
L_0273636C: ; // 0x273636c
|
|
/* 0273636C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02736370 */ _t47 = cpu->r[31] + 0x00000284u;
|
|
/* 02736370 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02736374 */ _t48 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 02736374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02736378 */ _t49 = cpu->r[31] + 0x00000288u;
|
|
/* 02736378 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0273637C */ _t50 = cpu->r[12] + 0x00000278u;
|
|
/* 0273637C */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02736380 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
|
|
/* 02736384 */ _t51 = cpu->r[9] + 0x00000248u;
|
|
/* 02736384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02736388 */ cpu->r[10] = 0x100F0000u;
|
|
/* 0273638C */ cpu->f[11] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02736390 */ _t52 = cpu->r[11] + 0x000028FCu;
|
|
/* 02736390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02736394 */ _t53 = cpu->r[10] + 0x00007260u;
|
|
/* 02736394 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02736398 */ _t54 = cpu->r[12] + 0x00000660u;
|
|
/* 02736398 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 0273639C */ _t55 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 0273639C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027363A0 */ _t56 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027363A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027363A4 */ _t57 = cpu->r[6] + 0x00000278u;
|
|
/* 027363A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027363A8 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 027363AC */ _t58 = cpu->r[31] + 0x00000284u;
|
|
/* 027363AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027363B0 */ _t59 = cpu->r[9] + 0x00000248u;
|
|
/* 027363B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027363B4 */ cpu->f[10] = fma(cpu->f[13], cpu->f[10], cpu->f[11]);
|
|
/* 027363B8 */ _t60 = cpu->r[11] + 0x000028FCu;
|
|
/* 027363B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027363BC */ _t61 = cpu->r[9] + 0x00000650u;
|
|
/* 027363BC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[10]);
|
|
/* 027363C0 */ _t62 = cpu->r[8] + 0xFFFF87DCu;
|
|
/* 027363C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027363C4 */ _t63 = cpu->r[31] + 0x00000290u;
|
|
/* 027363C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027363C8 */ _t64 = cpu->r[7] + 0x00000278u;
|
|
/* 027363C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027363CC */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 027363D0 */ _t65 = cpu->r[31] + 0x00000284u;
|
|
/* 027363D0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 027363D4 */ _t66 = cpu->r[9] + 0x00000248u;
|
|
/* 027363D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027363D8 */ cpu->f[12] = fma(cpu->f[11], cpu->f[12], cpu->f[13]);
|
|
/* 027363DC */ _t67 = cpu->r[11] + 0x000028FCu;
|
|
/* 027363DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027363E0 */ _t68 = cpu->r[6] + 0x00000670u;
|
|
/* 027363E0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
L_027363E4: ; // 0x27363e4
|
|
/* 027363E4 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027363E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027363E8 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 027363E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027363EC */ cpu->lr = cpu->r[0];
|
|
/* 027363F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027363F4 */ return;
|
|
}
|
|
|
|
// fn_027363F8 @ 0x27363f8
|
|
void Gambit_fn_027363F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027363F8: ; // 0x27363f8
|
|
/* 027363F8 */ cpu->r[0] = cpu->lr;
|
|
/* 027363FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027363FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027363FC */ cpu->r[1] = _t0;
|
|
/* 02736400 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736400 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736404 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736408 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0273640C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273640C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736410 */ Gambit_fn_0273726C(cpu);
|
|
/* 02736414 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736418 */ cpu->r[9] = 0x00000008u;
|
|
/* 0273641C */ _t3 = cpu->r[10] + 0x000070C8u;
|
|
/* 0273641C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736420 */ cpu->r[12] = 0x00000004u;
|
|
/* 02736424 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02736424 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02736428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273642C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273642C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02736430 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736434 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736438 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736438 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273643C */ Gambit_fn_02791888(cpu);
|
|
/* 02736440 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736444 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02736448 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736448 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0273644C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273644C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736450 */ cpu->lr = cpu->r[0];
|
|
/* 02736454 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736458 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273645C */ return;
|
|
}
|
|
|
|
// fn_027363FC @ 0x27363fc
|
|
void Gambit_fn_027363FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027363FC: ; // 0x27363fc
|
|
/* 027363FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027363FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027363FC */ cpu->r[1] = _t0;
|
|
/* 02736400 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736400 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736404 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736408 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0273640C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273640C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736410 */ Gambit_fn_0273726C(cpu);
|
|
/* 02736414 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736418 */ cpu->r[9] = 0x00000008u;
|
|
/* 0273641C */ _t3 = cpu->r[10] + 0x000070C8u;
|
|
/* 0273641C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736420 */ cpu->r[12] = 0x00000004u;
|
|
/* 02736424 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02736424 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02736428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273642C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273642C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02736430 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736434 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736438 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736438 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273643C */ Gambit_fn_02791888(cpu);
|
|
/* 02736440 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736444 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02736448 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736448 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0273644C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273644C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736450 */ cpu->lr = cpu->r[0];
|
|
/* 02736454 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736458 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273645C */ return;
|
|
}
|
|
|
|
// fn_02736460 @ 0x2736460
|
|
void Gambit_fn_02736460(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_02736460: ; // 0x2736460
|
|
/* 02736460 */ cpu->r[0] = cpu->lr;
|
|
/* 02736464 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736464 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736464 */ cpu->r[1] = _t0;
|
|
/* 02736468 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736468 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273646C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736470 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736474 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736474 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736478 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0273647C */ _t3 = cpu->r[10] + 0x000070D8u;
|
|
/* 0273647C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736480 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736484 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02736484 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02736488 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273648C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273648C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02736490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736494 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02736494 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02736498 */ Gambit_fn_02791888(cpu);
|
|
/* 0273649C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0273649C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027364A0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 027364A4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027364A8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027364A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027364AC */ _t9 = cpu->r[7] + 0xFFFF87DCu;
|
|
/* 027364AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027364B0 */ _t10 = cpu->r[9] + 0x00000278u;
|
|
/* 027364B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027364B4 */ _t11 = cpu->r[12] + 0x00000244u;
|
|
/* 027364B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027364B8 */ _t12 = cpu->r[10] + 0x00000250u;
|
|
/* 027364B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027364BC */ _t13 = cpu->r[12] + 0x000000B0u;
|
|
/* 027364BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027364C0 */ cpu->r[11] = 0x00000001u;
|
|
/* 027364C4 */ _t14 = cpu->r[8] + 0x00000070u;
|
|
/* 027364C4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
/* 027364C8 */ _t15 = cpu->r[7] + 0xFFFF87DCu;
|
|
/* 027364C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027364CC */ _t16 = cpu->r[7] + 0x00000278u;
|
|
/* 027364CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027364D0 */ _t17 = cpu->r[9] + 0x00000268u;
|
|
/* 027364D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027364D4 */ Gambit_fn_02091FFC(cpu);
|
|
/* 027364D8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027364D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027364DC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027364DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027364E0 */ cpu->lr = cpu->r[0];
|
|
/* 027364E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027364E8 */ return;
|
|
}
|
|
|
|
// fn_02736464 @ 0x2736464
|
|
void Gambit_fn_02736464(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_02736464: ; // 0x2736464
|
|
/* 02736464 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736464 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736464 */ cpu->r[1] = _t0;
|
|
/* 02736468 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736468 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273646C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736470 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736474 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736474 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736478 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0273647C */ _t3 = cpu->r[10] + 0x000070D8u;
|
|
/* 0273647C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736480 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736484 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02736484 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02736488 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273648C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273648C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02736490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736494 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02736494 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02736498 */ Gambit_fn_02791888(cpu);
|
|
/* 0273649C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0273649C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027364A0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 027364A4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027364A8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027364A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027364AC */ _t9 = cpu->r[7] + 0xFFFF87DCu;
|
|
/* 027364AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027364B0 */ _t10 = cpu->r[9] + 0x00000278u;
|
|
/* 027364B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027364B4 */ _t11 = cpu->r[12] + 0x00000244u;
|
|
/* 027364B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027364B8 */ _t12 = cpu->r[10] + 0x00000250u;
|
|
/* 027364B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027364BC */ _t13 = cpu->r[12] + 0x000000B0u;
|
|
/* 027364BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027364C0 */ cpu->r[11] = 0x00000001u;
|
|
/* 027364C4 */ _t14 = cpu->r[8] + 0x00000070u;
|
|
/* 027364C4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
/* 027364C8 */ _t15 = cpu->r[7] + 0xFFFF87DCu;
|
|
/* 027364C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027364CC */ _t16 = cpu->r[7] + 0x00000278u;
|
|
/* 027364CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027364D0 */ _t17 = cpu->r[9] + 0x00000268u;
|
|
/* 027364D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027364D4 */ Gambit_fn_02091FFC(cpu);
|
|
/* 027364D8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027364D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027364DC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027364DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027364E0 */ cpu->lr = cpu->r[0];
|
|
/* 027364E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027364E8 */ return;
|
|
}
|
|
|
|
// fn_027364EC @ 0x27364ec
|
|
void Gambit_fn_027364EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027364EC: ; // 0x27364ec
|
|
/* 027364EC */ cpu->r[0] = cpu->lr;
|
|
/* 027364F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027364F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027364F0 */ cpu->r[1] = _t0;
|
|
/* 027364F4 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027364F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027364F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027364FC */ cpu->r[9] = 0x0000000Bu;
|
|
/* 02736500 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02736500 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02736504 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736508 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273650C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273650C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736510 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736514 */ _t4 = cpu->r[11] + 0x000070E0u;
|
|
/* 02736514 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736518 */ cpu->r[6] = cpu->r[4];
|
|
/* 0273651C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273651C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736520 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736524 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736524 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02736528 */ Gambit_fn_027919C4(cpu);
|
|
/* 0273652C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0273652C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736530 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 02736534 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736534 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736538 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273653C */ cpu->lr = cpu->r[0];
|
|
/* 02736540 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736544 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736548 */ return;
|
|
}
|
|
|
|
// fn_027364F0 @ 0x27364f0
|
|
void Gambit_fn_027364F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027364F0: ; // 0x27364f0
|
|
/* 027364F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027364F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027364F0 */ cpu->r[1] = _t0;
|
|
/* 027364F4 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027364F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027364F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027364FC */ cpu->r[9] = 0x0000000Bu;
|
|
/* 02736500 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02736500 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02736504 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736508 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273650C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273650C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736510 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736514 */ _t4 = cpu->r[11] + 0x000070E0u;
|
|
/* 02736514 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736518 */ cpu->r[6] = cpu->r[4];
|
|
/* 0273651C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0273651C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736520 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736524 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736524 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02736528 */ Gambit_fn_027919C4(cpu);
|
|
/* 0273652C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0273652C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736530 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 02736534 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736534 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736538 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273653C */ cpu->lr = cpu->r[0];
|
|
/* 02736540 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736544 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736548 */ return;
|
|
}
|
|
|
|
// fn_0273654C @ 0x273654c
|
|
void Gambit_fn_0273654C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0273654C: ; // 0x273654c
|
|
/* 0273654C */ cpu->r[0] = cpu->lr;
|
|
/* 02736550 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02736550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736550 */ cpu->r[1] = _t0;
|
|
/* 02736554 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736554 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736558 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273655C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273655C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736560 */ _t3 = cpu->r[31] + 0x00000274u;
|
|
/* 02736560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736564 */ cpu->r[4] = 0x00000000u;
|
|
/* 02736568 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 0273656C */ _t4 = cpu->r[31] + 0x00000270u;
|
|
/* 0273656C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736570 */ cpu->r[4] = 0x00000000u;
|
|
/* 02736574 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 02736578 */ _t5 = cpu->r[31] + 0x00000278u;
|
|
/* 02736578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273657C */ cpu->r[4] = 0x00000002u;
|
|
/* 02736580 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 02736584 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02736584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736588 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273658C */ cpu->lr = cpu->r[0];
|
|
/* 02736590 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736594 */ return;
|
|
}
|
|
|
|
// fn_02736550 @ 0x2736550
|
|
void Gambit_fn_02736550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02736550: ; // 0x2736550
|
|
/* 02736550 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02736550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736550 */ cpu->r[1] = _t0;
|
|
/* 02736554 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736554 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736558 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273655C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273655C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736560 */ _t3 = cpu->r[31] + 0x00000274u;
|
|
/* 02736560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736564 */ cpu->r[4] = 0x00000000u;
|
|
/* 02736568 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 0273656C */ _t4 = cpu->r[31] + 0x00000270u;
|
|
/* 0273656C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736570 */ cpu->r[4] = 0x00000000u;
|
|
/* 02736574 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 02736578 */ _t5 = cpu->r[31] + 0x00000278u;
|
|
/* 02736578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273657C */ cpu->r[4] = 0x00000002u;
|
|
/* 02736580 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 02736584 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02736584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736588 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273658C */ cpu->lr = cpu->r[0];
|
|
/* 02736590 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736594 */ return;
|
|
}
|
|
|
|
// fn_0273659C @ 0x273659c
|
|
void Gambit_fn_0273659C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0273659C: ; // 0x273659c
|
|
/* 0273659C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273659C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273659C */ cpu->r[1] = _t0;
|
|
/* 027365A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027365A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027365A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027365A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027365A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027365AC */ Gambit_fn_027FA9BC(cpu);
|
|
/* 027365B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027365B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027365B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027365B4 */ if (_t4) goto L_027365C4; else goto L_027365B8;
|
|
L_027365B8: ; // 0x27365b8
|
|
/* 027365B8 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027365BC */ cpu->r[4] = 0x00000001u;
|
|
/* 027365C0 */ Gambit_fn_02737364(cpu);
|
|
L_027365C4: ; // 0x27365c4
|
|
/* 027365C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027365C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027365C8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027365C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027365CC */ cpu->lr = cpu->r[0];
|
|
/* 027365D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027365D4 */ return;
|
|
}
|
|
|
|
// fn_0273662C @ 0x273662c
|
|
void Gambit_fn_0273662C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0273662C: ; // 0x273662c
|
|
/* 0273662C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273662C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273662C */ cpu->r[1] = _t0;
|
|
/* 02736630 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736630 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02736634 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736634 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736638 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0273663C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273663C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736640 */ _t4 = cpu->r[30] + 0xFFFF87DCu;
|
|
/* 02736640 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736640 */ cpu->r[30] = _t4;
|
|
/* 02736644 */ _t5 = cpu->r[9] + 0x00000278u;
|
|
/* 02736644 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736648 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273664C */ _t6 = cpu->r[6] + 0x00000264u;
|
|
/* 0273664C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736650 */ Gambit_fn_02439098(cpu);
|
|
/* 02736654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736658 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736658 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02736658 */ if (_t8) goto L_0273666C; else goto L_0273665C;
|
|
L_0273665C: ; // 0x273665c
|
|
/* 0273665C */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0273665C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736660 */ _t10 = cpu->r[10] + 0x00000278u;
|
|
/* 02736660 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736664 */ _t11 = cpu->r[8] + 0x00000264u;
|
|
/* 02736664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736668 */ Gambit_fn_024390B0(cpu);
|
|
L_0273666C: ; // 0x273666c
|
|
/* 0273666C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 0273666C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02736670 */ _t13 = cpu->r[11] + 0x00000278u;
|
|
/* 02736670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02736674 */ _t14 = cpu->r[6] + 0x00000264u;
|
|
/* 02736674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02736678 */ Gambit_fn_024390FC(cpu);
|
|
/* 0273667C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736680 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736680 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02736680 */ if (_t16) goto L_027366B8; else goto L_02736684;
|
|
L_02736684: ; // 0x2736684
|
|
/* 02736684 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 02736688 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02736688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273668C */ cpu->r[12] = cpu->r[0] & 0x00000024u;
|
|
/* 0273668C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000024u);
|
|
/* 02736694 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736694 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02736694 */ if (_t19) goto L_027366AC; else goto L_02736698;
|
|
L_02736698: ; // 0x2736698
|
|
/* 02736698 */ Gambit_fn_027DFA00(cpu);
|
|
/* 0273669C */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0273669C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027366A0 */ cpu->r[5] = cpu->r[0] & 0x00000024u;
|
|
/* 027366A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027366A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000024u);
|
|
/* 027366A8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027366A8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027366A8 */ if (_t22) goto L_027366AC; else goto L_027366B8;
|
|
L_027366AC: ; // 0x27366ac
|
|
/* 027366AC */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 027366B0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027366B4 */ Gambit_fn_02737364(cpu);
|
|
L_027366B8: ; // 0x27366b8
|
|
/* 027366B8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027366B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027366BC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027366BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027366C0 */ cpu->lr = cpu->r[0];
|
|
/* 027366C4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027366C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027366C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027366CC */ return;
|
|
}
|
|
|
|
// fn_027366D4 @ 0x27366d4
|
|
void Gambit_fn_027366D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027366D4: ; // 0x27366d4
|
|
/* 027366D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027366D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027366D4 */ cpu->r[1] = _t0;
|
|
/* 027366D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027366D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027366DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027366E0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 027366E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027366E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027366E8 */ _t3 = cpu->r[3] + 0x00000E14u;
|
|
/* 027366E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027366EC */ cpu->r[4] = 0x00000000u;
|
|
/* 027366F0 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 027366F4 */ cpu->r[5] = 0x0000003Cu;
|
|
/* 027366F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027366FC */ Gambit_fn_02014758(cpu);
|
|
/* 02736700 */ _t4 = cpu->r[31] + 0x00000270u;
|
|
/* 02736700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736704 */ Gambit_fn_0200ED0C(cpu);
|
|
/* 02736708 */ _t5 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02736708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273670C */ Gambit_fn_02735230(cpu);
|
|
/* 02736710 */ cpu->r[0] = 0x00000000u;
|
|
/* 02736714 */ _t6 = cpu->r[31] + 0x00000280u;
|
|
/* 02736714 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02736718 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02736718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273671C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273671C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02736720 */ cpu->lr = cpu->r[0];
|
|
/* 02736724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736728 */ return;
|
|
}
|
|
|
|
// fn_02736730 @ 0x2736730
|
|
void Gambit_fn_02736730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02736730: ; // 0x2736730
|
|
/* 02736730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02736730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736730 */ cpu->r[1] = _t0;
|
|
/* 02736734 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02736738 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736738 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273673C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02736740 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02736740 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736744 */ _t4 = cpu->r[30] + 0xFFFF87DCu;
|
|
/* 02736744 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736744 */ cpu->r[30] = _t4;
|
|
/* 02736748 */ _t5 = cpu->r[10] + 0x00000278u;
|
|
/* 02736748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273674C */ cpu->r[31] = cpu->r[3];
|
|
/* 02736750 */ _t6 = cpu->r[10] + 0x00000264u;
|
|
/* 02736750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736754 */ Gambit_fn_024390FC(cpu);
|
|
/* 02736758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273675C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273675C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0273675C */ if (_t8) goto L_02736770; else goto L_02736760;
|
|
L_02736760: ; // 0x2736760
|
|
/* 02736760 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02736760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736764 */ _t10 = cpu->r[11] + 0x00000278u;
|
|
/* 02736764 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736768 */ _t11 = cpu->r[11] + 0x00000264u;
|
|
/* 02736768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273676C */ Gambit_fn_02439104(cpu);
|
|
L_02736770: ; // 0x2736770
|
|
/* 02736770 */ _t12 = cpu->r[31] + 0x00000270u;
|
|
/* 02736770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02736774 */ Gambit_fn_0200ED24(cpu);
|
|
/* 02736778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273677C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273677C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273677C */ if (_t14) goto L_02736780; else goto L_0273681C;
|
|
L_02736780: ; // 0x2736780
|
|
/* 02736780 */ _t15 = cpu->r[31] + 0x00000280u;
|
|
/* 02736780 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02736784 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02736788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000003Cu);
|
|
/* 0273678C */ _t16 = cpu->r[31] + 0x00000280u;
|
|
/* 0273678C */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 02736790 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02736790 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02736790 */ if (_t18) goto L_0273681C; else goto L_02736794;
|
|
L_02736794: ; // 0x2736794
|
|
/* 02736794 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736794 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02736794 */ if (_t20) goto L_027367C8; else goto L_02736798;
|
|
L_02736798: ; // 0x2736798
|
|
/* 02736798 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02736798 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273679C */ cpu->r[12] = 0x101C0000u;
|
|
/* 027367A0 */ _t22 = cpu->r[12] + 0x00007F10u;
|
|
/* 027367A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027367A4 */ _t23 = cpu->r[8] + 0x00000278u;
|
|
/* 027367A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027367A8 */ cpu->r[9] = cpu->r[6] + cpu->r[12];
|
|
/* 027367AC */ _t24 = cpu->r[9] + 0x00000104u;
|
|
/* 027367AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 027367B0 */ _t25 = cpu->r[6] + 0x00000030u;
|
|
/* 027367B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027367B4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027367B8 */ _t26 = cpu->r[5] + cpu->r[7];
|
|
/* 027367B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027367BC */ _t27 = cpu->r[8] + 0x00000004u;
|
|
/* 027367BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027367C0 */ _t28 = cpu->r[10] + 0x00000000u;
|
|
/* 027367C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027367C4 */ Gambit_fn_0265DEFC(cpu);
|
|
L_027367C8: ; // 0x27367c8
|
|
/* 027367C8 */ _t29 = cpu->r[31] + 0x0000027Cu;
|
|
/* 027367C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027367CC */ Gambit_fn_02735310(cpu);
|
|
/* 027367D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027367D4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027367D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027367D4 */ if (_t31) goto L_0273681C; else goto L_027367D8;
|
|
L_027367D8: ; // 0x27367d8
|
|
/* 027367D8 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 027367D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027367DC */ _t33 = cpu->r[5] + 0x00000278u;
|
|
/* 027367DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027367E0 */ _t34 = cpu->r[10] + 0x00000244u;
|
|
/* 027367E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027367E4 */ _t35 = cpu->r[12] + 0x00000250u;
|
|
/* 027367E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027367E8 */ _t36 = cpu->r[6] + 0x000000ACu;
|
|
/* 027367E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027367EC */ Gambit_fn_0209A970(cpu);
|
|
/* 027367F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027367F4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027367F4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027367F4 */ if (_t38) goto L_02736810; else goto L_027367F8;
|
|
L_027367F8: ; // 0x27367f8
|
|
/* 027367F8 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 027367F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027367FC */ _t40 = cpu->r[8] + 0x00000278u;
|
|
/* 027367FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02736800 */ _t41 = cpu->r[9] + 0x00000244u;
|
|
/* 02736800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02736804 */ _t42 = cpu->r[11] + 0x00000250u;
|
|
/* 02736804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02736808 */ _t43 = cpu->r[12] + 0x000000ACu;
|
|
/* 02736808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273680C */ Gambit_fn_0209A978(cpu);
|
|
L_02736810: ; // 0x2736810
|
|
/* 02736810 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 02736814 */ cpu->r[4] = 0x00000003u;
|
|
/* 02736818 */ Gambit_fn_02737364(cpu);
|
|
L_0273681C: ; // 0x273681c
|
|
/* 0273681C */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 0273681C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02736820 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02736820 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02736824 */ cpu->lr = cpu->r[0];
|
|
/* 02736828 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736828 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273682C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736830 */ return;
|
|
}
|
|
|
|
// fn_02736848 @ 0x2736848
|
|
void Gambit_fn_02736848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02736848: ; // 0x2736848
|
|
/* 02736848 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736848 */ cpu->r[1] = _t0;
|
|
/* 0273684C */ cpu->r[0] = cpu->r[0] + 0x00007110u;
|
|
/* 02736850 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736850 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02736854 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02736858 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736858 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273685C */ Gambit_fn_027FAB30(cpu);
|
|
/* 02736860 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736864 */ cpu->lr = cpu->r[0];
|
|
/* 02736868 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273686C */ return;
|
|
}
|
|
|
|
// fn_02736870 @ 0x2736870
|
|
void Gambit_fn_02736870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02736870: ; // 0x2736870
|
|
/* 02736870 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02736874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736874 */ cpu->r[1] = _t0;
|
|
/* 02736878 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273687C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02736880 */ _t1 = cpu->r[10] + 0x000005C8u;
|
|
/* 02736880 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02736880 */ cpu->r[10] = _t1;
|
|
/* 02736884 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02736888 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02736888 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273688C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02736890 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02736894 */ _t3 = cpu->r[7] + 0x000005D8u;
|
|
/* 02736894 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02736894 */ cpu->r[7] = _t3;
|
|
/* 02736898 */ _t4 = cpu->r[8] + 0x000005D0u;
|
|
/* 02736898 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02736898 */ cpu->r[8] = _t4;
|
|
/* 0273689C */ cpu->r[0] = 0x00000002u;
|
|
/* 027368A0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 027368A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027368A4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027368A8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027368A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027368AC */ cpu->r[12] = 0x101F0000u;
|
|
/* 027368B0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027368B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027368B4 */ _t8 = cpu->r[8] + 0x000005E8u;
|
|
/* 027368B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027368B4 */ cpu->r[8] = _t8;
|
|
/* 027368B8 */ _t9 = cpu->r[12] + 0x000005E0u;
|
|
/* 027368B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027368B8 */ cpu->r[12] = _t9;
|
|
/* 027368BC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027368BC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027368C0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027368C4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 027368C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027368C8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027368CC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027368CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027368D0 */ _t13 = cpu->r[11] + 0x000005F0u;
|
|
/* 027368D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027368D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027368D8 */ return;
|
|
}
|
|
|
|
// fn_02736874 @ 0x2736874
|
|
void Gambit_fn_02736874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02736874: ; // 0x2736874
|
|
/* 02736874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736874 */ cpu->r[1] = _t0;
|
|
/* 02736878 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273687C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02736880 */ _t1 = cpu->r[10] + 0x000005C8u;
|
|
/* 02736880 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02736880 */ cpu->r[10] = _t1;
|
|
/* 02736884 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02736888 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02736888 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273688C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02736890 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02736894 */ _t3 = cpu->r[7] + 0x000005D8u;
|
|
/* 02736894 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02736894 */ cpu->r[7] = _t3;
|
|
/* 02736898 */ _t4 = cpu->r[8] + 0x000005D0u;
|
|
/* 02736898 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02736898 */ cpu->r[8] = _t4;
|
|
/* 0273689C */ cpu->r[0] = 0x00000002u;
|
|
/* 027368A0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 027368A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027368A4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027368A8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027368A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027368AC */ cpu->r[12] = 0x101F0000u;
|
|
/* 027368B0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027368B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027368B4 */ _t8 = cpu->r[8] + 0x000005E8u;
|
|
/* 027368B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027368B4 */ cpu->r[8] = _t8;
|
|
/* 027368B8 */ _t9 = cpu->r[12] + 0x000005E0u;
|
|
/* 027368B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027368B8 */ cpu->r[12] = _t9;
|
|
/* 027368BC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027368BC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027368C0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027368C4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 027368C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027368C8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027368CC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027368CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027368D0 */ _t13 = cpu->r[11] + 0x000005F0u;
|
|
/* 027368D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027368D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027368D8 */ return;
|
|
}
|
|
|
|
// fn_027368DC @ 0x27368dc
|
|
void Gambit_fn_027368DC(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_027368DC: ; // 0x27368dc
|
|
/* 027368DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027368E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027368E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027368E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027368E0 */ goto L_027368E4;
|
|
L_027368E4: ; // 0x27368e4
|
|
/* 027368E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027368E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027368E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027368E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027368E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027368E8 */ goto L_027368EC;
|
|
L_027368EC: ; // 0x27368ec
|
|
/* 027368EC */ 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_027368F0 @ 0x27368f0
|
|
void Gambit_fn_027368F0(CPUState* cpu) {
|
|
L_027368F0: ; // 0x27368f0
|
|
/* 027368F0 */ return;
|
|
}
|
|
|
|
// fn_027368F4 @ 0x27368f4
|
|
void Gambit_fn_027368F4(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_027368F4: ; // 0x27368f4
|
|
/* 027368F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027368F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027368F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027368F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027368F8 */ goto L_027368FC;
|
|
L_027368FC: ; // 0x27368fc
|
|
/* 027368FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027368FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02736900 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736900 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02736900 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736900 */ goto L_02736904;
|
|
L_02736904: ; // 0x2736904
|
|
/* 02736904 */ 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_02736908 @ 0x2736908
|
|
void Gambit_fn_02736908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02736908: ; // 0x2736908
|
|
/* 02736908 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02736908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273690C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0273690C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736910 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02736914 */ cpu->r[11] = 0x10110000u;
|
|
/* 02736918 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02736918 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273691C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0273691C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02736920 */ return;
|
|
}
|
|
|
|
// fn_02736924 @ 0x2736924
|
|
void Gambit_fn_02736924(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_02736924: ; // 0x2736924
|
|
/* 02736924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736928 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736928 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02736928 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736928 */ goto L_0273692C;
|
|
L_0273692C: ; // 0x273692c
|
|
/* 0273692C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273692C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02736930 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736930 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02736930 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736930 */ goto L_02736934;
|
|
L_02736934: ; // 0x2736934
|
|
/* 02736934 */ 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_02736938 @ 0x2736938
|
|
void Gambit_fn_02736938(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_02736938: ; // 0x2736938
|
|
/* 02736938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273693C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273693C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273693C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273693C */ goto L_02736940;
|
|
L_02736940: ; // 0x2736940
|
|
/* 02736940 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02736940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02736944 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736944 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02736944 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736944 */ goto L_02736948;
|
|
L_02736948: ; // 0x2736948
|
|
/* 02736948 */ 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_0273694C @ 0x273694c
|
|
void Gambit_fn_0273694C(CPUState* cpu) {
|
|
L_0273694C: ; // 0x273694c
|
|
/* 0273694C */ return;
|
|
}
|
|
|
|
// fn_02736950 @ 0x2736950
|
|
void Gambit_fn_02736950(CPUState* cpu) {
|
|
L_02736950: ; // 0x2736950
|
|
/* 02736950 */ return;
|
|
}
|
|
|
|
// fn_02736954 @ 0x2736954
|
|
void Gambit_fn_02736954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02736954: ; // 0x2736954
|
|
/* 02736954 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02736954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0273695C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273695C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0273695C */ if (_t2) goto L_02736968; else goto L_02736960;
|
|
L_02736960: ; // 0x2736960
|
|
/* 02736960 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02736964 */ return;
|
|
L_02736968: ; // 0x2736968
|
|
/* 02736968 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273696C */ return;
|
|
}
|
|
|
|
// fn_02736970 @ 0x2736970
|
|
void Gambit_fn_02736970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02736970: ; // 0x2736970
|
|
/* 02736970 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02736970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736978 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736978 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02736978 */ if (_t2) goto L_02736984; else goto L_0273697C;
|
|
L_0273697C: ; // 0x273697c
|
|
/* 0273697C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02736980 */ return;
|
|
L_02736984: ; // 0x2736984
|
|
/* 02736984 */ cpu->r[3] = 0x00000000u;
|
|
/* 02736988 */ return;
|
|
}
|
|
|
|
// fn_0273698C @ 0x273698c
|
|
void Gambit_fn_0273698C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0273698C: ; // 0x273698c
|
|
/* 0273698C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0273698C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736990 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 02736990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736994 */ cpu->ctr = cpu->r[0];
|
|
/* 02736998 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273699C @ 0x273699c
|
|
void Gambit_fn_0273699C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273699C: ; // 0x273699c
|
|
/* 0273699C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273699C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027369A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027369A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027369A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027369A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027369A4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027369A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027369A4 */ goto L_027369A8;
|
|
L_027369A8: ; // 0x27369a8
|
|
/* 027369A8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027369A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027369AC */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 027369AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027369B0 */ cpu->ctr = cpu->r[12];
|
|
/* 027369B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027369B8 @ 0x27369b8
|
|
void Gambit_fn_027369B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027369B8: ; // 0x27369b8
|
|
/* 027369B8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027369B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027369BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027369BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027369C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027369C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027369C0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027369C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027369C0 */ goto L_027369C4;
|
|
L_027369C4: ; // 0x27369c4
|
|
/* 027369C4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027369C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027369C8 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 027369C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027369CC */ cpu->ctr = cpu->r[0];
|
|
/* 027369D0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027369D4 @ 0x27369d4
|
|
void Gambit_fn_027369D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027369D4: ; // 0x27369d4
|
|
/* 027369D4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027369D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027369D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027369D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027369DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027369DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027369DC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027369DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027369DC */ goto L_027369E0;
|
|
L_027369E0: ; // 0x27369e0
|
|
/* 027369E0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027369E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027369E4 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 027369E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027369E8 */ cpu->ctr = cpu->r[0];
|
|
/* 027369EC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027369F0 @ 0x27369f0
|
|
void Gambit_fn_027369F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027369F0: ; // 0x27369f0
|
|
/* 027369F0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027369F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027369F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027369F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027369F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027369F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027369F8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027369F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027369F8 */ goto L_027369FC;
|
|
L_027369FC: ; // 0x27369fc
|
|
/* 027369FC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027369FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736A00 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02736A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736A04 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A08 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A0C @ 0x2736a0c
|
|
void Gambit_fn_02736A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02736A0C: ; // 0x2736a0c
|
|
/* 02736A0C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02736A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736A14 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736A14 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02736A14 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02736A14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736A14 */ goto L_02736A18;
|
|
L_02736A18: ; // 0x2736a18
|
|
/* 02736A18 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736A1C */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02736A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736A20 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A24 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A28 @ 0x2736a28
|
|
void Gambit_fn_02736A28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02736A28: ; // 0x2736a28
|
|
/* 02736A28 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02736A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736A30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736A30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02736A30 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02736A30 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736A30 */ goto L_02736A34;
|
|
L_02736A34: ; // 0x2736a34
|
|
/* 02736A34 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736A38 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02736A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736A3C */ cpu->ctr = cpu->r[0];
|
|
/* 02736A40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A44 @ 0x2736a44
|
|
void Gambit_fn_02736A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02736A44: ; // 0x2736a44
|
|
/* 02736A44 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02736A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736A4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736A4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02736A4C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02736A4C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02736A4C */ goto L_02736A50;
|
|
L_02736A50: ; // 0x2736a50
|
|
/* 02736A50 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736A54 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02736A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A60 @ 0x2736a60
|
|
void Gambit_fn_02736A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736A60: ; // 0x2736a60
|
|
/* 02736A60 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A64 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 02736A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736A68 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A6C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A70 @ 0x2736a70
|
|
void Gambit_fn_02736A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736A70: ; // 0x2736a70
|
|
/* 02736A70 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A74 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02736A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736A78 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A80 @ 0x2736a80
|
|
void Gambit_fn_02736A80(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736A80: ; // 0x2736a80
|
|
/* 02736A80 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A84 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 02736A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736A88 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736A90 @ 0x2736a90
|
|
void Gambit_fn_02736A90(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736A90: ; // 0x2736a90
|
|
/* 02736A90 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736A94 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02736A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736A98 */ cpu->ctr = cpu->r[0];
|
|
/* 02736A9C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736AA0 @ 0x2736aa0
|
|
void Gambit_fn_02736AA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736AA0: ; // 0x2736aa0
|
|
/* 02736AA0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736AA4 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02736AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02736AAC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736AB0 @ 0x2736ab0
|
|
void Gambit_fn_02736AB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02736AB0: ; // 0x2736ab0
|
|
/* 02736AB0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02736AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736AB4 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 02736AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02736AB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02736ABC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02736AC0 @ 0x2736ac0
|
|
void Gambit_fn_02736AC0(CPUState* cpu) {
|
|
L_02736AC0: ; // 0x2736ac0
|
|
/* 02736AC0 */ return;
|
|
}
|
|
|
|
// fn_02736AC4 @ 0x2736ac4
|
|
void Gambit_fn_02736AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736AC4: ; // 0x2736ac4
|
|
/* 02736AC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02736AC8 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736ACC */ cpu->r[10] = 0x00000001u;
|
|
/* 02736AD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736AD0 */ cpu->r[1] = _t0;
|
|
/* 02736AD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736AD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736AD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736AD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736ADC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736AE0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736AE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736AE4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736AE8 */ _t4 = cpu->r[12] + 0x000070A0u;
|
|
/* 02736AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736AEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736AF0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736AF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736AF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736AF8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736AF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736AFC */ Gambit_fn_02791774(cpu);
|
|
/* 02736B00 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736B04 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02736B08 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736B0C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736B10 */ cpu->lr = cpu->r[0];
|
|
/* 02736B14 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736B18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736B1C */ return;
|
|
}
|
|
|
|
// fn_02736AD0 @ 0x2736ad0
|
|
void Gambit_fn_02736AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736AD0: ; // 0x2736ad0
|
|
/* 02736AD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736AD0 */ cpu->r[1] = _t0;
|
|
/* 02736AD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736AD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736AD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736AD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736ADC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736AE0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736AE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736AE4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736AE8 */ _t4 = cpu->r[12] + 0x000070A0u;
|
|
/* 02736AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736AEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736AF0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736AF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736AF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736AF8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736AF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736AFC */ Gambit_fn_02791774(cpu);
|
|
/* 02736B00 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736B04 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02736B08 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736B0C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736B10 */ cpu->lr = cpu->r[0];
|
|
/* 02736B14 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736B18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736B1C */ return;
|
|
}
|
|
|
|
// fn_02736B20 @ 0x2736b20
|
|
void Gambit_fn_02736B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736B20: ; // 0x2736b20
|
|
/* 02736B20 */ cpu->r[0] = cpu->lr;
|
|
/* 02736B24 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736B28 */ cpu->r[10] = 0x00000003u;
|
|
/* 02736B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736B2C */ cpu->r[1] = _t0;
|
|
/* 02736B30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736B34 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736B38 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736B40 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736B44 */ _t4 = cpu->r[12] + 0x000070B0u;
|
|
/* 02736B44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736B48 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736B4C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736B4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736B54 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B54 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736B58 */ Gambit_fn_02791774(cpu);
|
|
/* 02736B5C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736B60 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02736B64 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B64 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736B68 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736B6C */ cpu->lr = cpu->r[0];
|
|
/* 02736B70 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736B74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736B78 */ return;
|
|
}
|
|
|
|
// fn_02736B2C @ 0x2736b2c
|
|
void Gambit_fn_02736B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736B2C: ; // 0x2736b2c
|
|
/* 02736B2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736B2C */ cpu->r[1] = _t0;
|
|
/* 02736B30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736B34 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736B38 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736B40 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736B44 */ _t4 = cpu->r[12] + 0x000070B0u;
|
|
/* 02736B44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736B48 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736B4C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736B4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736B50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736B54 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B54 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736B58 */ Gambit_fn_02791774(cpu);
|
|
/* 02736B5C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736B60 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02736B64 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736B64 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736B68 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736B6C */ cpu->lr = cpu->r[0];
|
|
/* 02736B70 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736B74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736B78 */ return;
|
|
}
|
|
|
|
// fn_02736B7C @ 0x2736b7c
|
|
void Gambit_fn_02736B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736B7C: ; // 0x2736b7c
|
|
/* 02736B7C */ cpu->r[0] = cpu->lr;
|
|
/* 02736B80 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736B84 */ cpu->r[10] = 0x00000007u;
|
|
/* 02736B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736B88 */ cpu->r[1] = _t0;
|
|
/* 02736B8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736B90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736B94 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736B9C */ cpu->r[0] = 0x00000004u;
|
|
/* 02736BA0 */ _t4 = cpu->r[12] + 0x000070C0u;
|
|
/* 02736BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736BA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736BA8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736BA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02736BB0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736BB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736BB4 */ Gambit_fn_02791888(cpu);
|
|
/* 02736BB8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736BBC */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02736BC0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736BC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736BC4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736BC8 */ cpu->lr = cpu->r[0];
|
|
/* 02736BCC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736BD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736BD4 */ return;
|
|
}
|
|
|
|
// fn_02736B88 @ 0x2736b88
|
|
void Gambit_fn_02736B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736B88: ; // 0x2736b88
|
|
/* 02736B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736B88 */ cpu->r[1] = _t0;
|
|
/* 02736B8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736B90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736B94 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736B98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736B9C */ cpu->r[0] = 0x00000004u;
|
|
/* 02736BA0 */ _t4 = cpu->r[12] + 0x000070C0u;
|
|
/* 02736BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736BA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736BA8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736BA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736BAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02736BB0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736BB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736BB4 */ Gambit_fn_02791888(cpu);
|
|
/* 02736BB8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736BBC */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02736BC0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736BC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736BC4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736BC8 */ cpu->lr = cpu->r[0];
|
|
/* 02736BCC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736BD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736BD4 */ return;
|
|
}
|
|
|
|
// fn_02736BD8 @ 0x2736bd8
|
|
void Gambit_fn_02736BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736BD8: ; // 0x2736bd8
|
|
/* 02736BD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02736BDC */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736BE0 */ cpu->r[10] = 0x00000009u;
|
|
/* 02736BE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736BE4 */ cpu->r[1] = _t0;
|
|
/* 02736BE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736BEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736BF0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736BF4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736BF8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736BFC */ _t4 = cpu->r[12] + 0x000070D0u;
|
|
/* 02736BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736C00 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736C04 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736C04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736C08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736C0C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C0C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736C10 */ Gambit_fn_02791888(cpu);
|
|
/* 02736C14 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736C18 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02736C1C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736C20 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736C24 */ cpu->lr = cpu->r[0];
|
|
/* 02736C28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736C2C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736C30 */ return;
|
|
}
|
|
|
|
// fn_02736BE4 @ 0x2736be4
|
|
void Gambit_fn_02736BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736BE4: ; // 0x2736be4
|
|
/* 02736BE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736BE4 */ cpu->r[1] = _t0;
|
|
/* 02736BE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02736BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02736BEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02736BF0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736BF4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736BF8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736BFC */ _t4 = cpu->r[12] + 0x000070D0u;
|
|
/* 02736BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736C00 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736C04 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736C04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736C08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736C0C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C0C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02736C10 */ Gambit_fn_02791888(cpu);
|
|
/* 02736C14 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736C18 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02736C1C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02736C20 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736C24 */ cpu->lr = cpu->r[0];
|
|
/* 02736C28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736C2C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736C30 */ return;
|
|
}
|
|
|
|
// fn_02736C34 @ 0x2736c34
|
|
void Gambit_fn_02736C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736C34: ; // 0x2736c34
|
|
/* 02736C34 */ cpu->r[0] = cpu->lr;
|
|
/* 02736C38 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736C38 */ cpu->r[1] = _t0;
|
|
/* 02736C3C */ cpu->r[8] = 0x100F0000u;
|
|
/* 02736C40 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736C44 */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02736C48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02736C48 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02736C4C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736C54 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736C58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736C5C */ _t4 = cpu->r[8] + 0x000070E8u;
|
|
/* 02736C5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736C60 */ cpu->r[6] = cpu->r[4];
|
|
/* 02736C64 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736C64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736C68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736C6C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02736C70 */ Gambit_fn_027919C4(cpu);
|
|
/* 02736C74 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736C78 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02736C7C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C7C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02736C80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736C84 */ cpu->lr = cpu->r[0];
|
|
/* 02736C88 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736C8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736C90 */ return;
|
|
}
|
|
|
|
// fn_02736C38 @ 0x2736c38
|
|
void Gambit_fn_02736C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02736C38: ; // 0x2736c38
|
|
/* 02736C38 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736C38 */ cpu->r[1] = _t0;
|
|
/* 02736C3C */ cpu->r[8] = 0x100F0000u;
|
|
/* 02736C40 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736C44 */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02736C48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02736C48 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02736C4C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736C54 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02736C58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02736C5C */ _t4 = cpu->r[8] + 0x000070E8u;
|
|
/* 02736C5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736C60 */ cpu->r[6] = cpu->r[4];
|
|
/* 02736C64 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02736C64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02736C68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736C6C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736C6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02736C70 */ Gambit_fn_027919C4(cpu);
|
|
/* 02736C74 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736C78 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02736C7C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02736C7C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02736C80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736C84 */ cpu->lr = cpu->r[0];
|
|
/* 02736C88 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736C8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736C90 */ return;
|
|
}
|
|
|
|
// fn_02736C94 @ 0x2736c94
|
|
void Gambit_fn_02736C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02736C94: ; // 0x2736c94
|
|
/* 02736C94 */ cpu->r[0] = cpu->lr;
|
|
/* 02736C98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736C98 */ cpu->r[1] = _t0;
|
|
/* 02736C9C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736CA4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736CA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736CA8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02736CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02736CB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736CB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02736CB0 */ if (_t5) goto L_02736CB4; else goto L_02736CD0;
|
|
L_02736CB4: ; // 0x2736cb4
|
|
/* 02736CB4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02736CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736CB8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02736CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736CBC */ cpu->ctr = cpu->r[0];
|
|
/* 02736CC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736CC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736CC8 */ cpu->r[10] = 0x00000002u;
|
|
/* 02736CCC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02736CCC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02736CD0: ; // 0x2736cd0
|
|
/* 02736CD0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02736CD4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736CD8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02736CD8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02736CDC */ _t10 = cpu->r[12] + 0x000070F0u;
|
|
/* 02736CDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736CDC */ cpu->r[12] = _t10;
|
|
/* 02736CE0 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02736CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736CE4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736CE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736CE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02736CEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736CF4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02736CF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02736CF8 */ Gambit_fn_02791888(cpu);
|
|
/* 02736CFC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02736D00 */ cpu->lr = cpu->r[0];
|
|
/* 02736D04 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02736D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02736D08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736D0C */ return;
|
|
}
|
|
|
|
// fn_02736C98 @ 0x2736c98
|
|
void Gambit_fn_02736C98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02736C98: ; // 0x2736c98
|
|
/* 02736C98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02736C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736C98 */ cpu->r[1] = _t0;
|
|
/* 02736C9C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02736C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736CA4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736CA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736CA8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02736CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02736CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02736CB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736CB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02736CB0 */ if (_t5) goto L_02736CB4; else goto L_02736CD0;
|
|
L_02736CB4: ; // 0x2736cb4
|
|
/* 02736CB4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02736CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02736CB8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02736CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736CBC */ cpu->ctr = cpu->r[0];
|
|
/* 02736CC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736CC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736CC8 */ cpu->r[10] = 0x00000002u;
|
|
/* 02736CCC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02736CCC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02736CD0: ; // 0x2736cd0
|
|
/* 02736CD0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02736CD4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736CD8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02736CD8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02736CDC */ _t10 = cpu->r[12] + 0x000070F0u;
|
|
/* 02736CDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02736CDC */ cpu->r[12] = _t10;
|
|
/* 02736CE0 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02736CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02736CE4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736CE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736CE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02736CEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02736CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736CF4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02736CF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02736CF8 */ Gambit_fn_02791888(cpu);
|
|
/* 02736CFC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02736CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02736D00 */ cpu->lr = cpu->r[0];
|
|
/* 02736D04 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02736D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02736D08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02736D0C */ return;
|
|
}
|
|
|
|
// fn_02736D10 @ 0x2736d10
|
|
void Gambit_fn_02736D10(CPUState* cpu) {
|
|
L_02736D10: ; // 0x2736d10
|
|
/* 02736D10 */ cpu->r[3] = 0x100F0000u;
|
|
/* 02736D14 */ cpu->r[3] = cpu->r[3] + 0x000070F8u;
|
|
/* 02736D18 */ return;
|
|
}
|
|
|
|
// fn_02736D1C @ 0x2736d1c
|
|
void Gambit_fn_02736D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02736D1C: ; // 0x2736d1c
|
|
/* 02736D1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02736D20 */ _t0 = cpu->r[12] + 0xFFFFF960u;
|
|
/* 02736D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02736D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736D28 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02736D2C */ cpu->r[12] = cpu->r[12] + 0x0000115Cu;
|
|
/* 02736D30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736D30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02736D30 */ if (_t2) goto L_02736D34; else goto L_02736D4C;
|
|
L_02736D34: ; // 0x2736d34
|
|
/* 02736D34 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02736D38 */ cpu->r[9] = 0x00000001u;
|
|
/* 02736D3C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02736D40 */ cpu->r[0] = cpu->r[0] + 0x00007180u;
|
|
/* 02736D44 */ _t3 = cpu->r[8] + 0xFFFFF960u;
|
|
/* 02736D44 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02736D48 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02736D48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02736D4C: ; // 0x2736d4c
|
|
/* 02736D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02736D50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736D50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02736D50 */ if (_t6) goto L_02736D54; else goto L_02736D5C;
|
|
L_02736D54: ; // 0x2736d54
|
|
/* 02736D54 */ cpu->r[3] = 0x00000001u;
|
|
/* 02736D58 */ return;
|
|
L_02736D5C: ; // 0x2736d5c
|
|
/* 02736D5C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02736D60 */ _t7 = cpu->r[11] + 0xFFFFD9BCu;
|
|
/* 02736D60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736D60 */ cpu->r[11] = _t7;
|
|
/* 02736D64 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02736D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02736D6C */ cpu->r[10] = cpu->r[10] + 0xFFFFDB18u;
|
|
/* 02736D70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736D70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02736D70 */ if (_t9) goto L_02736D74; else goto L_02736D88;
|
|
L_02736D74: ; // 0x2736d74
|
|
/* 02736D74 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02736D78 */ cpu->r[9] = 0x00000001u;
|
|
/* 02736D7C */ cpu->r[12] = cpu->r[12] + 0x00007140u;
|
|
/* 02736D80 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02736D80 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02736D84 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02736D84 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02736D88: ; // 0x2736d88
|
|
/* 02736D88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02736D8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736D8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02736D8C */ if (_t13) goto L_02736D90; else goto L_02736D98;
|
|
L_02736D90: ; // 0x2736d90
|
|
/* 02736D90 */ cpu->r[0] = 0x00000001u;
|
|
/* 02736D94 */ goto L_02736DD0;
|
|
L_02736D98: ; // 0x2736d98
|
|
/* 02736D98 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02736D9C */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02736D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02736D9C */ cpu->r[8] = _t14;
|
|
/* 02736DA0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02736DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02736DA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02736DAC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736DAC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02736DAC */ if (_t16) goto L_02736DB0; else goto L_02736DC4;
|
|
L_02736DB0: ; // 0x2736db0
|
|
/* 02736DB0 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02736DB4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02736DB8 */ cpu->r[10] = cpu->r[10] + 0x00007100u;
|
|
/* 02736DBC */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02736DBC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02736DC0 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02736DC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02736DC4: ; // 0x2736dc4
|
|
/* 02736DC4 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02736DC8 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02736DCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02736DD0: ; // 0x2736dd0
|
|
/* 02736DD0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02736DD4 */ return;
|
|
}
|
|
|
|
// fn_02736DD8 @ 0x2736dd8
|
|
void Gambit_fn_02736DD8(CPUState* cpu) {
|
|
L_02736DD8: ; // 0x2736dd8
|
|
/* 02736DD8 */ return;
|
|
}
|
|
|
|
// fn_02736DDC @ 0x2736ddc
|
|
void Gambit_fn_02736DDC(CPUState* cpu) {
|
|
L_02736DDC: ; // 0x2736ddc
|
|
/* 02736DDC */ return;
|
|
}
|
|
|
|
// fn_02736DE0 @ 0x2736de0
|
|
void Gambit_fn_02736DE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02736DE0: ; // 0x2736de0
|
|
/* 02736DE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02736DE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02736DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736DE4 */ cpu->r[1] = _t0;
|
|
/* 02736DE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736DE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736DEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736DEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736DF0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02736DF0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02736DF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736DF8 */ /* nop */
|
|
/* 02736DFC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02736E00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736E04 */ Gambit_fn_0273715C(cpu);
|
|
/* 02736E08 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02736E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736E0C */ cpu->lr = cpu->r[0];
|
|
/* 02736E10 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736E18 */ return;
|
|
}
|
|
|
|
// fn_02736DE4 @ 0x2736de4
|
|
void Gambit_fn_02736DE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02736DE4: ; // 0x2736de4
|
|
/* 02736DE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02736DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736DE4 */ cpu->r[1] = _t0;
|
|
/* 02736DE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736DE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02736DEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02736DEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02736DF0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02736DF0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02736DF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02736DF8 */ /* nop */
|
|
/* 02736DFC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02736E00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02736E04 */ Gambit_fn_0273715C(cpu);
|
|
/* 02736E08 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02736E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02736E0C */ cpu->lr = cpu->r[0];
|
|
/* 02736E10 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02736E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02736E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02736E18 */ return;
|
|
}
|
|
|
|
// fn_02736E24 @ 0x2736e24
|
|
void Gambit_fn_02736E24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02736E24: ; // 0x2736e24
|
|
/* 02736E24 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02736E24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02736E24 */ cpu->r[1] = _t0;
|
|
/* 02736E28 */ /* nop */
|
|
/* 02736E2C */ cpu->r[0] = cpu->lr;
|
|
/* 02736E30 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02736E30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02736E34 */ cpu->r[29] = cpu->r[6];
|
|
/* 02736E38 */ cpu->r[28] = cpu->r[3];
|
|
/* 02736E3C */ cpu->r[30] = cpu->r[5];
|
|
/* 02736E40 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02736E40 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02736E44 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02736E48 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02736E48 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02736E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736E50 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02736E50 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02736E54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736E54 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02736E54 */ if (_t6) goto L_02736E98; else goto L_02736E58;
|
|
L_02736E58: ; // 0x2736e58
|
|
/* 02736E58 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02736E58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02736E5C */ Gambit_fn_02826F20(cpu);
|
|
/* 02736E60 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736E60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02736E64 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02736E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02736E68 */ cpu->ctr = cpu->r[0];
|
|
/* 02736E6C */ cpu->r[5] = 0x00000004u;
|
|
/* 02736E70 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02736E74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736E7C */ cpu->r[0] = cpu->r[27];
|
|
/* 02736E80 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736E80 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02736E80 */ if (_t11) goto L_02736E88; else goto L_02736E84;
|
|
L_02736E84: ; // 0x2736e84
|
|
/* 02736E84 */ cpu->r[0] = 0x00000001u;
|
|
L_02736E88: ; // 0x2736e88
|
|
/* 02736E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736E8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736E8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02736E8C */ if (_t13) goto L_02736E98; else goto L_02736E90;
|
|
L_02736E90: ; // 0x2736e90
|
|
/* 02736E90 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02736E90 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02736E94 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02736E94 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02736E98: ; // 0x2736e98
|
|
/* 02736E98 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02736E98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02736E9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02736EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02736EA4 */ cpu->r[12] = cpu->r[0];
|
|
/* 02736EA8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736EA8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02736EA8 */ if (_t18) goto L_02736EAC; else goto L_02736ED0;
|
|
L_02736EAC: ; // 0x2736eac
|
|
/* 02736EAC */ cpu->ctr = cpu->r[7];
|
|
/* 02736EB0 */ cpu->r[10] = 0x00000000u;
|
|
L_02736EB4: ; // 0x2736eb4
|
|
/* 02736EB4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02736EB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02736EB8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02736EB8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02736EBC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02736EC0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02736EC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02736EC4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02736EC8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02736EC8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02736ECC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02736ECC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02736ECC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02736ECC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02736ECC */ if (_t25) goto L_02736EB4; else goto L_02736ED0;
|
|
L_02736ED0: ; // 0x2736ed0
|
|
/* 02736ED0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02736ED0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02736ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736ED8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736ED8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02736ED8 */ if (_t28) goto L_02736F1C; else goto L_02736EDC;
|
|
L_02736EDC: ; // 0x2736edc
|
|
/* 02736EDC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02736EDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02736EE0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02736EE4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02736EE8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02736EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02736EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02736EF0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02736EF4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02736EF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736F00 */ cpu->r[11] = cpu->r[27];
|
|
/* 02736F04 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736F04 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02736F04 */ if (_t33) goto L_02736F0C; else goto L_02736F08;
|
|
L_02736F08: ; // 0x2736f08
|
|
/* 02736F08 */ cpu->r[11] = 0x00000001u;
|
|
L_02736F0C: ; // 0x2736f0c
|
|
/* 02736F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736F10 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736F10 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02736F10 */ if (_t35) goto L_02736F1C; else goto L_02736F14;
|
|
L_02736F14: ; // 0x2736f14
|
|
/* 02736F14 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02736F14 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02736F18 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02736F18 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02736F1C: ; // 0x2736f1c
|
|
/* 02736F1C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02736F1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02736F20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02736F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02736F28 */ cpu->r[12] = cpu->r[0];
|
|
/* 02736F2C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736F2C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02736F2C */ if (_t40) goto L_02736F30; else goto L_02736F54;
|
|
L_02736F30: ; // 0x2736f30
|
|
/* 02736F30 */ cpu->ctr = cpu->r[6];
|
|
/* 02736F34 */ cpu->r[9] = 0x00000000u;
|
|
L_02736F38: ; // 0x2736f38
|
|
/* 02736F38 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02736F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02736F3C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02736F3C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02736F40 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02736F44 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02736F44 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02736F48 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02736F4C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02736F4C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02736F50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02736F50 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02736F50 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02736F50 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02736F50 */ if (_t47) goto L_02736F38; else goto L_02736F54;
|
|
L_02736F54: ; // 0x2736f54
|
|
/* 02736F54 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02736F54 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02736F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736F5C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736F5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02736F5C */ if (_t50) goto L_02736FA0; else goto L_02736F60;
|
|
L_02736F60: ; // 0x2736f60
|
|
/* 02736F60 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02736F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02736F64 */ Gambit_fn_02826F20(cpu);
|
|
/* 02736F68 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736F68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02736F6C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02736F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02736F70 */ cpu->ctr = cpu->r[0];
|
|
/* 02736F74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02736F78 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02736F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02736F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02736F84 */ cpu->r[10] = cpu->r[27];
|
|
/* 02736F88 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736F88 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02736F88 */ if (_t55) goto L_02736F90; else goto L_02736F8C;
|
|
L_02736F8C: ; // 0x2736f8c
|
|
/* 02736F8C */ cpu->r[10] = 0x00000001u;
|
|
L_02736F90: ; // 0x2736f90
|
|
/* 02736F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02736F94 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736F94 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02736F94 */ if (_t57) goto L_02736FA0; else goto L_02736F98;
|
|
L_02736F98: ; // 0x2736f98
|
|
/* 02736F98 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02736F98 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02736F9C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02736F9C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02736FA0: ; // 0x2736fa0
|
|
/* 02736FA0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02736FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02736FA4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02736FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02736FAC */ cpu->r[5] = cpu->r[0];
|
|
/* 02736FB0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02736FB0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02736FB0 */ if (_t62) goto L_02736FB4; else goto L_02736FD8;
|
|
L_02736FB4: ; // 0x2736fb4
|
|
/* 02736FB4 */ cpu->ctr = cpu->r[12];
|
|
/* 02736FB8 */ cpu->r[8] = 0x00000000u;
|
|
L_02736FBC: ; // 0x2736fbc
|
|
/* 02736FBC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02736FBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02736FC0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02736FC0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02736FC4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02736FC8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02736FC8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02736FCC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02736FD0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02736FD0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02736FD4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02736FD4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02736FD4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02736FD4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02736FD4 */ if (_t69) goto L_02736FBC; else goto L_02736FD8;
|
|
L_02736FD8: ; // 0x2736fd8
|
|
/* 02736FD8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02736FD8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02736FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02736FE0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02736FE0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02736FE0 */ if (_t72) goto L_027370BC; else goto L_02736FE4;
|
|
L_02736FE4: ; // 0x2736fe4
|
|
/* 02736FE4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02736FE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02736FE8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02736FEC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02736FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02736FF0 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02736FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02736FF4 */ cpu->ctr = cpu->r[12];
|
|
/* 02736FF8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02736FFC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02737000 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02737004 */ cpu->r[24] = cpu->r[3];
|
|
/* 02737008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0273700C */ cpu->r[30] = cpu->r[25];
|
|
/* 02737010 */ cpu->r[7] = 0x00000000u;
|
|
/* 02737014 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02737014 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02737014 */ if (_t77) goto L_0273701C; else goto L_02737018;
|
|
L_02737018: ; // 0x2737018
|
|
/* 02737018 */ cpu->r[30] = 0x00000001u;
|
|
L_0273701C: ; // 0x273701c
|
|
/* 0273701C */ cpu->r[31] = 0x10110000u;
|
|
/* 02737020 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02737024 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02737024 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02737028 */ cpu->r[23] = 0x00000018u;
|
|
L_0273702C: ; // 0x273702c
|
|
/* 0273702C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0273702C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02737030 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737030 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02737030 */ if (_t80) goto L_027370A0; else goto L_02737034;
|
|
L_02737034: ; // 0x2737034
|
|
/* 02737034 */ cpu->r[26] = cpu->r[27];
|
|
/* 02737034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02737038 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737038 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02737038 */ if (_t82) goto L_0273703C; else goto L_0273704C;
|
|
L_0273703C: ; // 0x273703c
|
|
/* 0273703C */ cpu->r[3] = 0x00000024u;
|
|
/* 02737040 */ Gambit_fn_02801A78(cpu);
|
|
/* 02737044 */ cpu->r[26] = cpu->r[3];
|
|
/* 02737044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02737048 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737048 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02737048 */ if (_t84) goto L_02737094; else goto L_0273704C;
|
|
L_0273704C: ; // 0x273704c
|
|
/* 0273704C */ cpu->r[11] = cpu->r[26];
|
|
/* 0273704C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02737050 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737050 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02737050 */ if (_t86) goto L_02737054; else goto L_02737064;
|
|
L_02737054: ; // 0x2737054
|
|
/* 02737054 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02737058 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273705C */ cpu->r[11] = cpu->r[3];
|
|
/* 0273705C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02737060 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737060 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02737060 */ if (_t88) goto L_02737080; else goto L_02737064;
|
|
L_02737064: ; // 0x2737064
|
|
/* 02737064 */ cpu->r[5] = 0x100F0000u;
|
|
/* 02737068 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02737068 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0273706C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02737070 */ cpu->r[5] = cpu->r[5] + 0x00007128u;
|
|
/* 02737074 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02737074 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02737078 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02737078 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0273707C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0273707C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02737080: ; // 0x2737080
|
|
/* 02737080 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02737084 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02737084 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02737088 */ cpu->r[6] = cpu->r[6] + 0x00007150u;
|
|
/* 0273708C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0273708C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02737090 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02737090 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02737094: ; // 0x2737094
|
|
/* 02737094 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737098 */ cpu->r[0] = cpu->r[0] + 0x00007168u;
|
|
/* 0273709C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0273709C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_027370A0: ; // 0x27370a0
|
|
/* 027370A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027370A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027370A4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 027370A8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027370A8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027370A8 */ if (_t98) goto L_027370AC; else goto L_0273702C;
|
|
L_027370AC: ; // 0x27370ac
|
|
/* 027370AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027370B0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027370B0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027370B0 */ if (_t100) goto L_027370BC; else goto L_027370B4;
|
|
L_027370B4: ; // 0x27370b4
|
|
/* 027370B4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 027370B4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 027370B8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 027370B8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_027370BC: ; // 0x27370bc
|
|
/* 027370BC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 027370BC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 027370C0 */ /* nop */
|
|
/* 027370C4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 027370C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027370C8 */ cpu->lr = cpu->r[0];
|
|
/* 027370CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027370D0 */ return;
|
|
}
|
|
|
|
// fn_027370D4 @ 0x27370d4
|
|
void Gambit_fn_027370D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027370D4: ; // 0x27370d4
|
|
/* 027370D4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 027370D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027370D8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 027370D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027370DC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 027370DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027370E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027370E4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027370E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027370E8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027370E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027370E8 */ if (_t5) goto L_027370EC; else goto L_027370F4;
|
|
L_027370EC: ; // 0x27370ec
|
|
/* 027370EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027370F0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_027370F4: ; // 0x27370f4
|
|
/* 027370F4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 027370F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027370F8 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 027370F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027370FC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 027370FC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02737100 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02737100 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02737104 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02737104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02737108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0273710C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273710C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737110 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737110 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02737110 */ if (_t13) goto L_02737114; else goto L_0273711C;
|
|
L_02737114: ; // 0x2737114
|
|
/* 02737114 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737118 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0273711C: ; // 0x273711c
|
|
/* 0273711C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0273711C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02737120 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02737120 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02737124 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02737124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02737128 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02737128 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0273712C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0273712C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02737130 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02737130 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02737134 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02737134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02737138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0273713C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0273713C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02737140 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737140 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02737140 */ if (_t23) goto L_02737144; else goto L_0273714C;
|
|
L_02737144: ; // 0x2737144
|
|
/* 02737144 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737148 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0273714C: ; // 0x273714c
|
|
/* 0273714C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0273714C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02737150 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02737150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02737154 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02737154 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02737158 */ return;
|
|
}
|
|
|
|
// fn_0273715C @ 0x273715c
|
|
void Gambit_fn_0273715C(CPUState* 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_0273715C: ; // 0x273715c
|
|
/* 0273715C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273715C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02737160 */ /* nop */
|
|
/* 02737164 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02737164 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737168 */ cpu->r[8] = cpu->r[0];
|
|
/* 0273716C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02737170 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02737170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02737174 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737174 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02737174 */ if (_t4) goto L_02737178; else goto L_02737190;
|
|
L_02737178: ; // 0x2737178
|
|
/* 02737178 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273717C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02737180 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02737180 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02737184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02737188 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737188 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02737188 */ if (_t7) goto L_0273718C; else goto L_0273719C;
|
|
L_0273718C: ; // 0x273718c
|
|
/* 0273718C */ return;
|
|
L_02737190: ; // 0x2737190
|
|
/* 02737190 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02737190 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02737194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02737198 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737198 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02737198 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737198 */ goto L_0273719C;
|
|
L_0273719C: ; // 0x273719c
|
|
/* 0273719C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 027371A0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027371A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027371A4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027371A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027371A4 */ if (_t13) goto L_027371A8; else goto L_027371B0;
|
|
L_027371A8: ; // 0x27371a8
|
|
/* 027371A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027371AC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027371B0: ; // 0x27371b0
|
|
/* 027371B0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 027371B0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 027371B4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 027371B4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 027371B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027371BC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 027371BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027371C0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 027371C4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027371C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027371C4 */ if (_t18) goto L_027371DC; else goto L_027371C8;
|
|
L_027371C8: ; // 0x27371c8
|
|
/* 027371C8 */ /* nop */
|
|
/* 027371CC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 027371CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027371D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027371D4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 027371D8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027371D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_027371DC: ; // 0x27371dc
|
|
/* 027371DC */ cpu->ctr = cpu->r[11];
|
|
/* 027371E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027371E4 @ 0x27371e4
|
|
void Gambit_fn_027371E4(CPUState* 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_027371E4: ; // 0x27371e4
|
|
/* 027371E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027371E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027371E8 */ /* nop */
|
|
/* 027371EC */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 027371EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027371F0 */ cpu->r[8] = cpu->r[0];
|
|
/* 027371F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027371F8 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027371F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027371FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027371FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027371FC */ if (_t4) goto L_02737200; else goto L_02737218;
|
|
L_02737200: ; // 0x2737200
|
|
/* 02737200 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737204 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02737208 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02737208 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273720C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02737210 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737210 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02737210 */ if (_t7) goto L_02737214; else goto L_02737224;
|
|
L_02737214: ; // 0x2737214
|
|
/* 02737214 */ return;
|
|
L_02737218: ; // 0x2737218
|
|
/* 02737218 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02737218 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273721C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02737220 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737220 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02737220 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737220 */ goto L_02737224;
|
|
L_02737224: ; // 0x2737224
|
|
/* 02737224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02737228 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02737228 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273722C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273722C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273722C */ if (_t13) goto L_02737230; else goto L_02737238;
|
|
L_02737230: ; // 0x2737230
|
|
/* 02737230 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737234 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02737238: ; // 0x2737238
|
|
/* 02737238 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02737238 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273723C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273723C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02737240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737244 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02737244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02737248 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0273724C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273724C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273724C */ if (_t18) goto L_02737264; else goto L_02737250;
|
|
L_02737250: ; // 0x2737250
|
|
/* 02737250 */ /* nop */
|
|
/* 02737254 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02737254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02737258 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273725C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02737260 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02737260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02737264: ; // 0x2737264
|
|
/* 02737264 */ cpu->ctr = cpu->r[11];
|
|
/* 02737268 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273726C @ 0x273726c
|
|
void Gambit_fn_0273726C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273726C: ; // 0x273726c
|
|
/* 0273726C */ cpu->r[0] = cpu->lr;
|
|
/* 02737270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737270 */ cpu->r[1] = _t0;
|
|
/* 02737274 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737274 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737278 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273727C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273727C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02737280 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02737280 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02737284 */ cpu->r[12] = 0x00000000u;
|
|
/* 02737288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273728C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273728C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02737290 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737290 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02737290 */ if (_t6) goto L_027372B8; else goto L_02737294;
|
|
L_02737294: ; // 0x2737294
|
|
/* 02737294 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02737294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02737298 */ /* nop */
|
|
/* 0273729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027372A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027372A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027372A0 */ if (_t9) goto L_027372A4; else goto L_027372B8;
|
|
L_027372A4: ; // 0x27372a4
|
|
/* 027372A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027372A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027372A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 027372A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027372AC */ cpu->ctr = cpu->r[0];
|
|
/* 027372B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027372B8: ; // 0x27372b8
|
|
/* 027372B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372BC */ Gambit_fn_027371E4(cpu);
|
|
/* 027372C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 027372C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027372C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027372CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027372CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027372D0 */ cpu->lr = cpu->r[0];
|
|
/* 027372D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027372D8 */ return;
|
|
}
|
|
|
|
// fn_02737270 @ 0x2737270
|
|
void Gambit_fn_02737270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02737270: ; // 0x2737270
|
|
/* 02737270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737270 */ cpu->r[1] = _t0;
|
|
/* 02737274 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737274 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737278 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273727C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273727C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02737280 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02737280 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02737284 */ cpu->r[12] = 0x00000000u;
|
|
/* 02737288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273728C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273728C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02737290 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737290 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02737290 */ if (_t6) goto L_027372B8; else goto L_02737294;
|
|
L_02737294: ; // 0x2737294
|
|
/* 02737294 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02737294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02737298 */ /* nop */
|
|
/* 0273729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027372A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027372A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027372A0 */ if (_t9) goto L_027372A4; else goto L_027372B8;
|
|
L_027372A4: ; // 0x27372a4
|
|
/* 027372A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027372A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027372A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 027372A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027372AC */ cpu->ctr = cpu->r[0];
|
|
/* 027372B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027372B8: ; // 0x27372b8
|
|
/* 027372B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372BC */ Gambit_fn_027371E4(cpu);
|
|
/* 027372C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027372C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 027372C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027372C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027372CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027372CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027372D0 */ cpu->lr = cpu->r[0];
|
|
/* 027372D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027372D8 */ return;
|
|
}
|
|
|
|
// fn_027372DC @ 0x27372dc
|
|
void Gambit_fn_027372DC(CPUState* 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_027372DC: ; // 0x27372dc
|
|
/* 027372DC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027372DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027372E0 */ /* nop */
|
|
/* 027372E4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 027372E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027372E8 */ cpu->r[7] = cpu->r[0];
|
|
/* 027372EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 027372F0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 027372F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027372F4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027372F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027372F4 */ if (_t4) goto L_027372F8; else goto L_02737310;
|
|
L_027372F8: ; // 0x27372f8
|
|
/* 027372F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027372FC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02737300 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02737300 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02737304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02737308 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737308 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02737308 */ if (_t7) goto L_0273730C; else goto L_0273731C;
|
|
L_0273730C: ; // 0x273730c
|
|
/* 0273730C */ return;
|
|
L_02737310: ; // 0x2737310
|
|
/* 02737310 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02737310 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02737314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02737318 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737318 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02737318 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737318 */ goto L_0273731C;
|
|
L_0273731C: ; // 0x273731c
|
|
/* 0273731C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02737320 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02737320 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737324 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737324 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02737324 */ if (_t13) goto L_02737328; else goto L_02737330;
|
|
L_02737328: ; // 0x2737328
|
|
/* 02737328 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273732C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02737330: ; // 0x2737330
|
|
/* 02737330 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02737330 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02737334 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02737334 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02737338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273733C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273733C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02737340 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02737344 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737344 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02737344 */ if (_t18) goto L_0273735C; else goto L_02737348;
|
|
L_02737348: ; // 0x2737348
|
|
/* 02737348 */ /* nop */
|
|
/* 0273734C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273734C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02737350 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737354 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02737358 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02737358 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273735C: ; // 0x273735c
|
|
/* 0273735C */ cpu->ctr = cpu->r[11];
|
|
/* 02737360 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02737364 @ 0x2737364
|
|
void Gambit_fn_02737364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737364: ; // 0x2737364
|
|
/* 02737364 */ cpu->r[0] = cpu->lr;
|
|
/* 02737368 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737368 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737368 */ cpu->r[1] = _t0;
|
|
/* 0273736C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273736C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02737370 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737370 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02737374 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737378 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737378 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273737C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273737C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02737380 */ /* nop */
|
|
/* 02737384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02737388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273738C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273738C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273738C */ if (_t6) goto L_02737390; else goto L_027373A4;
|
|
L_02737390: ; // 0x2737390
|
|
/* 02737390 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02737390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02737394 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02737394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02737398 */ cpu->ctr = cpu->r[0];
|
|
/* 0273739C */ cpu->r[3] = cpu->r[30];
|
|
/* 027373A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027373A4: ; // 0x27373a4
|
|
/* 027373A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027373A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 027373AC */ Gambit_fn_027372DC(cpu);
|
|
/* 027373B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027373B4 */ /* nop */
|
|
/* 027373B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027373BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027373C0 */ Gambit_fn_0273715C(cpu);
|
|
/* 027373C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027373C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027373C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027373C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027373CC */ cpu->lr = cpu->r[0];
|
|
/* 027373D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027373D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027373D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027373D8 */ return;
|
|
}
|
|
|
|
// fn_02737368 @ 0x2737368
|
|
void Gambit_fn_02737368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737368: ; // 0x2737368
|
|
/* 02737368 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737368 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737368 */ cpu->r[1] = _t0;
|
|
/* 0273736C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273736C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02737370 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737370 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02737374 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737378 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737378 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273737C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273737C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02737380 */ /* nop */
|
|
/* 02737384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02737388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273738C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273738C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273738C */ if (_t6) goto L_02737390; else goto L_027373A4;
|
|
L_02737390: ; // 0x2737390
|
|
/* 02737390 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02737390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02737394 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02737394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02737398 */ cpu->ctr = cpu->r[0];
|
|
/* 0273739C */ cpu->r[3] = cpu->r[30];
|
|
/* 027373A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027373A4: ; // 0x27373a4
|
|
/* 027373A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027373A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 027373AC */ Gambit_fn_027372DC(cpu);
|
|
/* 027373B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027373B4 */ /* nop */
|
|
/* 027373B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027373BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027373C0 */ Gambit_fn_0273715C(cpu);
|
|
/* 027373C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027373C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027373C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027373C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027373CC */ cpu->lr = cpu->r[0];
|
|
/* 027373D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027373D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027373D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027373D8 */ return;
|
|
}
|
|
|
|
// fn_027373DC @ 0x27373dc
|
|
void Gambit_fn_027373DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027373DC: ; // 0x27373dc
|
|
/* 027373DC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027373E0 */ goto L_027373E4;
|
|
L_027373E4: ; // 0x27373e4
|
|
/* 027373E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027373E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027373E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027373E8 */ cpu->r[1] = _t0;
|
|
/* 027373EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027373EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027373F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027373F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027373F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027373F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027373F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027373FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027373FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737400 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737400 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737400 */ if (_t5) goto L_02737444; else goto L_02737404;
|
|
L_02737404: ; // 0x2737404
|
|
/* 02737404 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737408 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0273740C */ cpu->r[0] = cpu->r[0] + 0x000073F0u;
|
|
/* 02737410 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737414 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737414 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737418 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273741C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02737420 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737424 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737428 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273742C */ cpu->r[4] = 0x00000000u;
|
|
/* 02737430 */ Gambit_fn_028136EC(cpu);
|
|
/* 02737434 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737438 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737438 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737438 */ if (_t8) goto L_02737444; else goto L_0273743C;
|
|
L_0273743C: ; // 0x273743c
|
|
/* 0273743C */ cpu->r[3] = cpu->r[30];
|
|
/* 02737440 */ Gambit_fn_02801BB0(cpu);
|
|
L_02737444: ; // 0x2737444
|
|
/* 02737444 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02737444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02737448 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02737448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273744C */ cpu->lr = cpu->r[0];
|
|
/* 02737450 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737454 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02737458 */ return;
|
|
}
|
|
|
|
// fn_027373E8 @ 0x27373e8
|
|
void Gambit_fn_027373E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027373E8: ; // 0x27373e8
|
|
/* 027373E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027373E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027373E8 */ cpu->r[1] = _t0;
|
|
/* 027373EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027373EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027373F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027373F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027373F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027373F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027373F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027373FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027373FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737400 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737400 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737400 */ if (_t5) goto L_02737444; else goto L_02737404;
|
|
L_02737404: ; // 0x2737404
|
|
/* 02737404 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737408 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0273740C */ cpu->r[0] = cpu->r[0] + 0x000073F0u;
|
|
/* 02737410 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737414 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737414 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737418 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0273741C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02737420 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737424 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737428 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273742C */ cpu->r[4] = 0x00000000u;
|
|
/* 02737430 */ Gambit_fn_028136EC(cpu);
|
|
/* 02737434 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737438 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737438 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737438 */ if (_t8) goto L_02737444; else goto L_0273743C;
|
|
L_0273743C: ; // 0x273743c
|
|
/* 0273743C */ cpu->r[3] = cpu->r[30];
|
|
/* 02737440 */ Gambit_fn_02801BB0(cpu);
|
|
L_02737444: ; // 0x2737444
|
|
/* 02737444 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02737444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02737448 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02737448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273744C */ cpu->lr = cpu->r[0];
|
|
/* 02737450 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737454 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02737458 */ return;
|
|
}
|
|
|
|
// fn_0273745C @ 0x273745c
|
|
void Gambit_fn_0273745C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273745C: ; // 0x273745c
|
|
/* 0273745C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02737460 */ goto L_02737478;
|
|
L_02737478: ; // 0x2737478
|
|
/* 02737478 */ cpu->r[0] = cpu->lr;
|
|
/* 0273747C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273747C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273747C */ cpu->r[1] = _t0;
|
|
/* 02737480 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737484 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02737484 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737488 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273748C */ cpu->r[31] = cpu->r[4];
|
|
/* 02737490 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737490 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737494 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737494 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737494 */ if (_t5) goto L_027374D8; else goto L_02737498;
|
|
L_02737498: ; // 0x2737498
|
|
/* 02737498 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273749C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027374A0 */ cpu->r[0] = cpu->r[0] + 0x00007508u;
|
|
/* 027374A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027374A8 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027374A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027374AC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027374B0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027374B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027374B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027374BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027374C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027374C4 */ Gambit_fn_028136EC(cpu);
|
|
/* 027374C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027374C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027374CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027374CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027374CC */ if (_t8) goto L_027374D8; else goto L_027374D0;
|
|
L_027374D0: ; // 0x27374d0
|
|
/* 027374D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027374D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027374D8: ; // 0x27374d8
|
|
/* 027374D8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027374D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027374DC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027374DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027374E0 */ cpu->lr = cpu->r[0];
|
|
/* 027374E4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027374E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027374E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027374EC */ return;
|
|
}
|
|
|
|
// fn_02737464 @ 0x2737464
|
|
void Gambit_fn_02737464(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_02737464: ; // 0x2737464
|
|
/* 02737464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737468 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737468 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737468 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737468 */ goto L_0273746C;
|
|
L_0273746C: ; // 0x273746c
|
|
/* 0273746C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273746C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737470 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737470 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737470 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737470 */ goto L_02737474;
|
|
L_02737474: ; // 0x2737474
|
|
/* 02737474 */ 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_0273747C @ 0x273747c
|
|
void Gambit_fn_0273747C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273747C: ; // 0x273747c
|
|
/* 0273747C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273747C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273747C */ cpu->r[1] = _t0;
|
|
/* 02737480 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737484 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02737484 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737488 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273748C */ cpu->r[31] = cpu->r[4];
|
|
/* 02737490 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737490 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737494 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737494 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737494 */ if (_t5) goto L_027374D8; else goto L_02737498;
|
|
L_02737498: ; // 0x2737498
|
|
/* 02737498 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273749C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027374A0 */ cpu->r[0] = cpu->r[0] + 0x00007508u;
|
|
/* 027374A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027374A8 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027374A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027374AC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027374B0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027374B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027374B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027374BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027374C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027374C4 */ Gambit_fn_028136EC(cpu);
|
|
/* 027374C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027374C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027374CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027374CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027374CC */ if (_t8) goto L_027374D8; else goto L_027374D0;
|
|
L_027374D0: ; // 0x27374d0
|
|
/* 027374D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027374D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027374D8: ; // 0x27374d8
|
|
/* 027374D8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027374D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027374DC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027374DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027374E0 */ cpu->lr = cpu->r[0];
|
|
/* 027374E4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027374E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027374E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027374EC */ return;
|
|
}
|
|
|
|
// fn_027374F0 @ 0x27374f0
|
|
void Gambit_fn_027374F0(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_027374F0: ; // 0x27374f0
|
|
/* 027374F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027374F4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027374F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027374F4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027374F4 */ goto L_027374F8;
|
|
L_027374F8: ; // 0x27374f8
|
|
/* 027374F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027374F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027374FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027374FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027374FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027374FC */ goto L_02737500;
|
|
L_02737500: ; // 0x2737500
|
|
/* 02737500 */ 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_02737504 @ 0x2737504
|
|
void Gambit_fn_02737504(CPUState* cpu) {
|
|
L_02737504: ; // 0x2737504
|
|
/* 02737504 */ return;
|
|
}
|
|
|
|
// fn_02737508 @ 0x2737508
|
|
void Gambit_fn_02737508(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_02737508: ; // 0x2737508
|
|
/* 02737508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273750C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273750C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273750C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273750C */ goto L_02737510;
|
|
L_02737510: ; // 0x2737510
|
|
/* 02737510 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737514 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737514 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737514 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737514 */ goto L_02737518;
|
|
L_02737518: ; // 0x2737518
|
|
/* 02737518 */ 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_0273751C @ 0x273751c
|
|
void Gambit_fn_0273751C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0273751C: ; // 0x273751c
|
|
/* 0273751C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0273751C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737520 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737524 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737528 */ cpu->r[11] = 0x10110000u;
|
|
/* 0273752C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0273752C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737530 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737530 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737534 */ return;
|
|
}
|
|
|
|
// fn_02737538 @ 0x2737538
|
|
void Gambit_fn_02737538(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_02737538: ; // 0x2737538
|
|
/* 02737538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273753C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273753C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273753C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273753C */ goto L_02737540;
|
|
L_02737540: ; // 0x2737540
|
|
/* 02737540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737544 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737544 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737544 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737544 */ goto L_02737548;
|
|
L_02737548: ; // 0x2737548
|
|
/* 02737548 */ 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_0273754C @ 0x273754c
|
|
void Gambit_fn_0273754C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0273754C: ; // 0x273754c
|
|
/* 0273754C */ cpu->r[12] = cpu->r[3];
|
|
/* 02737550 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02737550 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02737558 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737558 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02737558 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737558 */ goto L_0273755C;
|
|
L_0273755C: ; // 0x273755c
|
|
/* 0273755C */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0273755C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02737560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737564 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737564 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737564 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737564 */ goto L_02737568;
|
|
L_02737568: ; // 0x2737568
|
|
/* 02737568 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02737568 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0273756C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737570 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02737574 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02737574 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737574 */ if (_t8) goto L_02737578; else goto L_02737584;
|
|
L_02737578: ; // 0x2737578
|
|
/* 02737578 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02737578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273757C */ cpu->ctr = cpu->r[11];
|
|
/* 02737580 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02737584: ; // 0x2737584
|
|
/* 02737584 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02737584 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02737588 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02737588 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273758C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02737590 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02737594 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02737594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02737598 */ cpu->ctr = cpu->r[11];
|
|
/* 0273759C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027375A0 @ 0x27375a0
|
|
void Gambit_fn_027375A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027375A0: ; // 0x27375a0
|
|
/* 027375A0 */ cpu->r[12] = cpu->r[3];
|
|
/* 027375A4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027375A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027375A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027375AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027375AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027375AC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027375AC */ goto L_027375B0;
|
|
L_027375B0: ; // 0x27375b0
|
|
/* 027375B0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027375B0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027375B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027375B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027375B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027375B8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027375B8 */ goto L_027375BC;
|
|
L_027375BC: ; // 0x27375bc
|
|
/* 027375BC */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027375BC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027375C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027375C4 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 027375C8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027375C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027375C8 */ if (_t8) goto L_027375CC; else goto L_027375D8;
|
|
L_027375CC: ; // 0x27375cc
|
|
/* 027375CC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027375CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027375D0 */ cpu->ctr = cpu->r[10];
|
|
/* 027375D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027375D8: ; // 0x27375d8
|
|
/* 027375D8 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027375D8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027375DC */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 027375DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027375E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027375E4 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 027375E8 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027375E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027375EC */ cpu->ctr = cpu->r[10];
|
|
/* 027375F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027375F4 @ 0x27375f4
|
|
void Gambit_fn_027375F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027375F4: ; // 0x27375f4
|
|
/* 027375F4 */ cpu->r[12] = 0x100F0000u;
|
|
/* 027375F8 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027375FC */ _t0 = cpu->r[12] + 0x000075A8u;
|
|
/* 027375FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02737600 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02737604 */ _t1 = cpu->r[11] + 0x000075ACu;
|
|
/* 02737604 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02737608 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273760C */ _t2 = cpu->r[12] + 0x00000600u;
|
|
/* 0273760C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 0273760C */ cpu->r[12] = _t2;
|
|
/* 02737610 */ _t3 = cpu->r[10] + 0x000005F4u;
|
|
/* 02737610 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02737610 */ cpu->r[10] = _t3;
|
|
/* 02737614 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02737614 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 02737618 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273761C */ _t5 = cpu->r[10] + 0x00000008u;
|
|
/* 0273761C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02737620 */ _t6 = cpu->r[11] + 0x000075B0u;
|
|
/* 02737620 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02737624 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02737624 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02737628 */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 02737628 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 0273762C */ return;
|
|
}
|
|
|
|
// fn_02737630 @ 0x2737630
|
|
void Gambit_fn_02737630(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_02737630: ; // 0x2737630
|
|
/* 02737630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737634 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737634 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737634 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737634 */ goto L_02737638;
|
|
L_02737638: ; // 0x2737638
|
|
/* 02737638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273763C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273763C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273763C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273763C */ goto L_02737640;
|
|
L_02737640: ; // 0x2737640
|
|
/* 02737640 */ 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_02737644 @ 0x2737644
|
|
void Gambit_fn_02737644(CPUState* cpu) {
|
|
L_02737644: ; // 0x2737644
|
|
/* 02737644 */ return;
|
|
}
|
|
|
|
// fn_02737648 @ 0x2737648
|
|
void Gambit_fn_02737648(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_02737648: ; // 0x2737648
|
|
/* 02737648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273764C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273764C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273764C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273764C */ goto L_02737650;
|
|
L_02737650: ; // 0x2737650
|
|
/* 02737650 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737654 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737654 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737654 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737654 */ goto L_02737658;
|
|
L_02737658: ; // 0x2737658
|
|
/* 02737658 */ 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_0273765C @ 0x273765c
|
|
void Gambit_fn_0273765C(CPUState* cpu) {
|
|
L_0273765C: ; // 0x273765c
|
|
/* 0273765C */ return;
|
|
}
|
|
|
|
// fn_02737660 @ 0x2737660
|
|
void Gambit_fn_02737660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02737660: ; // 0x2737660
|
|
/* 02737660 */ cpu->r[0] = cpu->lr;
|
|
/* 02737664 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02737668 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273766C */ cpu->r[4] = 0x101F0000u;
|
|
/* 02737670 */ cpu->r[6] = cpu->r[6] + 0x0000768Cu;
|
|
/* 02737674 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02737678 */ cpu->r[12] = 0x100F0000u;
|
|
/* 0273767C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0273767C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02737680 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737684 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02737684 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02737684 */ cpu->r[1] = _t1;
|
|
/* 02737688 */ _t2 = cpu->r[9] + 0x000076A0u;
|
|
/* 02737688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0273768C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737690 */ _t3 = cpu->r[12] + 0x000076A4u;
|
|
/* 02737690 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02737694 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737698 */ _t4 = cpu->r[11] + 0x00007698u;
|
|
/* 02737698 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0273769C */ cpu->r[9] = cpu->r[9] + 0x0000060Cu;
|
|
/* 027376A0 */ _t5 = cpu->r[9] + 0x00000004u;
|
|
/* 027376A0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 027376A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027376A8 */ _t6 = cpu->r[12] + 0x0000769Cu;
|
|
/* 027376A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027376AC */ cpu->r[7] = 0x00000003u;
|
|
/* 027376B0 */ cpu->r[10] = cpu->r[10] + 0x00000624u;
|
|
/* 027376B4 */ _t7 = cpu->r[4] + 0x00000630u;
|
|
/* 027376B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027376B4 */ cpu->r[4] = _t7;
|
|
/* 027376B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027376BC */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 027376BC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027376C0 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 027376C0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
|
|
/* 027376C4 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 027376C8 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 027376C8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027376CC */ cpu->r[3] = 0x101F0000u;
|
|
/* 027376D0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027376D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027376D4 */ cpu->r[3] = cpu->r[3] + 0x00000614u;
|
|
/* 027376D8 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 027376D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 027376DC */ Gambit_fn_02792790(cpu);
|
|
/* 027376E0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027376E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027376E4 */ cpu->lr = cpu->r[0];
|
|
/* 027376E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027376EC */ return;
|
|
}
|
|
|
|
// fn_02737684 @ 0x2737684
|
|
void Gambit_fn_02737684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02737684: ; // 0x2737684
|
|
/* 02737684 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02737684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737684 */ cpu->r[1] = _t0;
|
|
/* 02737688 */ _t1 = cpu->r[9] + 0x000076A0u;
|
|
/* 02737688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0273768C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737690 */ _t2 = cpu->r[12] + 0x000076A4u;
|
|
/* 02737690 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02737694 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737698 */ _t3 = cpu->r[11] + 0x00007698u;
|
|
/* 02737698 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0273769C */ cpu->r[9] = cpu->r[9] + 0x0000060Cu;
|
|
/* 027376A0 */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 027376A0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 027376A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027376A8 */ _t5 = cpu->r[12] + 0x0000769Cu;
|
|
/* 027376A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027376AC */ cpu->r[7] = 0x00000003u;
|
|
/* 027376B0 */ cpu->r[10] = cpu->r[10] + 0x00000624u;
|
|
/* 027376B4 */ _t6 = cpu->r[4] + 0x00000630u;
|
|
/* 027376B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027376B4 */ cpu->r[4] = _t6;
|
|
/* 027376B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027376BC */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 027376BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027376C0 */ _t8 = cpu->r[10] + 0x00000008u;
|
|
/* 027376C0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
|
|
/* 027376C4 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 027376C8 */ _t9 = cpu->r[10] + 0x00000000u;
|
|
/* 027376C8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027376CC */ cpu->r[3] = 0x101F0000u;
|
|
/* 027376D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027376D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027376D4 */ cpu->r[3] = cpu->r[3] + 0x00000614u;
|
|
/* 027376D8 */ _t11 = cpu->r[9] + 0x00000000u;
|
|
/* 027376D8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 027376DC */ Gambit_fn_02792790(cpu);
|
|
/* 027376E0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027376E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027376E4 */ cpu->lr = cpu->r[0];
|
|
/* 027376E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027376EC */ return;
|
|
}
|
|
|
|
// fn_027376F0 @ 0x27376f0
|
|
void Gambit_fn_027376F0(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_027376F0: ; // 0x27376f0
|
|
/* 027376F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027376F4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027376F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027376F4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027376F4 */ goto L_027376F8;
|
|
L_027376F8: ; // 0x27376f8
|
|
/* 027376F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027376F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027376FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027376FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027376FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027376FC */ goto L_02737700;
|
|
L_02737700: ; // 0x2737700
|
|
/* 02737700 */ 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_02737704 @ 0x2737704
|
|
void Gambit_fn_02737704(CPUState* cpu) {
|
|
L_02737704: ; // 0x2737704
|
|
/* 02737704 */ return;
|
|
}
|
|
|
|
// fn_02737708 @ 0x2737708
|
|
void Gambit_fn_02737708(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_02737708: ; // 0x2737708
|
|
/* 02737708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273770C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273770C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273770C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273770C */ goto L_02737710;
|
|
L_02737710: ; // 0x2737710
|
|
/* 02737710 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737714 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737714 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737714 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737714 */ goto L_02737718;
|
|
L_02737718: ; // 0x2737718
|
|
/* 02737718 */ 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_0273771C @ 0x273771c
|
|
void Gambit_fn_0273771C(CPUState* cpu) {
|
|
L_0273771C: ; // 0x273771c
|
|
/* 0273771C */ return;
|
|
}
|
|
|
|
// fn_02737720 @ 0x2737720
|
|
void Gambit_fn_02737720(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_02737720: ; // 0x2737720
|
|
/* 02737720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737724 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737724 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737724 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737724 */ goto L_02737728;
|
|
L_02737728: ; // 0x2737728
|
|
/* 02737728 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273772C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273772C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273772C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273772C */ goto L_02737730;
|
|
L_02737730: ; // 0x2737730
|
|
/* 02737730 */ 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_02737734 @ 0x2737734
|
|
void Gambit_fn_02737734(CPUState* cpu) {
|
|
L_02737734: ; // 0x2737734
|
|
/* 02737734 */ return;
|
|
}
|
|
|
|
// fn_02737738 @ 0x2737738
|
|
void Gambit_fn_02737738(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737738: ; // 0x2737738
|
|
/* 02737738 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0273773C */ goto L_02737740;
|
|
L_02737740: ; // 0x2737740
|
|
/* 02737740 */ cpu->r[0] = cpu->lr;
|
|
/* 02737744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737744 */ cpu->r[1] = _t0;
|
|
/* 02737748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273774C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273774C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737750 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02737754 */ cpu->r[31] = cpu->r[4];
|
|
/* 02737758 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737758 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273775C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273775C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273775C */ if (_t5) goto L_027377A0; else goto L_02737760;
|
|
L_02737760: ; // 0x2737760
|
|
/* 02737760 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737764 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02737768 */ cpu->r[0] = cpu->r[0] + 0x00007738u;
|
|
/* 0273776C */ cpu->r[4] = 0x00000002u;
|
|
/* 02737770 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737770 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737774 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737778 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0273777C */ cpu->r[4] = 0x00000002u;
|
|
/* 02737780 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737784 */ cpu->r[3] = cpu->r[30];
|
|
/* 02737788 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273778C */ Gambit_fn_028136EC(cpu);
|
|
/* 02737790 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737794 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737794 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737794 */ if (_t8) goto L_027377A0; else goto L_02737798;
|
|
L_02737798: ; // 0x2737798
|
|
/* 02737798 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273779C */ Gambit_fn_02801BB0(cpu);
|
|
L_027377A0: ; // 0x27377a0
|
|
/* 027377A0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027377A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027377A4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027377A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027377A8 */ cpu->lr = cpu->r[0];
|
|
/* 027377AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027377AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027377B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027377B4 */ return;
|
|
}
|
|
|
|
// fn_02737744 @ 0x2737744
|
|
void Gambit_fn_02737744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737744: ; // 0x2737744
|
|
/* 02737744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737744 */ cpu->r[1] = _t0;
|
|
/* 02737748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273774C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273774C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737750 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02737754 */ cpu->r[31] = cpu->r[4];
|
|
/* 02737758 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737758 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273775C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273775C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273775C */ if (_t5) goto L_027377A0; else goto L_02737760;
|
|
L_02737760: ; // 0x2737760
|
|
/* 02737760 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737764 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02737768 */ cpu->r[0] = cpu->r[0] + 0x00007738u;
|
|
/* 0273776C */ cpu->r[4] = 0x00000002u;
|
|
/* 02737770 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737770 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737774 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737778 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0273777C */ cpu->r[4] = 0x00000002u;
|
|
/* 02737780 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737784 */ cpu->r[3] = cpu->r[30];
|
|
/* 02737788 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273778C */ Gambit_fn_028136EC(cpu);
|
|
/* 02737790 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737794 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737794 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737794 */ if (_t8) goto L_027377A0; else goto L_02737798;
|
|
L_02737798: ; // 0x2737798
|
|
/* 02737798 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273779C */ Gambit_fn_02801BB0(cpu);
|
|
L_027377A0: ; // 0x27377a0
|
|
/* 027377A0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027377A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027377A4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027377A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027377A8 */ cpu->lr = cpu->r[0];
|
|
/* 027377AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027377AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027377B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027377B4 */ return;
|
|
}
|
|
|
|
// fn_027377B8 @ 0x27377b8
|
|
void Gambit_fn_027377B8(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_027377B8: ; // 0x27377b8
|
|
/* 027377B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027377BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027377BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027377BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027377BC */ goto L_027377C0;
|
|
L_027377C0: ; // 0x27377c0
|
|
/* 027377C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027377C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027377C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027377C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027377C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027377C4 */ goto L_027377C8;
|
|
L_027377C8: ; // 0x27377c8
|
|
/* 027377C8 */ 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_027377CC @ 0x27377cc
|
|
void Gambit_fn_027377CC(CPUState* cpu) {
|
|
L_027377CC: ; // 0x27377cc
|
|
/* 027377CC */ return;
|
|
}
|
|
|
|
// fn_027377D0 @ 0x27377d0
|
|
void Gambit_fn_027377D0(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_027377D0: ; // 0x27377d0
|
|
/* 027377D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027377D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027377D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027377D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027377D4 */ goto L_027377D8;
|
|
L_027377D8: ; // 0x27377d8
|
|
/* 027377D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027377D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027377DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027377DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027377DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027377DC */ goto L_027377E0;
|
|
L_027377E0: ; // 0x27377e0
|
|
/* 027377E0 */ 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_027377E4 @ 0x27377e4
|
|
void Gambit_fn_027377E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027377E4: ; // 0x27377e4
|
|
/* 027377E4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027377E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027377E8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027377E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027377EC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027377F0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027377F4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027377F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027377F8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027377F8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027377FC */ return;
|
|
}
|
|
|
|
// fn_02737800 @ 0x2737800
|
|
void Gambit_fn_02737800(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_02737800: ; // 0x2737800
|
|
/* 02737800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737804 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737804 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737804 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737804 */ goto L_02737808;
|
|
L_02737808: ; // 0x2737808
|
|
/* 02737808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273780C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273780C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273780C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273780C */ goto L_02737810;
|
|
L_02737810: ; // 0x2737810
|
|
/* 02737810 */ 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_02737814 @ 0x2737814
|
|
void Gambit_fn_02737814(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_02737814: ; // 0x2737814
|
|
/* 02737814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737818 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737818 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737818 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737818 */ goto L_0273781C;
|
|
L_0273781C: ; // 0x273781c
|
|
/* 0273781C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273781C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737820 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737820 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737820 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737820 */ goto L_02737824;
|
|
L_02737824: ; // 0x2737824
|
|
/* 02737824 */ 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_02737828 @ 0x2737828
|
|
void Gambit_fn_02737828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02737828: ; // 0x2737828
|
|
/* 02737828 */ cpu->r[11] = 0x100F0000u;
|
|
/* 0273782C */ cpu->r[8] = 0x100F0000u;
|
|
/* 02737830 */ _t0 = cpu->r[11] + 0x000078C8u;
|
|
/* 02737830 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02737834 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737838 */ _t1 = cpu->r[8] + 0x000078D4u;
|
|
/* 02737838 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0273783C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737840 */ _t2 = cpu->r[10] + 0x000078E4u;
|
|
/* 02737840 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02737844 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737848 */ _t3 = cpu->r[8] + 0x0000064Cu;
|
|
/* 02737848 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[7]);
|
|
/* 02737848 */ cpu->r[8] = _t3;
|
|
/* 0273784C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737850 */ _t4 = cpu->r[12] + 0x000078E0u;
|
|
/* 02737850 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02737854 */ _t5 = cpu->r[9] + 0x00000658u;
|
|
/* 02737854 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[7]);
|
|
/* 02737854 */ cpu->r[9] = _t5;
|
|
/* 02737858 */ _t6 = cpu->r[9] + 0x00000004u;
|
|
/* 02737858 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[7]);
|
|
/* 0273785C */ _t7 = cpu->r[9] + 0x00000008u;
|
|
/* 0273785C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02737860 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737864 */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02737864 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[7]);
|
|
/* 02737868 */ _t9 = cpu->r[9] + 0x000078DCu;
|
|
/* 02737868 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0273786C */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737870 */ _t10 = cpu->r[8] + 0x00000008u;
|
|
/* 02737870 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02737874 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02737878 */ _t11 = cpu->r[10] + 0x000078D8u;
|
|
/* 02737878 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0273787C */ cpu->r[7] = 0x101F0000u;
|
|
/* 02737880 */ _t12 = cpu->r[8] + 0x000078D0u;
|
|
/* 02737880 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02737884 */ _t13 = cpu->r[7] + 0x00000640u;
|
|
/* 02737884 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 02737884 */ cpu->r[7] = _t13;
|
|
/* 02737888 */ _t14 = cpu->r[7] + 0x00000004u;
|
|
/* 02737888 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 0273788C */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737890 */ _t15 = cpu->r[7] + 0x00000008u;
|
|
/* 02737890 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02737894 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02737898 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273789C */ _t16 = cpu->r[11] + 0x000078E8u;
|
|
/* 0273789C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027378A0 */ _t17 = cpu->r[7] + 0x000078CCu;
|
|
/* 027378A0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027378A4 */ _t18 = cpu->r[12] + 0x00000634u;
|
|
/* 027378A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[7]);
|
|
/* 027378A4 */ cpu->r[12] = _t18;
|
|
/* 027378A8 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 027378A8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 027378AC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027378B0 */ _t20 = cpu->r[12] + 0x00000008u;
|
|
/* 027378B0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 027378B4 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027378B8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027378BC */ _t21 = cpu->r[11] + 0x00000670u;
|
|
/* 027378BC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[9]);
|
|
/* 027378BC */ cpu->r[11] = _t21;
|
|
/* 027378C0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027378C4 */ _t22 = cpu->r[10] + 0x00000664u;
|
|
/* 027378C4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[7]);
|
|
/* 027378C4 */ cpu->r[10] = _t22;
|
|
/* 027378C8 */ cpu->r[0] = cpu->r[0] + 0x00007808u;
|
|
/* 027378CC */ cpu->r[12] = cpu->r[12] + 0xFFFF87E8u;
|
|
/* 027378D0 */ _t23 = cpu->r[11] + 0x00000004u;
|
|
/* 027378D0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 027378D4 */ _t24 = cpu->r[12] + 0x00000004u;
|
|
/* 027378D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027378D8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027378DC */ _t25 = cpu->r[10] + 0x00000004u;
|
|
/* 027378DC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[6]);
|
|
/* 027378E0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027378E4 */ _t26 = cpu->r[10] + 0x00000008u;
|
|
/* 027378E4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 027378E8 */ cpu->r[0] = cpu->r[0] + 0x000078ECu;
|
|
/* 027378EC */ _t27 = cpu->r[11] + 0x00000008u;
|
|
/* 027378EC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 027378F0 */ cpu->r[3] = cpu->r[3] + 0xFFFF87F4u;
|
|
/* 027378F4 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 027378F4 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027378F8 */ goto L_02C83090;
|
|
L_02C83090: ; // 0x2c83090
|
|
/* 02C83090 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C83094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83098 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83098 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C83098 */ _t32 = _t31 ^ 0x00000001u;
|
|
/* 02C83098 */ if (_t32) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83098 */ goto L_02C8309C;
|
|
L_02C8309C: ; // 0x2c8309c
|
|
/* 02C8309C */ cpu->r[11] = 0x10250000u;
|
|
/* 02C830A0 */ _t33 = cpu->r[11] + 0xFFFFE70Cu;
|
|
/* 02C830A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C830A0 */ cpu->r[11] = _t33;
|
|
/* 02C830A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C830A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830A8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C830A8 */ if (_t35) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C830A8 */ goto L_02C830AC;
|
|
L_02C830AC: ; // 0x2c830ac
|
|
/* 02C830AC */ _t36 = cpu->r[11] + 0x00000000u;
|
|
/* 02C830AC */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02C830B0 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02C830B0 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02C830B4 */ return;
|
|
}
|
|
|
|
// fn_027378FC @ 0x27378fc
|
|
void Gambit_fn_027378FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027378FC: ; // 0x27378fc
|
|
/* 027378FC */ cpu->r[6] = 0x02730000u;
|
|
/* 02737900 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02737904 */ cpu->r[7] = 0x00000000u;
|
|
/* 02737908 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 0273790C */ cpu->r[4] = 0x00000001u;
|
|
/* 02737910 */ cpu->r[8] = cpu->r[7];
|
|
/* 02737914 */ cpu->r[3] = cpu->r[3] + 0xFFFF87E8u;
|
|
/* 02737918 */ cpu->r[6] = cpu->r[6] + 0x000079B8u;
|
|
/* 0273791C */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_02737920 @ 0x2737920
|
|
void Gambit_fn_02737920(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_02737920: ; // 0x2737920
|
|
/* 02737920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737924 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737924 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737924 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737924 */ goto L_02737928;
|
|
L_02737928: ; // 0x2737928
|
|
/* 02737928 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273792C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273792C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273792C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273792C */ goto L_02737930;
|
|
L_02737930: ; // 0x2737930
|
|
/* 02737930 */ 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_02737934 @ 0x2737934
|
|
void Gambit_fn_02737934(CPUState* cpu) {
|
|
L_02737934: ; // 0x2737934
|
|
/* 02737934 */ return;
|
|
}
|
|
|
|
// fn_02737938 @ 0x2737938
|
|
void Gambit_fn_02737938(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_02737938: ; // 0x2737938
|
|
/* 02737938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273793C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273793C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273793C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273793C */ goto L_02737940;
|
|
L_02737940: ; // 0x2737940
|
|
/* 02737940 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737944 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737944 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737944 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737944 */ goto L_02737948;
|
|
L_02737948: ; // 0x2737948
|
|
/* 02737948 */ 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_0273794C @ 0x273794c
|
|
void Gambit_fn_0273794C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0273794C: ; // 0x273794c
|
|
/* 0273794C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0273794C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737950 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737954 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737958 */ cpu->r[11] = 0x10110000u;
|
|
/* 0273795C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0273795C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737960 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737960 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737964 */ return;
|
|
}
|
|
|
|
// fn_02737968 @ 0x2737968
|
|
void Gambit_fn_02737968(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_02737968: ; // 0x2737968
|
|
/* 02737968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273796C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273796C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273796C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273796C */ goto L_02737970;
|
|
L_02737970: ; // 0x2737970
|
|
/* 02737970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737974 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737974 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737974 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737974 */ goto L_02737978;
|
|
L_02737978: ; // 0x2737978
|
|
/* 02737978 */ 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_0273797C @ 0x273797c
|
|
void Gambit_fn_0273797C(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_0273797C: ; // 0x273797c
|
|
/* 0273797C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737980 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737980 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737980 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737980 */ goto L_02737984;
|
|
L_02737984: ; // 0x2737984
|
|
/* 02737984 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737988 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737988 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737988 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737988 */ goto L_0273798C;
|
|
L_0273798C: ; // 0x273798c
|
|
/* 0273798C */ 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_02737990 @ 0x2737990
|
|
void Gambit_fn_02737990(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_02737990: ; // 0x2737990
|
|
/* 02737990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737994 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737994 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737994 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737994 */ goto L_02737998;
|
|
L_02737998: ; // 0x2737998
|
|
/* 02737998 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273799C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273799C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273799C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273799C */ goto L_027379A0;
|
|
L_027379A0: ; // 0x27379a0
|
|
/* 027379A0 */ 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_027379A4 @ 0x27379a4
|
|
void Gambit_fn_027379A4(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_027379A4: ; // 0x27379a4
|
|
/* 027379A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027379A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027379A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027379A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027379A8 */ goto L_027379AC;
|
|
L_027379AC: ; // 0x27379ac
|
|
/* 027379AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027379AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027379B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027379B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027379B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027379B0 */ goto L_027379B4;
|
|
L_027379B4: ; // 0x27379b4
|
|
/* 027379B4 */ 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_027379CC @ 0x27379cc
|
|
void Gambit_fn_027379CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027379CC: ; // 0x27379cc
|
|
/* 027379CC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027379D0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 027379D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027379D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027379D4 */ cpu->r[1] = _t0;
|
|
/* 027379D8 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027379DC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027379E0 */ _t1 = cpu->r[11] + 0x0000069Cu;
|
|
/* 027379E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027379E0 */ cpu->r[11] = _t1;
|
|
/* 027379E4 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027379E8 */ _t2 = cpu->r[9] + 0x00000694u;
|
|
/* 027379E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027379E8 */ cpu->r[9] = _t2;
|
|
/* 027379EC */ cpu->r[10] = 0xFFFFFFFDu;
|
|
/* 027379F0 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 027379F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 027379F4 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027379F8 */ _t4 = cpu->r[6] + 0x0000068Cu;
|
|
/* 027379F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027379F8 */ cpu->r[6] = _t4;
|
|
/* 027379FC */ cpu->r[7] = 0x00000002u;
|
|
/* 02737A00 */ _t5 = cpu->r[9] + 0x00007A24u;
|
|
/* 02737A00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02737A04 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737A08 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02737A08 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02737A0C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02737A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02737A10 */ cpu->r[0] = 0x00000004u;
|
|
/* 02737A14 */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02737A18 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A1C */ _t9 = cpu->r[9] + 0x00007A18u;
|
|
/* 02737A1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02737A20 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737A24 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02737A28 */ _t10 = cpu->r[6] + 0x000006B4u;
|
|
/* 02737A28 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02737A2C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737A30 */ _t11 = cpu->r[12] + 0x000006A4u;
|
|
/* 02737A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02737A30 */ cpu->r[12] = _t11;
|
|
/* 02737A34 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737A38 */ cpu->r[0] = cpu->r[0] + 0x00007908u;
|
|
/* 02737A3C */ _t12 = cpu->r[9] + 0x00007A1Cu;
|
|
/* 02737A3C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02737A40 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737A44 */ _t13 = cpu->r[8] + 0x0000067Cu;
|
|
/* 02737A44 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02737A44 */ cpu->r[8] = _t13;
|
|
/* 02737A48 */ cpu->r[9] = cpu->r[9] + 0x00000684u;
|
|
/* 02737A4C */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 02737A4C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 02737A50 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02737A50 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02737A54 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A58 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02737A58 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02737A5C */ _t17 = cpu->r[6] + 0x000006C8u;
|
|
/* 02737A5C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 02737A5C */ cpu->r[6] = _t17;
|
|
/* 02737A60 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02737A64 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A64 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02737A68 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02737A6C */ _t19 = cpu->r[6] + 0x00000008u;
|
|
/* 02737A6C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 02737A70 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737A74 */ _t20 = cpu->r[8] + 0x00007A28u;
|
|
/* 02737A74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02737A78 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737A7C */ _t21 = cpu->r[7] + 0x00007A20u;
|
|
/* 02737A7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02737A80 */ cpu->r[0] = cpu->r[0] + 0x00007A2Cu;
|
|
/* 02737A84 */ _t22 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02737A84 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02737A88 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A8C */ _t23 = cpu->r[8] + 0x000006B8u;
|
|
/* 02737A8C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02737A8C */ cpu->r[8] = _t23;
|
|
/* 02737A90 */ cpu->r[6] = cpu->r[6] + 0x000006ACu;
|
|
/* 02737A94 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02737A94 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02737A98 */ _t25 = cpu->r[8] + 0x00000004u;
|
|
/* 02737A98 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02737A9C */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A9C */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 02737AA0 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 02737AA0 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
|
|
/* 02737AA4 */ _t28 = cpu->r[8] + 0x00000008u;
|
|
/* 02737AA4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02737AA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02737AAC */ _t29 = cpu->r[6] + 0x00000000u;
|
|
/* 02737AAC */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02737AB0 */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02737AB0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02737AB4 */ return;
|
|
}
|
|
|
|
// fn_027379D4 @ 0x27379d4
|
|
void Gambit_fn_027379D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027379D4: ; // 0x27379d4
|
|
/* 027379D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027379D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027379D4 */ cpu->r[1] = _t0;
|
|
/* 027379D8 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 027379DC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027379E0 */ _t1 = cpu->r[11] + 0x0000069Cu;
|
|
/* 027379E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027379E0 */ cpu->r[11] = _t1;
|
|
/* 027379E4 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027379E8 */ _t2 = cpu->r[9] + 0x00000694u;
|
|
/* 027379E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027379E8 */ cpu->r[9] = _t2;
|
|
/* 027379EC */ cpu->r[10] = 0xFFFFFFFDu;
|
|
/* 027379F0 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 027379F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[5]);
|
|
/* 027379F4 */ cpu->r[9] = 0x100F0000u;
|
|
/* 027379F8 */ _t4 = cpu->r[6] + 0x0000068Cu;
|
|
/* 027379F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027379F8 */ cpu->r[6] = _t4;
|
|
/* 027379FC */ cpu->r[7] = 0x00000002u;
|
|
/* 02737A00 */ _t5 = cpu->r[9] + 0x00007A24u;
|
|
/* 02737A00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02737A04 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737A08 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02737A08 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02737A0C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02737A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02737A10 */ cpu->r[0] = 0x00000004u;
|
|
/* 02737A14 */ _t8 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02737A18 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A1C */ _t9 = cpu->r[9] + 0x00007A18u;
|
|
/* 02737A1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02737A20 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737A24 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02737A28 */ _t10 = cpu->r[6] + 0x000006B4u;
|
|
/* 02737A28 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02737A2C */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737A30 */ _t11 = cpu->r[12] + 0x000006A4u;
|
|
/* 02737A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02737A30 */ cpu->r[12] = _t11;
|
|
/* 02737A34 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737A38 */ cpu->r[0] = cpu->r[0] + 0x00007908u;
|
|
/* 02737A3C */ _t12 = cpu->r[9] + 0x00007A1Cu;
|
|
/* 02737A3C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02737A40 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737A44 */ _t13 = cpu->r[8] + 0x0000067Cu;
|
|
/* 02737A44 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02737A44 */ cpu->r[8] = _t13;
|
|
/* 02737A48 */ cpu->r[9] = cpu->r[9] + 0x00000684u;
|
|
/* 02737A4C */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 02737A4C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 02737A50 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02737A50 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02737A54 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A58 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02737A58 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02737A5C */ _t17 = cpu->r[6] + 0x000006C8u;
|
|
/* 02737A5C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 02737A5C */ cpu->r[6] = _t17;
|
|
/* 02737A60 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02737A64 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A64 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02737A68 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02737A6C */ _t19 = cpu->r[6] + 0x00000008u;
|
|
/* 02737A6C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 02737A70 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737A74 */ _t20 = cpu->r[8] + 0x00007A28u;
|
|
/* 02737A74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02737A78 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737A7C */ _t21 = cpu->r[7] + 0x00007A20u;
|
|
/* 02737A7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02737A80 */ cpu->r[0] = cpu->r[0] + 0x00007A2Cu;
|
|
/* 02737A84 */ _t22 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02737A84 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02737A88 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02737A8C */ _t23 = cpu->r[8] + 0x000006B8u;
|
|
/* 02737A8C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02737A8C */ cpu->r[8] = _t23;
|
|
/* 02737A90 */ cpu->r[6] = cpu->r[6] + 0x000006ACu;
|
|
/* 02737A94 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02737A94 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02737A98 */ _t25 = cpu->r[8] + 0x00000004u;
|
|
/* 02737A98 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02737A9C */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 02737A9C */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 02737AA0 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 02737AA0 */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
|
|
/* 02737AA4 */ _t28 = cpu->r[8] + 0x00000008u;
|
|
/* 02737AA4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02737AA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02737AAC */ _t29 = cpu->r[6] + 0x00000000u;
|
|
/* 02737AAC */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02737AB0 */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02737AB0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02737AB4 */ return;
|
|
}
|
|
|
|
// fn_02737AB8 @ 0x2737ab8
|
|
void Gambit_fn_02737AB8(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_02737AB8: ; // 0x2737ab8
|
|
/* 02737AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737ABC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737ABC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737ABC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737ABC */ goto L_02737AC0;
|
|
L_02737AC0: ; // 0x2737ac0
|
|
/* 02737AC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737AC4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737AC4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737AC4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737AC4 */ goto L_02737AC8;
|
|
L_02737AC8: ; // 0x2737ac8
|
|
/* 02737AC8 */ 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_02737ACC @ 0x2737acc
|
|
void Gambit_fn_02737ACC(CPUState* cpu) {
|
|
L_02737ACC: ; // 0x2737acc
|
|
/* 02737ACC */ return;
|
|
}
|
|
|
|
// fn_02737AD0 @ 0x2737ad0
|
|
void Gambit_fn_02737AD0(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_02737AD0: ; // 0x2737ad0
|
|
/* 02737AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737AD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737AD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737AD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737AD4 */ goto L_02737AD8;
|
|
L_02737AD8: ; // 0x2737ad8
|
|
/* 02737AD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737ADC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737ADC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737ADC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737ADC */ goto L_02737AE0;
|
|
L_02737AE0: ; // 0x2737ae0
|
|
/* 02737AE0 */ 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_02737AE4 @ 0x2737ae4
|
|
void Gambit_fn_02737AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02737AE4: ; // 0x2737ae4
|
|
/* 02737AE4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02737AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737AE8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737AE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737AEC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737AF0 */ cpu->r[11] = 0x10110000u;
|
|
/* 02737AF4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02737AF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737AF8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737AF8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737AFC */ return;
|
|
}
|
|
|
|
// fn_02737B00 @ 0x2737b00
|
|
void Gambit_fn_02737B00(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_02737B00: ; // 0x2737b00
|
|
/* 02737B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B04 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B04 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B04 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B04 */ goto L_02737B08;
|
|
L_02737B08: ; // 0x2737b08
|
|
/* 02737B08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B0C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B0C */ goto L_02737B10;
|
|
L_02737B10: ; // 0x2737b10
|
|
/* 02737B10 */ 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_02737B14 @ 0x2737b14
|
|
void Gambit_fn_02737B14(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_02737B14: ; // 0x2737b14
|
|
/* 02737B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B18 */ goto L_02737B1C;
|
|
L_02737B1C: ; // 0x2737b1c
|
|
/* 02737B1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B20 */ goto L_02737B24;
|
|
L_02737B24: ; // 0x2737b24
|
|
/* 02737B24 */ 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_02737B28 @ 0x2737b28
|
|
void Gambit_fn_02737B28(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_02737B28: ; // 0x2737b28
|
|
/* 02737B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B2C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B2C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B2C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B2C */ goto L_02737B30;
|
|
L_02737B30: ; // 0x2737b30
|
|
/* 02737B30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B34 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B34 */ goto L_02737B38;
|
|
L_02737B38: ; // 0x2737b38
|
|
/* 02737B38 */ 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_02737B3C @ 0x2737b3c
|
|
void Gambit_fn_02737B3C(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_02737B3C: ; // 0x2737b3c
|
|
/* 02737B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B40 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B40 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B40 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B40 */ goto L_02737B44;
|
|
L_02737B44: ; // 0x2737b44
|
|
/* 02737B44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B48 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B48 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B48 */ goto L_02737B4C;
|
|
L_02737B4C: ; // 0x2737b4c
|
|
/* 02737B4C */ 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_02737B50 @ 0x2737b50
|
|
void Gambit_fn_02737B50(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_02737B50: ; // 0x2737b50
|
|
/* 02737B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B54 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B54 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B54 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B54 */ goto L_02737B58;
|
|
L_02737B58: ; // 0x2737b58
|
|
/* 02737B58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B5C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B5C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B5C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B5C */ goto L_02737B60;
|
|
L_02737B60: ; // 0x2737b60
|
|
/* 02737B60 */ 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_02737B64 @ 0x2737b64
|
|
void Gambit_fn_02737B64(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_02737B64: ; // 0x2737b64
|
|
/* 02737B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B68 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B68 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B68 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B68 */ goto L_02737B6C;
|
|
L_02737B6C: ; // 0x2737b6c
|
|
/* 02737B6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B70 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B70 */ goto L_02737B74;
|
|
L_02737B74: ; // 0x2737b74
|
|
/* 02737B74 */ 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_02737B78 @ 0x2737b78
|
|
void Gambit_fn_02737B78(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_02737B78: ; // 0x2737b78
|
|
/* 02737B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B7C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B7C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B7C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B7C */ goto L_02737B80;
|
|
L_02737B80: ; // 0x2737b80
|
|
/* 02737B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B84 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B84 */ goto L_02737B88;
|
|
L_02737B88: ; // 0x2737b88
|
|
/* 02737B88 */ 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_02737B8C @ 0x2737b8c
|
|
void Gambit_fn_02737B8C(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_02737B8C: ; // 0x2737b8c
|
|
/* 02737B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737B90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737B90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B90 */ goto L_02737B94;
|
|
L_02737B94: ; // 0x2737b94
|
|
/* 02737B94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737B98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737B98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737B98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737B98 */ goto L_02737B9C;
|
|
L_02737B9C: ; // 0x2737b9c
|
|
/* 02737B9C */ 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_02737BA0 @ 0x2737ba0
|
|
void Gambit_fn_02737BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737BA0: ; // 0x2737ba0
|
|
/* 02737BA0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02737BA4 */ goto L_02737BA8;
|
|
L_02737BA8: ; // 0x2737ba8
|
|
/* 02737BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02737BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737BAC */ cpu->r[1] = _t0;
|
|
/* 02737BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737BB4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02737BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737BB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02737BBC */ cpu->r[31] = cpu->r[4];
|
|
/* 02737BC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737BC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737BC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737BC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737BC4 */ if (_t5) goto L_02737C08; else goto L_02737BC8;
|
|
L_02737BC8: ; // 0x2737bc8
|
|
/* 02737BC8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737BCC */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02737BD0 */ cpu->r[0] = cpu->r[0] + 0x00007A74u;
|
|
/* 02737BD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737BD8 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737BD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737BDC */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737BE0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02737BE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737BE8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737BEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02737BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02737BF4 */ Gambit_fn_028136EC(cpu);
|
|
/* 02737BF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737BFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737BFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737BFC */ if (_t8) goto L_02737C08; else goto L_02737C00;
|
|
L_02737C00: ; // 0x2737c00
|
|
/* 02737C00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02737C04 */ Gambit_fn_02801BB0(cpu);
|
|
L_02737C08: ; // 0x2737c08
|
|
/* 02737C08 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02737C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02737C0C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02737C0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02737C10 */ cpu->lr = cpu->r[0];
|
|
/* 02737C14 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737C14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737C18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02737C1C */ return;
|
|
}
|
|
|
|
// fn_02737BAC @ 0x2737bac
|
|
void Gambit_fn_02737BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737BAC: ; // 0x2737bac
|
|
/* 02737BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02737BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02737BAC */ cpu->r[1] = _t0;
|
|
/* 02737BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02737BB4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02737BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02737BB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02737BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02737BBC */ cpu->r[31] = cpu->r[4];
|
|
/* 02737BC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02737BC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02737BC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737BC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02737BC4 */ if (_t5) goto L_02737C08; else goto L_02737BC8;
|
|
L_02737BC8: ; // 0x2737bc8
|
|
/* 02737BC8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02737BCC */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 02737BD0 */ cpu->r[0] = cpu->r[0] + 0x00007A74u;
|
|
/* 02737BD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737BD8 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02737BD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02737BDC */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737BE0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02737BE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02737BE8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 02737BEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02737BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02737BF4 */ Gambit_fn_028136EC(cpu);
|
|
/* 02737BF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737BFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737BFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02737BFC */ if (_t8) goto L_02737C08; else goto L_02737C00;
|
|
L_02737C00: ; // 0x2737c00
|
|
/* 02737C00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02737C04 */ Gambit_fn_02801BB0(cpu);
|
|
L_02737C08: ; // 0x2737c08
|
|
/* 02737C08 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02737C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02737C0C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02737C0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02737C10 */ cpu->lr = cpu->r[0];
|
|
/* 02737C14 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02737C14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02737C18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02737C1C */ return;
|
|
}
|
|
|
|
// fn_02737C20 @ 0x2737c20
|
|
void Gambit_fn_02737C20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02737C20: ; // 0x2737c20
|
|
/* 02737C20 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737C24 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737C28 */ _t0 = cpu->r[12] + 0x00007B84u;
|
|
/* 02737C28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02737C2C */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737C30 */ _t1 = cpu->r[11] + 0x00007B94u;
|
|
/* 02737C30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02737C34 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737C38 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737C3C */ _t2 = cpu->r[12] + 0x00007B90u;
|
|
/* 02737C3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02737C40 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02737C44 */ _t3 = cpu->r[10] + 0x00007B88u;
|
|
/* 02737C44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02737C48 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737C4C */ _t4 = cpu->r[11] + 0x000006E4u;
|
|
/* 02737C4C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02737C4C */ cpu->r[11] = _t4;
|
|
/* 02737C50 */ _t5 = cpu->r[9] + 0x000006D8u;
|
|
/* 02737C50 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02737C50 */ cpu->r[9] = _t5;
|
|
/* 02737C54 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02737C54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02737C58 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02737C5C */ _t7 = cpu->r[10] + 0x00007B98u;
|
|
/* 02737C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02737C60 */ _t8 = cpu->r[12] + 0x00007B8Cu;
|
|
/* 02737C60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02737C64 */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 02737C64 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 02737C68 */ _t10 = cpu->r[9] + 0x00000008u;
|
|
/* 02737C68 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02737C6C */ _t11 = cpu->r[11] + 0x00000008u;
|
|
/* 02737C6C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02737C70 */ return;
|
|
}
|
|
|
|
// fn_02737C74 @ 0x2737c74
|
|
void Gambit_fn_02737C74(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_02737C74: ; // 0x2737c74
|
|
/* 02737C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737C78 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737C78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737C78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737C78 */ goto L_02737C7C;
|
|
L_02737C7C: ; // 0x2737c7c
|
|
/* 02737C7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737C80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737C80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737C80 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737C80 */ goto L_02737C84;
|
|
L_02737C84: ; // 0x2737c84
|
|
/* 02737C84 */ 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_02737C88 @ 0x2737c88
|
|
void Gambit_fn_02737C88(CPUState* cpu) {
|
|
L_02737C88: ; // 0x2737c88
|
|
/* 02737C88 */ return;
|
|
}
|
|
|
|
// fn_02737C8C @ 0x2737c8c
|
|
void Gambit_fn_02737C8C(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_02737C8C: ; // 0x2737c8c
|
|
/* 02737C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737C90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737C90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737C90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737C90 */ goto L_02737C94;
|
|
L_02737C94: ; // 0x2737c94
|
|
/* 02737C94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737C98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737C98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737C98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737C98 */ goto L_02737C9C;
|
|
L_02737C9C: ; // 0x2737c9c
|
|
/* 02737C9C */ 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_02737CA0 @ 0x2737ca0
|
|
void Gambit_fn_02737CA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02737CA0: ; // 0x2737ca0
|
|
/* 02737CA0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02737CA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737CA4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737CA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737CAC */ cpu->r[11] = 0x10110000u;
|
|
/* 02737CB0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02737CB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737CB4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737CB4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737CB8 */ return;
|
|
}
|
|
|
|
// fn_02737CBC @ 0x2737cbc
|
|
void Gambit_fn_02737CBC(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_02737CBC: ; // 0x2737cbc
|
|
/* 02737CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737CC0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737CC0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CC0 */ goto L_02737CC4;
|
|
L_02737CC4: ; // 0x2737cc4
|
|
/* 02737CC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737CC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737CC8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CC8 */ goto L_02737CCC;
|
|
L_02737CCC: ; // 0x2737ccc
|
|
/* 02737CCC */ 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_02737CD0 @ 0x2737cd0
|
|
void Gambit_fn_02737CD0(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_02737CD0: ; // 0x2737cd0
|
|
/* 02737CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737CD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737CD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CD4 */ goto L_02737CD8;
|
|
L_02737CD8: ; // 0x2737cd8
|
|
/* 02737CD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737CDC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CDC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737CDC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CDC */ goto L_02737CE0;
|
|
L_02737CE0: ; // 0x2737ce0
|
|
/* 02737CE0 */ 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_02737CE4 @ 0x2737ce4
|
|
void Gambit_fn_02737CE4(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_02737CE4: ; // 0x2737ce4
|
|
/* 02737CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737CE8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CE8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737CE8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CE8 */ goto L_02737CEC;
|
|
L_02737CEC: ; // 0x2737cec
|
|
/* 02737CEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737CF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737CF0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CF0 */ goto L_02737CF4;
|
|
L_02737CF4: ; // 0x2737cf4
|
|
/* 02737CF4 */ 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_02737CF8 @ 0x2737cf8
|
|
void Gambit_fn_02737CF8(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_02737CF8: ; // 0x2737cf8
|
|
/* 02737CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737CFC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737CFC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737CFC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737CFC */ goto L_02737D00;
|
|
L_02737D00: ; // 0x2737d00
|
|
/* 02737D00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737D04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737D04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737D04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737D04 */ goto L_02737D08;
|
|
L_02737D08: ; // 0x2737d08
|
|
/* 02737D08 */ 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_02737D0C @ 0x2737d0c
|
|
void Gambit_fn_02737D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_02737D0C: ; // 0x2737d0c
|
|
/* 02737D0C */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737D10 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737D14 */ _t0 = cpu->r[10] + 0x00007C7Cu;
|
|
/* 02737D14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02737D18 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D1C */ _t1 = cpu->r[9] + 0x00007C74u;
|
|
/* 02737D1C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02737D20 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737D24 */ _t2 = cpu->r[11] + 0x00007C70u;
|
|
/* 02737D24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02737D28 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737D2C */ _t3 = cpu->r[9] + 0x00007C8Cu;
|
|
/* 02737D2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02737D30 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02737D34 */ _t4 = cpu->r[10] + 0x00007C80u;
|
|
/* 02737D34 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02737D38 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02737D3C */ _t5 = cpu->r[8] + 0x000006F0u;
|
|
/* 02737D3C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02737D3C */ cpu->r[8] = _t5;
|
|
/* 02737D40 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02737D44 */ _t6 = cpu->r[10] + 0x00000700u;
|
|
/* 02737D44 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 02737D44 */ cpu->r[10] = _t6;
|
|
/* 02737D48 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737D4C */ _t7 = cpu->r[12] + 0x00000718u;
|
|
/* 02737D4C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02737D4C */ cpu->r[12] = _t7;
|
|
/* 02737D50 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D54 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02737D54 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[8]);
|
|
/* 02737D58 */ _t9 = cpu->r[11] + 0x00007C6Cu;
|
|
/* 02737D58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02737D5C */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D60 */ _t10 = cpu->r[9] + 0x00007C84u;
|
|
/* 02737D60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02737D64 */ _t11 = cpu->r[11] + 0x00007C78u;
|
|
/* 02737D64 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02737D68 */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D6C */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02737D6C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[8]);
|
|
/* 02737D70 */ _t13 = cpu->r[12] + 0x00000008u;
|
|
/* 02737D70 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02737D74 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737D78 */ _t14 = cpu->r[11] + 0x00007CA4u;
|
|
/* 02737D78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02737D7C */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D80 */ _t15 = cpu->r[10] + 0x00000008u;
|
|
/* 02737D80 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02737D84 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02737D88 */ _t16 = cpu->r[11] + 0x00007CA8u;
|
|
/* 02737D88 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02737D8C */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737D90 */ _t17 = cpu->r[12] + 0x0000073Cu;
|
|
/* 02737D90 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02737D90 */ cpu->r[12] = _t17;
|
|
/* 02737D94 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737D98 */ _t18 = cpu->r[9] + 0x00007C90u;
|
|
/* 02737D98 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02737D9C */ _t19 = cpu->r[11] + 0x00007C88u;
|
|
/* 02737D9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02737DA0 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 02737DA0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02737DA4 */ _t21 = cpu->r[8] + 0x00000008u;
|
|
/* 02737DA4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02737DA8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737DAC */ _t22 = cpu->r[10] + 0x00007C94u;
|
|
/* 02737DAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02737DB0 */ _t23 = cpu->r[9] + 0x00000724u;
|
|
/* 02737DB0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[7]);
|
|
/* 02737DB0 */ cpu->r[9] = _t23;
|
|
/* 02737DB4 */ _t24 = cpu->r[9] + 0x00000004u;
|
|
/* 02737DB4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02737DB8 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737DBC */ _t25 = cpu->r[9] + 0x00000008u;
|
|
/* 02737DBC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[7]);
|
|
/* 02737DC0 */ _t26 = cpu->r[10] + 0x00007C98u;
|
|
/* 02737DC0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02737DC4 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737DC8 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 02737DC8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02737DCC */ _t28 = cpu->r[12] + 0x00000008u;
|
|
/* 02737DCC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
/* 02737DD0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02737DD4 */ _t29 = cpu->r[9] + 0x00007CA0u;
|
|
/* 02737DD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02737DD8 */ cpu->r[9] = 0x100F0000u;
|
|
/* 02737DDC */ _t30 = cpu->r[10] + 0x0000070Cu;
|
|
/* 02737DDC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 02737DDC */ cpu->r[10] = _t30;
|
|
/* 02737DE0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02737DE4 */ _t31 = cpu->r[9] + 0x00007C9Cu;
|
|
/* 02737DE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02737DE8 */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 02737DE8 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02737DEC */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737DF0 */ _t33 = cpu->r[10] + 0x00000008u;
|
|
/* 02737DF0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[7]);
|
|
/* 02737DF4 */ _t34 = cpu->r[9] + 0x00000754u;
|
|
/* 02737DF4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]);
|
|
/* 02737DF4 */ cpu->r[9] = _t34;
|
|
/* 02737DF8 */ _t35 = cpu->r[11] + 0x00000730u;
|
|
/* 02737DF8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[10]);
|
|
/* 02737DF8 */ cpu->r[11] = _t35;
|
|
/* 02737DFC */ _t36 = cpu->r[9] + 0x00000004u;
|
|
/* 02737DFC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[5]);
|
|
/* 02737E00 */ cpu->r[10] = 0x100F0000u;
|
|
/* 02737E04 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 02737E04 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[6]);
|
|
/* 02737E08 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02737E0C */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02737E0C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 02737E10 */ _t39 = cpu->r[11] + 0x00000008u;
|
|
/* 02737E10 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 02737E14 */ _t40 = cpu->r[10] + 0x00007CACu;
|
|
/* 02737E14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02737E18 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02737E1C */ _t41 = cpu->r[9] + 0x0000076Cu;
|
|
/* 02737E1C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[6]);
|
|
/* 02737E1C */ cpu->r[9] = _t41;
|
|
/* 02737E20 */ _t42 = cpu->r[11] + 0x00000748u;
|
|
/* 02737E20 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[5]);
|
|
/* 02737E20 */ cpu->r[11] = _t42;
|
|
/* 02737E24 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02737E24 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02737E28 */ _t44 = cpu->r[11] + 0x00000008u;
|
|
/* 02737E28 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[5]);
|
|
/* 02737E2C */ cpu->r[11] = 0x100F0000u;
|
|
/* 02737E30 */ _t45 = cpu->r[9] + 0x00000004u;
|
|
/* 02737E30 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[5]);
|
|
/* 02737E34 */ _t46 = cpu->r[9] + 0x00000008u;
|
|
/* 02737E34 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[6]);
|
|
/* 02737E38 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02737E3C */ _t47 = cpu->r[11] + 0x00007CB0u;
|
|
/* 02737E3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02737E40 */ _t48 = cpu->r[10] + 0x00000760u;
|
|
/* 02737E40 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[5]);
|
|
/* 02737E40 */ cpu->r[10] = _t48;
|
|
/* 02737E44 */ _t49 = cpu->r[10] + 0x00000004u;
|
|
/* 02737E44 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02737E48 */ _t50 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02737E48 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[6]);
|
|
/* 02737E4C */ _t51 = cpu->r[10] + 0x00000008u;
|
|
/* 02737E4C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[5]);
|
|
/* 02737E50 */ return;
|
|
}
|
|
|
|
// fn_02737E54 @ 0x2737e54
|
|
void Gambit_fn_02737E54(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_02737E54: ; // 0x2737e54
|
|
/* 02737E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737E58 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737E58 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737E58 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737E58 */ goto L_02737E5C;
|
|
L_02737E5C: ; // 0x2737e5c
|
|
/* 02737E5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737E60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737E60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737E60 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737E60 */ goto L_02737E64;
|
|
L_02737E64: ; // 0x2737e64
|
|
/* 02737E64 */ 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_02737E68 @ 0x2737e68
|
|
void Gambit_fn_02737E68(CPUState* cpu) {
|
|
L_02737E68: ; // 0x2737e68
|
|
/* 02737E68 */ return;
|
|
}
|
|
|
|
// fn_02737E6C @ 0x2737e6c
|
|
void Gambit_fn_02737E6C(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_02737E6C: ; // 0x2737e6c
|
|
/* 02737E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737E70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737E70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737E70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737E70 */ goto L_02737E74;
|
|
L_02737E74: ; // 0x2737e74
|
|
/* 02737E74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737E78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737E78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737E78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737E78 */ goto L_02737E7C;
|
|
L_02737E7C: ; // 0x2737e7c
|
|
/* 02737E7C */ 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_02737E80 @ 0x2737e80
|
|
void Gambit_fn_02737E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02737E80: ; // 0x2737e80
|
|
/* 02737E80 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02737E80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737E84 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737E88 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737E8C */ cpu->r[11] = 0x10110000u;
|
|
/* 02737E90 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02737E90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737E94 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737E94 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737E98 */ return;
|
|
}
|
|
|
|
// fn_02737E9C @ 0x2737e9c
|
|
void Gambit_fn_02737E9C(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_02737E9C: ; // 0x2737e9c
|
|
/* 02737E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737EA0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737EA0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EA0 */ goto L_02737EA4;
|
|
L_02737EA4: ; // 0x2737ea4
|
|
/* 02737EA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737EA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737EA8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EA8 */ goto L_02737EAC;
|
|
L_02737EAC: ; // 0x2737eac
|
|
/* 02737EAC */ 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_02737EB0 @ 0x2737eb0
|
|
void Gambit_fn_02737EB0(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_02737EB0: ; // 0x2737eb0
|
|
/* 02737EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737EB4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EB4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737EB4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EB4 */ goto L_02737EB8;
|
|
L_02737EB8: ; // 0x2737eb8
|
|
/* 02737EB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737EBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737EBC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EBC */ goto L_02737EC0;
|
|
L_02737EC0: ; // 0x2737ec0
|
|
/* 02737EC0 */ 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_02737EC4 @ 0x2737ec4
|
|
void Gambit_fn_02737EC4(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_02737EC4: ; // 0x2737ec4
|
|
/* 02737EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737EC8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737EC8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EC8 */ goto L_02737ECC;
|
|
L_02737ECC: ; // 0x2737ecc
|
|
/* 02737ECC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737ED0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737ED0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737ED0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737ED0 */ goto L_02737ED4;
|
|
L_02737ED4: ; // 0x2737ed4
|
|
/* 02737ED4 */ 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_02737ED8 @ 0x2737ed8
|
|
void Gambit_fn_02737ED8(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_02737ED8: ; // 0x2737ed8
|
|
/* 02737ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737EDC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EDC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737EDC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EDC */ goto L_02737EE0;
|
|
L_02737EE0: ; // 0x2737ee0
|
|
/* 02737EE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737EE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737EE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EE4 */ goto L_02737EE8;
|
|
L_02737EE8: ; // 0x2737ee8
|
|
/* 02737EE8 */ 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_02737EEC @ 0x2737eec
|
|
void Gambit_fn_02737EEC(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_02737EEC: ; // 0x2737eec
|
|
/* 02737EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737EF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737EF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EF0 */ goto L_02737EF4;
|
|
L_02737EF4: ; // 0x2737ef4
|
|
/* 02737EF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737EF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737EF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737EF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737EF8 */ goto L_02737EFC;
|
|
L_02737EFC: ; // 0x2737efc
|
|
/* 02737EFC */ 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_02737F00 @ 0x2737f00
|
|
void Gambit_fn_02737F00(CPUState* cpu) {
|
|
L_02737F00: ; // 0x2737f00
|
|
/* 02737F00 */ return;
|
|
}
|
|
|
|
// fn_02737F04 @ 0x2737f04
|
|
void Gambit_fn_02737F04(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_02737F04: ; // 0x2737f04
|
|
/* 02737F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F08 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F08 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F08 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F08 */ goto L_02737F0C;
|
|
L_02737F0C: ; // 0x2737f0c
|
|
/* 02737F0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F10 */ goto L_02737F14;
|
|
L_02737F14: ; // 0x2737f14
|
|
/* 02737F14 */ 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_02737F18 @ 0x2737f18
|
|
void Gambit_fn_02737F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02737F18: ; // 0x2737f18
|
|
/* 02737F18 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02737F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737F1C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737F20 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737F24 */ cpu->r[11] = 0x10110000u;
|
|
/* 02737F28 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02737F28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737F2C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737F2C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737F30 */ return;
|
|
}
|
|
|
|
// fn_02737F34 @ 0x2737f34
|
|
void Gambit_fn_02737F34(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_02737F34: ; // 0x2737f34
|
|
/* 02737F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F38 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F38 */ goto L_02737F3C;
|
|
L_02737F3C: ; // 0x2737f3c
|
|
/* 02737F3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F40 */ goto L_02737F44;
|
|
L_02737F44: ; // 0x2737f44
|
|
/* 02737F44 */ 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_02737F48 @ 0x2737f48
|
|
void Gambit_fn_02737F48(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_02737F48: ; // 0x2737f48
|
|
/* 02737F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F4C */ goto L_02737F50;
|
|
L_02737F50: ; // 0x2737f50
|
|
/* 02737F50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F54 */ goto L_02737F58;
|
|
L_02737F58: ; // 0x2737f58
|
|
/* 02737F58 */ 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_02737F5C @ 0x2737f5c
|
|
void Gambit_fn_02737F5C(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_02737F5C: ; // 0x2737f5c
|
|
/* 02737F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F60 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F60 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F60 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F60 */ goto L_02737F64;
|
|
L_02737F64: ; // 0x2737f64
|
|
/* 02737F64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F68 */ goto L_02737F6C;
|
|
L_02737F6C: ; // 0x2737f6c
|
|
/* 02737F6C */ 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_02737F70 @ 0x2737f70
|
|
void Gambit_fn_02737F70(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_02737F70: ; // 0x2737f70
|
|
/* 02737F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F74 */ goto L_02737F78;
|
|
L_02737F78: ; // 0x2737f78
|
|
/* 02737F78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F7C */ goto L_02737F80;
|
|
L_02737F80: ; // 0x2737f80
|
|
/* 02737F80 */ 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_02737F84 @ 0x2737f84
|
|
void Gambit_fn_02737F84(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_02737F84: ; // 0x2737f84
|
|
/* 02737F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737F88 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F88 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737F88 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F88 */ goto L_02737F8C;
|
|
L_02737F8C: ; // 0x2737f8c
|
|
/* 02737F8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737F90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737F90 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737F90 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737F90 */ goto L_02737F94;
|
|
L_02737F94: ; // 0x2737f94
|
|
/* 02737F94 */ 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_02737F98 @ 0x2737f98
|
|
void Gambit_fn_02737F98(CPUState* cpu) {
|
|
L_02737F98: ; // 0x2737f98
|
|
/* 02737F98 */ return;
|
|
}
|
|
|
|
// fn_02737F9C @ 0x2737f9c
|
|
void Gambit_fn_02737F9C(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_02737F9C: ; // 0x2737f9c
|
|
/* 02737F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737FA0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737FA0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FA0 */ goto L_02737FA4;
|
|
L_02737FA4: ; // 0x2737fa4
|
|
/* 02737FA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737FA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737FA8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FA8 */ goto L_02737FAC;
|
|
L_02737FAC: ; // 0x2737fac
|
|
/* 02737FAC */ 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_02737FB0 @ 0x2737fb0
|
|
void Gambit_fn_02737FB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02737FB0: ; // 0x2737fb0
|
|
/* 02737FB0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02737FB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02737FB4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02737FB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02737FB8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02737FBC */ cpu->r[11] = 0x10110000u;
|
|
/* 02737FC0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02737FC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02737FC4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02737FC4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02737FC8 */ return;
|
|
}
|
|
|
|
// fn_02737FCC @ 0x2737fcc
|
|
void Gambit_fn_02737FCC(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_02737FCC: ; // 0x2737fcc
|
|
/* 02737FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737FD0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FD0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737FD0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FD0 */ goto L_02737FD4;
|
|
L_02737FD4: ; // 0x2737fd4
|
|
/* 02737FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737FD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737FD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FD8 */ goto L_02737FDC;
|
|
L_02737FDC: ; // 0x2737fdc
|
|
/* 02737FDC */ 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_02737FE0 @ 0x2737fe0
|
|
void Gambit_fn_02737FE0(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_02737FE0: ; // 0x2737fe0
|
|
/* 02737FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737FE4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FE4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737FE4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FE4 */ goto L_02737FE8;
|
|
L_02737FE8: ; // 0x2737fe8
|
|
/* 02737FE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02737FEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FEC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02737FEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FEC */ goto L_02737FF0;
|
|
L_02737FF0: ; // 0x2737ff0
|
|
/* 02737FF0 */ 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_02737FF4 @ 0x2737ff4
|
|
void Gambit_fn_02737FF4(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_02737FF4: ; // 0x2737ff4
|
|
/* 02737FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02737FF8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02737FF8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02737FF8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02737FF8 */ goto L_02737FFC;
|
|
L_02737FFC: ; // 0x2737ffc
|
|
/* 02737FFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02737FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738000 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738000 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738000 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738000 */ goto L_02738004;
|
|
L_02738004: ; // 0x2738004
|
|
/* 02738004 */ 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_02738008 @ 0x2738008
|
|
void Gambit_fn_02738008(CPUState* cpu) {
|
|
L_02738008: ; // 0x2738008
|
|
/* 02738008 */ return;
|
|
}
|
|
|
|
// fn_0273800C @ 0x273800c
|
|
void Gambit_fn_0273800C(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_0273800C: ; // 0x273800c
|
|
/* 0273800C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738010 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738010 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738010 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738010 */ goto L_02738014;
|
|
L_02738014: ; // 0x2738014
|
|
/* 02738014 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738018 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738018 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738018 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738018 */ goto L_0273801C;
|
|
L_0273801C: ; // 0x273801c
|
|
/* 0273801C */ 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_02738020 @ 0x2738020
|
|
void Gambit_fn_02738020(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02738020: ; // 0x2738020
|
|
/* 02738020 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02738020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02738024 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02738024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02738028 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0273802C */ cpu->r[11] = 0x10110000u;
|
|
/* 02738030 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02738030 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02738034 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02738034 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02738038 */ return;
|
|
}
|
|
|
|
// fn_0273803C @ 0x273803c
|
|
void Gambit_fn_0273803C(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_0273803C: ; // 0x273803c
|
|
/* 0273803C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738040 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738040 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738040 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738040 */ goto L_02738044;
|
|
L_02738044: ; // 0x2738044
|
|
/* 02738044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738048 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738048 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738048 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738048 */ goto L_0273804C;
|
|
L_0273804C: ; // 0x273804c
|
|
/* 0273804C */ 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_02738050 @ 0x2738050
|
|
void Gambit_fn_02738050(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_02738050: ; // 0x2738050
|
|
/* 02738050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738054 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738054 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738054 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738054 */ goto L_02738058;
|
|
L_02738058: ; // 0x2738058
|
|
/* 02738058 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273805C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273805C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273805C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273805C */ goto L_02738060;
|
|
L_02738060: ; // 0x2738060
|
|
/* 02738060 */ 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_02738064 @ 0x2738064
|
|
void Gambit_fn_02738064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02738064: ; // 0x2738064
|
|
/* 02738064 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02738068 */ goto L_02738080;
|
|
L_02738080: ; // 0x2738080
|
|
/* 02738080 */ cpu->r[0] = cpu->lr;
|
|
/* 02738084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02738084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738084 */ cpu->r[1] = _t0;
|
|
/* 02738088 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273808C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273808C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02738090 */ cpu->r[30] = cpu->r[3];
|
|
/* 02738090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02738094 */ cpu->r[31] = cpu->r[4];
|
|
/* 02738098 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02738098 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273809C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273809C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273809C */ if (_t5) goto L_027380E0; else goto L_027380A0;
|
|
L_027380A0: ; // 0x27380a0
|
|
/* 027380A0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027380A4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027380A8 */ cpu->r[0] = cpu->r[0] + 0x00007E8Cu;
|
|
/* 027380AC */ cpu->r[4] = 0x00000002u;
|
|
/* 027380B0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027380B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027380B4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027380B8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027380BC */ cpu->r[4] = 0x00000002u;
|
|
/* 027380C0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027380C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027380C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027380CC */ Gambit_fn_028136EC(cpu);
|
|
/* 027380D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027380D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027380D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027380D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027380D4 */ if (_t8) goto L_027380E0; else goto L_027380D8;
|
|
L_027380D8: ; // 0x27380d8
|
|
/* 027380D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027380DC */ Gambit_fn_02801BB0(cpu);
|
|
L_027380E0: ; // 0x27380e0
|
|
/* 027380E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027380E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027380E4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027380E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027380E8 */ cpu->lr = cpu->r[0];
|
|
/* 027380EC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027380EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027380F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027380F4 */ return;
|
|
}
|
|
|
|
// fn_0273806C @ 0x273806c
|
|
void Gambit_fn_0273806C(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_0273806C: ; // 0x273806c
|
|
/* 0273806C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738070 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738070 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738070 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738070 */ goto L_02738074;
|
|
L_02738074: ; // 0x2738074
|
|
/* 02738074 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738078 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738078 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738078 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738078 */ goto L_0273807C;
|
|
L_0273807C: ; // 0x273807c
|
|
/* 0273807C */ 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_02738084 @ 0x2738084
|
|
void Gambit_fn_02738084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02738084: ; // 0x2738084
|
|
/* 02738084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02738084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738084 */ cpu->r[1] = _t0;
|
|
/* 02738088 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273808C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273808C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02738090 */ cpu->r[30] = cpu->r[3];
|
|
/* 02738090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02738094 */ cpu->r[31] = cpu->r[4];
|
|
/* 02738098 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02738098 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273809C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273809C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273809C */ if (_t5) goto L_027380E0; else goto L_027380A0;
|
|
L_027380A0: ; // 0x27380a0
|
|
/* 027380A0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027380A4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027380A8 */ cpu->r[0] = cpu->r[0] + 0x00007E8Cu;
|
|
/* 027380AC */ cpu->r[4] = 0x00000002u;
|
|
/* 027380B0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027380B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027380B4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027380B8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027380BC */ cpu->r[4] = 0x00000002u;
|
|
/* 027380C0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027380C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027380C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027380CC */ Gambit_fn_028136EC(cpu);
|
|
/* 027380D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027380D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027380D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027380D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027380D4 */ if (_t8) goto L_027380E0; else goto L_027380D8;
|
|
L_027380D8: ; // 0x27380d8
|
|
/* 027380D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027380DC */ Gambit_fn_02801BB0(cpu);
|
|
L_027380E0: ; // 0x27380e0
|
|
/* 027380E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027380E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027380E4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027380E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027380E8 */ cpu->lr = cpu->r[0];
|
|
/* 027380EC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027380EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027380F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027380F4 */ return;
|
|
}
|
|
|
|
// fn_027380F8 @ 0x27380f8
|
|
void Gambit_fn_027380F8(CPUState* cpu) {
|
|
L_027380F8: ; // 0x27380f8
|
|
/* 027380F8 */ return;
|
|
}
|
|
|
|
// fn_027380FC @ 0x27380fc
|
|
void Gambit_fn_027380FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_027380FC: ; // 0x27380fc
|
|
/* 027380FC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027380FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027380FC */ cpu->r[1] = _t0;
|
|
/* 02738100 */ cpu->r[0] = cpu->lr;
|
|
/* 02738104 */ /* nop */
|
|
/* 02738108 */ cpu->r[31] = cpu->r[3];
|
|
/* 02738108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273810C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0273810C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02738110 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738110 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738110 */ if (_t3) goto L_02738114; else goto L_02738124;
|
|
L_02738114: ; // 0x2738114
|
|
/* 02738114 */ cpu->r[3] = 0x00000048u;
|
|
/* 02738118 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273811C */ cpu->r[31] = cpu->r[3];
|
|
/* 0273811C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02738120 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738120 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02738120 */ if (_t5) goto L_027386A8; else goto L_02738124;
|
|
L_02738124: ; // 0x2738124
|
|
/* 02738124 */ cpu->r[30] = cpu->r[31];
|
|
/* 02738124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02738128 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273812C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273812C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273812C */ if (_t7) goto L_02738130; else goto L_02738140;
|
|
L_02738130: ; // 0x2738130
|
|
/* 02738130 */ cpu->r[3] = 0x00000038u;
|
|
/* 02738134 */ Gambit_fn_02801A78(cpu);
|
|
/* 02738138 */ cpu->r[30] = cpu->r[3];
|
|
/* 02738138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273813C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273813C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273813C */ if (_t9) goto L_02738170; else goto L_02738140;
|
|
L_02738140: ; // 0x2738140
|
|
/* 02738140 */ cpu->r[3] = cpu->r[30];
|
|
/* 02738144 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02738148 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273814C */ _t10 = cpu->r[30] + 0x00000030u;
|
|
/* 0273814C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02738150 */ cpu->r[0] = cpu->r[0] + 0x00007FA8u;
|
|
/* 02738154 */ _t11 = cpu->r[30] + 0x00000034u;
|
|
/* 02738154 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02738158 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02738158 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0273815C */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 0273815C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02738160 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 02738160 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02738164 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02738164 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02738168 */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02738168 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0273816C */ _t17 = cpu->r[30] + 0x00000020u;
|
|
/* 0273816C */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
L_02738170: ; // 0x2738170
|
|
/* 02738170 */ _t18 = cpu->r[31] + 0x00000038u;
|
|
/* 02738170 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02738174 */ cpu->r[0] = 0x00000005u;
|
|
/* 02738178 */ _t19 = cpu->r[31] + 0x00000044u;
|
|
/* 02738178 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0273817C */ cpu->r[4] = cpu->r[31];
|
|
/* 02738180 */ _t20 = cpu->r[31] + 0x00000040u;
|
|
/* 02738180 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02738184 */ cpu->r[6] = 0x00000000u;
|
|
/* 02738188 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0273818C */ _t21 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0273818C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02738190 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738194 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02738194 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 02738198 */ Gambit_fn_02738D88(cpu);
|
|
/* 0273819C */ cpu->r[26] = 0x02740000u;
|
|
/* 027381A0 */ cpu->r[0] = 0x100F0000u;
|
|
/* 027381A4 */ cpu->r[27] = 0x100F0000u;
|
|
/* 027381A8 */ cpu->r[26] = cpu->r[26] + 0xFFFF8CD4u;
|
|
/* 027381AC */ cpu->r[0] = cpu->r[0] + 0x00007F1Cu;
|
|
/* 027381B0 */ cpu->r[27] = cpu->r[27] + 0x00007EBCu;
|
|
/* 027381B4 */ cpu->ctr = cpu->r[26];
|
|
/* 027381B8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027381B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027381BC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027381BC */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 027381C0 */ _t25 = cpu->r[31] + 0x00000018u;
|
|
/* 027381C0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027381C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027381C8 */ _t26 = cpu->r[24] + 0x00000000u;
|
|
/* 027381C8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027381CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027381D0 */ cpu->r[30] = 0x10110000u;
|
|
/* 027381D4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027381D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027381D8 */ _t28 = cpu->r[30] + 0x00007399u;
|
|
/* 027381D8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t28);
|
|
/* 027381DC */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 027381DC */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 027381E0 */ cpu->r[6] = 0x00080000u;
|
|
/* 027381E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 027381E8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027381EC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027381EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 027381EC */ if (_t31) goto L_02738214; else goto L_027381F0;
|
|
L_027381F0: ; // 0x27381f0
|
|
/* 027381F0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027381F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 027381F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027381FC */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027381FC */ _t33 = _t32 & 0x00000001u;
|
|
/* 027381FC */ if (_t33) goto L_02738210; else goto L_02738200;
|
|
L_02738200: ; // 0x2738200
|
|
/* 02738200 */ _t34 = cpu->r[12] + 0x00000000u;
|
|
/* 02738200 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02738204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02738208 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738208 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02738208 */ if (_t36) goto L_0273820C; else goto L_027381F0;
|
|
L_0273820C: ; // 0x273820c
|
|
/* 0273820C */ goto L_02738214;
|
|
L_02738210: ; // 0x2738210
|
|
/* 02738210 */ cpu->r[29] = 0x00000000u;
|
|
L_02738214: ; // 0x2738214
|
|
/* 02738214 */ _t37 = cpu->r[24] + 0x00000008u;
|
|
/* 02738214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02738218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0273821C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273821C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273821C */ if (_t39) goto L_02738224; else goto L_02738220;
|
|
L_02738220: ; // 0x2738220
|
|
/* 02738220 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02738224: ; // 0x2738224
|
|
/* 02738224 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02738224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02738228 */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 02738228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273822C */ cpu->ctr = cpu->r[9];
|
|
/* 02738230 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738234 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738238 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738238 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273823C */ cpu->r[6] = 0x00000000u;
|
|
/* 02738240 */ cpu->r[5] = cpu->r[29];
|
|
/* 02738244 */ cpu->r[3] = cpu->r[25];
|
|
/* 02738248 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273824C */ _t43 = cpu->r[25] + cpu->r[29];
|
|
/* 0273824C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 02738250 */ cpu->r[0] = 0x02740000u;
|
|
/* 02738254 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738254 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[28]);
|
|
/* 02738258 */ cpu->r[0] = cpu->r[0] + 0xFFFF8D84u;
|
|
/* 0273825C */ _t45 = cpu->r[1] + 0x00000016u;
|
|
/* 0273825C */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[28]);
|
|
/* 02738260 */ cpu->r[10] = 0x00000000u;
|
|
/* 02738264 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 02738264 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02738268 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273826C */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 0273826C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[28]);
|
|
/* 02738270 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02738274 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02738274 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[10]);
|
|
/* 02738278 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0273827C */ _t49 = cpu->r[1] + 0x00000026u;
|
|
/* 0273827C */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[28]);
|
|
/* 02738280 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02738284 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02738284 */ rbrew_write32(cpu->mem, _t50, cpu->r[28]);
|
|
/* 02738288 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273828C */ _t51 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273828C */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[0]);
|
|
/* 02738290 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02738290 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 02738294 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738298 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02738298 */ rbrew_write32(cpu->mem, _t53, cpu->r[28]);
|
|
/* 0273829C */ Gambit_fn_02739038(cpu);
|
|
/* 027382A0 */ cpu->r[11] = 0x100F0000u;
|
|
/* 027382A4 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 027382A4 */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 027382A8 */ cpu->r[11] = cpu->r[11] + 0x00007F2Cu;
|
|
/* 027382AC */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027382AC */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 027382B0 */ _t56 = cpu->r[31] + 0x00000014u;
|
|
/* 027382B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027382B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 027382B8 */ _t57 = cpu->r[31] + 0x00000018u;
|
|
/* 027382B8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027382BC */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027382BC */ _t59 = _t58 & 0x00000001u;
|
|
/* 027382BC */ if (_t59) goto L_027382C0; else goto L_027382C4;
|
|
L_027382C0: ; // 0x27382c0
|
|
/* 027382C0 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_027382C4: ; // 0x27382c4
|
|
/* 027382C4 */ cpu->ctr = cpu->r[26];
|
|
/* 027382C8 */ _t60 = cpu->r[25] + 0x00000000u;
|
|
/* 027382C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027382CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027382D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027382D4 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027382D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027382D8 */ _t62 = cpu->r[7] + 0x00000000u;
|
|
/* 027382D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t62);
|
|
/* 027382DC */ cpu->r[9] = 0x00080000u;
|
|
/* 027382E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027382E4 */ cpu->r[29] = 0x00000000u;
|
|
/* 027382E8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027382E8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027382E8 */ if (_t64) goto L_02738310; else goto L_027382EC;
|
|
L_027382EC: ; // 0x27382ec
|
|
/* 027382EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027382F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 027382F4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027382F8 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027382F8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 027382F8 */ if (_t66) goto L_0273830C; else goto L_027382FC;
|
|
L_027382FC: ; // 0x27382fc
|
|
/* 027382FC */ _t67 = cpu->r[7] + 0x00000000u;
|
|
/* 027382FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02738300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02738304 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738304 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02738304 */ if (_t69) goto L_02738308; else goto L_027382EC;
|
|
L_02738308: ; // 0x2738308
|
|
/* 02738308 */ goto L_02738310;
|
|
L_0273830C: ; // 0x273830c
|
|
/* 0273830C */ cpu->r[29] = 0x00000000u;
|
|
L_02738310: ; // 0x2738310
|
|
/* 02738310 */ _t70 = cpu->r[25] + 0x00000008u;
|
|
/* 02738310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02738314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02738318 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02738318 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02738318 */ if (_t72) goto L_02738320; else goto L_0273831C;
|
|
L_0273831C: ; // 0x273831c
|
|
/* 0273831C */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02738320: ; // 0x2738320
|
|
/* 02738320 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02738320 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02738324 */ _t74 = cpu->r[6] + 0x00000014u;
|
|
/* 02738324 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02738328 */ cpu->ctr = cpu->r[7];
|
|
/* 0273832C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738334 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02738338 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273833C */ cpu->r[5] = cpu->r[29];
|
|
/* 02738340 */ cpu->r[6] = 0x00000000u;
|
|
/* 02738344 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02738348 */ _t76 = cpu->r[24] + cpu->r[29];
|
|
/* 02738348 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[30]);
|
|
/* 0273834C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02738350 */ _t77 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02738350 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[28]);
|
|
/* 02738354 */ cpu->r[0] = 0x00000001u;
|
|
/* 02738358 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02738358 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[28]);
|
|
/* 0273835C */ cpu->r[8] = 0x02740000u;
|
|
/* 02738360 */ _t79 = cpu->r[1] + 0x00000016u;
|
|
/* 02738360 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[5]);
|
|
/* 02738364 */ cpu->r[8] = cpu->r[8] + 0xFFFF89CCu;
|
|
/* 02738368 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738368 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[28]);
|
|
/* 0273836C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738370 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 02738370 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[28]);
|
|
/* 02738374 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02738378 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 02738378 */ rbrew_write32(cpu->mem, _t82, cpu->r[8]);
|
|
/* 0273837C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02738380 */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02738380 */ rbrew_write32(cpu->mem, _t83, cpu->r[28]);
|
|
/* 02738384 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738388 */ _t84 = cpu->r[1] + 0x00000026u;
|
|
/* 02738388 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[28]);
|
|
/* 0273838C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02738390 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02738390 */ rbrew_write32(cpu->mem, _t85, cpu->r[28]);
|
|
/* 02738394 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02738394 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[0]);
|
|
/* 02738398 */ Gambit_fn_02739038(cpu);
|
|
/* 0273839C */ cpu->r[9] = 0x100F0000u;
|
|
/* 027383A0 */ _t87 = cpu->r[1] + 0x00000010u;
|
|
/* 027383A0 */ rbrew_write32(cpu->mem, _t87, cpu->r[27]);
|
|
/* 027383A4 */ cpu->r[9] = cpu->r[9] + 0x00007F3Cu;
|
|
/* 027383A8 */ _t88 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027383A8 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 027383AC */ _t89 = cpu->r[31] + 0x00000014u;
|
|
/* 027383AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027383B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 027383B4 */ _t90 = cpu->r[31] + 0x00000018u;
|
|
/* 027383B4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027383B8 */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027383B8 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027383B8 */ if (_t92) goto L_027383BC; else goto L_027383C0;
|
|
L_027383BC: ; // 0x27383bc
|
|
/* 027383BC */ cpu->r[25] = cpu->r[25] + 0x00000048u;
|
|
L_027383C0: ; // 0x27383c0
|
|
/* 027383C0 */ cpu->ctr = cpu->r[26];
|
|
/* 027383C4 */ _t93 = cpu->r[25] + 0x00000000u;
|
|
/* 027383C4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027383C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027383CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027383D0 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027383D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027383D4 */ _t95 = cpu->r[12] + 0x00000000u;
|
|
/* 027383D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t95);
|
|
/* 027383D8 */ cpu->r[5] = 0x00080000u;
|
|
/* 027383DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 027383E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 027383E4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027383E4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 027383E4 */ if (_t97) goto L_0273840C; else goto L_027383E8;
|
|
L_027383E8: ; // 0x27383e8
|
|
/* 027383E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027383EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 027383F0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027383F4 */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027383F4 */ _t99 = _t98 & 0x00000001u;
|
|
/* 027383F4 */ if (_t99) goto L_02738408; else goto L_027383F8;
|
|
L_027383F8: ; // 0x27383f8
|
|
/* 027383F8 */ _t100 = cpu->r[12] + 0x00000000u;
|
|
/* 027383F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t100);
|
|
/* 027383FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02738400 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738400 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02738400 */ if (_t102) goto L_02738404; else goto L_027383E8;
|
|
L_02738404: ; // 0x2738404
|
|
/* 02738404 */ goto L_0273840C;
|
|
L_02738408: ; // 0x2738408
|
|
/* 02738408 */ cpu->r[29] = 0x00000000u;
|
|
L_0273840C: ; // 0x273840c
|
|
/* 0273840C */ _t103 = cpu->r[25] + 0x00000008u;
|
|
/* 0273840C */ cpu->r[12] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02738410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 02738414 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02738414 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02738414 */ if (_t105) goto L_0273841C; else goto L_02738418;
|
|
L_02738418: ; // 0x2738418
|
|
/* 02738418 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0273841C: ; // 0x273841c
|
|
/* 0273841C */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 0273841C */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02738420 */ _t107 = cpu->r[7] + 0x00000014u;
|
|
/* 02738420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02738424 */ cpu->ctr = cpu->r[0];
|
|
/* 02738428 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273842C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738430 */ _t108 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02738434 */ cpu->r[3] = cpu->r[24];
|
|
/* 02738438 */ cpu->r[5] = cpu->r[29];
|
|
/* 0273843C */ cpu->r[6] = 0x00000000u;
|
|
/* 02738440 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02738444 */ _t109 = cpu->r[24] + cpu->r[29];
|
|
/* 02738444 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[30]);
|
|
/* 02738448 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273844C */ _t110 = cpu->r[1] + 0x00000028u;
|
|
/* 0273844C */ rbrew_write32(cpu->mem, _t110, cpu->r[28]);
|
|
/* 02738450 */ cpu->r[11] = 0x02740000u;
|
|
/* 02738454 */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 02738454 */ rbrew_write32(cpu->mem, _t111, cpu->r[28]);
|
|
/* 02738458 */ cpu->r[11] = cpu->r[11] + 0xFFFF8AE4u;
|
|
/* 0273845C */ _t112 = cpu->r[1] + 0x00000016u;
|
|
/* 0273845C */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[0]);
|
|
/* 02738460 */ cpu->r[0] = 0x00000002u;
|
|
/* 02738464 */ _t113 = cpu->r[1] + 0x00000026u;
|
|
/* 02738464 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[28]);
|
|
/* 02738468 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273846C */ _t114 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273846C */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[28]);
|
|
/* 02738470 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738474 */ _t115 = cpu->r[1] + 0x00000024u;
|
|
/* 02738474 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 02738478 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273847C */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 0273847C */ rbrew_write32(cpu->mem, _t116, cpu->r[11]);
|
|
/* 02738480 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02738484 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 02738484 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[0]);
|
|
/* 02738488 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273848C */ _t118 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273848C */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[28]);
|
|
/* 02738490 */ _t119 = cpu->r[1] + 0x00000014u;
|
|
/* 02738490 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[28]);
|
|
/* 02738494 */ Gambit_fn_02739038(cpu);
|
|
/* 02738498 */ cpu->r[0] = 0x100F0000u;
|
|
/* 0273849C */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0273849C */ rbrew_write32(cpu->mem, _t120, cpu->r[27]);
|
|
/* 027384A0 */ cpu->r[0] = cpu->r[0] + 0x00007F4Cu;
|
|
/* 027384A4 */ _t121 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027384A4 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 027384A8 */ _t122 = cpu->r[31] + 0x00000014u;
|
|
/* 027384A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t122);
|
|
/* 027384AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 027384B0 */ _t123 = cpu->r[31] + 0x00000018u;
|
|
/* 027384B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027384B4 */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027384B4 */ _t125 = _t124 & 0x00000001u;
|
|
/* 027384B4 */ if (_t125) goto L_027384B8; else goto L_027384BC;
|
|
L_027384B8: ; // 0x27384b8
|
|
/* 027384B8 */ cpu->r[29] = cpu->r[29] + 0x0000006Cu;
|
|
L_027384BC: ; // 0x27384bc
|
|
/* 027384BC */ cpu->ctr = cpu->r[26];
|
|
/* 027384C0 */ _t126 = cpu->r[29] + 0x00000000u;
|
|
/* 027384C0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t126);
|
|
/* 027384C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027384C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027384CC */ _t127 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027384CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t127);
|
|
/* 027384D0 */ _t128 = cpu->r[9] + 0x00000000u;
|
|
/* 027384D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t128);
|
|
/* 027384D4 */ cpu->r[25] = 0x00000000u;
|
|
/* 027384D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 027384DC */ cpu->r[10] = 0x00080000u;
|
|
/* 027384E0 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027384E0 */ _t130 = _t129 & 0x00000001u;
|
|
/* 027384E0 */ if (_t130) goto L_02738508; else goto L_027384E4;
|
|
L_027384E4: ; // 0x27384e4
|
|
/* 027384E4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027384E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[10]);
|
|
/* 027384EC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027384F0 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027384F0 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027384F0 */ if (_t132) goto L_02738504; else goto L_027384F4;
|
|
L_027384F4: ; // 0x27384f4
|
|
/* 027384F4 */ _t133 = cpu->r[9] + 0x00000000u;
|
|
/* 027384F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133);
|
|
/* 027384F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027384FC */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027384FC */ _t135 = _t134 & 0x00000001u;
|
|
/* 027384FC */ if (_t135) goto L_02738500; else goto L_027384E4;
|
|
L_02738500: ; // 0x2738500
|
|
/* 02738500 */ goto L_02738508;
|
|
L_02738504: ; // 0x2738504
|
|
/* 02738504 */ cpu->r[25] = 0x00000000u;
|
|
L_02738508: ; // 0x2738508
|
|
/* 02738508 */ _t136 = cpu->r[29] + 0x00000008u;
|
|
/* 02738508 */ cpu->r[5] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0273850C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02738510 */ _t137 = cpu->r[1] + 0x00000010u;
|
|
/* 02738510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02738514 */ _t138 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02738514 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02738514 */ if (_t139) goto L_0273851C; else goto L_02738518;
|
|
L_02738518: ; // 0x2738518
|
|
/* 02738518 */ cpu->r[25] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0273851C: ; // 0x273851c
|
|
/* 0273851C */ _t140 = cpu->r[11] + 0x00000014u;
|
|
/* 0273851C */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02738520 */ cpu->ctr = cpu->r[5];
|
|
/* 02738524 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273852C */ _t141 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273852C */ cpu->r[4] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02738530 */ cpu->r[3] = cpu->r[24];
|
|
/* 02738534 */ cpu->r[5] = cpu->r[25];
|
|
/* 02738538 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273853C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02738540 */ _t142 = cpu->r[24] + cpu->r[25];
|
|
/* 02738540 */ rbrew_write8(cpu->mem, _t142, (uint8_t)cpu->r[30]);
|
|
/* 02738544 */ cpu->r[11] = 0x00000003u;
|
|
/* 02738548 */ _t143 = cpu->r[1] + 0x00000014u;
|
|
/* 02738548 */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[28]);
|
|
/* 0273854C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02738550 */ _t144 = cpu->r[1] + 0x00000008u;
|
|
/* 02738550 */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[11]);
|
|
/* 02738554 */ cpu->r[7] = 0x02740000u;
|
|
/* 02738558 */ _t145 = cpu->r[1] + 0x00000028u;
|
|
/* 02738558 */ rbrew_write32(cpu->mem, _t145, cpu->r[28]);
|
|
/* 0273855C */ _t146 = cpu->r[1] + 0x00000016u;
|
|
/* 0273855C */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[0]);
|
|
/* 02738560 */ cpu->r[7] = cpu->r[7] + 0xFFFF8B98u;
|
|
/* 02738564 */ _t147 = cpu->r[1] + 0x00000024u;
|
|
/* 02738564 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[28]);
|
|
/* 02738568 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273856C */ _t148 = cpu->r[1] + 0x00000020u;
|
|
/* 0273856C */ rbrew_write32(cpu->mem, _t148, cpu->r[28]);
|
|
/* 02738570 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738574 */ _t149 = cpu->r[1] + 0x00000018u;
|
|
/* 02738574 */ rbrew_write32(cpu->mem, _t149, cpu->r[7]);
|
|
/* 02738578 */ _t150 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738578 */ rbrew_write16(cpu->mem, _t150, (uint16_t)cpu->r[28]);
|
|
/* 0273857C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02738580 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738584 */ _t151 = cpu->r[1] + 0x00000026u;
|
|
/* 02738584 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 02738588 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273858C */ _t152 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273858C */ rbrew_write16(cpu->mem, _t152, (uint16_t)cpu->r[28]);
|
|
/* 02738590 */ Gambit_fn_02739038(cpu);
|
|
/* 02738594 */ cpu->r[8] = 0x100F0000u;
|
|
/* 02738598 */ _t153 = cpu->r[1] + 0x00000010u;
|
|
/* 02738598 */ rbrew_write32(cpu->mem, _t153, cpu->r[27]);
|
|
/* 0273859C */ cpu->r[8] = cpu->r[8] + 0x00007F60u;
|
|
/* 027385A0 */ _t154 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027385A0 */ rbrew_write32(cpu->mem, _t154, cpu->r[8]);
|
|
/* 027385A4 */ _t155 = cpu->r[31] + 0x00000014u;
|
|
/* 027385A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027385A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 027385AC */ _t156 = cpu->r[31] + 0x00000018u;
|
|
/* 027385AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027385B0 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027385B0 */ _t158 = _t157 & 0x00000001u;
|
|
/* 027385B0 */ if (_t158) goto L_027385B4; else goto L_027385B8;
|
|
L_027385B4: ; // 0x27385b4
|
|
/* 027385B4 */ cpu->r[27] = cpu->r[27] + 0x00000090u;
|
|
L_027385B8: ; // 0x27385b8
|
|
/* 027385B8 */ cpu->ctr = cpu->r[26];
|
|
/* 027385BC */ _t159 = cpu->r[27] + 0x00000000u;
|
|
/* 027385BC */ cpu->r[25] = rbrew_read32(cpu->mem, _t159);
|
|
/* 027385C0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027385C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027385C8 */ _t160 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027385C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027385CC */ _t161 = cpu->r[12] + 0x00000000u;
|
|
/* 027385CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t161);
|
|
/* 027385D0 */ cpu->r[5] = 0x00080000u;
|
|
/* 027385D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027385D8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027385DC */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027385DC */ _t163 = _t162 & 0x00000001u;
|
|
/* 027385DC */ if (_t163) goto L_02738604; else goto L_027385E0;
|
|
L_027385E0: ; // 0x27385e0
|
|
/* 027385E0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027385E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 027385E8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027385EC */ _t164 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027385EC */ _t165 = _t164 & 0x00000001u;
|
|
/* 027385EC */ if (_t165) goto L_02738600; else goto L_027385F0;
|
|
L_027385F0: ; // 0x27385f0
|
|
/* 027385F0 */ _t166 = cpu->r[12] + 0x00000000u;
|
|
/* 027385F0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t166);
|
|
/* 027385F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 027385F8 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027385F8 */ _t168 = _t167 & 0x00000001u;
|
|
/* 027385F8 */ if (_t168) goto L_027385FC; else goto L_027385E0;
|
|
L_027385FC: ; // 0x27385fc
|
|
/* 027385FC */ goto L_02738604;
|
|
L_02738600: ; // 0x2738600
|
|
/* 02738600 */ cpu->r[29] = 0x00000000u;
|
|
L_02738604: ; // 0x2738604
|
|
/* 02738604 */ _t169 = cpu->r[27] + 0x00000008u;
|
|
/* 02738604 */ cpu->r[7] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02738608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0273860C */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273860C */ _t171 = _t170 & 0x00000001u;
|
|
/* 0273860C */ if (_t171) goto L_02738614; else goto L_02738610;
|
|
L_02738610: ; // 0x2738610
|
|
/* 02738610 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02738614: ; // 0x2738614
|
|
/* 02738614 */ _t172 = cpu->r[1] + 0x00000010u;
|
|
/* 02738614 */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02738618 */ _t173 = cpu->r[8] + 0x00000014u;
|
|
/* 02738618 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0273861C */ cpu->ctr = cpu->r[9];
|
|
/* 02738620 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738628 */ _t174 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0273862C */ cpu->r[6] = 0x00000000u;
|
|
/* 02738630 */ cpu->r[5] = cpu->r[29];
|
|
/* 02738634 */ cpu->r[3] = cpu->r[25];
|
|
/* 02738638 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273863C */ _t175 = cpu->r[25] + cpu->r[29];
|
|
/* 0273863C */ rbrew_write8(cpu->mem, _t175, (uint8_t)cpu->r[30]);
|
|
/* 02738640 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02738644 */ _t176 = cpu->r[1] + 0x00000026u;
|
|
/* 02738644 */ rbrew_write16(cpu->mem, _t176, (uint16_t)cpu->r[28]);
|
|
/* 02738648 */ cpu->r[11] = 0x02740000u;
|
|
/* 0273864C */ _t177 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273864C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[28]);
|
|
/* 02738650 */ cpu->r[10] = 0x00000004u;
|
|
/* 02738654 */ _t178 = cpu->r[1] + 0x00000016u;
|
|
/* 02738654 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[0]);
|
|
/* 02738658 */ cpu->r[11] = cpu->r[11] + 0xFFFF8BF8u;
|
|
/* 0273865C */ _t179 = cpu->r[1] + 0x00000020u;
|
|
/* 0273865C */ rbrew_write32(cpu->mem, _t179, cpu->r[28]);
|
|
/* 02738660 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02738664 */ _t180 = cpu->r[1] + 0x00000018u;
|
|
/* 02738664 */ rbrew_write32(cpu->mem, _t180, cpu->r[11]);
|
|
/* 02738668 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273866C */ _t181 = cpu->r[1] + 0x00000024u;
|
|
/* 0273866C */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[28]);
|
|
/* 02738670 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02738674 */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 02738674 */ rbrew_write8(cpu->mem, _t182, (uint8_t)cpu->r[10]);
|
|
/* 02738678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273867C */ _t183 = cpu->r[1] + 0x00000028u;
|
|
/* 0273867C */ rbrew_write32(cpu->mem, _t183, cpu->r[28]);
|
|
/* 02738680 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738684 */ _t184 = cpu->r[1] + 0x00000014u;
|
|
/* 02738684 */ rbrew_write16(cpu->mem, _t184, (uint16_t)cpu->r[28]);
|
|
/* 02738688 */ _t185 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738688 */ rbrew_write16(cpu->mem, _t185, (uint16_t)cpu->r[28]);
|
|
/* 0273868C */ Gambit_fn_02739038(cpu);
|
|
/* 02738690 */ _t186 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02738690 */ cpu->r[4] = rbrew_read8(cpu->mem, _t186);
|
|
/* 02738694 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738698 */ /* nop */
|
|
/* 0273869C */ Gambit_fn_027FC35C(cpu);
|
|
/* 027386A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027386A4 */ Gambit_fn_027390C0(cpu);
|
|
L_027386A8: ; // 0x27386a8
|
|
/* 027386A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027386AC */ /* nop */
|
|
/* 027386B0 */ _t187 = cpu->r[1] + 0x00000054u;
|
|
/* 027386B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 027386B4 */ cpu->lr = cpu->r[0];
|
|
/* 027386B8 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027386BC */ return;
|
|
}
|
|
|
|
// fn_027386C0 @ 0x27386c0
|
|
void Gambit_fn_027386C0(CPUState* cpu) {
|
|
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_027386C0: ; // 0x27386c0
|
|
/* 027386C0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027386C4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027386C8 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 027386C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027386CC */ _t1 = cpu->r[9] + 0xFFFF88E0u;
|
|
/* 027386CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027386D0 */ _t2 = cpu->r[10] + 0x00000250u;
|
|
/* 027386D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027386D4 */ _t3 = cpu->r[12] + 0x000000ACu;
|
|
/* 027386D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027386D8 */ _t4 = cpu->r[3] + 0x00000038u;
|
|
/* 027386D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027386DC */ _t5 = cpu->r[9] + 0xFFFF88E0u;
|
|
/* 027386DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027386E0 */ _t6 = cpu->r[12] + 0x00000278u;
|
|
/* 027386E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027386E4 */ _t7 = cpu->r[9] + 0x00000290u;
|
|
/* 027386E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027386E8 */ _t8 = cpu->r[3] + 0x00000040u;
|
|
/* 027386E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027386EC */ cpu->r[4] = 0x00000001u;
|
|
/* 027386F0 */ _t9 = cpu->r[3] + 0x0000003Cu;
|
|
/* 027386F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027386F4 */ goto L_027391D0;
|
|
L_027391D0: ; // 0x27391d0
|
|
/* 027391D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027391D4 */ _t10 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027391D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[1]);
|
|
/* 027391D4 */ cpu->r[1] = _t10;
|
|
/* 027391D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027391D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 027391DC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027391DC */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 027391E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027391E4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027391E4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027391E8 */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027391E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027391EC */ /* nop */
|
|
/* 027391F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 027391F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027391F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027391F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027391F8 */ if (_t16) goto L_027391FC; else goto L_02739210;
|
|
L_027391FC: ; // 0x27391fc
|
|
/* 027391FC */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 027391FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02739200 */ _t18 = cpu->r[11] + 0x00000014u;
|
|
/* 02739200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02739204 */ cpu->ctr = cpu->r[0];
|
|
/* 02739208 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273920C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02739210: ; // 0x2739210
|
|
/* 02739210 */ cpu->r[3] = cpu->r[30];
|
|
/* 02739214 */ cpu->r[4] = cpu->r[31];
|
|
/* 02739218 */ Gambit_fn_02739148(cpu);
|
|
/* 0273921C */ cpu->r[3] = cpu->r[30];
|
|
/* 02739220 */ /* nop */
|
|
/* 02739224 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02739228 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273922C */ Gambit_fn_027390C0(cpu);
|
|
/* 02739230 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02739230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02739234 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02739234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02739238 */ cpu->lr = cpu->r[0];
|
|
/* 0273923C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273923C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02739240 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739244 */ return;
|
|
}
|
|
|
|
// fn_027386F8 @ 0x27386f8
|
|
void Gambit_fn_027386F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027386F8: ; // 0x27386f8
|
|
/* 027386F8 */ goto L_027392D0;
|
|
L_027392D0: ; // 0x27392d0
|
|
/* 027392D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027392D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027392D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027392D4 */ cpu->r[1] = _t0;
|
|
/* 027392D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027392D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027392DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027392E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027392E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027392E4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 027392E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027392E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 027392EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027392F0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 027392F0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 027392F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027392F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027392F4 */ if (_t6) goto L_0273931C; else goto L_027392F8;
|
|
L_027392F8: ; // 0x27392f8
|
|
/* 027392F8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027392F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027392FC */ /* nop */
|
|
/* 02739300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02739304 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739304 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02739304 */ if (_t9) goto L_02739308; else goto L_0273931C;
|
|
L_02739308: ; // 0x2739308
|
|
/* 02739308 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02739308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273930C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273930C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739310 */ cpu->ctr = cpu->r[0];
|
|
/* 02739314 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273931C: ; // 0x273931c
|
|
/* 0273931C */ cpu->r[3] = cpu->r[31];
|
|
/* 02739320 */ Gambit_fn_02739248(cpu);
|
|
/* 02739324 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739328 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273932C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739330 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739334 */ cpu->lr = cpu->r[0];
|
|
/* 02739338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273933C */ return;
|
|
}
|
|
|
|
// fn_027386FC @ 0x27386fc
|
|
void Gambit_fn_027386FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027386FC: ; // 0x27386fc
|
|
/* 027386FC */ cpu->r[0] = cpu->lr;
|
|
/* 02738700 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02738700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738700 */ cpu->r[1] = _t0;
|
|
/* 02738704 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02738704 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738708 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273870C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0273870C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738710 */ Gambit_fn_021729AC(cpu);
|
|
/* 02738714 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738718 */ Gambit_fn_02175308(cpu);
|
|
/* 0273871C */ cpu->r[0] = 0x00000003u;
|
|
/* 02738720 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738724 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738728 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02738728 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273872C */ Gambit_fn_02172B08(cpu);
|
|
/* 02738730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738734 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738734 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02738734 */ if (_t5) goto L_02738778; else goto L_02738738;
|
|
L_02738738: ; // 0x2738738
|
|
/* 02738738 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 0273873C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738740 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738744 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02738744 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02738748 */ Gambit_fn_02172B08(cpu);
|
|
/* 0273874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738750 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738750 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02738750 */ if (_t8) goto L_02738754; else goto L_02738778;
|
|
L_02738754: ; // 0x2738754
|
|
/* 02738754 */ Gambit_fn_027F69F8(cpu);
|
|
/* 02738758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273875C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273875C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273875C */ if (_t10) goto L_02738760; else goto L_02738778;
|
|
L_02738760: ; // 0x2738760
|
|
/* 02738760 */ cpu->r[0] = 0x00000001u;
|
|
/* 02738764 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738768 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738768 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0273876C */ Gambit_fn_027F7288(cpu);
|
|
/* 02738770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738774 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738774 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02738774 */ if (_t13) goto L_02738778; else goto L_027387A8;
|
|
L_02738778: ; // 0x2738778
|
|
/* 02738778 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273877C */ cpu->r[4] = 0x00000002u;
|
|
/* 02738780 */ Gambit_fn_021753A0(cpu);
|
|
/* 02738784 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738788 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273878C */ Gambit_fn_02172A44(cpu);
|
|
/* 02738790 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 02738790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02738794 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02738794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02738798 */ cpu->lr = cpu->r[0];
|
|
/* 0273879C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027387A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027387A4 */ return;
|
|
L_027387A8: ; // 0x27387a8
|
|
/* 027387A8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027387AC */ Gambit_fn_02175E78(cpu);
|
|
/* 027387B0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFF7u;
|
|
/* 027387B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027387B8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027387BC */ cpu->r[4] = 0x00000002u;
|
|
/* 027387C0 */ cpu->r[31] = cpu->r[0];
|
|
/* 027387C4 */ Gambit_fn_021753A0(cpu);
|
|
/* 027387C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027387CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027387D0 */ Gambit_fn_02172A44(cpu);
|
|
/* 027387D4 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 027387D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027387D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027387DC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027387DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027387E0 */ cpu->lr = cpu->r[0];
|
|
/* 027387E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027387E8 */ return;
|
|
}
|
|
|
|
// fn_02738700 @ 0x2738700
|
|
void Gambit_fn_02738700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02738700: ; // 0x2738700
|
|
/* 02738700 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02738700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738700 */ cpu->r[1] = _t0;
|
|
/* 02738704 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02738704 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738708 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273870C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0273870C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738710 */ Gambit_fn_021729AC(cpu);
|
|
/* 02738714 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738718 */ Gambit_fn_02175308(cpu);
|
|
/* 0273871C */ cpu->r[0] = 0x00000003u;
|
|
/* 02738720 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738724 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738728 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02738728 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273872C */ Gambit_fn_02172B08(cpu);
|
|
/* 02738730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738734 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738734 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02738734 */ if (_t5) goto L_02738778; else goto L_02738738;
|
|
L_02738738: ; // 0x2738738
|
|
/* 02738738 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 0273873C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738740 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738744 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02738744 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02738748 */ Gambit_fn_02172B08(cpu);
|
|
/* 0273874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738750 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738750 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02738750 */ if (_t8) goto L_02738754; else goto L_02738778;
|
|
L_02738754: ; // 0x2738754
|
|
/* 02738754 */ Gambit_fn_027F69F8(cpu);
|
|
/* 02738758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273875C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273875C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273875C */ if (_t10) goto L_02738760; else goto L_02738778;
|
|
L_02738760: ; // 0x2738760
|
|
/* 02738760 */ cpu->r[0] = 0x00000001u;
|
|
/* 02738764 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738768 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738768 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0273876C */ Gambit_fn_027F7288(cpu);
|
|
/* 02738770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738774 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738774 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02738774 */ if (_t13) goto L_02738778; else goto L_027387A8;
|
|
L_02738778: ; // 0x2738778
|
|
/* 02738778 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273877C */ cpu->r[4] = 0x00000002u;
|
|
/* 02738780 */ Gambit_fn_021753A0(cpu);
|
|
/* 02738784 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738788 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273878C */ Gambit_fn_02172A44(cpu);
|
|
/* 02738790 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 02738790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02738794 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02738794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02738798 */ cpu->lr = cpu->r[0];
|
|
/* 0273879C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027387A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027387A4 */ return;
|
|
L_027387A8: ; // 0x27387a8
|
|
/* 027387A8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027387AC */ Gambit_fn_02175E78(cpu);
|
|
/* 027387B0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFF7u;
|
|
/* 027387B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027387B8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027387BC */ cpu->r[4] = 0x00000002u;
|
|
/* 027387C0 */ cpu->r[31] = cpu->r[0];
|
|
/* 027387C4 */ Gambit_fn_021753A0(cpu);
|
|
/* 027387C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027387CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027387D0 */ Gambit_fn_02172A44(cpu);
|
|
/* 027387D4 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 027387D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027387D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027387DC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027387DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027387E0 */ cpu->lr = cpu->r[0];
|
|
/* 027387E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027387E8 */ return;
|
|
}
|
|
|
|
// fn_027387EC @ 0x27387ec
|
|
void Gambit_fn_027387EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027387EC: ; // 0x27387ec
|
|
/* 027387EC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027387EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027387F0 */ /* nop */
|
|
/* 027387F4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027387F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027387FC */ return;
|
|
}
|
|
|
|
// fn_02738800 @ 0x2738800
|
|
void Gambit_fn_02738800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02738800: ; // 0x2738800
|
|
/* 02738800 */ cpu->r[0] = cpu->lr;
|
|
/* 02738804 */ _t0 = cpu->r[1] + 0xFFFFFB50u;
|
|
/* 02738804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738804 */ cpu->r[1] = _t0;
|
|
/* 02738808 */ _t1 = cpu->r[1] + 0x000004A0u;
|
|
/* 02738808 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273880C */ _t2 = cpu->r[1] + 0x000004ACu;
|
|
/* 0273880C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02738810 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02738814 */ _t3 = cpu->r[1] + 0x000004A8u;
|
|
/* 02738814 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02738818 */ cpu->r[12] = 0x100F0000u;
|
|
/* 0273881C */ _t4 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273881C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02738820 */ cpu->r[12] = cpu->r[12] + 0x00007EBCu;
|
|
/* 02738824 */ cpu->r[30] = cpu->r[4];
|
|
/* 02738828 */ _t5 = cpu->r[1] + 0x000004B4u;
|
|
/* 02738828 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0273882C */ cpu->r[29] = cpu->r[3];
|
|
/* 02738830 */ cpu->r[31] = cpu->r[5];
|
|
/* 02738834 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02738834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02738838 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273883C */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 02738840 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02738840 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02738844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738848 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02738848 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0273884C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273884C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273884C */ if (_t10) goto L_02738850; else goto L_027388C0;
|
|
L_02738850: ; // 0x2738850
|
|
/* 02738850 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738854 */ _t11 = cpu->r[29] + 0x00000044u;
|
|
/* 02738854 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02738858 */ Gambit_fn_020800AC(cpu);
|
|
/* 0273885C */ cpu->r[12] = 0x00000001u;
|
|
/* 02738860 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02738860 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02738864 */ cpu->r[6] = cpu->r[30];
|
|
/* 02738868 */ cpu->r[8] = cpu->r[31];
|
|
/* 0273886C */ _t13 = cpu->r[29] + 0x00000044u;
|
|
/* 0273886C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02738870 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738874 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738878 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273887C */ _t14 = cpu->r[1] + 0x00000499u;
|
|
/* 0273887C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02738880 */ Gambit_fn_020805EC(cpu);
|
|
/* 02738884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738888 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738888 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02738888 */ if (_t16) goto L_027388A0; else goto L_0273888C;
|
|
L_0273888C: ; // 0x273888c
|
|
/* 0273888C */ _t17 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273888C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02738890 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02738894 */ Gambit_fn_0207D7D4(cpu);
|
|
/* 02738898 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02738898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273889C */ _t19 = cpu->r[29] + 0x00000044u;
|
|
/* 0273889C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027388A0: ; // 0x27388a0
|
|
/* 027388A0 */ cpu->r[6] = 0x02740000u;
|
|
/* 027388A4 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 027388A8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027388AC */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 027388B0 */ cpu->r[4] = 0x00000006u;
|
|
/* 027388B4 */ cpu->r[8] = cpu->r[7];
|
|
/* 027388B8 */ cpu->r[5] = 0x00000098u;
|
|
/* 027388BC */ Gambit_fn_02C82F38(cpu);
|
|
L_027388C0: ; // 0x27388c0
|
|
/* 027388C0 */ _t20 = cpu->r[29] + 0x0000003Cu;
|
|
/* 027388C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027388C4 */ Gambit_fn_0207D7C0(cpu);
|
|
/* 027388C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027388CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027388CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027388CC */ if (_t22) goto L_027388F4; else goto L_027388D0;
|
|
L_027388D0: ; // 0x27388d0
|
|
/* 027388D0 */ _t23 = cpu->r[1] + 0x000004A0u;
|
|
/* 027388D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027388D4 */ _t24 = cpu->r[1] + 0x000004A4u;
|
|
/* 027388D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027388D8 */ _t25 = cpu->r[1] + 0x000004B4u;
|
|
/* 027388D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027388DC */ _t26 = cpu->r[1] + 0x000004A8u;
|
|
/* 027388DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027388E0 */ cpu->lr = cpu->r[0];
|
|
/* 027388E4 */ _t27 = cpu->r[1] + 0x000004ACu;
|
|
/* 027388E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027388E8 */ cpu->r[1] = cpu->r[1] + 0x000004B0u;
|
|
/* 027388EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027388F0 */ return;
|
|
L_027388F4: ; // 0x27388f4
|
|
/* 027388F4 */ _t28 = cpu->r[29] + 0x0000003Cu;
|
|
/* 027388F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027388F8 */ Gambit_fn_0207D89C(cpu);
|
|
/* 027388FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738900 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738900 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02738900 */ if (_t30) goto L_027389A8; else goto L_02738904;
|
|
L_02738904: ; // 0x2738904
|
|
/* 02738904 */ _t31 = cpu->r[29] + 0x00000044u;
|
|
/* 02738904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02738908 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273890C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738910 */ _t32 = cpu->r[29] + 0x00000044u;
|
|
/* 02738910 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02738914 */ Gambit_fn_020800AC(cpu);
|
|
/* 02738918 */ cpu->r[8] = cpu->r[31];
|
|
/* 0273891C */ cpu->r[0] = 0x00000001u;
|
|
/* 02738920 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738920 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02738924 */ cpu->r[6] = cpu->r[30];
|
|
/* 02738928 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0273892C */ _t34 = cpu->r[29] + 0x00000044u;
|
|
/* 0273892C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02738930 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738934 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02738938 */ _t35 = cpu->r[1] + 0x00000499u;
|
|
/* 02738938 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 0273893C */ Gambit_fn_020805EC(cpu);
|
|
/* 02738940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738944 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738944 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02738944 */ if (_t37) goto L_02738980; else goto L_02738948;
|
|
L_02738948: ; // 0x2738948
|
|
/* 02738948 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273894C */ _t39 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273894C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02738950 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02738954 */ _t40 = cpu->r[29] + 0x00000044u;
|
|
/* 02738954 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 02738958 */ Gambit_fn_0207D8A4(cpu);
|
|
/* 0273895C */ cpu->r[6] = 0x02740000u;
|
|
/* 02738960 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02738964 */ cpu->r[7] = 0x00000000u;
|
|
/* 02738968 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 0273896C */ cpu->r[4] = 0x00000006u;
|
|
/* 02738970 */ cpu->r[8] = cpu->r[7];
|
|
/* 02738974 */ cpu->r[5] = 0x00000098u;
|
|
/* 02738978 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0273897C */ goto L_027389A8;
|
|
L_02738980: ; // 0x2738980
|
|
/* 02738980 */ _t41 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02738980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02738984 */ Gambit_fn_0207D83C(cpu);
|
|
/* 02738988 */ cpu->r[6] = 0x02740000u;
|
|
/* 0273898C */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02738990 */ cpu->r[7] = 0x00000000u;
|
|
/* 02738994 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 02738998 */ cpu->r[4] = 0x00000006u;
|
|
/* 0273899C */ cpu->r[8] = cpu->r[7];
|
|
/* 027389A0 */ cpu->r[5] = 0x00000098u;
|
|
/* 027389A4 */ Gambit_fn_02C82F38(cpu);
|
|
L_027389A8: ; // 0x27389a8
|
|
/* 027389A8 */ _t42 = cpu->r[1] + 0x000004A0u;
|
|
/* 027389A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027389AC */ _t43 = cpu->r[1] + 0x000004A4u;
|
|
/* 027389AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027389B0 */ _t44 = cpu->r[1] + 0x000004B4u;
|
|
/* 027389B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027389B4 */ _t45 = cpu->r[1] + 0x000004A8u;
|
|
/* 027389B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027389B8 */ cpu->lr = cpu->r[0];
|
|
/* 027389BC */ _t46 = cpu->r[1] + 0x000004ACu;
|
|
/* 027389BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027389C0 */ cpu->r[1] = cpu->r[1] + 0x000004B0u;
|
|
/* 027389C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027389C8 */ return;
|
|
}
|
|
|
|
// fn_02738804 @ 0x2738804
|
|
void Gambit_fn_02738804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02738804: ; // 0x2738804
|
|
/* 02738804 */ _t0 = cpu->r[1] + 0xFFFFFB50u;
|
|
/* 02738804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738804 */ cpu->r[1] = _t0;
|
|
/* 02738808 */ _t1 = cpu->r[1] + 0x000004A0u;
|
|
/* 02738808 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273880C */ _t2 = cpu->r[1] + 0x000004ACu;
|
|
/* 0273880C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02738810 */ cpu->r[7] = 0x100F0000u;
|
|
/* 02738814 */ _t3 = cpu->r[1] + 0x000004A8u;
|
|
/* 02738814 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02738818 */ cpu->r[12] = 0x100F0000u;
|
|
/* 0273881C */ _t4 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273881C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02738820 */ cpu->r[12] = cpu->r[12] + 0x00007EBCu;
|
|
/* 02738824 */ cpu->r[30] = cpu->r[4];
|
|
/* 02738828 */ _t5 = cpu->r[1] + 0x000004B4u;
|
|
/* 02738828 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0273882C */ cpu->r[29] = cpu->r[3];
|
|
/* 02738830 */ cpu->r[31] = cpu->r[5];
|
|
/* 02738834 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02738834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02738838 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273883C */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 02738840 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02738840 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02738844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738848 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02738848 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0273884C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273884C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273884C */ if (_t10) goto L_02738850; else goto L_027388C0;
|
|
L_02738850: ; // 0x2738850
|
|
/* 02738850 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738854 */ _t11 = cpu->r[29] + 0x00000044u;
|
|
/* 02738854 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02738858 */ Gambit_fn_020800AC(cpu);
|
|
/* 0273885C */ cpu->r[12] = 0x00000001u;
|
|
/* 02738860 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02738860 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02738864 */ cpu->r[6] = cpu->r[30];
|
|
/* 02738868 */ cpu->r[8] = cpu->r[31];
|
|
/* 0273886C */ _t13 = cpu->r[29] + 0x00000044u;
|
|
/* 0273886C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02738870 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738874 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738878 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273887C */ _t14 = cpu->r[1] + 0x00000499u;
|
|
/* 0273887C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02738880 */ Gambit_fn_020805EC(cpu);
|
|
/* 02738884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738888 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738888 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02738888 */ if (_t16) goto L_027388A0; else goto L_0273888C;
|
|
L_0273888C: ; // 0x273888c
|
|
/* 0273888C */ _t17 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273888C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02738890 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02738894 */ Gambit_fn_0207D7D4(cpu);
|
|
/* 02738898 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02738898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273889C */ _t19 = cpu->r[29] + 0x00000044u;
|
|
/* 0273889C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027388A0: ; // 0x27388a0
|
|
/* 027388A0 */ cpu->r[6] = 0x02740000u;
|
|
/* 027388A4 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 027388A8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027388AC */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 027388B0 */ cpu->r[4] = 0x00000006u;
|
|
/* 027388B4 */ cpu->r[8] = cpu->r[7];
|
|
/* 027388B8 */ cpu->r[5] = 0x00000098u;
|
|
/* 027388BC */ Gambit_fn_02C82F38(cpu);
|
|
L_027388C0: ; // 0x27388c0
|
|
/* 027388C0 */ _t20 = cpu->r[29] + 0x0000003Cu;
|
|
/* 027388C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027388C4 */ Gambit_fn_0207D7C0(cpu);
|
|
/* 027388C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027388CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027388CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027388CC */ if (_t22) goto L_027388F4; else goto L_027388D0;
|
|
L_027388D0: ; // 0x27388d0
|
|
/* 027388D0 */ _t23 = cpu->r[1] + 0x000004A0u;
|
|
/* 027388D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027388D4 */ _t24 = cpu->r[1] + 0x000004A4u;
|
|
/* 027388D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027388D8 */ _t25 = cpu->r[1] + 0x000004B4u;
|
|
/* 027388D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027388DC */ _t26 = cpu->r[1] + 0x000004A8u;
|
|
/* 027388DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027388E0 */ cpu->lr = cpu->r[0];
|
|
/* 027388E4 */ _t27 = cpu->r[1] + 0x000004ACu;
|
|
/* 027388E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027388E8 */ cpu->r[1] = cpu->r[1] + 0x000004B0u;
|
|
/* 027388EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027388F0 */ return;
|
|
L_027388F4: ; // 0x27388f4
|
|
/* 027388F4 */ _t28 = cpu->r[29] + 0x0000003Cu;
|
|
/* 027388F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027388F8 */ Gambit_fn_0207D89C(cpu);
|
|
/* 027388FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738900 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738900 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02738900 */ if (_t30) goto L_027389A8; else goto L_02738904;
|
|
L_02738904: ; // 0x2738904
|
|
/* 02738904 */ _t31 = cpu->r[29] + 0x00000044u;
|
|
/* 02738904 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02738908 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273890C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738910 */ _t32 = cpu->r[29] + 0x00000044u;
|
|
/* 02738910 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02738914 */ Gambit_fn_020800AC(cpu);
|
|
/* 02738918 */ cpu->r[8] = cpu->r[31];
|
|
/* 0273891C */ cpu->r[0] = 0x00000001u;
|
|
/* 02738920 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738920 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02738924 */ cpu->r[6] = cpu->r[30];
|
|
/* 02738928 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0273892C */ _t34 = cpu->r[29] + 0x00000044u;
|
|
/* 0273892C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02738930 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738934 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02738938 */ _t35 = cpu->r[1] + 0x00000499u;
|
|
/* 02738938 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 0273893C */ Gambit_fn_020805EC(cpu);
|
|
/* 02738940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738944 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738944 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02738944 */ if (_t37) goto L_02738980; else goto L_02738948;
|
|
L_02738948: ; // 0x2738948
|
|
/* 02738948 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273894C */ _t39 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273894C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02738950 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02738954 */ _t40 = cpu->r[29] + 0x00000044u;
|
|
/* 02738954 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 02738958 */ Gambit_fn_0207D8A4(cpu);
|
|
/* 0273895C */ cpu->r[6] = 0x02740000u;
|
|
/* 02738960 */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02738964 */ cpu->r[7] = 0x00000000u;
|
|
/* 02738968 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 0273896C */ cpu->r[4] = 0x00000006u;
|
|
/* 02738970 */ cpu->r[8] = cpu->r[7];
|
|
/* 02738974 */ cpu->r[5] = 0x00000098u;
|
|
/* 02738978 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0273897C */ goto L_027389A8;
|
|
L_02738980: ; // 0x2738980
|
|
/* 02738980 */ _t41 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02738980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02738984 */ Gambit_fn_0207D83C(cpu);
|
|
/* 02738988 */ cpu->r[6] = 0x02740000u;
|
|
/* 0273898C */ cpu->r[3] = cpu->r[1] + 0x000000CCu;
|
|
/* 02738990 */ cpu->r[7] = 0x00000000u;
|
|
/* 02738994 */ cpu->r[6] = cpu->r[6] + 0xFFFF8D30u;
|
|
/* 02738998 */ cpu->r[4] = 0x00000006u;
|
|
/* 0273899C */ cpu->r[8] = cpu->r[7];
|
|
/* 027389A0 */ cpu->r[5] = 0x00000098u;
|
|
/* 027389A4 */ Gambit_fn_02C82F38(cpu);
|
|
L_027389A8: ; // 0x27389a8
|
|
/* 027389A8 */ _t42 = cpu->r[1] + 0x000004A0u;
|
|
/* 027389A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027389AC */ _t43 = cpu->r[1] + 0x000004A4u;
|
|
/* 027389AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027389B0 */ _t44 = cpu->r[1] + 0x000004B4u;
|
|
/* 027389B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027389B4 */ _t45 = cpu->r[1] + 0x000004A8u;
|
|
/* 027389B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027389B8 */ cpu->lr = cpu->r[0];
|
|
/* 027389BC */ _t46 = cpu->r[1] + 0x000004ACu;
|
|
/* 027389BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027389C0 */ cpu->r[1] = cpu->r[1] + 0x000004B0u;
|
|
/* 027389C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027389C8 */ return;
|
|
}
|
|
|
|
// fn_027389D0 @ 0x27389d0
|
|
void Gambit_fn_027389D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027389D0: ; // 0x27389d0
|
|
/* 027389D0 */ _t0 = cpu->r[1] + 0xFFFFFE58u;
|
|
/* 027389D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027389D0 */ cpu->r[1] = _t0;
|
|
/* 027389D4 */ _t1 = cpu->r[1] + 0x000001A4u;
|
|
/* 027389D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027389D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027389DC */ _t2 = cpu->r[1] + 0x000001A0u;
|
|
/* 027389DC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027389E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027389E4 */ _t3 = cpu->r[1] + 0x000001ACu;
|
|
/* 027389E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027389E8 */ Gambit_fn_021729AC(cpu);
|
|
/* 027389EC */ cpu->r[12] = 0x00000003u;
|
|
/* 027389F0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027389F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027389F8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027389F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027389FC */ Gambit_fn_02172B08(cpu);
|
|
/* 02738A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738A04 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02738A08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738A08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02738A08 */ if (_t6) goto L_02738A0C; else goto L_02738A38;
|
|
L_02738A0C: ; // 0x2738a0c
|
|
/* 02738A0C */ _t7 = cpu->r[30] + 0xFFFF88E0u;
|
|
/* 02738A0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02738A10 */ _t8 = cpu->r[11] + 0x00000278u;
|
|
/* 02738A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02738A14 */ cpu->r[4] = 0x00000001u;
|
|
/* 02738A18 */ Gambit_fn_02745500(cpu);
|
|
/* 02738A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02738A20 */ cpu->r[4] = 0x00000002u;
|
|
/* 02738A24 */ Gambit_fn_027391D0(cpu);
|
|
/* 02738A28 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738A2C */ cpu->r[4] = 0x00000002u;
|
|
/* 02738A30 */ Gambit_fn_02172A44(cpu);
|
|
/* 02738A34 */ goto L_02738ACC;
|
|
L_02738A38: ; // 0x2738a38
|
|
/* 02738A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738A3C */ Gambit_fn_027386FC(cpu);
|
|
/* 02738A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738A44 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738A44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02738A44 */ if (_t10) goto L_02738AA8; else goto L_02738A48;
|
|
L_02738A48: ; // 0x2738a48
|
|
/* 02738A48 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02738A4C */ Gambit_fn_02173004(cpu);
|
|
/* 02738A50 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 02738A54 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02738A58 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738A5C */ cpu->r[5] = 0x00000001u;
|
|
/* 02738A60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738A60 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02738A64 */ Gambit_fn_021731AC(cpu);
|
|
/* 02738A68 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02738A6C */ Gambit_fn_021730F4(cpu);
|
|
/* 02738A70 */ _t12 = cpu->r[30] + 0xFFFF88E0u;
|
|
/* 02738A70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02738A74 */ _t13 = cpu->r[10] + 0x00000278u;
|
|
/* 02738A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02738A78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02738A7C */ Gambit_fn_02745500(cpu);
|
|
/* 02738A80 */ cpu->r[4] = 0x00000003u;
|
|
/* 02738A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738A88 */ Gambit_fn_027391D0(cpu);
|
|
/* 02738A8C */ cpu->r[4] = 0x00000002u;
|
|
/* 02738A90 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02738A94 */ Gambit_fn_021730E0(cpu);
|
|
/* 02738A98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738A9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02738AA0 */ Gambit_fn_02172A44(cpu);
|
|
/* 02738AA4 */ goto L_02738ACC;
|
|
L_02738AA8: ; // 0x2738aa8
|
|
/* 02738AA8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02738AAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02738AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738AB4 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02738AB4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02738AB8 */ _t15 = cpu->r[31] + 0x00000040u;
|
|
/* 02738AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02738ABC */ Gambit_fn_027391D0(cpu);
|
|
/* 02738AC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02738AC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02738AC8 */ Gambit_fn_02172A44(cpu);
|
|
L_02738ACC: ; // 0x2738acc
|
|
/* 02738ACC */ _t16 = cpu->r[1] + 0x000001ACu;
|
|
/* 02738ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02738AD0 */ _t17 = cpu->r[1] + 0x000001A0u;
|
|
/* 02738AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02738AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02738AD8 */ _t18 = cpu->r[1] + 0x000001A4u;
|
|
/* 02738AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02738ADC */ cpu->r[1] = cpu->r[1] + 0x000001A8u;
|
|
/* 02738AE0 */ return;
|
|
}
|
|
|
|
// fn_02738AE8 @ 0x2738ae8
|
|
void Gambit_fn_02738AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02738AE8: ; // 0x2738ae8
|
|
/* 02738AE8 */ _t0 = cpu->r[1] + 0xFFFFFE60u;
|
|
/* 02738AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738AE8 */ cpu->r[1] = _t0;
|
|
/* 02738AEC */ _t1 = cpu->r[1] + 0x00000198u;
|
|
/* 02738AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02738AF0 */ cpu->r[30] = 0x100F0000u;
|
|
/* 02738AF4 */ _t2 = cpu->r[1] + 0x0000019Cu;
|
|
/* 02738AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02738AF8 */ cpu->r[30] = cpu->r[30] + 0x00007F88u;
|
|
/* 02738AFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02738B00 */ _t3 = cpu->r[1] + 0x000001A4u;
|
|
/* 02738B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02738B04 */ Gambit_fn_027F69F8(cpu);
|
|
/* 02738B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738B0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738B0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02738B0C */ if (_t5) goto L_02738B18; else goto L_02738B10;
|
|
L_02738B10: ; // 0x2738b10
|
|
/* 02738B10 */ cpu->r[30] = 0x100F0000u;
|
|
/* 02738B14 */ cpu->r[30] = cpu->r[30] + 0x00007F90u;
|
|
L_02738B18: ; // 0x2738b18
|
|
/* 02738B18 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02738B1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02738B20 */ cpu->r[0] = cpu->r[0] + 0x00007EBCu;
|
|
/* 02738B24 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738B28 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02738B28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02738B2C */ cpu->r[5] = 0x00000014u;
|
|
/* 02738B30 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738B30 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02738B34 */ Gambit_fn_02738800(cpu);
|
|
/* 02738B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738B3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738B3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02738B3C */ if (_t9) goto L_02738B80; else goto L_02738B40;
|
|
L_02738B40: ; // 0x2738b40
|
|
/* 02738B40 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738B44 */ Gambit_fn_02173004(cpu);
|
|
/* 02738B48 */ cpu->r[0] = 0x00000003u;
|
|
/* 02738B4C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738B50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738B54 */ cpu->r[5] = 0x00000001u;
|
|
/* 02738B58 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02738B58 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02738B5C */ Gambit_fn_021731AC(cpu);
|
|
/* 02738B60 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738B64 */ Gambit_fn_021730F4(cpu);
|
|
/* 02738B68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02738B6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02738B70 */ Gambit_fn_027391D0(cpu);
|
|
/* 02738B74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02738B78 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02738B7C */ Gambit_fn_021730E0(cpu);
|
|
L_02738B80: ; // 0x2738b80
|
|
/* 02738B80 */ _t11 = cpu->r[1] + 0x000001A4u;
|
|
/* 02738B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02738B84 */ _t12 = cpu->r[1] + 0x00000198u;
|
|
/* 02738B84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02738B88 */ cpu->lr = cpu->r[0];
|
|
/* 02738B8C */ _t13 = cpu->r[1] + 0x0000019Cu;
|
|
/* 02738B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02738B90 */ cpu->r[1] = cpu->r[1] + 0x000001A0u;
|
|
/* 02738B94 */ return;
|
|
}
|
|
|
|
// fn_02738B9C @ 0x2738b9c
|
|
void Gambit_fn_02738B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02738B9C: ; // 0x2738b9c
|
|
/* 02738B9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02738B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738B9C */ cpu->r[1] = _t0;
|
|
/* 02738BA0 */ cpu->r[12] = 0x100F0000u;
|
|
/* 02738BA4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02738BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738BA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02738BAC */ cpu->r[12] = cpu->r[12] + 0x00007F9Cu;
|
|
/* 02738BB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02738BB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738BB8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02738BBC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02738BBC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02738BC0 */ cpu->r[0] = cpu->r[0] + 0x00007EBCu;
|
|
/* 02738BC4 */ cpu->r[5] = 0x00000014u;
|
|
/* 02738BC8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738BC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02738BCC */ Gambit_fn_02738800(cpu);
|
|
/* 02738BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02738BD4 */ if (_t6) goto L_02738BE4; else goto L_02738BD8;
|
|
L_02738BD8: ; // 0x2738bd8
|
|
/* 02738BD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738BDC */ cpu->r[4] = 0x00000004u;
|
|
/* 02738BE0 */ Gambit_fn_027391D0(cpu);
|
|
L_02738BE4: ; // 0x2738be4
|
|
/* 02738BE4 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02738BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02738BE8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02738BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02738BEC */ cpu->lr = cpu->r[0];
|
|
/* 02738BF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02738BF4 */ return;
|
|
}
|
|
|
|
// fn_02738BFC @ 0x2738bfc
|
|
void Gambit_fn_02738BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02738BFC: ; // 0x2738bfc
|
|
/* 02738BFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02738BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738BFC */ cpu->r[1] = _t0;
|
|
/* 02738C00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738C04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02738C08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02738C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738C0C */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02738C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02738C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02738C14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738C14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02738C14 */ if (_t5) goto L_02738C18; else goto L_02738C28;
|
|
L_02738C18: ; // 0x2738c18
|
|
/* 02738C18 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02738C1C */ _t6 = cpu->r[3] + 0xFFFF9568u;
|
|
/* 02738C1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02738C20 */ cpu->r[4] = 0x00000002u;
|
|
/* 02738C24 */ Gambit_fn_027D3834(cpu);
|
|
L_02738C28: ; // 0x2738c28
|
|
/* 02738C28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02738C2C */ cpu->r[4] = 0x00000000u;
|
|
/* 02738C30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738C34 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02738C34 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02738C38 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02738C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02738C3C */ Gambit_fn_027391D0(cpu);
|
|
/* 02738C40 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02738C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02738C44 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02738C48 */ cpu->lr = cpu->r[0];
|
|
/* 02738C4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02738C50 */ return;
|
|
}
|
|
|
|
// fn_02738C54 @ 0x2738c54
|
|
void Gambit_fn_02738C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02738C54: ; // 0x2738c54
|
|
/* 02738C54 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02738C58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02738C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738C58 */ cpu->r[1] = _t0;
|
|
/* 02738C5C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02738C60 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02738C64 */ _t1 = cpu->r[10] + 0x00000778u;
|
|
/* 02738C64 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02738C64 */ cpu->r[10] = _t1;
|
|
/* 02738C68 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02738C6C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02738C6C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02738C70 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02738C74 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02738C78 */ _t3 = cpu->r[7] + 0x00000788u;
|
|
/* 02738C78 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02738C78 */ cpu->r[7] = _t3;
|
|
/* 02738C7C */ _t4 = cpu->r[8] + 0x00000780u;
|
|
/* 02738C7C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02738C7C */ cpu->r[8] = _t4;
|
|
/* 02738C80 */ cpu->r[0] = 0x00000002u;
|
|
/* 02738C84 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02738C84 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02738C88 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02738C8C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02738C8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02738C90 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02738C94 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02738C94 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02738C98 */ _t8 = cpu->r[8] + 0x00000798u;
|
|
/* 02738C98 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02738C98 */ cpu->r[8] = _t8;
|
|
/* 02738C9C */ _t9 = cpu->r[12] + 0x00000790u;
|
|
/* 02738C9C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02738C9C */ cpu->r[12] = _t9;
|
|
/* 02738CA0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02738CA0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02738CA4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02738CA8 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02738CA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02738CAC */ cpu->r[11] = 0x101F0000u;
|
|
/* 02738CB0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02738CB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02738CB4 */ _t13 = cpu->r[11] + 0x000007A0u;
|
|
/* 02738CB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02738CB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02738CBC */ return;
|
|
}
|
|
|
|
// fn_02738C58 @ 0x2738c58
|
|
void Gambit_fn_02738C58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02738C58: ; // 0x2738c58
|
|
/* 02738C58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02738C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738C58 */ cpu->r[1] = _t0;
|
|
/* 02738C5C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02738C60 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02738C64 */ _t1 = cpu->r[10] + 0x00000778u;
|
|
/* 02738C64 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02738C64 */ cpu->r[10] = _t1;
|
|
/* 02738C68 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02738C6C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02738C6C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02738C70 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02738C74 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02738C78 */ _t3 = cpu->r[7] + 0x00000788u;
|
|
/* 02738C78 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02738C78 */ cpu->r[7] = _t3;
|
|
/* 02738C7C */ _t4 = cpu->r[8] + 0x00000780u;
|
|
/* 02738C7C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02738C7C */ cpu->r[8] = _t4;
|
|
/* 02738C80 */ cpu->r[0] = 0x00000002u;
|
|
/* 02738C84 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02738C84 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02738C88 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02738C8C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02738C8C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02738C90 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02738C94 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02738C94 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02738C98 */ _t8 = cpu->r[8] + 0x00000798u;
|
|
/* 02738C98 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02738C98 */ cpu->r[8] = _t8;
|
|
/* 02738C9C */ _t9 = cpu->r[12] + 0x00000790u;
|
|
/* 02738C9C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02738C9C */ cpu->r[12] = _t9;
|
|
/* 02738CA0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02738CA0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02738CA4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02738CA8 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02738CA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02738CAC */ cpu->r[11] = 0x101F0000u;
|
|
/* 02738CB0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02738CB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02738CB4 */ _t13 = cpu->r[11] + 0x000007A0u;
|
|
/* 02738CB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02738CB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02738CBC */ return;
|
|
}
|
|
|
|
// fn_02738CC0 @ 0x2738cc0
|
|
void Gambit_fn_02738CC0(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_02738CC0: ; // 0x2738cc0
|
|
/* 02738CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738CC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738CC4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738CC4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738CC4 */ goto L_02738CC8;
|
|
L_02738CC8: ; // 0x2738cc8
|
|
/* 02738CC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738CCC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738CCC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738CCC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738CCC */ goto L_02738CD0;
|
|
L_02738CD0: ; // 0x2738cd0
|
|
/* 02738CD0 */ 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_02738CD4 @ 0x2738cd4
|
|
void Gambit_fn_02738CD4(CPUState* cpu) {
|
|
L_02738CD4: ; // 0x2738cd4
|
|
/* 02738CD4 */ return;
|
|
}
|
|
|
|
// fn_02738CD8 @ 0x2738cd8
|
|
void Gambit_fn_02738CD8(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_02738CD8: ; // 0x2738cd8
|
|
/* 02738CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738CDC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738CDC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738CDC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738CDC */ goto L_02738CE0;
|
|
L_02738CE0: ; // 0x2738ce0
|
|
/* 02738CE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738CE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738CE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738CE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738CE4 */ goto L_02738CE8;
|
|
L_02738CE8: ; // 0x2738ce8
|
|
/* 02738CE8 */ 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_02738CEC @ 0x2738cec
|
|
void Gambit_fn_02738CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02738CEC: ; // 0x2738cec
|
|
/* 02738CEC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02738CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02738CF0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02738CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02738CF4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02738CF8 */ cpu->r[11] = 0x10110000u;
|
|
/* 02738CFC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02738CFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02738D00 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02738D00 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02738D04 */ return;
|
|
}
|
|
|
|
// fn_02738D08 @ 0x2738d08
|
|
void Gambit_fn_02738D08(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_02738D08: ; // 0x2738d08
|
|
/* 02738D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738D0C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738D0C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738D0C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738D0C */ goto L_02738D10;
|
|
L_02738D10: ; // 0x2738d10
|
|
/* 02738D10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738D14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738D14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738D14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738D14 */ goto L_02738D18;
|
|
L_02738D18: ; // 0x2738d18
|
|
/* 02738D18 */ 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_02738D1C @ 0x2738d1c
|
|
void Gambit_fn_02738D1C(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_02738D1C: ; // 0x2738d1c
|
|
/* 02738D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738D20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738D20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02738D20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738D20 */ goto L_02738D24;
|
|
L_02738D24: ; // 0x2738d24
|
|
/* 02738D24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02738D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02738D28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738D28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02738D28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02738D28 */ goto L_02738D2C;
|
|
L_02738D2C: ; // 0x2738d2c
|
|
/* 02738D2C */ 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_02738D44 @ 0x2738d44
|
|
void Gambit_fn_02738D44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02738D44: ; // 0x2738d44
|
|
/* 02738D44 */ cpu->r[0] = cpu->lr;
|
|
/* 02738D48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02738D48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738D48 */ cpu->r[1] = _t0;
|
|
/* 02738D4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738D4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738D50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02738D50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738D54 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02738D54 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02738D58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02738D5C */ /* nop */
|
|
/* 02738D60 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02738D64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738D68 */ Gambit_fn_027390C0(cpu);
|
|
/* 02738D6C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02738D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02738D70 */ cpu->lr = cpu->r[0];
|
|
/* 02738D74 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738D74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02738D78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02738D7C */ return;
|
|
}
|
|
|
|
// fn_02738D48 @ 0x2738d48
|
|
void Gambit_fn_02738D48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02738D48: ; // 0x2738d48
|
|
/* 02738D48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02738D48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738D48 */ cpu->r[1] = _t0;
|
|
/* 02738D4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738D4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02738D50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02738D50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02738D54 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02738D54 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02738D58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02738D5C */ /* nop */
|
|
/* 02738D60 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02738D64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02738D68 */ Gambit_fn_027390C0(cpu);
|
|
/* 02738D6C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02738D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02738D70 */ cpu->lr = cpu->r[0];
|
|
/* 02738D74 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02738D74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02738D78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02738D7C */ return;
|
|
}
|
|
|
|
// fn_02738D80 @ 0x2738d80
|
|
void Gambit_fn_02738D80(CPUState* cpu) {
|
|
L_02738D80: ; // 0x2738d80
|
|
/* 02738D80 */ return;
|
|
}
|
|
|
|
// fn_02738D88 @ 0x2738d88
|
|
void Gambit_fn_02738D88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02738D88: ; // 0x2738d88
|
|
/* 02738D88 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02738D88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02738D88 */ cpu->r[1] = _t0;
|
|
/* 02738D8C */ /* nop */
|
|
/* 02738D90 */ cpu->r[0] = cpu->lr;
|
|
/* 02738D94 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02738D94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02738D98 */ cpu->r[29] = cpu->r[6];
|
|
/* 02738D9C */ cpu->r[28] = cpu->r[3];
|
|
/* 02738DA0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02738DA4 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02738DA4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02738DA8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02738DAC */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02738DAC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02738DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738DB4 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02738DB4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02738DB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738DB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02738DB8 */ if (_t6) goto L_02738DFC; else goto L_02738DBC;
|
|
L_02738DBC: ; // 0x2738dbc
|
|
/* 02738DBC */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02738DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02738DC0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02738DC4 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02738DC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02738DC8 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02738DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02738DCC */ cpu->ctr = cpu->r[0];
|
|
/* 02738DD0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02738DD4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02738DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738DE0 */ cpu->r[0] = cpu->r[27];
|
|
/* 02738DE4 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738DE4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02738DE4 */ if (_t11) goto L_02738DEC; else goto L_02738DE8;
|
|
L_02738DE8: ; // 0x2738de8
|
|
/* 02738DE8 */ cpu->r[0] = 0x00000001u;
|
|
L_02738DEC: ; // 0x2738dec
|
|
/* 02738DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738DF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738DF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02738DF0 */ if (_t13) goto L_02738DFC; else goto L_02738DF4;
|
|
L_02738DF4: ; // 0x2738df4
|
|
/* 02738DF4 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02738DF4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02738DF8 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02738DF8 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02738DFC: ; // 0x2738dfc
|
|
/* 02738DFC */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02738DFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02738E00 */ cpu->r[0] = 0x00000000u;
|
|
/* 02738E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02738E08 */ cpu->r[12] = cpu->r[0];
|
|
/* 02738E0C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738E0C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02738E0C */ if (_t18) goto L_02738E10; else goto L_02738E34;
|
|
L_02738E10: ; // 0x2738e10
|
|
/* 02738E10 */ cpu->ctr = cpu->r[7];
|
|
/* 02738E14 */ cpu->r[10] = 0x00000000u;
|
|
L_02738E18: ; // 0x2738e18
|
|
/* 02738E18 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02738E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02738E1C */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02738E1C */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02738E20 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02738E24 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02738E24 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02738E28 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02738E2C */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02738E2C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02738E30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02738E30 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02738E30 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02738E30 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02738E30 */ if (_t25) goto L_02738E18; else goto L_02738E34;
|
|
L_02738E34: ; // 0x2738e34
|
|
/* 02738E34 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02738E34 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02738E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738E3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738E3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02738E3C */ if (_t28) goto L_02738E80; else goto L_02738E40;
|
|
L_02738E40: ; // 0x2738e40
|
|
/* 02738E40 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02738E40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02738E44 */ Gambit_fn_02826F20(cpu);
|
|
/* 02738E48 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02738E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02738E4C */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02738E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02738E50 */ cpu->ctr = cpu->r[0];
|
|
/* 02738E54 */ cpu->r[5] = 0x00000004u;
|
|
/* 02738E58 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02738E5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738E64 */ cpu->r[11] = cpu->r[27];
|
|
/* 02738E68 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738E68 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02738E68 */ if (_t33) goto L_02738E70; else goto L_02738E6C;
|
|
L_02738E6C: ; // 0x2738e6c
|
|
/* 02738E6C */ cpu->r[11] = 0x00000001u;
|
|
L_02738E70: ; // 0x2738e70
|
|
/* 02738E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738E74 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738E74 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02738E74 */ if (_t35) goto L_02738E80; else goto L_02738E78;
|
|
L_02738E78: ; // 0x2738e78
|
|
/* 02738E78 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02738E78 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02738E7C */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02738E7C */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02738E80: ; // 0x2738e80
|
|
/* 02738E80 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02738E80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02738E84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02738E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02738E8C */ cpu->r[12] = cpu->r[0];
|
|
/* 02738E90 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738E90 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02738E90 */ if (_t40) goto L_02738E94; else goto L_02738EB8;
|
|
L_02738E94: ; // 0x2738e94
|
|
/* 02738E94 */ cpu->ctr = cpu->r[6];
|
|
/* 02738E98 */ cpu->r[9] = 0x00000000u;
|
|
L_02738E9C: ; // 0x2738e9c
|
|
/* 02738E9C */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02738E9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02738EA0 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02738EA0 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02738EA4 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02738EA8 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02738EA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02738EAC */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02738EB0 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02738EB0 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02738EB4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02738EB4 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02738EB4 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02738EB4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02738EB4 */ if (_t47) goto L_02738E9C; else goto L_02738EB8;
|
|
L_02738EB8: ; // 0x2738eb8
|
|
/* 02738EB8 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02738EB8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02738EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738EC0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738EC0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02738EC0 */ if (_t50) goto L_02738F04; else goto L_02738EC4;
|
|
L_02738EC4: ; // 0x2738ec4
|
|
/* 02738EC4 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02738EC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02738EC8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02738ECC */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02738ECC */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02738ED0 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02738ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02738ED4 */ cpu->ctr = cpu->r[0];
|
|
/* 02738ED8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02738EDC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02738EE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738EE8 */ cpu->r[10] = cpu->r[27];
|
|
/* 02738EEC */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738EEC */ _t55 = _t54 & 0x00000001u;
|
|
/* 02738EEC */ if (_t55) goto L_02738EF4; else goto L_02738EF0;
|
|
L_02738EF0: ; // 0x2738ef0
|
|
/* 02738EF0 */ cpu->r[10] = 0x00000001u;
|
|
L_02738EF4: ; // 0x2738ef4
|
|
/* 02738EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02738EF8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738EF8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02738EF8 */ if (_t57) goto L_02738F04; else goto L_02738EFC;
|
|
L_02738EFC: ; // 0x2738efc
|
|
/* 02738EFC */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02738EFC */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02738F00 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02738F00 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02738F04: ; // 0x2738f04
|
|
/* 02738F04 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02738F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02738F08 */ cpu->r[0] = 0x00000000u;
|
|
/* 02738F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02738F10 */ cpu->r[5] = cpu->r[0];
|
|
/* 02738F14 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738F14 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02738F14 */ if (_t62) goto L_02738F18; else goto L_02738F3C;
|
|
L_02738F18: ; // 0x2738f18
|
|
/* 02738F18 */ cpu->ctr = cpu->r[12];
|
|
/* 02738F1C */ cpu->r[8] = 0x00000000u;
|
|
L_02738F20: ; // 0x2738f20
|
|
/* 02738F20 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02738F20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02738F24 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02738F24 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02738F28 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02738F2C */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02738F2C */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02738F30 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02738F34 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02738F34 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02738F38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02738F38 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02738F38 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02738F38 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02738F38 */ if (_t69) goto L_02738F20; else goto L_02738F3C;
|
|
L_02738F3C: ; // 0x2738f3c
|
|
/* 02738F3C */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02738F3C */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02738F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02738F44 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738F44 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02738F44 */ if (_t72) goto L_02739020; else goto L_02738F48;
|
|
L_02738F48: ; // 0x2738f48
|
|
/* 02738F48 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02738F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02738F4C */ Gambit_fn_02826F20(cpu);
|
|
/* 02738F50 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02738F50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02738F54 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02738F54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02738F58 */ cpu->ctr = cpu->r[12];
|
|
/* 02738F5C */ cpu->r[5] = 0x00000004u;
|
|
/* 02738F60 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02738F64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02738F68 */ cpu->r[24] = cpu->r[3];
|
|
/* 02738F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02738F70 */ cpu->r[30] = cpu->r[25];
|
|
/* 02738F74 */ cpu->r[7] = 0x00000000u;
|
|
/* 02738F78 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02738F78 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02738F78 */ if (_t77) goto L_02738F80; else goto L_02738F7C;
|
|
L_02738F7C: ; // 0x2738f7c
|
|
/* 02738F7C */ cpu->r[30] = 0x00000001u;
|
|
L_02738F80: ; // 0x2738f80
|
|
/* 02738F80 */ cpu->r[31] = 0x10110000u;
|
|
/* 02738F84 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02738F88 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02738F88 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02738F8C */ cpu->r[23] = 0x00000018u;
|
|
L_02738F90: ; // 0x2738f90
|
|
/* 02738F90 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02738F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02738F94 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738F94 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02738F94 */ if (_t80) goto L_02739004; else goto L_02738F98;
|
|
L_02738F98: ; // 0x2738f98
|
|
/* 02738F98 */ cpu->r[26] = cpu->r[27];
|
|
/* 02738F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02738F9C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738F9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02738F9C */ if (_t82) goto L_02738FA0; else goto L_02738FB0;
|
|
L_02738FA0: ; // 0x2738fa0
|
|
/* 02738FA0 */ cpu->r[3] = 0x00000024u;
|
|
/* 02738FA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02738FA8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02738FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02738FAC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738FAC */ _t84 = _t83 & 0x00000001u;
|
|
/* 02738FAC */ if (_t84) goto L_02738FF8; else goto L_02738FB0;
|
|
L_02738FB0: ; // 0x2738fb0
|
|
/* 02738FB0 */ cpu->r[11] = cpu->r[26];
|
|
/* 02738FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02738FB4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738FB4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02738FB4 */ if (_t86) goto L_02738FB8; else goto L_02738FC8;
|
|
L_02738FB8: ; // 0x2738fb8
|
|
/* 02738FB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02738FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02738FC0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02738FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02738FC4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02738FC4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02738FC4 */ if (_t88) goto L_02738FE4; else goto L_02738FC8;
|
|
L_02738FC8: ; // 0x2738fc8
|
|
/* 02738FC8 */ cpu->r[5] = 0x100F0000u;
|
|
/* 02738FCC */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02738FCC */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02738FD0 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02738FD4 */ cpu->r[5] = cpu->r[5] + 0x00007ED4u;
|
|
/* 02738FD8 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02738FD8 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02738FDC */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02738FDC */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02738FE0 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02738FE0 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02738FE4: ; // 0x2738fe4
|
|
/* 02738FE4 */ cpu->r[6] = 0x100F0000u;
|
|
/* 02738FE8 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02738FE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02738FEC */ cpu->r[6] = cpu->r[6] + 0x00007EECu;
|
|
/* 02738FF0 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02738FF0 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02738FF4 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02738FF4 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02738FF8: ; // 0x2738ff8
|
|
/* 02738FF8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 02738FFC */ cpu->r[0] = cpu->r[0] + 0x00007F04u;
|
|
/* 02739000 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02739000 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02739004: ; // 0x2739004
|
|
/* 02739004 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02739004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02739008 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0273900C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273900C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0273900C */ if (_t98) goto L_02739010; else goto L_02738F90;
|
|
L_02739010: ; // 0x2739010
|
|
/* 02739010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02739014 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739014 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02739014 */ if (_t100) goto L_02739020; else goto L_02739018;
|
|
L_02739018: ; // 0x2739018
|
|
/* 02739018 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02739018 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0273901C */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0273901C */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02739020: ; // 0x2739020
|
|
/* 02739020 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02739020 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02739024 */ /* nop */
|
|
/* 02739028 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02739028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0273902C */ cpu->lr = cpu->r[0];
|
|
/* 02739030 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02739034 */ return;
|
|
}
|
|
|
|
// fn_02739038 @ 0x2739038
|
|
void Gambit_fn_02739038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02739038: ; // 0x2739038
|
|
/* 02739038 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02739038 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273903C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0273903C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02739040 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02739040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02739044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02739048 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02739048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273904C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273904C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273904C */ if (_t5) goto L_02739050; else goto L_02739058;
|
|
L_02739050: ; // 0x2739050
|
|
/* 02739050 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739054 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02739058: ; // 0x2739058
|
|
/* 02739058 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02739058 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273905C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0273905C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739060 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02739060 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02739064 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02739064 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02739068 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02739068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273906C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02739070 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02739070 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739074 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739074 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739074 */ if (_t13) goto L_02739078; else goto L_02739080;
|
|
L_02739078: ; // 0x2739078
|
|
/* 02739078 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273907C */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02739080: ; // 0x2739080
|
|
/* 02739080 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02739080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02739084 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02739084 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02739088 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02739088 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273908C */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0273908C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02739090 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02739090 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02739094 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02739094 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02739098 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02739098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273909C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 027390A0 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 027390A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027390A4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027390A4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027390A4 */ if (_t23) goto L_027390A8; else goto L_027390B0;
|
|
L_027390A8: ; // 0x27390a8
|
|
/* 027390A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027390AC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_027390B0: ; // 0x27390b0
|
|
/* 027390B0 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 027390B0 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 027390B4 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 027390B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027390B8 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 027390B8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 027390BC */ return;
|
|
}
|
|
|
|
// fn_027390C0 @ 0x27390c0
|
|
void Gambit_fn_027390C0(CPUState* 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_027390C0: ; // 0x27390c0
|
|
/* 027390C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027390C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027390C4 */ /* nop */
|
|
/* 027390C8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 027390C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027390CC */ cpu->r[8] = cpu->r[0];
|
|
/* 027390D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027390D4 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 027390D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027390D8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027390D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027390D8 */ if (_t4) goto L_027390DC; else goto L_027390F4;
|
|
L_027390DC: ; // 0x27390dc
|
|
/* 027390DC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027390E0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 027390E4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 027390E4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 027390E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027390EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027390EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027390EC */ if (_t7) goto L_027390F0; else goto L_02739100;
|
|
L_027390F0: ; // 0x27390f0
|
|
/* 027390F0 */ return;
|
|
L_027390F4: ; // 0x27390f4
|
|
/* 027390F4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 027390F4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 027390F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027390FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027390FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027390FC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027390FC */ goto L_02739100;
|
|
L_02739100: ; // 0x2739100
|
|
/* 02739100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02739104 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02739104 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739108 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739108 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739108 */ if (_t13) goto L_0273910C; else goto L_02739114;
|
|
L_0273910C: ; // 0x273910c
|
|
/* 0273910C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739110 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02739114: ; // 0x2739114
|
|
/* 02739114 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02739114 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02739118 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02739118 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739120 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02739120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02739124 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02739128 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739128 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02739128 */ if (_t18) goto L_02739140; else goto L_0273912C;
|
|
L_0273912C: ; // 0x273912c
|
|
/* 0273912C */ /* nop */
|
|
/* 02739130 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02739130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02739134 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739138 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0273913C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273913C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02739140: ; // 0x2739140
|
|
/* 02739140 */ cpu->ctr = cpu->r[11];
|
|
/* 02739144 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02739148 @ 0x2739148
|
|
void Gambit_fn_02739148(CPUState* 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_02739148: ; // 0x2739148
|
|
/* 02739148 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02739148 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273914C */ /* nop */
|
|
/* 02739150 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02739150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02739154 */ cpu->r[7] = cpu->r[0];
|
|
/* 02739158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0273915C */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0273915C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02739160 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739160 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739160 */ if (_t4) goto L_02739164; else goto L_0273917C;
|
|
L_02739164: ; // 0x2739164
|
|
/* 02739164 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739168 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0273916C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273916C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02739170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02739174 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739174 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02739174 */ if (_t7) goto L_02739178; else goto L_02739188;
|
|
L_02739178: ; // 0x2739178
|
|
/* 02739178 */ return;
|
|
L_0273917C: ; // 0x273917c
|
|
/* 0273917C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273917C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02739180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02739184 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739184 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02739184 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02739184 */ goto L_02739188;
|
|
L_02739188: ; // 0x2739188
|
|
/* 02739188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0273918C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273918C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739190 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739190 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739190 */ if (_t13) goto L_02739194; else goto L_0273919C;
|
|
L_02739194: ; // 0x2739194
|
|
/* 02739194 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739198 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273919C: ; // 0x273919c
|
|
/* 0273919C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273919C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 027391A0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 027391A0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 027391A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027391A8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 027391A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027391AC */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 027391B0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027391B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027391B0 */ if (_t18) goto L_027391C8; else goto L_027391B4;
|
|
L_027391B4: ; // 0x27391b4
|
|
/* 027391B4 */ /* nop */
|
|
/* 027391B8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 027391B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027391BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027391C0 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 027391C4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027391C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_027391C8: ; // 0x27391c8
|
|
/* 027391C8 */ cpu->ctr = cpu->r[11];
|
|
/* 027391CC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027391D0 @ 0x27391d0
|
|
void Gambit_fn_027391D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027391D0: ; // 0x27391d0
|
|
/* 027391D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027391D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027391D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027391D4 */ cpu->r[1] = _t0;
|
|
/* 027391D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027391D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027391DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027391DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027391E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027391E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027391E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027391E8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027391E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027391EC */ /* nop */
|
|
/* 027391F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 027391F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027391F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027391F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027391F8 */ if (_t6) goto L_027391FC; else goto L_02739210;
|
|
L_027391FC: ; // 0x27391fc
|
|
/* 027391FC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027391FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739200 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02739200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02739204 */ cpu->ctr = cpu->r[0];
|
|
/* 02739208 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273920C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02739210: ; // 0x2739210
|
|
/* 02739210 */ cpu->r[3] = cpu->r[30];
|
|
/* 02739214 */ cpu->r[4] = cpu->r[31];
|
|
/* 02739218 */ Gambit_fn_02739148(cpu);
|
|
/* 0273921C */ cpu->r[3] = cpu->r[30];
|
|
/* 02739220 */ /* nop */
|
|
/* 02739224 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02739228 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273922C */ Gambit_fn_027390C0(cpu);
|
|
/* 02739230 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02739230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739234 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02739234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02739238 */ cpu->lr = cpu->r[0];
|
|
/* 0273923C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273923C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739240 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739244 */ return;
|
|
}
|
|
|
|
// fn_027391D4 @ 0x27391d4
|
|
void Gambit_fn_027391D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027391D4: ; // 0x27391d4
|
|
/* 027391D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027391D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027391D4 */ cpu->r[1] = _t0;
|
|
/* 027391D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027391D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027391DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027391DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027391E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027391E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027391E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027391E8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027391E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027391EC */ /* nop */
|
|
/* 027391F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 027391F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027391F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027391F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027391F8 */ if (_t6) goto L_027391FC; else goto L_02739210;
|
|
L_027391FC: ; // 0x27391fc
|
|
/* 027391FC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027391FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739200 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02739200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02739204 */ cpu->ctr = cpu->r[0];
|
|
/* 02739208 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273920C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02739210: ; // 0x2739210
|
|
/* 02739210 */ cpu->r[3] = cpu->r[30];
|
|
/* 02739214 */ cpu->r[4] = cpu->r[31];
|
|
/* 02739218 */ Gambit_fn_02739148(cpu);
|
|
/* 0273921C */ cpu->r[3] = cpu->r[30];
|
|
/* 02739220 */ /* nop */
|
|
/* 02739224 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02739228 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273922C */ Gambit_fn_027390C0(cpu);
|
|
/* 02739230 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02739230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739234 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02739234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02739238 */ cpu->lr = cpu->r[0];
|
|
/* 0273923C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273923C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739240 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739244 */ return;
|
|
}
|
|
|
|
// fn_02739248 @ 0x2739248
|
|
void Gambit_fn_02739248(CPUState* 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_02739248: ; // 0x2739248
|
|
/* 02739248 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02739248 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273924C */ /* nop */
|
|
/* 02739250 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02739250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02739254 */ cpu->r[8] = cpu->r[0];
|
|
/* 02739258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0273925C */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273925C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02739260 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739260 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739260 */ if (_t4) goto L_02739264; else goto L_0273927C;
|
|
L_02739264: ; // 0x2739264
|
|
/* 02739264 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739268 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0273926C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273926C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02739270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02739274 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739274 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02739274 */ if (_t7) goto L_02739278; else goto L_02739288;
|
|
L_02739278: ; // 0x2739278
|
|
/* 02739278 */ return;
|
|
L_0273927C: ; // 0x273927c
|
|
/* 0273927C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273927C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02739280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02739284 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739284 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02739284 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02739284 */ goto L_02739288;
|
|
L_02739288: ; // 0x2739288
|
|
/* 02739288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0273928C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273928C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739290 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739290 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739290 */ if (_t13) goto L_02739294; else goto L_0273929C;
|
|
L_02739294: ; // 0x2739294
|
|
/* 02739294 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02739298 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273929C: ; // 0x273929c
|
|
/* 0273929C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273929C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 027392A0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 027392A0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 027392A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027392A8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 027392A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027392AC */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 027392B0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027392B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027392B0 */ if (_t18) goto L_027392C8; else goto L_027392B4;
|
|
L_027392B4: ; // 0x27392b4
|
|
/* 027392B4 */ /* nop */
|
|
/* 027392B8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 027392B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027392BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027392C0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 027392C4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027392C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_027392C8: ; // 0x27392c8
|
|
/* 027392C8 */ cpu->ctr = cpu->r[11];
|
|
/* 027392CC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027392D0 @ 0x27392d0
|
|
void Gambit_fn_027392D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027392D0: ; // 0x27392d0
|
|
/* 027392D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027392D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027392D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027392D4 */ cpu->r[1] = _t0;
|
|
/* 027392D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027392D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027392DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027392E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027392E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027392E4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 027392E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027392E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 027392EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027392F0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 027392F0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 027392F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027392F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027392F4 */ if (_t6) goto L_0273931C; else goto L_027392F8;
|
|
L_027392F8: ; // 0x27392f8
|
|
/* 027392F8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027392F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027392FC */ /* nop */
|
|
/* 02739300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02739304 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739304 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02739304 */ if (_t9) goto L_02739308; else goto L_0273931C;
|
|
L_02739308: ; // 0x2739308
|
|
/* 02739308 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02739308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273930C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273930C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739310 */ cpu->ctr = cpu->r[0];
|
|
/* 02739314 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273931C: ; // 0x273931c
|
|
/* 0273931C */ cpu->r[3] = cpu->r[31];
|
|
/* 02739320 */ Gambit_fn_02739248(cpu);
|
|
/* 02739324 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739328 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273932C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739330 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739334 */ cpu->lr = cpu->r[0];
|
|
/* 02739338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273933C */ return;
|
|
}
|
|
|
|
// fn_027392D4 @ 0x27392d4
|
|
void Gambit_fn_027392D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027392D4: ; // 0x27392d4
|
|
/* 027392D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027392D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027392D4 */ cpu->r[1] = _t0;
|
|
/* 027392D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027392D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027392DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027392E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027392E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027392E4 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 027392E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027392E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 027392EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027392F0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 027392F0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 027392F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027392F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027392F4 */ if (_t6) goto L_0273931C; else goto L_027392F8;
|
|
L_027392F8: ; // 0x27392f8
|
|
/* 027392F8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027392F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027392FC */ /* nop */
|
|
/* 02739300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02739304 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739304 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02739304 */ if (_t9) goto L_02739308; else goto L_0273931C;
|
|
L_02739308: ; // 0x2739308
|
|
/* 02739308 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02739308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273930C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273930C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739310 */ cpu->ctr = cpu->r[0];
|
|
/* 02739314 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273931C: ; // 0x273931c
|
|
/* 0273931C */ cpu->r[3] = cpu->r[31];
|
|
/* 02739320 */ Gambit_fn_02739248(cpu);
|
|
/* 02739324 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739328 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273932C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739330 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739334 */ cpu->lr = cpu->r[0];
|
|
/* 02739338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273933C */ return;
|
|
}
|
|
|
|
// fn_02739340 @ 0x2739340
|
|
void Gambit_fn_02739340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02739340: ; // 0x2739340
|
|
/* 02739340 */ cpu->r[0] = cpu->lr;
|
|
/* 02739344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02739344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739344 */ cpu->r[1] = _t0;
|
|
/* 02739348 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739348 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273934C */ cpu->r[28] = 0x00000000u;
|
|
/* 02739350 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02739350 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739354 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739354 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02739358 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273935C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0273935C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02739360 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739360 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02739364 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 02739364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02739368 */ _t7 = cpu->r[31] + 0x00000060u;
|
|
/* 02739368 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0273936C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02739370 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02739370 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02739374 */ _t9 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02739374 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02739378 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739378 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02739378 */ if (_t11) goto L_0273937C; else goto L_02739440;
|
|
L_0273937C: ; // 0x273937c
|
|
/* 0273937C */ cpu->r[29] = 0x00000000u;
|
|
/* 02739380 */ cpu->r[30] = cpu->r[29];
|
|
L_02739384: ; // 0x2739384
|
|
/* 02739384 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02739384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273938C */ _t13 = cpu->r[31] + 0x00000050u;
|
|
/* 0273938C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739390 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739390 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02739390 */ if (_t15) goto L_02739394; else goto L_02739398;
|
|
L_02739394: ; // 0x2739394
|
|
/* 02739394 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
L_02739398: ; // 0x2739398
|
|
/* 02739398 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 02739398 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0273939C */ _t17 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273939C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027393A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 027393A4 */ _t18 = cpu->r[31] + 0x00000050u;
|
|
/* 027393A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027393A8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393A8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027393A8 */ if (_t20) goto L_027393AC; else goto L_027393B0;
|
|
L_027393AC: ; // 0x27393ac
|
|
/* 027393AC */ cpu->r[8] = cpu->r[8] + cpu->r[29];
|
|
L_027393B0: ; // 0x27393b0
|
|
/* 027393B0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 027393B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 027393B4 */ _t22 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027393B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 027393BC */ _t23 = cpu->r[31] + 0x00000050u;
|
|
/* 027393BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027393C0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027393C0 */ if (_t25) goto L_027393C4; else goto L_027393C8;
|
|
L_027393C4: ; // 0x27393c4
|
|
/* 027393C4 */ cpu->r[9] = cpu->r[9] + cpu->r[29];
|
|
L_027393C8: ; // 0x27393c8
|
|
/* 027393C8 */ cpu->r[5] = 0x00000060u;
|
|
/* 027393CC */ cpu->r[4] = 0x00000000u;
|
|
/* 027393D0 */ cpu->r[3] = cpu->r[9] + 0x00000008u;
|
|
/* 027393D4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 027393D8 */ _t26 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027393DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[11]);
|
|
/* 027393E0 */ _t27 = cpu->r[31] + 0x00000050u;
|
|
/* 027393E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027393E4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027393E4 */ if (_t29) goto L_027393E8; else goto L_027393EC;
|
|
L_027393E8: ; // 0x27393e8
|
|
/* 027393E8 */ cpu->r[11] = cpu->r[11] + cpu->r[29];
|
|
L_027393EC: ; // 0x27393ec
|
|
/* 027393EC */ _t30 = cpu->r[11] + 0x00000068u;
|
|
/* 027393EC */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027393F0 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027393F4 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 027393F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027393F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 027393FC */ _t33 = cpu->r[31] + 0x00000050u;
|
|
/* 027393FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02739400 */ _t34 = cpu->r[31] + 0x00000054u;
|
|
/* 02739400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02739404 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739404 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02739404 */ if (_t36) goto L_02739408; else goto L_0273940C;
|
|
L_02739408: ; // 0x2739408
|
|
/* 02739408 */ cpu->r[12] = cpu->r[12] + cpu->r[29];
|
|
L_0273940C: ; // 0x273940c
|
|
/* 0273940C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]);
|
|
/* 02739410 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739410 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02739410 */ if (_t38) goto L_02739414; else goto L_0273942C;
|
|
L_02739414: ; // 0x2739414
|
|
/* 02739414 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02739414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02739418 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273941C */ _t40 = cpu->r[10] + cpu->r[0];
|
|
/* 0273941C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02739420 */ _t41 = cpu->r[31] + 0x00000054u;
|
|
/* 02739420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02739424 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02739428 */ _t42 = cpu->r[31] + 0x00000054u;
|
|
/* 02739428 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
L_0273942C: ; // 0x273942c
|
|
/* 0273942C */ _t43 = cpu->r[31] + 0x00000048u;
|
|
/* 0273942C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02739430 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02739434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02739438 */ cpu->r[29] = cpu->r[29] + 0x0000006Cu;
|
|
/* 0273943C */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273943C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0273943C */ if (_t45) goto L_02739384; else goto L_02739440;
|
|
L_02739440: ; // 0x2739440
|
|
/* 02739440 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02739440 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02739444 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02739448 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273944C */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 0273944C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02739450 */ cpu->lr = cpu->r[0];
|
|
/* 02739454 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02739454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02739458 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273945C */ return;
|
|
}
|
|
|
|
// fn_02739344 @ 0x2739344
|
|
void Gambit_fn_02739344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02739344: ; // 0x2739344
|
|
/* 02739344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02739344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739344 */ cpu->r[1] = _t0;
|
|
/* 02739348 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739348 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273934C */ cpu->r[28] = 0x00000000u;
|
|
/* 02739350 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02739350 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739354 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739354 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02739358 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273935C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0273935C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02739360 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739360 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02739364 */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 02739364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02739368 */ _t7 = cpu->r[31] + 0x00000060u;
|
|
/* 02739368 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0273936C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02739370 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02739370 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02739374 */ _t9 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02739374 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02739378 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739378 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02739378 */ if (_t11) goto L_0273937C; else goto L_02739440;
|
|
L_0273937C: ; // 0x273937c
|
|
/* 0273937C */ cpu->r[29] = 0x00000000u;
|
|
/* 02739380 */ cpu->r[30] = cpu->r[29];
|
|
L_02739384: ; // 0x2739384
|
|
/* 02739384 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02739384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273938C */ _t13 = cpu->r[31] + 0x00000050u;
|
|
/* 0273938C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739390 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739390 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02739390 */ if (_t15) goto L_02739394; else goto L_02739398;
|
|
L_02739394: ; // 0x2739394
|
|
/* 02739394 */ cpu->r[10] = cpu->r[10] + cpu->r[29];
|
|
L_02739398: ; // 0x2739398
|
|
/* 02739398 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 02739398 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0273939C */ _t17 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273939C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027393A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 027393A4 */ _t18 = cpu->r[31] + 0x00000050u;
|
|
/* 027393A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027393A8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393A8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027393A8 */ if (_t20) goto L_027393AC; else goto L_027393B0;
|
|
L_027393AC: ; // 0x27393ac
|
|
/* 027393AC */ cpu->r[8] = cpu->r[8] + cpu->r[29];
|
|
L_027393B0: ; // 0x27393b0
|
|
/* 027393B0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 027393B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 027393B4 */ _t22 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027393B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 027393BC */ _t23 = cpu->r[31] + 0x00000050u;
|
|
/* 027393BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027393C0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027393C0 */ if (_t25) goto L_027393C4; else goto L_027393C8;
|
|
L_027393C4: ; // 0x27393c4
|
|
/* 027393C4 */ cpu->r[9] = cpu->r[9] + cpu->r[29];
|
|
L_027393C8: ; // 0x27393c8
|
|
/* 027393C8 */ cpu->r[5] = 0x00000060u;
|
|
/* 027393CC */ cpu->r[4] = 0x00000000u;
|
|
/* 027393D0 */ cpu->r[3] = cpu->r[9] + 0x00000008u;
|
|
/* 027393D4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 027393D8 */ _t26 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027393DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[11]);
|
|
/* 027393E0 */ _t27 = cpu->r[31] + 0x00000050u;
|
|
/* 027393E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027393E4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027393E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027393E4 */ if (_t29) goto L_027393E8; else goto L_027393EC;
|
|
L_027393E8: ; // 0x27393e8
|
|
/* 027393E8 */ cpu->r[11] = cpu->r[11] + cpu->r[29];
|
|
L_027393EC: ; // 0x27393ec
|
|
/* 027393EC */ _t30 = cpu->r[11] + 0x00000068u;
|
|
/* 027393EC */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027393F0 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027393F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027393F4 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 027393F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027393F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 027393FC */ _t33 = cpu->r[31] + 0x00000050u;
|
|
/* 027393FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02739400 */ _t34 = cpu->r[31] + 0x00000054u;
|
|
/* 02739400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02739404 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739404 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02739404 */ if (_t36) goto L_02739408; else goto L_0273940C;
|
|
L_02739408: ; // 0x2739408
|
|
/* 02739408 */ cpu->r[12] = cpu->r[12] + cpu->r[29];
|
|
L_0273940C: ; // 0x273940c
|
|
/* 0273940C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]);
|
|
/* 02739410 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739410 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02739410 */ if (_t38) goto L_02739414; else goto L_0273942C;
|
|
L_02739414: ; // 0x2739414
|
|
/* 02739414 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02739414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02739418 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273941C */ _t40 = cpu->r[10] + cpu->r[0];
|
|
/* 0273941C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02739420 */ _t41 = cpu->r[31] + 0x00000054u;
|
|
/* 02739420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02739424 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02739428 */ _t42 = cpu->r[31] + 0x00000054u;
|
|
/* 02739428 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
L_0273942C: ; // 0x273942c
|
|
/* 0273942C */ _t43 = cpu->r[31] + 0x00000048u;
|
|
/* 0273942C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02739430 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02739434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02739438 */ cpu->r[29] = cpu->r[29] + 0x0000006Cu;
|
|
/* 0273943C */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273943C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0273943C */ if (_t45) goto L_02739384; else goto L_02739440;
|
|
L_02739440: ; // 0x2739440
|
|
/* 02739440 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02739440 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02739444 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02739448 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273944C */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 0273944C */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02739450 */ cpu->lr = cpu->r[0];
|
|
/* 02739454 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02739454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02739458 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273945C */ return;
|
|
}
|
|
|
|
// fn_02739460 @ 0x2739460
|
|
void Gambit_fn_02739460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02739460: ; // 0x2739460
|
|
/* 02739460 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02739460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739460 */ cpu->r[1] = _t0;
|
|
/* 02739464 */ cpu->r[0] = cpu->lr;
|
|
/* 02739468 */ /* nop */
|
|
/* 0273946C */ cpu->r[31] = cpu->r[3];
|
|
/* 0273946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02739470 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02739470 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02739474 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739474 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02739474 */ if (_t3) goto L_02739478; else goto L_02739488;
|
|
L_02739478: ; // 0x2739478
|
|
/* 02739478 */ cpu->r[3] = 0x00000088u;
|
|
/* 0273947C */ Gambit_fn_02801A78(cpu);
|
|
/* 02739480 */ cpu->r[31] = cpu->r[3];
|
|
/* 02739480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02739484 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739484 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02739484 */ if (_t5) goto L_027399FC; else goto L_02739488;
|
|
L_02739488: ; // 0x2739488
|
|
/* 02739488 */ cpu->r[30] = cpu->r[31] + 0x00000010u;
|
|
/* 02739488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273948C */ cpu->r[28] = 0x00000000u;
|
|
/* 02739490 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739490 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02739490 */ if (_t7) goto L_02739494; else goto L_027394A4;
|
|
L_02739494: ; // 0x2739494
|
|
/* 02739494 */ cpu->r[3] = 0x00000038u;
|
|
/* 02739498 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273949C */ cpu->r[30] = cpu->r[3];
|
|
/* 0273949C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027394A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027394A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027394A0 */ if (_t9) goto L_027394D4; else goto L_027394A4;
|
|
L_027394A4: ; // 0x27394a4
|
|
/* 027394A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027394A8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 027394AC */ cpu->r[0] = 0x10100000u;
|
|
/* 027394B0 */ _t10 = cpu->r[30] + 0x00000030u;
|
|
/* 027394B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 027394B4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8084u;
|
|
/* 027394B8 */ _t11 = cpu->r[30] + 0x00000034u;
|
|
/* 027394B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 027394BC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 027394BC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027394C0 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 027394C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 027394C4 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 027394C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 027394C8 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027394C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 027394CC */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027394CC */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 027394D0 */ _t17 = cpu->r[30] + 0x00000020u;
|
|
/* 027394D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
L_027394D4: ; // 0x27394d4
|
|
/* 027394D4 */ cpu->r[3] = cpu->r[31] + 0x0000004Cu;
|
|
/* 027394D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027394D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027394D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027394D8 */ if (_t19) goto L_027394DC; else goto L_027394EC;
|
|
L_027394DC: ; // 0x27394dc
|
|
/* 027394DC */ cpu->r[3] = 0x00000008u;
|
|
/* 027394E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027394E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027394E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027394E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027394E8 */ if (_t21) goto L_027394F4; else goto L_027394EC;
|
|
L_027394EC: ; // 0x27394ec
|
|
/* 027394EC */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 027394EC */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 027394F0 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 027394F0 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
L_027394F4: ; // 0x27394f4
|
|
/* 027394F4 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 027394F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027394F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027394F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027394F8 */ if (_t25) goto L_027394FC; else goto L_0273950C;
|
|
L_027394FC: ; // 0x27394fc
|
|
/* 027394FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02739500 */ Gambit_fn_02801A78(cpu);
|
|
/* 02739504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739508 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739508 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02739508 */ if (_t27) goto L_02739530; else goto L_0273950C;
|
|
L_0273950C: ; // 0x273950c
|
|
/* 0273950C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739510 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739510 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02739510 */ if (_t29) goto L_02739514; else goto L_02739524;
|
|
L_02739514: ; // 0x2739514
|
|
/* 02739514 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02739518 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273951C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739520 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739520 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02739520 */ if (_t31) goto L_02739530; else goto L_02739524;
|
|
L_02739524: ; // 0x2739524
|
|
/* 02739524 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 02739524 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02739528 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02739528 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 0273952C */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 0273952C */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
L_02739530: ; // 0x2739530
|
|
/* 02739530 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02739530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739534 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739534 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02739534 */ if (_t36) goto L_02739538; else goto L_02739548;
|
|
L_02739538: ; // 0x2739538
|
|
/* 02739538 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273953C */ Gambit_fn_02801A78(cpu);
|
|
/* 02739540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739544 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739544 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02739544 */ if (_t38) goto L_0273956C; else goto L_02739548;
|
|
L_02739548: ; // 0x2739548
|
|
/* 02739548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273954C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273954C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273954C */ if (_t40) goto L_02739550; else goto L_02739560;
|
|
L_02739550: ; // 0x2739550
|
|
/* 02739550 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02739554 */ Gambit_fn_02801A78(cpu);
|
|
/* 02739558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273955C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273955C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0273955C */ if (_t42) goto L_0273956C; else goto L_02739560;
|
|
L_02739560: ; // 0x2739560
|
|
/* 02739560 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 02739560 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 02739564 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 02739564 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 02739568 */ _t45 = cpu->r[3] + 0x00000008u;
|
|
/* 02739568 */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
L_0273956C: ; // 0x273956c
|
|
/* 0273956C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0273956C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739570 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739570 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02739570 */ if (_t47) goto L_02739574; else goto L_02739584;
|
|
L_02739574: ; // 0x2739574
|
|
/* 02739574 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02739578 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273957C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739580 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739580 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02739580 */ if (_t49) goto L_027395A8; else goto L_02739584;
|
|
L_02739584: ; // 0x2739584
|
|
/* 02739584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739588 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739588 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02739588 */ if (_t51) goto L_0273958C; else goto L_0273959C;
|
|
L_0273958C: ; // 0x273958c
|
|
/* 0273958C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02739590 */ Gambit_fn_02801A78(cpu);
|
|
/* 02739594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739598 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739598 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02739598 */ if (_t53) goto L_027395A8; else goto L_0273959C;
|
|
L_0273959C: ; // 0x273959c
|
|
/* 0273959C */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 0273959C */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 027395A0 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 027395A0 */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
/* 027395A4 */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 027395A4 */ rbrew_write32(cpu->mem, _t56, cpu->r[28]);
|
|
L_027395A8: ; // 0x27395a8
|
|
/* 027395A8 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
|
|
/* 027395A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395AC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395AC */ _t58 = _t57 & 0x00000001u;
|
|
/* 027395AC */ if (_t58) goto L_027395B0; else goto L_027395C0;
|
|
L_027395B0: ; // 0x27395b0
|
|
/* 027395B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027395B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027395B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395BC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395BC */ _t60 = _t59 & 0x00000001u;
|
|
/* 027395BC */ if (_t60) goto L_027395E4; else goto L_027395C0;
|
|
L_027395C0: ; // 0x27395c0
|
|
/* 027395C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395C4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395C4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027395C4 */ if (_t62) goto L_027395C8; else goto L_027395D8;
|
|
L_027395C8: ; // 0x27395c8
|
|
/* 027395C8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027395CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027395D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395D4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395D4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027395D4 */ if (_t64) goto L_027395E4; else goto L_027395D8;
|
|
L_027395D8: ; // 0x27395d8
|
|
/* 027395D8 */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 027395D8 */ rbrew_write32(cpu->mem, _t65, cpu->r[28]);
|
|
/* 027395DC */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 027395DC */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 027395E0 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 027395E0 */ rbrew_write32(cpu->mem, _t67, cpu->r[28]);
|
|
L_027395E4: ; // 0x27395e4
|
|
/* 027395E4 */ cpu->r[3] = cpu->r[31] + 0x00000084u;
|
|
/* 027395E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395E8 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395E8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027395E8 */ if (_t69) goto L_027395EC; else goto L_027395FC;
|
|
L_027395EC: ; // 0x27395ec
|
|
/* 027395EC */ cpu->r[3] = 0x00000002u;
|
|
/* 027395F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027395F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027395F8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027395F8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 027395F8 */ if (_t71) goto L_02739600; else goto L_027395FC;
|
|
L_027395FC: ; // 0x27395fc
|
|
/* 027395FC */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 027395FC */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[28]);
|
|
L_02739600: ; // 0x2739600
|
|
/* 02739600 */ cpu->r[0] = 0x00000003u;
|
|
/* 02739604 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02739608 */ cpu->r[4] = cpu->r[31];
|
|
/* 0273960C */ cpu->r[6] = 0x00000000u;
|
|
/* 02739610 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02739614 */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 02739614 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[0]);
|
|
/* 02739618 */ Gambit_fn_0273A3C0(cpu);
|
|
/* 0273961C */ cpu->r[25] = 0x100F0000u;
|
|
/* 02739620 */ cpu->r[26] = 0x02740000u;
|
|
/* 02739624 */ cpu->r[25] = cpu->r[25] + 0x00007FD8u;
|
|
/* 02739628 */ cpu->r[5] = 0x10100000u;
|
|
/* 0273962C */ cpu->r[26] = cpu->r[26] + 0xFFFFA324u;
|
|
/* 02739630 */ cpu->r[5] = cpu->r[5] + 0xFFFF8038u;
|
|
/* 02739634 */ cpu->ctr = cpu->r[26];
|
|
/* 02739638 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739638 */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
|
|
/* 0273963C */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 0273963C */ rbrew_write32(cpu->mem, _t75, cpu->r[25]);
|
|
/* 02739640 */ _t76 = cpu->r[31] + 0x00000028u;
|
|
/* 02739640 */ cpu->r[24] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02739644 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739648 */ _t77 = cpu->r[24] + 0x00000000u;
|
|
/* 02739648 */ cpu->r[27] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0273964C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739650 */ cpu->r[29] = 0x10110000u;
|
|
/* 02739654 */ _t78 = cpu->r[29] + 0x00007399u;
|
|
/* 02739654 */ cpu->r[29] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02739658 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739658 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0273965C */ _t80 = cpu->r[8] + 0x00000000u;
|
|
/* 0273965C */ cpu->r[6] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02739660 */ cpu->r[30] = 0x00000000u;
|
|
/* 02739664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02739668 */ cpu->r[0] = 0x00080000u;
|
|
/* 0273966C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273966C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0273966C */ if (_t82) goto L_02739694; else goto L_02739670;
|
|
L_02739670: ; // 0x2739670
|
|
/* 02739670 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02739674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02739678 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273967C */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273967C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0273967C */ if (_t84) goto L_02739690; else goto L_02739680;
|
|
L_02739680: ; // 0x2739680
|
|
/* 02739680 */ _t85 = cpu->r[8] + 0x00000000u;
|
|
/* 02739680 */ cpu->r[9] = rbrew_read8(cpu->mem, _t85);
|
|
/* 02739684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 02739688 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739688 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02739688 */ if (_t87) goto L_0273968C; else goto L_02739670;
|
|
L_0273968C: ; // 0x273968c
|
|
/* 0273968C */ goto L_02739694;
|
|
L_02739690: ; // 0x2739690
|
|
/* 02739690 */ cpu->r[30] = 0x00000000u;
|
|
L_02739694: ; // 0x2739694
|
|
/* 02739694 */ _t88 = cpu->r[24] + 0x00000008u;
|
|
/* 02739694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02739698 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 02739698 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0273969C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027396A0 */ _t90 = cpu->r[10] + 0x00000014u;
|
|
/* 027396A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027396A4 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027396A4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027396A4 */ if (_t92) goto L_027396AC; else goto L_027396A8;
|
|
L_027396A8: ; // 0x27396a8
|
|
/* 027396A8 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_027396AC: ; // 0x27396ac
|
|
/* 027396AC */ cpu->ctr = cpu->r[0];
|
|
/* 027396B0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027396B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027396B8 */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027396B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027396BC */ cpu->r[6] = 0x00000000u;
|
|
/* 027396C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027396C4 */ cpu->r[3] = cpu->r[27];
|
|
/* 027396C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027396CC */ cpu->r[12] = 0x02740000u;
|
|
/* 027396D0 */ _t94 = cpu->r[27] + cpu->r[30];
|
|
/* 027396D0 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[29]);
|
|
/* 027396D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFA3BCu;
|
|
/* 027396D8 */ _t95 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027396D8 */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[28]);
|
|
/* 027396DC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027396E0 */ _t96 = cpu->r[1] + 0x00000016u;
|
|
/* 027396E0 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[28]);
|
|
/* 027396E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 027396E8 */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 027396E8 */ rbrew_write32(cpu->mem, _t97, cpu->r[12]);
|
|
/* 027396EC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 027396F0 */ _t98 = cpu->r[1] + 0x00000024u;
|
|
/* 027396F0 */ rbrew_write16(cpu->mem, _t98, (uint16_t)cpu->r[28]);
|
|
/* 027396F4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 027396F8 */ _t99 = cpu->r[1] + 0x00000018u;
|
|
/* 027396F8 */ rbrew_write32(cpu->mem, _t99, cpu->r[28]);
|
|
/* 027396FC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739700 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 02739700 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[28]);
|
|
/* 02739704 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02739708 */ _t101 = cpu->r[1] + 0x00000028u;
|
|
/* 02739708 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]);
|
|
/* 0273970C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02739710 */ _t102 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02739710 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[0]);
|
|
/* 02739714 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02739714 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[10]);
|
|
/* 02739718 */ _t104 = cpu->r[1] + 0x00000026u;
|
|
/* 02739718 */ rbrew_write16(cpu->mem, _t104, (uint16_t)cpu->r[28]);
|
|
/* 0273971C */ Gambit_fn_0273A670(cpu);
|
|
/* 02739720 */ cpu->r[0] = 0x10100000u;
|
|
/* 02739724 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02739724 */ rbrew_write32(cpu->mem, _t105, cpu->r[25]);
|
|
/* 02739728 */ cpu->r[0] = cpu->r[0] + 0xFFFF8048u;
|
|
/* 0273972C */ _t106 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273972C */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
/* 02739730 */ _t107 = cpu->r[31] + 0x00000024u;
|
|
/* 02739730 */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02739734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
|
|
/* 02739738 */ _t108 = cpu->r[31] + 0x00000028u;
|
|
/* 02739738 */ cpu->r[27] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0273973C */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273973C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0273973C */ if (_t110) goto L_02739740; else goto L_02739744;
|
|
L_02739740: ; // 0x2739740
|
|
/* 02739740 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_02739744: ; // 0x2739744
|
|
/* 02739744 */ cpu->ctr = cpu->r[26];
|
|
/* 02739748 */ _t111 = cpu->r[27] + 0x00000000u;
|
|
/* 02739748 */ cpu->r[24] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0273974C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739754 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739754 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02739758 */ _t113 = cpu->r[9] + 0x00000000u;
|
|
/* 02739758 */ cpu->r[6] = rbrew_read8(cpu->mem, _t113);
|
|
/* 0273975C */ cpu->r[30] = 0x00000000u;
|
|
/* 02739760 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02739764 */ cpu->r[10] = 0x00080000u;
|
|
/* 02739768 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739768 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02739768 */ if (_t115) goto L_02739790; else goto L_0273976C;
|
|
L_0273976C: ; // 0x273976c
|
|
/* 0273976C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02739770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02739774 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02739778 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739778 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02739778 */ if (_t117) goto L_0273978C; else goto L_0273977C;
|
|
L_0273977C: ; // 0x273977c
|
|
/* 0273977C */ _t118 = cpu->r[9] + 0x00000000u;
|
|
/* 0273977C */ cpu->r[7] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02739780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02739784 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739784 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02739784 */ if (_t120) goto L_02739788; else goto L_0273976C;
|
|
L_02739788: ; // 0x2739788
|
|
/* 02739788 */ goto L_02739790;
|
|
L_0273978C: ; // 0x273978c
|
|
/* 0273978C */ cpu->r[30] = 0x00000000u;
|
|
L_02739790: ; // 0x2739790
|
|
/* 02739790 */ _t121 = cpu->r[27] + 0x00000008u;
|
|
/* 02739790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02739794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02739798 */ _t122 = cpu->r[1] + 0x00000010u;
|
|
/* 02739798 */ cpu->r[8] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0273979C */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273979C */ _t124 = _t123 & 0x00000001u;
|
|
/* 0273979C */ if (_t124) goto L_027397A4; else goto L_027397A0;
|
|
L_027397A0: ; // 0x27397a0
|
|
/* 027397A0 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_027397A4: ; // 0x27397a4
|
|
/* 027397A4 */ _t125 = cpu->r[8] + 0x00000014u;
|
|
/* 027397A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027397A8 */ cpu->ctr = cpu->r[9];
|
|
/* 027397AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027397B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027397B4 */ _t126 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027397B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t126);
|
|
/* 027397B8 */ cpu->r[3] = cpu->r[24];
|
|
/* 027397BC */ cpu->r[5] = cpu->r[30];
|
|
/* 027397C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027397C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027397C8 */ _t127 = cpu->r[24] + cpu->r[30];
|
|
/* 027397C8 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[29]);
|
|
/* 027397CC */ cpu->r[0] = 0x00000001u;
|
|
/* 027397D0 */ _t128 = cpu->r[1] + 0x0000001Eu;
|
|
/* 027397D0 */ rbrew_write16(cpu->mem, _t128, (uint16_t)cpu->r[28]);
|
|
/* 027397D4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 027397D8 */ _t129 = cpu->r[1] + 0x00000024u;
|
|
/* 027397D8 */ rbrew_write16(cpu->mem, _t129, (uint16_t)cpu->r[28]);
|
|
/* 027397DC */ cpu->r[10] = 0x02740000u;
|
|
/* 027397E0 */ _t130 = cpu->r[1] + 0x00000016u;
|
|
/* 027397E0 */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[8]);
|
|
/* 027397E4 */ _t131 = cpu->r[1] + 0x00000020u;
|
|
/* 027397E4 */ rbrew_write32(cpu->mem, _t131, cpu->r[28]);
|
|
/* 027397E8 */ cpu->r[10] = cpu->r[10] + 0xFFFF9E4Cu;
|
|
/* 027397EC */ _t132 = cpu->r[1] + 0x00000008u;
|
|
/* 027397EC */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[0]);
|
|
/* 027397F0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027397F4 */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 027397F4 */ rbrew_write32(cpu->mem, _t133, cpu->r[28]);
|
|
/* 027397F8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 027397FC */ _t134 = cpu->r[1] + 0x00000018u;
|
|
/* 027397FC */ rbrew_write32(cpu->mem, _t134, cpu->r[10]);
|
|
/* 02739800 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739804 */ _t135 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739804 */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[28]);
|
|
/* 02739808 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273980C */ _t136 = cpu->r[1] + 0x00000026u;
|
|
/* 0273980C */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[28]);
|
|
/* 02739810 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02739814 */ _t137 = cpu->r[1] + 0x00000014u;
|
|
/* 02739814 */ rbrew_write16(cpu->mem, _t137, (uint16_t)cpu->r[28]);
|
|
/* 02739818 */ Gambit_fn_0273A670(cpu);
|
|
/* 0273981C */ cpu->r[11] = 0x10100000u;
|
|
/* 02739820 */ _t138 = cpu->r[1] + 0x00000010u;
|
|
/* 02739820 */ rbrew_write32(cpu->mem, _t138, cpu->r[25]);
|
|
/* 02739824 */ cpu->r[11] = cpu->r[11] + 0xFFFF805Cu;
|
|
/* 02739828 */ _t139 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739828 */ rbrew_write32(cpu->mem, _t139, cpu->r[11]);
|
|
/* 0273982C */ _t140 = cpu->r[31] + 0x00000024u;
|
|
/* 0273982C */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02739830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02739834 */ _t141 = cpu->r[31] + 0x00000028u;
|
|
/* 02739834 */ cpu->r[30] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02739838 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739838 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02739838 */ if (_t143) goto L_0273983C; else goto L_02739840;
|
|
L_0273983C: ; // 0x273983c
|
|
/* 0273983C */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_02739840: ; // 0x2739840
|
|
/* 02739840 */ cpu->ctr = cpu->r[26];
|
|
/* 02739844 */ _t144 = cpu->r[30] + 0x00000000u;
|
|
/* 02739844 */ cpu->r[25] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02739848 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273984C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739850 */ _t145 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02739854 */ _t146 = cpu->r[8] + 0x00000000u;
|
|
/* 02739854 */ cpu->r[0] = rbrew_read8(cpu->mem, _t146);
|
|
/* 02739858 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273985C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02739860 */ cpu->r[11] = 0x00080000u;
|
|
/* 02739864 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739864 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02739864 */ if (_t148) goto L_0273988C; else goto L_02739868;
|
|
L_02739868: ; // 0x2739868
|
|
/* 02739868 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273986C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 02739870 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02739874 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739874 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02739874 */ if (_t150) goto L_02739888; else goto L_02739878;
|
|
L_02739878: ; // 0x2739878
|
|
/* 02739878 */ _t151 = cpu->r[8] + 0x00000000u;
|
|
/* 02739878 */ cpu->r[5] = rbrew_read8(cpu->mem, _t151);
|
|
/* 0273987C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[29]);
|
|
/* 02739880 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739880 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02739880 */ if (_t153) goto L_02739884; else goto L_02739868;
|
|
L_02739884: ; // 0x2739884
|
|
/* 02739884 */ goto L_0273988C;
|
|
L_02739888: ; // 0x2739888
|
|
/* 02739888 */ cpu->r[27] = 0x00000000u;
|
|
L_0273988C: ; // 0x273988c
|
|
/* 0273988C */ _t154 = cpu->r[30] + 0x00000008u;
|
|
/* 0273988C */ cpu->r[11] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02739890 */ _t155 = cpu->r[1] + 0x00000010u;
|
|
/* 02739890 */ cpu->r[6] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02739894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 02739898 */ _t156 = cpu->r[6] + 0x00000014u;
|
|
/* 02739898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0273989C */ _t157 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273989C */ _t158 = _t157 & 0x00000001u;
|
|
/* 0273989C */ if (_t158) goto L_027398A4; else goto L_027398A0;
|
|
L_027398A0: ; // 0x27398a0
|
|
/* 027398A0 */ cpu->r[27] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_027398A4: ; // 0x27398a4
|
|
/* 027398A4 */ cpu->ctr = cpu->r[0];
|
|
/* 027398A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027398AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027398B0 */ _t159 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027398B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t159);
|
|
/* 027398B4 */ cpu->r[3] = cpu->r[25];
|
|
/* 027398B8 */ cpu->r[5] = cpu->r[27];
|
|
/* 027398BC */ cpu->r[6] = 0x00000000u;
|
|
/* 027398C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027398C4 */ _t160 = cpu->r[25] + cpu->r[27];
|
|
/* 027398C4 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[29]);
|
|
/* 027398C8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027398CC */ _t161 = cpu->r[1] + 0x00000020u;
|
|
/* 027398CC */ rbrew_write32(cpu->mem, _t161, cpu->r[28]);
|
|
/* 027398D0 */ cpu->r[9] = 0x02740000u;
|
|
/* 027398D4 */ _t162 = cpu->r[1] + 0x00000016u;
|
|
/* 027398D4 */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[0]);
|
|
/* 027398D8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027398DC */ _t163 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027398DC */ rbrew_write16(cpu->mem, _t163, (uint16_t)cpu->r[28]);
|
|
/* 027398E0 */ cpu->r[9] = cpu->r[9] + 0xFFFFA070u;
|
|
/* 027398E4 */ _t164 = cpu->r[1] + 0x00000024u;
|
|
/* 027398E4 */ rbrew_write16(cpu->mem, _t164, (uint16_t)cpu->r[28]);
|
|
/* 027398E8 */ _t165 = cpu->r[1] + 0x00000014u;
|
|
/* 027398E8 */ rbrew_write16(cpu->mem, _t165, (uint16_t)cpu->r[28]);
|
|
/* 027398EC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027398F0 */ _t166 = cpu->r[1] + 0x00000028u;
|
|
/* 027398F0 */ rbrew_write32(cpu->mem, _t166, cpu->r[28]);
|
|
/* 027398F4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 027398F8 */ _t167 = cpu->r[1] + 0x00000026u;
|
|
/* 027398F8 */ rbrew_write16(cpu->mem, _t167, (uint16_t)cpu->r[28]);
|
|
/* 027398FC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02739900 */ _t168 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02739900 */ rbrew_write16(cpu->mem, _t168, (uint16_t)cpu->r[28]);
|
|
/* 02739904 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02739908 */ _t169 = cpu->r[1] + 0x00000018u;
|
|
/* 02739908 */ rbrew_write32(cpu->mem, _t169, cpu->r[9]);
|
|
/* 0273990C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02739910 */ _t170 = cpu->r[1] + 0x00000008u;
|
|
/* 02739910 */ rbrew_write8(cpu->mem, _t170, (uint8_t)cpu->r[0]);
|
|
/* 02739914 */ Gambit_fn_0273A670(cpu);
|
|
/* 02739918 */ _t171 = cpu->r[31] + 0x0000001Eu;
|
|
/* 02739918 */ cpu->r[4] = rbrew_read8(cpu->mem, _t171);
|
|
/* 0273991C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02739920 */ /* nop */
|
|
/* 02739924 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02739928 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0273992C */ Gambit_fn_0273A6F8(cpu);
|
|
/* 02739930 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02739934 */ _t172 = cpu->r[3] + 0xFFFF93D8u;
|
|
/* 02739934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02739938 */ _t173 = cpu->r[3] + 0x00000000u;
|
|
/* 02739938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0273993C */ _t174 = cpu->r[8] + 0x00000024u;
|
|
/* 0273993C */ cpu->r[12] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02739940 */ cpu->ctr = cpu->r[12];
|
|
/* 02739944 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739948 */ cpu->r[30] = cpu->r[3];
|
|
/* 02739948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273994C */ _t175 = cpu->r[31] + 0x00000048u;
|
|
/* 0273994C */ rbrew_write32(cpu->mem, _t175, cpu->r[30]);
|
|
/* 02739950 */ _t176 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739950 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02739950 */ if (_t177) goto L_02739954; else goto L_0273999C;
|
|
L_02739954: ; // 0x2739954
|
|
/* 02739954 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02739958 */ _t178 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02739958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0273995C */ Gambit_fn_02826F20(cpu);
|
|
/* 02739960 */ _t179 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02739960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02739964 */ _t180 = cpu->r[11] + 0x00000034u;
|
|
/* 02739964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02739968 */ cpu->ctr = cpu->r[0];
|
|
/* 0273996C */ cpu->r[5] = 0x00000004u;
|
|
/* 02739970 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000006Cu);
|
|
/* 02739974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273997C */ cpu->r[10] = cpu->r[30];
|
|
/* 02739980 */ _t181 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739980 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02739980 */ if (_t182) goto L_02739988; else goto L_02739984;
|
|
L_02739984: ; // 0x2739984
|
|
/* 02739984 */ cpu->r[10] = 0x00000001u;
|
|
L_02739988: ; // 0x2739988
|
|
/* 02739988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273998C */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273998C */ _t184 = _t183 & 0x00000001u;
|
|
/* 0273998C */ if (_t184) goto L_02739998; else goto L_02739990;
|
|
L_02739990: ; // 0x2739990
|
|
/* 02739990 */ _t185 = cpu->r[31] + 0x00000050u;
|
|
/* 02739990 */ rbrew_write32(cpu->mem, _t185, cpu->r[3]);
|
|
/* 02739994 */ _t186 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02739994 */ rbrew_write32(cpu->mem, _t186, cpu->r[30]);
|
|
L_02739998: ; // 0x2739998
|
|
/* 02739998 */ _t187 = cpu->r[31] + 0x00000048u;
|
|
/* 02739998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t187);
|
|
L_0273999C: ; // 0x273999c
|
|
/* 0273999C */ cpu->r[6] = 0x00000004u;
|
|
/* 027399A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027399A4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027399A8 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 027399AC */ Gambit_fn_028023CC(cpu);
|
|
/* 027399B0 */ _t188 = cpu->r[31] + 0x00000048u;
|
|
/* 027399B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 027399B4 */ cpu->r[6] = 0x00000004u;
|
|
/* 027399B8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027399BC */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 027399C0 */ Gambit_fn_028023CC(cpu);
|
|
/* 027399C4 */ _t189 = cpu->r[31] + 0x00000048u;
|
|
/* 027399C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027399C8 */ cpu->r[6] = 0x00000004u;
|
|
/* 027399CC */ cpu->r[5] = 0x00000000u;
|
|
/* 027399D0 */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 027399D4 */ Gambit_fn_028023CC(cpu);
|
|
/* 027399D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027399DC */ Gambit_fn_02739340(cpu);
|
|
/* 027399E0 */ cpu->r[6] = 0x00000004u;
|
|
/* 027399E4 */ cpu->r[5] = 0x00000000u;
|
|
/* 027399E8 */ cpu->r[3] = cpu->r[31] + 0x00000078u;
|
|
/* 027399EC */ cpu->r[4] = 0x00000064u;
|
|
/* 027399F0 */ Gambit_fn_028023CC(cpu);
|
|
/* 027399F4 */ _t190 = cpu->r[31] + 0x00000084u;
|
|
/* 027399F4 */ rbrew_write16(cpu->mem, _t190, (uint16_t)cpu->r[28]);
|
|
/* 027399F8 */ _t191 = cpu->r[31] + 0x00000078u;
|
|
/* 027399F8 */ rbrew_write32(cpu->mem, _t191, cpu->r[28]);
|
|
L_027399FC: ; // 0x27399fc
|
|
/* 027399FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02739A00 */ /* nop */
|
|
/* 02739A04 */ _t192 = cpu->r[1] + 0x00000054u;
|
|
/* 02739A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02739A08 */ cpu->lr = cpu->r[0];
|
|
/* 02739A0C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02739A10 */ return;
|
|
}
|
|
|
|
// fn_02739A14 @ 0x2739a14
|
|
void Gambit_fn_02739A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02739A14: ; // 0x2739a14
|
|
/* 02739A14 */ cpu->r[0] = cpu->lr;
|
|
/* 02739A18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02739A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739A18 */ cpu->r[1] = _t0;
|
|
/* 02739A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02739A20 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02739A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02739A24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739A24 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02739A28 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739A28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02739A2C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02739A30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02739A34 */ _t5 = cpu->r[29] + 0xFFFF8800u;
|
|
/* 02739A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02739A34 */ cpu->r[29] = _t5;
|
|
/* 02739A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739A3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02739A3C */ if (_t7) goto L_02739A40; else goto L_02739A8C;
|
|
L_02739A40: ; // 0x2739a40
|
|
/* 02739A40 */ cpu->r[4] = cpu->r[30];
|
|
/* 02739A44 */ cpu->r[3] = 0x00000088u;
|
|
/* 02739A48 */ cpu->r[5] = 0x00000004u;
|
|
/* 02739A4C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02739A50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02739A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02739A54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02739A54 */ if (_t9) goto L_02739A74; else goto L_02739A58;
|
|
L_02739A58: ; // 0x2739a58
|
|
/* 02739A58 */ cpu->r[5] = 0x00000003u;
|
|
/* 02739A5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02739A60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739A64 */ Gambit_fn_02821D88(cpu);
|
|
/* 02739A68 */ cpu->r[0] = 0x10100000u;
|
|
/* 02739A6C */ cpu->r[0] = cpu->r[0] + 0xFFFF8074u;
|
|
/* 02739A70 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02739A70 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02739A74: ; // 0x2739a74
|
|
/* 02739A74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02739A78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739A7C */ _t11 = cpu->r[12] + 0xFFFF8804u;
|
|
/* 02739A7C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02739A80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739A80 */ if (_t13) goto L_02739A88; else goto L_02739A84;
|
|
L_02739A84: ; // 0x2739a84
|
|
/* 02739A84 */ Gambit_fn_02739460(cpu);
|
|
L_02739A88: ; // 0x2739a88
|
|
/* 02739A88 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02739A88 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_02739A8C: ; // 0x2739a8c
|
|
/* 02739A8C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739A8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02739A90 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02739A94 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02739A94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02739A98 */ cpu->lr = cpu->r[0];
|
|
/* 02739A9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02739A9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02739AA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02739AA4 */ return;
|
|
}
|
|
|
|
// fn_02739A18 @ 0x2739a18
|
|
void Gambit_fn_02739A18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02739A18: ; // 0x2739a18
|
|
/* 02739A18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02739A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739A18 */ cpu->r[1] = _t0;
|
|
/* 02739A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02739A20 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02739A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02739A24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739A24 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02739A28 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739A28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02739A2C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02739A30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02739A34 */ _t5 = cpu->r[29] + 0xFFFF8800u;
|
|
/* 02739A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02739A34 */ cpu->r[29] = _t5;
|
|
/* 02739A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739A3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02739A3C */ if (_t7) goto L_02739A40; else goto L_02739A8C;
|
|
L_02739A40: ; // 0x2739a40
|
|
/* 02739A40 */ cpu->r[4] = cpu->r[30];
|
|
/* 02739A44 */ cpu->r[3] = 0x00000088u;
|
|
/* 02739A48 */ cpu->r[5] = 0x00000004u;
|
|
/* 02739A4C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02739A50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02739A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02739A54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02739A54 */ if (_t9) goto L_02739A74; else goto L_02739A58;
|
|
L_02739A58: ; // 0x2739a58
|
|
/* 02739A58 */ cpu->r[5] = 0x00000003u;
|
|
/* 02739A5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02739A60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739A64 */ Gambit_fn_02821D88(cpu);
|
|
/* 02739A68 */ cpu->r[0] = 0x10100000u;
|
|
/* 02739A6C */ cpu->r[0] = cpu->r[0] + 0xFFFF8074u;
|
|
/* 02739A70 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02739A70 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02739A74: ; // 0x2739a74
|
|
/* 02739A74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02739A78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739A7C */ _t11 = cpu->r[12] + 0xFFFF8804u;
|
|
/* 02739A7C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02739A80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739A80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739A80 */ if (_t13) goto L_02739A88; else goto L_02739A84;
|
|
L_02739A84: ; // 0x2739a84
|
|
/* 02739A84 */ Gambit_fn_02739460(cpu);
|
|
L_02739A88: ; // 0x2739a88
|
|
/* 02739A88 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02739A88 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_02739A8C: ; // 0x2739a8c
|
|
/* 02739A8C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739A8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02739A90 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02739A94 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02739A94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02739A98 */ cpu->lr = cpu->r[0];
|
|
/* 02739A9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02739A9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02739AA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02739AA4 */ return;
|
|
}
|
|
|
|
// fn_02739AA8 @ 0x2739aa8
|
|
void Gambit_fn_02739AA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02739AA8: ; // 0x2739aa8
|
|
/* 02739AA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02739AAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739AAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739AAC */ cpu->r[1] = _t0;
|
|
/* 02739AB0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739AB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02739AB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739AB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739AB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02739ABC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739ABC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02739AC0 */ _t4 = cpu->r[11] + 0xFFFF8804u;
|
|
/* 02739AC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739AC0 */ cpu->r[11] = _t4;
|
|
/* 02739AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739AC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739AC8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739AC8 */ if (_t6) goto L_02739AF8; else goto L_02739ACC;
|
|
L_02739ACC: ; // 0x2739acc
|
|
/* 02739ACC */ cpu->r[30] = 0x00000000u;
|
|
/* 02739AD0 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02739AD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02739AD4 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02739AD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02739AD8 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02739AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739ADC */ cpu->ctr = cpu->r[0];
|
|
/* 02739AE0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02739AE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739AE8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02739AEC */ _t10 = cpu->r[31] + 0xFFFF8800u;
|
|
/* 02739AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02739AF0 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02739AF4 */ _t11 = cpu->r[31] + 0xFFFF8800u;
|
|
/* 02739AF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02739AF8: ; // 0x2739af8
|
|
/* 02739AF8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02739AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739AFC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02739AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739B00 */ cpu->lr = cpu->r[0];
|
|
/* 02739B04 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739B04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02739B08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739B0C */ return;
|
|
}
|
|
|
|
// fn_02739AAC @ 0x2739aac
|
|
void Gambit_fn_02739AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02739AAC: ; // 0x2739aac
|
|
/* 02739AAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739AAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739AAC */ cpu->r[1] = _t0;
|
|
/* 02739AB0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739AB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02739AB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739AB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739AB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02739ABC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739ABC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02739AC0 */ _t4 = cpu->r[11] + 0xFFFF8804u;
|
|
/* 02739AC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739AC0 */ cpu->r[11] = _t4;
|
|
/* 02739AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739AC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739AC8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739AC8 */ if (_t6) goto L_02739AF8; else goto L_02739ACC;
|
|
L_02739ACC: ; // 0x2739acc
|
|
/* 02739ACC */ cpu->r[30] = 0x00000000u;
|
|
/* 02739AD0 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02739AD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02739AD4 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02739AD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02739AD8 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02739AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739ADC */ cpu->ctr = cpu->r[0];
|
|
/* 02739AE0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02739AE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739AE8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02739AEC */ _t10 = cpu->r[31] + 0xFFFF8800u;
|
|
/* 02739AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02739AF0 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02739AF4 */ _t11 = cpu->r[31] + 0xFFFF8800u;
|
|
/* 02739AF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02739AF8: ; // 0x2739af8
|
|
/* 02739AF8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02739AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739AFC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02739AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739B00 */ cpu->lr = cpu->r[0];
|
|
/* 02739B04 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739B04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02739B08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739B0C */ return;
|
|
}
|
|
|
|
// fn_02739B10 @ 0x2739b10
|
|
void Gambit_fn_02739B10(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02739B10: ; // 0x2739b10
|
|
/* 02739B10 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02739B10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02739B14 */ /* nop */
|
|
/* 02739B18 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02739B1C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02739B20 */ return;
|
|
}
|
|
|
|
// fn_02739B24 @ 0x2739b24
|
|
void Gambit_fn_02739B24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02739B24: ; // 0x2739b24
|
|
/* 02739B24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02739B24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739B24 */ cpu->r[1] = _t0;
|
|
/* 02739B28 */ /* nop */
|
|
/* 02739B2C */ cpu->r[0] = cpu->lr;
|
|
/* 02739B30 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02739B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02739B34 */ cpu->r[31] = cpu->r[4];
|
|
/* 02739B38 */ _t2 = cpu->r[31] + 0x00000000u;
|
|
/* 02739B38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02739B3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02739B40 */ cpu->r[28] = cpu->r[8];
|
|
/* 02739B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02739B44 */ cpu->r[27] = 0x00000000u;
|
|
/* 02739B48 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739B48 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739B48 */ if (_t4) goto L_02739B4C; else goto L_02739BC8;
|
|
L_02739B4C: ; // 0x2739b4c
|
|
/* 02739B4C */ cpu->r[29] = 0x00000000u;
|
|
L_02739B50: ; // 0x2739b50
|
|
/* 02739B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 02739B54 */ cpu->r[3] = 0x00000000u;
|
|
/* 02739B58 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739B58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739B58 */ if (_t6) goto L_02739B5C; else goto L_02739B64;
|
|
L_02739B5C: ; // 0x2739b5c
|
|
/* 02739B5C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02739B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739B60 */ _t8 = cpu->r[11] + cpu->r[29];
|
|
/* 02739B60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_02739B64: ; // 0x2739b64
|
|
/* 02739B64 */ Gambit_fn_026F2920(cpu);
|
|
/* 02739B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739B6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739B6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02739B6C */ if (_t10) goto L_02739BB0; else goto L_02739B70;
|
|
L_02739B70: ; // 0x2739b70
|
|
/* 02739B70 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02739B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739B74 */ cpu->r[9] = 0x00000000u;
|
|
/* 02739B78 */ _t12 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02739B78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02739B80 */ _t13 = cpu->r[30] + 0x00000078u;
|
|
/* 02739B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739B84 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02739B84 */ if (_t15) goto L_02739B88; else goto L_02739B90;
|
|
L_02739B88: ; // 0x2739b88
|
|
/* 02739B88 */ _t16 = cpu->r[31] + 0x00000008u;
|
|
/* 02739B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02739B8C */ _t17 = cpu->r[10] + cpu->r[29];
|
|
/* 02739B8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
L_02739B90: ; // 0x2739b90
|
|
/* 02739B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 02739B94 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739B94 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02739B94 */ if (_t19) goto L_02739B98; else goto L_02739BB0;
|
|
L_02739B98: ; // 0x2739b98
|
|
/* 02739B98 */ _t20 = cpu->r[30] + 0x00000080u;
|
|
/* 02739B98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02739B9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02739BA0 */ _t21 = cpu->r[12] + cpu->r[5];
|
|
/* 02739BA0 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02739BA4 */ _t22 = cpu->r[30] + 0x00000078u;
|
|
/* 02739BA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02739BA8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02739BAC */ _t23 = cpu->r[30] + 0x00000078u;
|
|
/* 02739BAC */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
L_02739BB0: ; // 0x2739bb0
|
|
/* 02739BB0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02739BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02739BB4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02739BB8 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02739BBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739BBC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02739BBC */ if (_t25) goto L_02739BC8; else goto L_02739BC0;
|
|
L_02739BC0: ; // 0x2739bc0
|
|
/* 02739BC0 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02739BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02739BC4 */ goto L_02739B50;
|
|
L_02739BC8: ; // 0x2739bc8
|
|
/* 02739BC8 */ _t27 = cpu->r[30] + 0x00000084u;
|
|
/* 02739BC8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02739BCC */ cpu->r[7] = cpu->r[7] | 0x00000002u;
|
|
/* 02739BD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02739BD4 */ _t28 = cpu->r[30] + 0x00000084u;
|
|
/* 02739BD4 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[7]);
|
|
/* 02739BD8 */ Gambit_fn_02739B10(cpu);
|
|
/* 02739BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739BE0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739BE0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02739BE0 */ if (_t30) goto L_02739BF0; else goto L_02739BE4;
|
|
L_02739BE4: ; // 0x2739be4
|
|
/* 02739BE4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02739BE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02739BEC */ Gambit_fn_0273A808(cpu);
|
|
L_02739BF0: ; // 0x2739bf0
|
|
/* 02739BF0 */ /* nop */
|
|
/* 02739BF4 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02739BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02739BF8 */ cpu->lr = cpu->r[0];
|
|
/* 02739BFC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02739C00 */ return;
|
|
}
|
|
|
|
// fn_02739C04 @ 0x2739c04
|
|
void Gambit_fn_02739C04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02739C04: ; // 0x2739c04
|
|
/* 02739C04 */ cpu->r[0] = cpu->lr;
|
|
/* 02739C08 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02739C08 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02739C0C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02739C0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02739C0C */ cpu->r[1] = _t1;
|
|
/* 02739C10 */ _t2 = cpu->r[3] + 0x00000084u;
|
|
/* 02739C10 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02739C14 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02739C18 */ cpu->r[12] = cpu->r[3];
|
|
/* 02739C1C */ _t3 = cpu->r[3] + 0x00000084u;
|
|
/* 02739C1C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 02739C20 */ Gambit_fn_02739B10(cpu);
|
|
/* 02739C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739C28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739C28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02739C28 */ if (_t5) goto L_02739C38; else goto L_02739C2C;
|
|
L_02739C2C: ; // 0x2739c2c
|
|
/* 02739C2C */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02739C30 */ cpu->r[4] = 0x00000001u;
|
|
/* 02739C34 */ Gambit_fn_0273A808(cpu);
|
|
L_02739C38: ; // 0x2739c38
|
|
/* 02739C38 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02739C3C */ cpu->lr = cpu->r[0];
|
|
/* 02739C40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02739C44 */ return;
|
|
}
|
|
|
|
// fn_02739C0C @ 0x2739c0c
|
|
void Gambit_fn_02739C0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02739C0C: ; // 0x2739c0c
|
|
/* 02739C0C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02739C0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739C0C */ cpu->r[1] = _t0;
|
|
/* 02739C10 */ _t1 = cpu->r[3] + 0x00000084u;
|
|
/* 02739C10 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02739C14 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02739C18 */ cpu->r[12] = cpu->r[3];
|
|
/* 02739C1C */ _t2 = cpu->r[3] + 0x00000084u;
|
|
/* 02739C1C */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[0]);
|
|
/* 02739C20 */ Gambit_fn_02739B10(cpu);
|
|
/* 02739C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739C28 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739C28 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739C28 */ if (_t4) goto L_02739C38; else goto L_02739C2C;
|
|
L_02739C2C: ; // 0x2739c2c
|
|
/* 02739C2C */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02739C30 */ cpu->r[4] = 0x00000001u;
|
|
/* 02739C34 */ Gambit_fn_0273A808(cpu);
|
|
L_02739C38: ; // 0x2739c38
|
|
/* 02739C38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02739C3C */ cpu->lr = cpu->r[0];
|
|
/* 02739C40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02739C44 */ return;
|
|
}
|
|
|
|
// fn_02739C48 @ 0x2739c48
|
|
void Gambit_fn_02739C48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02739C48: ; // 0x2739c48
|
|
/* 02739C48 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02739C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02739C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739C50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739C50 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02739C50 */ if (_t2) goto L_02739CBC; else goto L_02739C54;
|
|
L_02739C54: ; // 0x2739c54
|
|
/* 02739C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739C58 */ cpu->r[9] = 0x00000000u;
|
|
/* 02739C5C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739C5C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739C5C */ if (_t4) goto L_02739C60; else goto L_02739CBC;
|
|
L_02739C60: ; // 0x2739c60
|
|
/* 02739C60 */ cpu->ctr = cpu->r[0];
|
|
/* 02739C64 */ cpu->r[12] = 0x00000000u;
|
|
L_02739C68: ; // 0x2739c68
|
|
/* 02739C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02739C6C */ cpu->r[11] = 0x00000000u;
|
|
/* 02739C70 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739C70 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739C70 */ if (_t6) goto L_02739C74; else goto L_02739C7C;
|
|
L_02739C74: ; // 0x2739c74
|
|
/* 02739C74 */ _t7 = cpu->r[5] + 0x00000008u;
|
|
/* 02739C74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739C78 */ _t8 = cpu->r[7] + cpu->r[12];
|
|
/* 02739C78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02739C7C: ; // 0x2739c7c
|
|
/* 02739C7C */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02739C7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02739C84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739C84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02739C84 */ if (_t11) goto L_02739C88; else goto L_02739CB0;
|
|
L_02739C88: ; // 0x2739c88
|
|
/* 02739C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02739C8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739C8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02739C8C */ if (_t13) goto L_02739C98; else goto L_02739C90;
|
|
L_02739C90: ; // 0x2739c90
|
|
/* 02739C90 */ _t14 = cpu->r[4] + 0x00000000u;
|
|
/* 02739C90 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02739C94 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02739C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
L_02739C98: ; // 0x2739c98
|
|
/* 02739C98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02739C9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02739CA0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739CA0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02739CA0 */ _t18 = _t17 ^ 0x00000001u;
|
|
/* 02739CA0 */ if (_t18) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02739CA0 */ goto L_02739CA4;
|
|
L_02739CA4: ; // 0x2739ca4
|
|
/* 02739CA4 */ _t19 = cpu->r[5] + 0x00000008u;
|
|
/* 02739CA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02739CA8 */ _t20 = cpu->r[10] + cpu->r[12];
|
|
/* 02739CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02739CAC */ return;
|
|
L_02739CB0: ; // 0x2739cb0
|
|
/* 02739CB0 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02739CB4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02739CB8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02739CB8 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02739CB8 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02739CB8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02739CB8 */ if (_t23) goto L_02739C68; else goto L_02739CBC;
|
|
L_02739CBC: ; // 0x2739cbc
|
|
/* 02739CBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02739CC0 */ return;
|
|
}
|
|
|
|
// fn_02739CD8 @ 0x2739cd8
|
|
void Gambit_fn_02739CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02739CD8: ; // 0x2739cd8
|
|
/* 02739CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739CD8 */ cpu->r[1] = _t0;
|
|
/* 02739CDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02739CE0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02739CE4 */ Gambit_fn_02739C48(cpu);
|
|
/* 02739CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739CEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739CEC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02739CEC */ if (_t3) goto L_02739CF4; else goto L_02739CF0;
|
|
L_02739CF0: ; // 0x2739cf0
|
|
/* 02739CF0 */ _t4 = cpu->r[3] + 0x00000068u;
|
|
/* 02739CF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
L_02739CF4: ; // 0x2739cf4
|
|
/* 02739CF4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02739CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02739CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02739CFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739D00 */ return;
|
|
}
|
|
|
|
// fn_02739D04 @ 0x2739d04
|
|
void Gambit_fn_02739D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02739CC4: ; // 0x2739cc4
|
|
/* 02739CC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02739CC8 */ cpu->r[5] = cpu->r[3] + 0x0000006Cu;
|
|
/* 02739CCC */ cpu->r[6] = cpu->r[4];
|
|
/* 02739CD0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02739CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02739CD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02739CD8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02739CD8 */ cpu->r[1] = _t1;
|
|
/* 02739CDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02739CE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02739CE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02739CE4 */ Gambit_fn_02739C48(cpu);
|
|
/* 02739CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02739CEC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739CEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02739CEC */ if (_t4) goto L_02739CF4; else goto L_02739CF0;
|
|
L_02739CF0: ; // 0x2739cf0
|
|
/* 02739CF0 */ _t5 = cpu->r[3] + 0x00000068u;
|
|
/* 02739CF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
L_02739CF4: ; // 0x2739cf4
|
|
/* 02739CF4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02739CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02739CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02739CFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739D00 */ return;
|
|
L_02739D04: ; // 0x2739d04
|
|
/* 02739D04 */ _t7 = cpu->r[4] + 0x000000A4u;
|
|
/* 02739D04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02739D08 */ goto L_02739CC4;
|
|
}
|
|
|
|
// fn_02739D0C @ 0x2739d0c
|
|
void Gambit_fn_02739D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02739D0C: ; // 0x2739d0c
|
|
/* 02739D0C */ cpu->r[0] = cpu->lr;
|
|
/* 02739D10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739D10 */ cpu->r[1] = _t0;
|
|
/* 02739D14 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02739D18 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739D1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02739D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02739D24 */ _t4 = cpu->r[30] + 0x00000060u;
|
|
/* 02739D24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739D2C */ if (_t6) goto L_02739DFC; else goto L_02739D30;
|
|
L_02739D30: ; // 0x2739d30
|
|
/* 02739D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D34 */ cpu->r[10] = 0x00000000u;
|
|
/* 02739D38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02739D38 */ if (_t8) goto L_02739D44; else goto L_02739D3C;
|
|
L_02739D3C: ; // 0x2739d3c
|
|
/* 02739D3C */ _t9 = cpu->r[30] + 0x00000068u;
|
|
/* 02739D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739D40 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02739D40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
L_02739D44: ; // 0x2739d44
|
|
/* 02739D44 */ _t11 = cpu->r[10] + 0x00000068u;
|
|
/* 02739D44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739D48 */ _t12 = cpu->r[9] + 0x00000008u;
|
|
/* 02739D48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02739D50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02739D50 */ if (_t14) goto L_02739D5C; else goto L_02739D54;
|
|
L_02739D54: ; // 0x2739d54
|
|
/* 02739D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02739D58 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D58 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02739D58 */ if (_t16) goto L_02739D5C; else goto L_02739DFC;
|
|
L_02739D5C: ; // 0x2739d5c
|
|
/* 02739D5C */ _t17 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02739D5C */ cpu->r[7] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02739D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02739D64 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D64 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02739D64 */ if (_t19) goto L_02739D68; else goto L_02739DFC;
|
|
L_02739D68: ; // 0x2739d68
|
|
/* 02739D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02739D6C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D6C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02739D6C */ if (_t21) goto L_02739D70; else goto L_02739DFC;
|
|
L_02739D70: ; // 0x2739d70
|
|
/* 02739D70 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02739D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02739D74 */ _t23 = cpu->r[12] + 0x00000020u;
|
|
/* 02739D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02739D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739D7C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D7C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02739D7C */ if (_t25) goto L_02739DFC; else goto L_02739D80;
|
|
L_02739D80: ; // 0x2739d80
|
|
/* 02739D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D84 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739D84 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02739D84 */ if (_t27) goto L_02739D88; else goto L_02739DC4;
|
|
L_02739D88: ; // 0x2739d88
|
|
/* 02739D88 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02739D8C */ _t28 = cpu->r[30] + 0x00000068u;
|
|
/* 02739D8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02739D90 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 02739D94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02739D98 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 02739D9C */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02739D9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02739DA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02739DA4 */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02739DA8 */ _t31 = cpu->r[30] + 0x00000070u;
|
|
/* 02739DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02739DAC */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02739DB0 */ _t32 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02739DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02739DB8 */ _t33 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DB8 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02739DBC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739DBC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02739DBC */ if (_t35) goto L_02739DC0; else goto L_02739DF4;
|
|
L_02739DC0: ; // 0x2739dc0
|
|
/* 02739DC0 */ goto L_02739DD8;
|
|
L_02739DC4: ; // 0x2739dc4
|
|
/* 02739DC4 */ _t36 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02739DC8 */ _t37 = cpu->r[30] + 0x00000070u;
|
|
/* 02739DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02739DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02739DD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02739DD4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739DD4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02739DD4 */ if (_t39) goto L_02739DD8; else goto L_02739DF4;
|
|
L_02739DD8: ; // 0x2739dd8
|
|
/* 02739DD8 */ _t40 = cpu->r[30] + 0x00000074u;
|
|
/* 02739DD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02739DDC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02739DE0 */ _t41 = cpu->r[9] + cpu->r[11];
|
|
/* 02739DE0 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02739DE4 */ _t42 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02739DE8 */ _t43 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02739DEC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02739DF0 */ _t44 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DF0 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
L_02739DF4: ; // 0x2739df4
|
|
/* 02739DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739DF8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739DF8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02739DF8 */ if (_t46) goto L_02739DFC; else goto L_02739D30;
|
|
L_02739DFC: ; // 0x2739dfc
|
|
/* 02739DFC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02739DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02739E00 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02739E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02739E04 */ cpu->lr = cpu->r[0];
|
|
/* 02739E08 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02739E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739E10 */ return;
|
|
}
|
|
|
|
// fn_02739D10 @ 0x2739d10
|
|
void Gambit_fn_02739D10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02739D10: ; // 0x2739d10
|
|
/* 02739D10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739D10 */ cpu->r[1] = _t0;
|
|
/* 02739D14 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02739D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02739D18 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739D1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02739D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02739D24 */ _t4 = cpu->r[30] + 0x00000060u;
|
|
/* 02739D24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02739D2C */ if (_t6) goto L_02739DFC; else goto L_02739D30;
|
|
L_02739D30: ; // 0x2739d30
|
|
/* 02739D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D34 */ cpu->r[10] = 0x00000000u;
|
|
/* 02739D38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02739D38 */ if (_t8) goto L_02739D44; else goto L_02739D3C;
|
|
L_02739D3C: ; // 0x2739d3c
|
|
/* 02739D3C */ _t9 = cpu->r[30] + 0x00000068u;
|
|
/* 02739D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739D40 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02739D40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
L_02739D44: ; // 0x2739d44
|
|
/* 02739D44 */ _t11 = cpu->r[10] + 0x00000068u;
|
|
/* 02739D44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02739D48 */ _t12 = cpu->r[9] + 0x00000008u;
|
|
/* 02739D48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02739D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02739D50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02739D50 */ if (_t14) goto L_02739D5C; else goto L_02739D54;
|
|
L_02739D54: ; // 0x2739d54
|
|
/* 02739D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02739D58 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D58 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02739D58 */ if (_t16) goto L_02739D5C; else goto L_02739DFC;
|
|
L_02739D5C: ; // 0x2739d5c
|
|
/* 02739D5C */ _t17 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02739D5C */ cpu->r[7] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02739D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02739D64 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D64 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02739D64 */ if (_t19) goto L_02739D68; else goto L_02739DFC;
|
|
L_02739D68: ; // 0x2739d68
|
|
/* 02739D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02739D6C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D6C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02739D6C */ if (_t21) goto L_02739D70; else goto L_02739DFC;
|
|
L_02739D70: ; // 0x2739d70
|
|
/* 02739D70 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02739D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02739D74 */ _t23 = cpu->r[12] + 0x00000020u;
|
|
/* 02739D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02739D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739D7C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739D7C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02739D7C */ if (_t25) goto L_02739DFC; else goto L_02739D80;
|
|
L_02739D80: ; // 0x2739d80
|
|
/* 02739D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739D84 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02739D84 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02739D84 */ if (_t27) goto L_02739D88; else goto L_02739DC4;
|
|
L_02739D88: ; // 0x2739d88
|
|
/* 02739D88 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02739D8C */ _t28 = cpu->r[30] + 0x00000068u;
|
|
/* 02739D8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02739D90 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 02739D94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02739D98 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 02739D9C */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02739D9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02739DA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02739DA4 */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02739DA8 */ _t31 = cpu->r[30] + 0x00000070u;
|
|
/* 02739DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02739DAC */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02739DB0 */ _t32 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02739DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02739DB8 */ _t33 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DB8 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02739DBC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739DBC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02739DBC */ if (_t35) goto L_02739DC0; else goto L_02739DF4;
|
|
L_02739DC0: ; // 0x2739dc0
|
|
/* 02739DC0 */ goto L_02739DD8;
|
|
L_02739DC4: ; // 0x2739dc4
|
|
/* 02739DC4 */ _t36 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02739DC8 */ _t37 = cpu->r[30] + 0x00000070u;
|
|
/* 02739DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02739DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02739DD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02739DD4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739DD4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02739DD4 */ if (_t39) goto L_02739DD8; else goto L_02739DF4;
|
|
L_02739DD8: ; // 0x2739dd8
|
|
/* 02739DD8 */ _t40 = cpu->r[30] + 0x00000074u;
|
|
/* 02739DD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02739DDC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02739DE0 */ _t41 = cpu->r[9] + cpu->r[11];
|
|
/* 02739DE0 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02739DE4 */ _t42 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02739DE8 */ _t43 = cpu->r[30] + 0x00000060u;
|
|
/* 02739DE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02739DEC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02739DF0 */ _t44 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02739DF0 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
L_02739DF4: ; // 0x2739df4
|
|
/* 02739DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739DF8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739DF8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02739DF8 */ if (_t46) goto L_02739DFC; else goto L_02739D30;
|
|
L_02739DFC: ; // 0x2739dfc
|
|
/* 02739DFC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02739DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02739E00 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02739E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02739E04 */ cpu->lr = cpu->r[0];
|
|
/* 02739E08 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02739E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739E10 */ return;
|
|
}
|
|
|
|
// fn_02739E14 @ 0x2739e14
|
|
void Gambit_fn_02739E14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02739E14: ; // 0x2739e14
|
|
/* 02739E14 */ cpu->r[0] = cpu->lr;
|
|
/* 02739E18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739E18 */ cpu->r[1] = _t0;
|
|
/* 02739E1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02739E20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02739E24 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02739E28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02739E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02739E2C */ Gambit_fn_0273A908(cpu);
|
|
/* 02739E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739E34 */ Gambit_fn_02739D0C(cpu);
|
|
/* 02739E38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02739E3C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739E40 */ cpu->lr = cpu->r[0];
|
|
/* 02739E44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739E48 */ return;
|
|
}
|
|
|
|
// fn_02739E18 @ 0x2739e18
|
|
void Gambit_fn_02739E18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02739E18: ; // 0x2739e18
|
|
/* 02739E18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02739E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739E18 */ cpu->r[1] = _t0;
|
|
/* 02739E1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02739E20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02739E24 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02739E28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02739E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02739E2C */ Gambit_fn_0273A908(cpu);
|
|
/* 02739E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739E34 */ Gambit_fn_02739D0C(cpu);
|
|
/* 02739E38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02739E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02739E3C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02739E40 */ cpu->lr = cpu->r[0];
|
|
/* 02739E44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02739E48 */ return;
|
|
}
|
|
|
|
// fn_02739E4C @ 0x2739e4c
|
|
void Gambit_fn_02739E4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02739E4C: ; // 0x2739e4c
|
|
/* 02739E4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02739E4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739E4C */ cpu->r[1] = _t0;
|
|
/* 02739E50 */ /* nop */
|
|
/* 02739E54 */ cpu->r[0] = cpu->lr;
|
|
/* 02739E58 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02739E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02739E5C */ cpu->r[28] = cpu->r[3];
|
|
/* 02739E60 */ _t2 = cpu->r[28] + 0x00000018u;
|
|
/* 02739E60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02739E64 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02739E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02739E6C */ _t3 = cpu->r[30] + 0xFFFF93DCu;
|
|
/* 02739E6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02739E70 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739E70 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02739E70 */ if (_t5) goto L_02739E74; else goto L_02739E90;
|
|
L_02739E74: ; // 0x2739e74
|
|
/* 02739E74 */ cpu->r[3] = cpu->r[30];
|
|
/* 02739E78 */ Gambit_fn_027C31D8(cpu);
|
|
/* 02739E7C */ cpu->r[3] = cpu->r[28];
|
|
/* 02739E80 */ Gambit_fn_02739340(cpu);
|
|
/* 02739E84 */ _t6 = cpu->r[28] + 0x00000084u;
|
|
/* 02739E84 */ cpu->r[9] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02739E88 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02739E8C */ _t7 = cpu->r[28] + 0x00000084u;
|
|
/* 02739E8C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[9]);
|
|
L_02739E90: ; // 0x2739e90
|
|
/* 02739E90 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02739E94 */ _t8 = cpu->r[31] + 0xFFFF93D8u;
|
|
/* 02739E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02739E98 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02739E98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02739E9C */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 02739E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02739EA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02739EA4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02739EA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739EAC */ cpu->r[26] = 0x00000001u;
|
|
/* 02739EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 02739EB8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739EB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02739EB8 */ if (_t12) goto L_02739EBC; else goto L_02739F10;
|
|
L_02739EBC: ; // 0x2739ebc
|
|
/* 02739EBC */ cpu->r[27] = 0x00000000u;
|
|
L_02739EC0: ; // 0x2739ec0
|
|
/* 02739EC0 */ _t13 = cpu->r[30] + 0x0000015Cu;
|
|
/* 02739EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02739EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02739EC8 */ _t14 = cpu->r[30] + 0x00000160u;
|
|
/* 02739EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02739ECC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739ECC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02739ECC */ if (_t16) goto L_02739ED0; else goto L_02739ED4;
|
|
L_02739ED0: ; // 0x2739ed0
|
|
/* 02739ED0 */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
L_02739ED4: ; // 0x2739ed4
|
|
/* 02739ED4 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02739ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02739ED8 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02739ED8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02739EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02739EE0 */ _t19 = cpu->r[12] + 0x00000024u;
|
|
/* 02739EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02739EE4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739EE4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02739EE4 */ if (_t21) goto L_02739EEC; else goto L_02739EE8;
|
|
L_02739EE8: ; // 0x2739ee8
|
|
/* 02739EE8 */ cpu->r[26] = 0x00000000u;
|
|
L_02739EEC: ; // 0x2739eec
|
|
/* 02739EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02739EF0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02739EF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02739EF8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02739EFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02739F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 02739F04 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02739F04 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02739F04 */ if (_t23) goto L_02739EC0; else goto L_02739F08;
|
|
L_02739F08: ; // 0x2739f08
|
|
/* 02739F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02739F0C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739F0C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02739F0C */ if (_t25) goto L_02739F2C; else goto L_02739F10;
|
|
L_02739F10: ; // 0x2739f10
|
|
/* 02739F10 */ _t26 = cpu->r[28] + 0x00000084u;
|
|
/* 02739F10 */ cpu->r[7] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02739F14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02739F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02739F18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02739F1C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02739F1C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02739F1C */ if (_t28) goto L_02739F24; else goto L_02739F20;
|
|
L_02739F20: ; // 0x2739f20
|
|
/* 02739F20 */ cpu->r[4] = 0x00000002u;
|
|
L_02739F24: ; // 0x2739f24
|
|
/* 02739F24 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02739F28 */ Gambit_fn_0273A808(cpu);
|
|
L_02739F2C: ; // 0x2739f2c
|
|
/* 02739F2C */ /* nop */
|
|
/* 02739F30 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02739F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02739F34 */ cpu->lr = cpu->r[0];
|
|
/* 02739F38 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02739F3C */ return;
|
|
}
|
|
|
|
// fn_02739F40 @ 0x2739f40
|
|
void Gambit_fn_02739F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02739F40: ; // 0x2739f40
|
|
/* 02739F40 */ cpu->r[0] = cpu->lr;
|
|
/* 02739F44 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02739F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739F44 */ cpu->r[1] = _t0;
|
|
/* 02739F48 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 02739F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02739F4C */ cpu->r[5] = 0x10100000u;
|
|
/* 02739F50 */ _t2 = cpu->r[1] + 0x00000104u;
|
|
/* 02739F50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739F54 */ _t3 = cpu->r[1] + 0x00000100u;
|
|
/* 02739F54 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02739F58 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02739F58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02739F5C */ cpu->r[29] = cpu->r[3];
|
|
/* 02739F60 */ cpu->r[7] = 0x00000001u;
|
|
/* 02739F64 */ _t5 = cpu->r[5] + 0xFFFF8070u;
|
|
/* 02739F64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02739F68 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02739F68 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02739F6C */ cpu->r[30] = cpu->r[4];
|
|
/* 02739F70 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02739F70 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02739F74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02739F78 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02739F78 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02739F7C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02739F80 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02739F80 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02739F84 */ cpu->r[9] = 0x0000001Au;
|
|
/* 02739F88 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02739F8C */ cpu->r[0] = 0x00000080u;
|
|
/* 02739F90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02739F90 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02739F94 */ cpu->r[12] = 0x40000000u;
|
|
/* 02739F98 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02739F98 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02739F9C */ cpu->r[12] = cpu->r[12] + 0x00000100u;
|
|
/* 02739FA0 */ _t13 = cpu->r[1] + 0x00000022u;
|
|
/* 02739FA0 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02739FA4 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02739FA8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739FA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02739FAC */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 02739FAC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02739FB0 */ cpu->r[5] = 0x00000060u;
|
|
/* 02739FB4 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02739FB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02739FB8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02739FB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02739FBC */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 02739FBC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02739FC0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02739FC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02739FC4 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02739FC4 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 02739FC8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02739FC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02739FCC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02739FCC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02739FD0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02739FD4 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 02739FD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02739FDC */ cpu->r[5] = 0x00000050u;
|
|
/* 02739FE0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02739FE4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02739FE4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02739FE8 */ cpu->r[11] = 0x00000040u;
|
|
/* 02739FEC */ cpu->r[0] = 0x00000002u;
|
|
/* 02739FF0 */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFCu;
|
|
/* 02739FF4 */ cpu->r[8] = 0x00000006u;
|
|
/* 02739FF8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739FF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02739FFC */ cpu->r[7] = cpu->r[1] + 0x00000044u;
|
|
/* 0273A000 */ _t25 = cpu->r[1] + 0x00000022u;
|
|
/* 0273A000 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[11]);
|
|
/* 0273A004 */ cpu->ctr = cpu->r[8];
|
|
/* 0273A008 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0273A008 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[11]);
|
|
L_0273A00C: ; // 0x273a00c
|
|
/* 0273A00C */ _t27 = cpu->r[6] + 0x00000004u;
|
|
/* 0273A00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273A010 */ _t28 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A010 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0273A014 */ _t29 = cpu->r[6] + 0x00000008u;
|
|
/* 0273A014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273A018 */ _t30 = cpu->r[7] + 0x00000008u;
|
|
/* 0273A018 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 0273A01C */ _t31 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0273A01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273A020 */ _t32 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0273A020 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0273A024 */ _t33 = cpu->r[6] + 0x00000010u;
|
|
/* 0273A024 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273A024 */ cpu->r[6] = _t33;
|
|
/* 0273A028 */ _t34 = cpu->r[7] + 0x00000010u;
|
|
/* 0273A028 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 0273A028 */ cpu->r[7] = _t34;
|
|
/* 0273A02C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A02C */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A02C */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0273A02C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273A02C */ if (_t37) goto L_0273A00C; else goto L_0273A030;
|
|
L_0273A030: ; // 0x273a030
|
|
/* 0273A030 */ cpu->r[12] = 0x00000001u;
|
|
/* 0273A034 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0273A038 */ cpu->r[4] = cpu->r[1] + 0x000000A8u;
|
|
/* 0273A03C */ _t38 = cpu->r[1] + 0x00000044u;
|
|
/* 0273A03C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]);
|
|
/* 0273A040 */ Gambit_fn_027F147C(cpu);
|
|
/* 0273A044 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273A048 */ _t39 = cpu->r[3] + 0xFFFF93DCu;
|
|
/* 0273A048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273A04C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273A050 */ Gambit_fn_027C2CB0(cpu);
|
|
/* 0273A054 */ _t40 = cpu->r[1] + 0x000000FCu;
|
|
/* 0273A054 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273A058 */ _t41 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0273A058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273A05C */ _t42 = cpu->r[1] + 0x00000100u;
|
|
/* 0273A05C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273A060 */ cpu->lr = cpu->r[0];
|
|
/* 0273A064 */ _t43 = cpu->r[1] + 0x00000104u;
|
|
/* 0273A064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273A068 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0273A06C */ return;
|
|
}
|
|
|
|
// fn_02739F44 @ 0x2739f44
|
|
void Gambit_fn_02739F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02739F44: ; // 0x2739f44
|
|
/* 02739F44 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02739F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02739F44 */ cpu->r[1] = _t0;
|
|
/* 02739F48 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 02739F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02739F4C */ cpu->r[5] = 0x10100000u;
|
|
/* 02739F50 */ _t2 = cpu->r[1] + 0x00000104u;
|
|
/* 02739F50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02739F54 */ _t3 = cpu->r[1] + 0x00000100u;
|
|
/* 02739F54 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02739F58 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02739F58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02739F5C */ cpu->r[29] = cpu->r[3];
|
|
/* 02739F60 */ cpu->r[7] = 0x00000001u;
|
|
/* 02739F64 */ _t5 = cpu->r[5] + 0xFFFF8070u;
|
|
/* 02739F64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02739F68 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02739F68 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02739F6C */ cpu->r[30] = cpu->r[4];
|
|
/* 02739F70 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02739F70 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02739F74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02739F78 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02739F78 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02739F7C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02739F80 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02739F80 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02739F84 */ cpu->r[9] = 0x0000001Au;
|
|
/* 02739F88 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02739F8C */ cpu->r[0] = 0x00000080u;
|
|
/* 02739F90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02739F90 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02739F94 */ cpu->r[12] = 0x40000000u;
|
|
/* 02739F98 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02739F98 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02739F9C */ cpu->r[12] = cpu->r[12] + 0x00000100u;
|
|
/* 02739FA0 */ _t13 = cpu->r[1] + 0x00000022u;
|
|
/* 02739FA0 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02739FA4 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02739FA8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02739FA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02739FAC */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 02739FAC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02739FB0 */ cpu->r[5] = 0x00000060u;
|
|
/* 02739FB4 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02739FB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02739FB8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02739FB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 02739FBC */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 02739FBC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02739FC0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02739FC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02739FC4 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02739FC4 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 02739FC8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02739FC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02739FCC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02739FCC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02739FD0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02739FD4 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 02739FD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02739FDC */ cpu->r[5] = 0x00000050u;
|
|
/* 02739FE0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02739FE4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02739FE4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02739FE8 */ cpu->r[11] = 0x00000040u;
|
|
/* 02739FEC */ cpu->r[0] = 0x00000002u;
|
|
/* 02739FF0 */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFCu;
|
|
/* 02739FF4 */ cpu->r[8] = 0x00000006u;
|
|
/* 02739FF8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02739FF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02739FFC */ cpu->r[7] = cpu->r[1] + 0x00000044u;
|
|
/* 0273A000 */ _t25 = cpu->r[1] + 0x00000022u;
|
|
/* 0273A000 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[11]);
|
|
/* 0273A004 */ cpu->ctr = cpu->r[8];
|
|
/* 0273A008 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0273A008 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[11]);
|
|
L_0273A00C: ; // 0x273a00c
|
|
/* 0273A00C */ _t27 = cpu->r[6] + 0x00000004u;
|
|
/* 0273A00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273A010 */ _t28 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A010 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0273A014 */ _t29 = cpu->r[6] + 0x00000008u;
|
|
/* 0273A014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273A018 */ _t30 = cpu->r[7] + 0x00000008u;
|
|
/* 0273A018 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 0273A01C */ _t31 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0273A01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273A020 */ _t32 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0273A020 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0273A024 */ _t33 = cpu->r[6] + 0x00000010u;
|
|
/* 0273A024 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273A024 */ cpu->r[6] = _t33;
|
|
/* 0273A028 */ _t34 = cpu->r[7] + 0x00000010u;
|
|
/* 0273A028 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 0273A028 */ cpu->r[7] = _t34;
|
|
/* 0273A02C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A02C */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A02C */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0273A02C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273A02C */ if (_t37) goto L_0273A00C; else goto L_0273A030;
|
|
L_0273A030: ; // 0x273a030
|
|
/* 0273A030 */ cpu->r[12] = 0x00000001u;
|
|
/* 0273A034 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0273A038 */ cpu->r[4] = cpu->r[1] + 0x000000A8u;
|
|
/* 0273A03C */ _t38 = cpu->r[1] + 0x00000044u;
|
|
/* 0273A03C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[12]);
|
|
/* 0273A040 */ Gambit_fn_027F147C(cpu);
|
|
/* 0273A044 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273A048 */ _t39 = cpu->r[3] + 0xFFFF93DCu;
|
|
/* 0273A048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273A04C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273A050 */ Gambit_fn_027C2CB0(cpu);
|
|
/* 0273A054 */ _t40 = cpu->r[1] + 0x000000FCu;
|
|
/* 0273A054 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273A058 */ _t41 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0273A058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273A05C */ _t42 = cpu->r[1] + 0x00000100u;
|
|
/* 0273A05C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273A060 */ cpu->lr = cpu->r[0];
|
|
/* 0273A064 */ _t43 = cpu->r[1] + 0x00000104u;
|
|
/* 0273A064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273A068 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0273A06C */ return;
|
|
}
|
|
|
|
// fn_0273A074 @ 0x273a074
|
|
void Gambit_fn_0273A074(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_0273A074: ; // 0x273a074
|
|
/* 0273A074 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273A074 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A074 */ cpu->r[1] = _t0;
|
|
/* 0273A078 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0273A078 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273A07C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0273A07C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0273A080 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A080 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0273A084 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273A084 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0273A088 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 0273A088 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0273A08C */ cpu->r[29] = cpu->r[3];
|
|
/* 0273A090 */ _t6 = cpu->r[29] + 0x00000078u;
|
|
/* 0273A090 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273A094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273A098 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A098 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0273A098 */ if (_t8) goto L_0273A1EC; else goto L_0273A09C;
|
|
L_0273A09C: ; // 0x273a09c
|
|
/* 0273A09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273A0A0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273A0A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A0A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273A0A4 */ if (_t10) goto L_0273A0B0; else goto L_0273A0A8;
|
|
L_0273A0A8: ; // 0x273a0a8
|
|
/* 0273A0A8 */ _t11 = cpu->r[29] + 0x00000080u;
|
|
/* 0273A0A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A0AC */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A0AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
L_0273A0B0: ; // 0x273a0b0
|
|
/* 0273A0B0 */ _t13 = cpu->r[30] + 0x000000A4u;
|
|
/* 0273A0B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273A0B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273A0B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273A0BC */ cpu->r[5] = cpu->r[29] + 0x0000006Cu;
|
|
/* 0273A0C0 */ cpu->r[6] = cpu->r[28];
|
|
/* 0273A0C4 */ Gambit_fn_02739C48(cpu);
|
|
/* 0273A0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A0CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A0CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273A0CC */ if (_t15) goto L_0273A0D0; else goto L_0273A1B4;
|
|
L_0273A0D0: ; // 0x273a0d0
|
|
/* 0273A0D0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273A0D4 */ cpu->r[6] = cpu->r[28];
|
|
/* 0273A0D8 */ cpu->r[5] = cpu->r[29] + 0x00000060u;
|
|
/* 0273A0DC */ cpu->r[3] = cpu->r[29];
|
|
/* 0273A0E0 */ Gambit_fn_02739C48(cpu);
|
|
/* 0273A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A0E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A0E8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0273A0E8 */ if (_t17) goto L_0273A0EC; else goto L_0273A204;
|
|
L_0273A0EC: ; // 0x273a0ec
|
|
/* 0273A0EC */ _t18 = cpu->r[29] + 0x00000054u;
|
|
/* 0273A0EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273A0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A0F4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A0F4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273A0F4 */ if (_t20) goto L_0273A204; else goto L_0273A0F8;
|
|
L_0273A0F8: ; // 0x273a0f8
|
|
/* 0273A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A0FC */ cpu->r[31] = 0x00000000u;
|
|
/* 0273A100 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A100 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273A100 */ if (_t22) goto L_0273A10C; else goto L_0273A104;
|
|
L_0273A104: ; // 0x273a104
|
|
/* 0273A104 */ _t23 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0273A104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273A108 */ _t24 = cpu->r[6] + 0x00000000u;
|
|
/* 0273A108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
L_0273A10C: ; // 0x273a10c
|
|
/* 0273A10C */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 0273A10C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273A110 */ cpu->r[4] = cpu->r[30] + 0x00000044u;
|
|
/* 0273A114 */ Gambit_fn_02739F40(cpu);
|
|
/* 0273A118 */ cpu->r[0] = cpu->r[3];
|
|
/* 0273A118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A11C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A11C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273A11C */ if (_t27) goto L_0273A204; else goto L_0273A120;
|
|
L_0273A120: ; // 0x273a120
|
|
/* 0273A120 */ cpu->r[9] = 0x00000006u;
|
|
/* 0273A124 */ cpu->r[7] = cpu->r[30] + 0x00000040u;
|
|
/* 0273A128 */ _t28 = cpu->r[31] + 0x00000068u;
|
|
/* 0273A128 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0273A12C */ cpu->ctr = cpu->r[9];
|
|
/* 0273A130 */ cpu->r[8] = cpu->r[31] + 0x00000004u;
|
|
/* 0273A134 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 0273A134 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
L_0273A138: ; // 0x273a138
|
|
/* 0273A138 */ _t30 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A138 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273A13C */ _t31 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A13C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 0273A140 */ _t32 = cpu->r[7] + 0x00000008u;
|
|
/* 0273A140 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273A144 */ _t33 = cpu->r[8] + 0x00000008u;
|
|
/* 0273A144 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 0273A148 */ _t34 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0273A148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273A14C */ _t35 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0273A14C */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 0273A150 */ _t36 = cpu->r[7] + 0x00000010u;
|
|
/* 0273A150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273A150 */ cpu->r[7] = _t36;
|
|
/* 0273A154 */ _t37 = cpu->r[8] + 0x00000010u;
|
|
/* 0273A154 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0273A154 */ cpu->r[8] = _t37;
|
|
/* 0273A158 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A158 */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A158 */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 0273A158 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273A158 */ if (_t40) goto L_0273A138; else goto L_0273A15C;
|
|
L_0273A15C: ; // 0x273a15c
|
|
/* 0273A15C */ _t41 = cpu->r[29] + 0x00000054u;
|
|
/* 0273A15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273A160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A164 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A164 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0273A164 */ if (_t43) goto L_0273A168; else goto L_0273A18C;
|
|
L_0273A168: ; // 0x273a168
|
|
/* 0273A168 */ _t44 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0273A168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273A16C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273A170 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273A174 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0273A178 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 0273A17C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273A180 */ _t45 = cpu->r[29] + 0x00000054u;
|
|
/* 0273A180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273A184 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 0273A188 */ _t46 = cpu->r[29] + 0x00000054u;
|
|
/* 0273A188 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
L_0273A18C: ; // 0x273a18c
|
|
/* 0273A18C */ _t47 = cpu->r[29] + 0x00000060u;
|
|
/* 0273A18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273A190 */ _t48 = cpu->r[29] + 0x00000064u;
|
|
/* 0273A190 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273A194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 0273A198 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A198 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0273A198 */ if (_t50) goto L_0273A19C; else goto L_0273A1B4;
|
|
L_0273A19C: ; // 0x273a19c
|
|
/* 0273A19C */ _t51 = cpu->r[29] + 0x00000068u;
|
|
/* 0273A19C */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273A1A0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273A1A4 */ _t52 = cpu->r[10] + cpu->r[12];
|
|
/* 0273A1A4 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 0273A1A8 */ _t53 = cpu->r[29] + 0x00000060u;
|
|
/* 0273A1A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273A1AC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273A1B0 */ _t54 = cpu->r[29] + 0x00000060u;
|
|
/* 0273A1B0 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
L_0273A1B4: ; // 0x273a1b4
|
|
/* 0273A1B4 */ _t55 = cpu->r[29] + 0x00000078u;
|
|
/* 0273A1B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0273A1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273A1BC */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A1BC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0273A1BC */ if (_t57) goto L_0273A09C; else goto L_0273A1C0;
|
|
L_0273A1C0: ; // 0x273a1c0
|
|
/* 0273A1C0 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A1C0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0273A1C0 */ if (_t59) goto L_0273A1C4; else goto L_0273A1EC;
|
|
L_0273A1C4: ; // 0x273a1c4
|
|
/* 0273A1C4 */ _t60 = cpu->r[29] + 0x00000080u;
|
|
/* 0273A1C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273A1C8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273A1CC */ cpu->r[6] = 0x00000000u;
|
|
/* 0273A1D0 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 0273A1D4 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 0273A1D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273A1DC */ _t61 = cpu->r[29] + 0x00000078u;
|
|
/* 0273A1DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273A1E0 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0273A1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273A1E4 */ _t62 = cpu->r[29] + 0x00000078u;
|
|
/* 0273A1E4 */ rbrew_write32(cpu->mem, _t62, cpu->r[8]);
|
|
/* 0273A1E8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A1E8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0273A1E8 */ if (_t64) goto L_0273A1EC; else goto L_0273A09C;
|
|
L_0273A1EC: ; // 0x273a1ec
|
|
/* 0273A1EC */ _t65 = cpu->r[29] + 0x00000060u;
|
|
/* 0273A1EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0273A1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273A1F4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A1F4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0273A1F4 */ if (_t67) goto L_0273A1F8; else goto L_0273A204;
|
|
L_0273A1F8: ; // 0x273a1f8
|
|
/* 0273A1F8 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0273A1FC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273A200 */ Gambit_fn_0273A808(cpu);
|
|
L_0273A204: ; // 0x273a204
|
|
/* 0273A204 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 0273A204 */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0273A208 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A208 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0273A20C */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 0273A20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0273A210 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 0273A210 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0273A214 */ cpu->lr = cpu->r[0];
|
|
/* 0273A218 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273A218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0273A21C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273A220 */ return;
|
|
}
|
|
|
|
// fn_0273A224 @ 0x273a224
|
|
void Gambit_fn_0273A224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0273A224: ; // 0x273a224
|
|
/* 0273A224 */ cpu->r[0] = cpu->lr;
|
|
/* 0273A228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A228 */ cpu->r[1] = _t0;
|
|
/* 0273A22C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A22C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A230 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A230 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273A234 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273A234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273A238 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273A23C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A23C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273A240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273A240 */ if (_t5) goto L_0273A28C; else goto L_0273A244;
|
|
L_0273A244: ; // 0x273a244
|
|
/* 0273A244 */ cpu->r[10] = 0x10100000u;
|
|
/* 0273A248 */ cpu->r[10] = cpu->r[10] + 0xFFFF8074u;
|
|
/* 0273A24C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273A250 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273A250 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0273A254 */ _t7 = cpu->r[12] + 0xFFFF8804u;
|
|
/* 0273A254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A254 */ cpu->r[12] = _t7;
|
|
/* 0273A258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 0273A25C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A25C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273A25C */ if (_t9) goto L_0273A260; else goto L_0273A270;
|
|
L_0273A260: ; // 0x273a260
|
|
/* 0273A260 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273A264 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0273A268 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A268 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273A26C */ _t11 = cpu->r[11] + 0xFFFF8800u;
|
|
/* 0273A26C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0273A270: ; // 0x273a270
|
|
/* 0273A270 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A274 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273A278 */ Gambit_fn_02821E68(cpu);
|
|
/* 0273A27C */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0273A280 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A280 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A280 */ if (_t13) goto L_0273A28C; else goto L_0273A284;
|
|
L_0273A284: ; // 0x273a284
|
|
/* 0273A284 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A288 */ Gambit_fn_02801BB0(cpu);
|
|
L_0273A28C: ; // 0x273a28c
|
|
/* 0273A28C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273A290 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273A294 */ cpu->lr = cpu->r[0];
|
|
/* 0273A298 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A2A0 */ return;
|
|
}
|
|
|
|
// fn_0273A228 @ 0x273a228
|
|
void Gambit_fn_0273A228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0273A228: ; // 0x273a228
|
|
/* 0273A228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A228 */ cpu->r[1] = _t0;
|
|
/* 0273A22C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A22C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A230 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A230 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273A234 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273A234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273A238 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273A23C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A23C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273A240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273A240 */ if (_t5) goto L_0273A28C; else goto L_0273A244;
|
|
L_0273A244: ; // 0x273a244
|
|
/* 0273A244 */ cpu->r[10] = 0x10100000u;
|
|
/* 0273A248 */ cpu->r[10] = cpu->r[10] + 0xFFFF8074u;
|
|
/* 0273A24C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273A250 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273A250 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0273A254 */ _t7 = cpu->r[12] + 0xFFFF8804u;
|
|
/* 0273A254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A254 */ cpu->r[12] = _t7;
|
|
/* 0273A258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 0273A25C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A25C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273A25C */ if (_t9) goto L_0273A260; else goto L_0273A270;
|
|
L_0273A260: ; // 0x273a260
|
|
/* 0273A260 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273A264 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0273A268 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A268 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273A26C */ _t11 = cpu->r[11] + 0xFFFF8800u;
|
|
/* 0273A26C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0273A270: ; // 0x273a270
|
|
/* 0273A270 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A274 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273A278 */ Gambit_fn_02821E68(cpu);
|
|
/* 0273A27C */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0273A280 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A280 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A280 */ if (_t13) goto L_0273A28C; else goto L_0273A284;
|
|
L_0273A284: ; // 0x273a284
|
|
/* 0273A284 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A288 */ Gambit_fn_02801BB0(cpu);
|
|
L_0273A28C: ; // 0x273a28c
|
|
/* 0273A28C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273A290 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273A294 */ cpu->lr = cpu->r[0];
|
|
/* 0273A298 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A2A0 */ return;
|
|
}
|
|
|
|
// fn_0273A2A4 @ 0x273a2a4
|
|
void Gambit_fn_0273A2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273A2A4: ; // 0x273a2a4
|
|
/* 0273A2A4 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0273A2A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273A2A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A2A8 */ cpu->r[1] = _t0;
|
|
/* 0273A2AC */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273A2B0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273A2B4 */ _t1 = cpu->r[10] + 0x000007A4u;
|
|
/* 0273A2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273A2B4 */ cpu->r[10] = _t1;
|
|
/* 0273A2B8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273A2BC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273A2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273A2C0 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273A2C4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273A2C8 */ _t3 = cpu->r[7] + 0x000007B4u;
|
|
/* 0273A2C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273A2C8 */ cpu->r[7] = _t3;
|
|
/* 0273A2CC */ _t4 = cpu->r[8] + 0x000007ACu;
|
|
/* 0273A2CC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273A2CC */ cpu->r[8] = _t4;
|
|
/* 0273A2D0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273A2D4 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A2D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273A2D8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273A2DC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A2DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273A2E0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273A2E4 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A2E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273A2E8 */ _t8 = cpu->r[8] + 0x000007C4u;
|
|
/* 0273A2E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273A2E8 */ cpu->r[8] = _t8;
|
|
/* 0273A2EC */ _t9 = cpu->r[12] + 0x000007BCu;
|
|
/* 0273A2EC */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273A2EC */ cpu->r[12] = _t9;
|
|
/* 0273A2F0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A2F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273A2F4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273A2F8 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A2F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273A2FC */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273A300 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A300 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273A304 */ _t13 = cpu->r[11] + 0x000007CCu;
|
|
/* 0273A304 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273A308 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273A30C */ return;
|
|
}
|
|
|
|
// fn_0273A2A8 @ 0x273a2a8
|
|
void Gambit_fn_0273A2A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273A2A8: ; // 0x273a2a8
|
|
/* 0273A2A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273A2A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A2A8 */ cpu->r[1] = _t0;
|
|
/* 0273A2AC */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273A2B0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273A2B4 */ _t1 = cpu->r[10] + 0x000007A4u;
|
|
/* 0273A2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273A2B4 */ cpu->r[10] = _t1;
|
|
/* 0273A2B8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273A2BC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273A2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273A2C0 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273A2C4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273A2C8 */ _t3 = cpu->r[7] + 0x000007B4u;
|
|
/* 0273A2C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273A2C8 */ cpu->r[7] = _t3;
|
|
/* 0273A2CC */ _t4 = cpu->r[8] + 0x000007ACu;
|
|
/* 0273A2CC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273A2CC */ cpu->r[8] = _t4;
|
|
/* 0273A2D0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273A2D4 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A2D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273A2D8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273A2DC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A2DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273A2E0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273A2E4 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A2E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273A2E8 */ _t8 = cpu->r[8] + 0x000007C4u;
|
|
/* 0273A2E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273A2E8 */ cpu->r[8] = _t8;
|
|
/* 0273A2EC */ _t9 = cpu->r[12] + 0x000007BCu;
|
|
/* 0273A2EC */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273A2EC */ cpu->r[12] = _t9;
|
|
/* 0273A2F0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A2F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273A2F4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273A2F8 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A2F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273A2FC */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273A300 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A300 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273A304 */ _t13 = cpu->r[11] + 0x000007CCu;
|
|
/* 0273A304 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273A308 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273A30C */ return;
|
|
}
|
|
|
|
// fn_0273A310 @ 0x273a310
|
|
void Gambit_fn_0273A310(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_0273A310: ; // 0x273a310
|
|
/* 0273A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A314 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A314 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273A314 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A314 */ goto L_0273A318;
|
|
L_0273A318: ; // 0x273a318
|
|
/* 0273A318 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A31C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A31C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273A31C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A31C */ goto L_0273A320;
|
|
L_0273A320: ; // 0x273a320
|
|
/* 0273A320 */ 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_0273A324 @ 0x273a324
|
|
void Gambit_fn_0273A324(CPUState* cpu) {
|
|
L_0273A324: ; // 0x273a324
|
|
/* 0273A324 */ return;
|
|
}
|
|
|
|
// fn_0273A328 @ 0x273a328
|
|
void Gambit_fn_0273A328(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_0273A328: ; // 0x273a328
|
|
/* 0273A328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A32C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A32C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273A32C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A32C */ goto L_0273A330;
|
|
L_0273A330: ; // 0x273a330
|
|
/* 0273A330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A334 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A334 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273A334 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A334 */ goto L_0273A338;
|
|
L_0273A338: ; // 0x273a338
|
|
/* 0273A338 */ 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_0273A33C @ 0x273a33c
|
|
void Gambit_fn_0273A33C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0273A33C: ; // 0x273a33c
|
|
/* 0273A33C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0273A33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273A340 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0273A340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273A344 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0273A348 */ cpu->r[11] = 0x10110000u;
|
|
/* 0273A34C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0273A34C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273A350 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0273A350 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0273A354 */ return;
|
|
}
|
|
|
|
// fn_0273A358 @ 0x273a358
|
|
void Gambit_fn_0273A358(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_0273A358: ; // 0x273a358
|
|
/* 0273A358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A35C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A35C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273A35C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A35C */ goto L_0273A360;
|
|
L_0273A360: ; // 0x273a360
|
|
/* 0273A360 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A364 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A364 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273A364 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A364 */ goto L_0273A368;
|
|
L_0273A368: ; // 0x273a368
|
|
/* 0273A368 */ 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_0273A36C @ 0x273a36c
|
|
void Gambit_fn_0273A36C(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_0273A36C: ; // 0x273a36c
|
|
/* 0273A36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A370 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A370 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273A370 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A370 */ goto L_0273A374;
|
|
L_0273A374: ; // 0x273a374
|
|
/* 0273A374 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A378 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A378 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273A378 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A378 */ goto L_0273A37C;
|
|
L_0273A37C: ; // 0x273a37c
|
|
/* 0273A37C */ 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_0273A380 @ 0x273a380
|
|
void Gambit_fn_0273A380(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273A380: ; // 0x273a380
|
|
/* 0273A380 */ cpu->r[0] = cpu->lr;
|
|
/* 0273A384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A384 */ cpu->r[1] = _t0;
|
|
/* 0273A388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A38C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A38C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273A390 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0273A390 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273A394 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A398 */ /* nop */
|
|
/* 0273A39C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273A3A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A3A4 */ Gambit_fn_0273A6F8(cpu);
|
|
/* 0273A3A8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273A3AC */ cpu->lr = cpu->r[0];
|
|
/* 0273A3B0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A3B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273A3B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A3B8 */ return;
|
|
}
|
|
|
|
// fn_0273A384 @ 0x273a384
|
|
void Gambit_fn_0273A384(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273A384: ; // 0x273a384
|
|
/* 0273A384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A384 */ cpu->r[1] = _t0;
|
|
/* 0273A388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A38C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A38C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273A390 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0273A390 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273A394 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A398 */ /* nop */
|
|
/* 0273A39C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273A3A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A3A4 */ Gambit_fn_0273A6F8(cpu);
|
|
/* 0273A3A8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273A3AC */ cpu->lr = cpu->r[0];
|
|
/* 0273A3B0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A3B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273A3B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A3B8 */ return;
|
|
}
|
|
|
|
// fn_0273A3C0 @ 0x273a3c0
|
|
void Gambit_fn_0273A3C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0273A3C0: ; // 0x273a3c0
|
|
/* 0273A3C0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273A3C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A3C0 */ cpu->r[1] = _t0;
|
|
/* 0273A3C4 */ /* nop */
|
|
/* 0273A3C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0273A3CC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273A3CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273A3D0 */ cpu->r[29] = cpu->r[6];
|
|
/* 0273A3D4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273A3D8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0273A3DC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0273A3DC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273A3E0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0273A3E4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0273A3E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0273A3E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A3EC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273A3EC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0273A3F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A3F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273A3F0 */ if (_t6) goto L_0273A434; else goto L_0273A3F4;
|
|
L_0273A3F4: ; // 0x273a3f4
|
|
/* 0273A3F4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273A3F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A3F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273A3FC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A3FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273A400 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0273A400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273A404 */ cpu->ctr = cpu->r[0];
|
|
/* 0273A408 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273A40C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273A414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A418 */ cpu->r[0] = cpu->r[27];
|
|
/* 0273A41C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A41C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273A41C */ if (_t11) goto L_0273A424; else goto L_0273A420;
|
|
L_0273A420: ; // 0x273a420
|
|
/* 0273A420 */ cpu->r[0] = 0x00000001u;
|
|
L_0273A424: ; // 0x273a424
|
|
/* 0273A424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A428 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A428 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A428 */ if (_t13) goto L_0273A434; else goto L_0273A42C;
|
|
L_0273A42C: ; // 0x273a42c
|
|
/* 0273A42C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0273A42C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0273A430 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0273A430 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0273A434: ; // 0x273a434
|
|
/* 0273A434 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0273A434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A438 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273A43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273A440 */ cpu->r[12] = cpu->r[0];
|
|
/* 0273A444 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A444 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273A444 */ if (_t18) goto L_0273A448; else goto L_0273A46C;
|
|
L_0273A448: ; // 0x273a448
|
|
/* 0273A448 */ cpu->ctr = cpu->r[7];
|
|
/* 0273A44C */ cpu->r[10] = 0x00000000u;
|
|
L_0273A450: ; // 0x273a450
|
|
/* 0273A450 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0273A450 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273A454 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0273A454 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0273A458 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0273A45C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0273A45C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0273A460 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0273A464 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0273A464 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0273A468 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A468 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A468 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0273A468 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273A468 */ if (_t25) goto L_0273A450; else goto L_0273A46C;
|
|
L_0273A46C: ; // 0x273a46c
|
|
/* 0273A46C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273A46C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0273A470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A474 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A474 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273A474 */ if (_t28) goto L_0273A4B8; else goto L_0273A478;
|
|
L_0273A478: ; // 0x273a478
|
|
/* 0273A478 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273A478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273A47C */ Gambit_fn_02826F20(cpu);
|
|
/* 0273A480 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273A484 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0273A484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273A488 */ cpu->ctr = cpu->r[0];
|
|
/* 0273A48C */ cpu->r[5] = 0x00000004u;
|
|
/* 0273A490 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A494 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273A498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A49C */ cpu->r[11] = cpu->r[27];
|
|
/* 0273A4A0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A4A0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273A4A0 */ if (_t33) goto L_0273A4A8; else goto L_0273A4A4;
|
|
L_0273A4A4: ; // 0x273a4a4
|
|
/* 0273A4A4 */ cpu->r[11] = 0x00000001u;
|
|
L_0273A4A8: ; // 0x273a4a8
|
|
/* 0273A4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A4AC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A4AC */ _t35 = _t34 & 0x00000001u;
|
|
/* 0273A4AC */ if (_t35) goto L_0273A4B8; else goto L_0273A4B0;
|
|
L_0273A4B0: ; // 0x273a4b0
|
|
/* 0273A4B0 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0273A4B0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0273A4B4 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0273A4B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0273A4B8: ; // 0x273a4b8
|
|
/* 0273A4B8 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0273A4B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273A4BC */ cpu->r[0] = 0x00000000u;
|
|
/* 0273A4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273A4C4 */ cpu->r[12] = cpu->r[0];
|
|
/* 0273A4C8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A4C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273A4C8 */ if (_t40) goto L_0273A4CC; else goto L_0273A4F0;
|
|
L_0273A4CC: ; // 0x273a4cc
|
|
/* 0273A4CC */ cpu->ctr = cpu->r[6];
|
|
/* 0273A4D0 */ cpu->r[9] = 0x00000000u;
|
|
L_0273A4D4: ; // 0x273a4d4
|
|
/* 0273A4D4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0273A4D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273A4D8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0273A4D8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0273A4DC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0273A4E0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0273A4E0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0273A4E4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0273A4E8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0273A4E8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0273A4EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A4EC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A4EC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0273A4EC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0273A4EC */ if (_t47) goto L_0273A4D4; else goto L_0273A4F0;
|
|
L_0273A4F0: ; // 0x273a4f0
|
|
/* 0273A4F0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273A4F0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0273A4F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A4F8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A4F8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0273A4F8 */ if (_t50) goto L_0273A53C; else goto L_0273A4FC;
|
|
L_0273A4FC: ; // 0x273a4fc
|
|
/* 0273A4FC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273A4FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273A500 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273A504 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A504 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0273A508 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0273A508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273A50C */ cpu->ctr = cpu->r[0];
|
|
/* 0273A510 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273A514 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273A51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A520 */ cpu->r[10] = cpu->r[27];
|
|
/* 0273A524 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A524 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0273A524 */ if (_t55) goto L_0273A52C; else goto L_0273A528;
|
|
L_0273A528: ; // 0x273a528
|
|
/* 0273A528 */ cpu->r[10] = 0x00000001u;
|
|
L_0273A52C: ; // 0x273a52c
|
|
/* 0273A52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A530 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A530 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0273A530 */ if (_t57) goto L_0273A53C; else goto L_0273A534;
|
|
L_0273A534: ; // 0x273a534
|
|
/* 0273A534 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0273A534 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0273A538 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0273A538 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0273A53C: ; // 0x273a53c
|
|
/* 0273A53C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0273A53C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273A540 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273A544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0273A548 */ cpu->r[5] = cpu->r[0];
|
|
/* 0273A54C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A54C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0273A54C */ if (_t62) goto L_0273A550; else goto L_0273A574;
|
|
L_0273A550: ; // 0x273a550
|
|
/* 0273A550 */ cpu->ctr = cpu->r[12];
|
|
/* 0273A554 */ cpu->r[8] = 0x00000000u;
|
|
L_0273A558: ; // 0x273a558
|
|
/* 0273A558 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0273A558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0273A55C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0273A55C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0273A560 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0273A564 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0273A564 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0273A568 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0273A56C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0273A56C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0273A570 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273A570 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273A570 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0273A570 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0273A570 */ if (_t69) goto L_0273A558; else goto L_0273A574;
|
|
L_0273A574: ; // 0x273a574
|
|
/* 0273A574 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0273A574 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0273A578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0273A57C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A57C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0273A57C */ if (_t72) goto L_0273A658; else goto L_0273A580;
|
|
L_0273A580: ; // 0x273a580
|
|
/* 0273A580 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273A580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0273A584 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273A588 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A588 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0273A58C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0273A58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0273A590 */ cpu->ctr = cpu->r[12];
|
|
/* 0273A594 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273A598 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0273A59C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273A5A0 */ cpu->r[24] = cpu->r[3];
|
|
/* 0273A5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0273A5A8 */ cpu->r[30] = cpu->r[25];
|
|
/* 0273A5AC */ cpu->r[7] = 0x00000000u;
|
|
/* 0273A5B0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273A5B0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0273A5B0 */ if (_t77) goto L_0273A5B8; else goto L_0273A5B4;
|
|
L_0273A5B4: ; // 0x273a5b4
|
|
/* 0273A5B4 */ cpu->r[30] = 0x00000001u;
|
|
L_0273A5B8: ; // 0x273a5b8
|
|
/* 0273A5B8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273A5BC */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0273A5C0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0273A5C0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0273A5C4 */ cpu->r[23] = 0x00000018u;
|
|
L_0273A5C8: ; // 0x273a5c8
|
|
/* 0273A5C8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0273A5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273A5CC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A5CC */ _t80 = _t79 & 0x00000001u;
|
|
/* 0273A5CC */ if (_t80) goto L_0273A63C; else goto L_0273A5D0;
|
|
L_0273A5D0: ; // 0x273a5d0
|
|
/* 0273A5D0 */ cpu->r[26] = cpu->r[27];
|
|
/* 0273A5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273A5D4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A5D4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0273A5D4 */ if (_t82) goto L_0273A5D8; else goto L_0273A5E8;
|
|
L_0273A5D8: ; // 0x273a5d8
|
|
/* 0273A5D8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273A5DC */ Gambit_fn_02801A78(cpu);
|
|
/* 0273A5E0 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273A5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273A5E4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A5E4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0273A5E4 */ if (_t84) goto L_0273A630; else goto L_0273A5E8;
|
|
L_0273A5E8: ; // 0x273a5e8
|
|
/* 0273A5E8 */ cpu->r[11] = cpu->r[26];
|
|
/* 0273A5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273A5EC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A5EC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0273A5EC */ if (_t86) goto L_0273A5F0; else goto L_0273A600;
|
|
L_0273A5F0: ; // 0x273a5f0
|
|
/* 0273A5F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273A5F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273A5F8 */ cpu->r[11] = cpu->r[3];
|
|
/* 0273A5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273A5FC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A5FC */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273A5FC */ if (_t88) goto L_0273A61C; else goto L_0273A600;
|
|
L_0273A600: ; // 0x273a600
|
|
/* 0273A600 */ cpu->r[5] = 0x100F0000u;
|
|
/* 0273A604 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0273A604 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0273A608 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0273A60C */ cpu->r[5] = cpu->r[5] + 0x00007FF0u;
|
|
/* 0273A610 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0273A610 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0273A614 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0273A614 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0273A618 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0273A618 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0273A61C: ; // 0x273a61c
|
|
/* 0273A61C */ cpu->r[6] = 0x10100000u;
|
|
/* 0273A620 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0273A620 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0273A624 */ cpu->r[6] = cpu->r[6] + 0xFFFF8008u;
|
|
/* 0273A628 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0273A628 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0273A62C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0273A62C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0273A630: ; // 0x273a630
|
|
/* 0273A630 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273A634 */ cpu->r[0] = cpu->r[0] + 0xFFFF8020u;
|
|
/* 0273A638 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0273A638 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0273A63C: ; // 0x273a63c
|
|
/* 0273A63C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273A63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273A640 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0273A644 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A644 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0273A644 */ if (_t98) goto L_0273A648; else goto L_0273A5C8;
|
|
L_0273A648: ; // 0x273a648
|
|
/* 0273A648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0273A64C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A64C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0273A64C */ if (_t100) goto L_0273A658; else goto L_0273A650;
|
|
L_0273A650: ; // 0x273a650
|
|
/* 0273A650 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0273A650 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0273A654 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0273A654 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0273A658: ; // 0x273a658
|
|
/* 0273A658 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0273A658 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0273A65C */ /* nop */
|
|
/* 0273A660 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0273A660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0273A664 */ cpu->lr = cpu->r[0];
|
|
/* 0273A668 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273A66C */ return;
|
|
}
|
|
|
|
// fn_0273A670 @ 0x273a670
|
|
void Gambit_fn_0273A670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0273A670: ; // 0x273a670
|
|
/* 0273A670 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0273A670 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273A674 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0273A674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273A678 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0273A678 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273A67C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0273A680 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0273A680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273A684 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A684 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273A684 */ if (_t5) goto L_0273A688; else goto L_0273A690;
|
|
L_0273A688: ; // 0x273a688
|
|
/* 0273A688 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A68C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0273A690: ; // 0x273a690
|
|
/* 0273A690 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0273A690 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273A694 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0273A694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A698 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0273A698 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0273A69C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0273A69C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0273A6A0 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0273A6A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273A6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0273A6A8 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273A6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A6AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A6AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A6AC */ if (_t13) goto L_0273A6B0; else goto L_0273A6B8;
|
|
L_0273A6B0: ; // 0x273a6b0
|
|
/* 0273A6B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A6B4 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0273A6B8: ; // 0x273a6b8
|
|
/* 0273A6B8 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0273A6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273A6BC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0273A6BC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0273A6C0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0273A6C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A6C4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0273A6C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0273A6C8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0273A6C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273A6CC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0273A6CC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0273A6D0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0273A6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273A6D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0273A6D8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0273A6D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273A6DC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A6DC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273A6DC */ if (_t23) goto L_0273A6E0; else goto L_0273A6E8;
|
|
L_0273A6E0: ; // 0x273a6e0
|
|
/* 0273A6E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A6E4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0273A6E8: ; // 0x273a6e8
|
|
/* 0273A6E8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A6E8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0273A6EC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0273A6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273A6F0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A6F0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0273A6F4 */ return;
|
|
}
|
|
|
|
// fn_0273A6F8 @ 0x273a6f8
|
|
void Gambit_fn_0273A6F8(CPUState* 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_0273A6F8: ; // 0x273a6f8
|
|
/* 0273A6F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A6F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273A6FC */ /* nop */
|
|
/* 0273A700 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0273A700 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273A704 */ cpu->r[8] = cpu->r[0];
|
|
/* 0273A708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0273A70C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0273A70C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273A710 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A710 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273A710 */ if (_t4) goto L_0273A714; else goto L_0273A72C;
|
|
L_0273A714: ; // 0x273a714
|
|
/* 0273A714 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A718 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0273A71C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273A71C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273A720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273A724 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A724 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273A724 */ if (_t7) goto L_0273A728; else goto L_0273A738;
|
|
L_0273A728: ; // 0x273a728
|
|
/* 0273A728 */ return;
|
|
L_0273A72C: ; // 0x273a72c
|
|
/* 0273A72C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A72C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273A730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273A734 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A734 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273A734 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A734 */ goto L_0273A738;
|
|
L_0273A738: ; // 0x273a738
|
|
/* 0273A738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0273A73C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273A73C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A740 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A740 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A740 */ if (_t13) goto L_0273A744; else goto L_0273A74C;
|
|
L_0273A744: ; // 0x273a744
|
|
/* 0273A744 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A748 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273A74C: ; // 0x273a74c
|
|
/* 0273A74C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A74C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273A750 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A750 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273A754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A758 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A75C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0273A760 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A760 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273A760 */ if (_t18) goto L_0273A778; else goto L_0273A764;
|
|
L_0273A764: ; // 0x273a764
|
|
/* 0273A764 */ /* nop */
|
|
/* 0273A768 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273A768 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273A76C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A770 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0273A774 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273A778: ; // 0x273a778
|
|
/* 0273A778 */ cpu->ctr = cpu->r[11];
|
|
/* 0273A77C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273A780 @ 0x273a780
|
|
void Gambit_fn_0273A780(CPUState* 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_0273A780: ; // 0x273a780
|
|
/* 0273A780 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A780 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273A784 */ /* nop */
|
|
/* 0273A788 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0273A788 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273A78C */ cpu->r[7] = cpu->r[0];
|
|
/* 0273A790 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0273A794 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0273A794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273A798 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A798 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273A798 */ if (_t4) goto L_0273A79C; else goto L_0273A7B4;
|
|
L_0273A79C: ; // 0x273a79c
|
|
/* 0273A79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A7A0 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0273A7A4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273A7A4 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273A7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273A7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A7AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273A7AC */ if (_t7) goto L_0273A7B0; else goto L_0273A7C0;
|
|
L_0273A7B0: ; // 0x273a7b0
|
|
/* 0273A7B0 */ return;
|
|
L_0273A7B4: ; // 0x273a7b4
|
|
/* 0273A7B4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A7B4 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273A7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273A7BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A7BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273A7BC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A7BC */ goto L_0273A7C0;
|
|
L_0273A7C0: ; // 0x273a7c0
|
|
/* 0273A7C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0273A7C4 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273A7C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A7C8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A7C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A7C8 */ if (_t13) goto L_0273A7CC; else goto L_0273A7D4;
|
|
L_0273A7CC: ; // 0x273a7cc
|
|
/* 0273A7CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A7D0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273A7D4: ; // 0x273a7d4
|
|
/* 0273A7D4 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A7D4 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273A7D8 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A7D8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273A7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273A7E0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A7E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A7E4 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0273A7E8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A7E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273A7E8 */ if (_t18) goto L_0273A800; else goto L_0273A7EC;
|
|
L_0273A7EC: ; // 0x273a7ec
|
|
/* 0273A7EC */ /* nop */
|
|
/* 0273A7F0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273A7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273A7F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A7F8 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0273A7FC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A7FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273A800: ; // 0x273a800
|
|
/* 0273A800 */ cpu->ctr = cpu->r[11];
|
|
/* 0273A804 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273A808 @ 0x273a808
|
|
void Gambit_fn_0273A808(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273A808: ; // 0x273a808
|
|
/* 0273A808 */ cpu->r[0] = cpu->lr;
|
|
/* 0273A80C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A80C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A80C */ cpu->r[1] = _t0;
|
|
/* 0273A810 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A810 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273A814 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A814 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273A818 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273A81C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A81C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273A820 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273A820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0273A824 */ /* nop */
|
|
/* 0273A828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0273A82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0273A830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273A830 */ if (_t6) goto L_0273A834; else goto L_0273A848;
|
|
L_0273A834: ; // 0x273a834
|
|
/* 0273A834 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0273A834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A838 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0273A838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273A83C */ cpu->ctr = cpu->r[0];
|
|
/* 0273A840 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A844 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273A848: ; // 0x273a848
|
|
/* 0273A848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0273A850 */ Gambit_fn_0273A780(cpu);
|
|
/* 0273A854 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A858 */ /* nop */
|
|
/* 0273A85C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273A860 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A864 */ Gambit_fn_0273A6F8(cpu);
|
|
/* 0273A868 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273A86C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A86C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273A870 */ cpu->lr = cpu->r[0];
|
|
/* 0273A874 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A874 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A87C */ return;
|
|
}
|
|
|
|
// fn_0273A80C @ 0x273a80c
|
|
void Gambit_fn_0273A80C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273A80C: ; // 0x273a80c
|
|
/* 0273A80C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A80C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A80C */ cpu->r[1] = _t0;
|
|
/* 0273A810 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A810 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273A814 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A814 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273A818 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273A81C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A81C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273A820 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273A820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0273A824 */ /* nop */
|
|
/* 0273A828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0273A82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0273A830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273A830 */ if (_t6) goto L_0273A834; else goto L_0273A848;
|
|
L_0273A834: ; // 0x273a834
|
|
/* 0273A834 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0273A834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273A838 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0273A838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273A83C */ cpu->ctr = cpu->r[0];
|
|
/* 0273A840 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A844 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273A848: ; // 0x273a848
|
|
/* 0273A848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0273A850 */ Gambit_fn_0273A780(cpu);
|
|
/* 0273A854 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A858 */ /* nop */
|
|
/* 0273A85C */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273A860 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A864 */ Gambit_fn_0273A6F8(cpu);
|
|
/* 0273A868 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273A86C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0273A86C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273A870 */ cpu->lr = cpu->r[0];
|
|
/* 0273A874 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A874 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A87C */ return;
|
|
}
|
|
|
|
// fn_0273A880 @ 0x273a880
|
|
void Gambit_fn_0273A880(CPUState* 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_0273A880: ; // 0x273a880
|
|
/* 0273A880 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273A880 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273A884 */ /* nop */
|
|
/* 0273A888 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0273A888 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273A88C */ cpu->r[8] = cpu->r[0];
|
|
/* 0273A890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0273A894 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273A894 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273A898 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A898 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273A898 */ if (_t4) goto L_0273A89C; else goto L_0273A8B4;
|
|
L_0273A89C: ; // 0x273a89c
|
|
/* 0273A89C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A8A0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0273A8A4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273A8A4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273A8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273A8AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A8AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273A8AC */ if (_t7) goto L_0273A8B0; else goto L_0273A8C0;
|
|
L_0273A8B0: ; // 0x273a8b0
|
|
/* 0273A8B0 */ return;
|
|
L_0273A8B4: ; // 0x273a8b4
|
|
/* 0273A8B4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A8B4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273A8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273A8BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A8BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273A8BC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273A8BC */ goto L_0273A8C0;
|
|
L_0273A8C0: ; // 0x273a8c0
|
|
/* 0273A8C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0273A8C4 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273A8C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A8C8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A8C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273A8C8 */ if (_t13) goto L_0273A8CC; else goto L_0273A8D4;
|
|
L_0273A8CC: ; // 0x273a8cc
|
|
/* 0273A8CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A8D0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273A8D4: ; // 0x273a8d4
|
|
/* 0273A8D4 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273A8D4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273A8D8 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273A8D8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273A8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A8E0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A8E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273A8E4 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0273A8E8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273A8E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273A8E8 */ if (_t18) goto L_0273A900; else goto L_0273A8EC;
|
|
L_0273A8EC: ; // 0x273a8ec
|
|
/* 0273A8EC */ /* nop */
|
|
/* 0273A8F0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273A8F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273A8F4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273A8F8 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0273A8FC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273A8FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273A900: ; // 0x273a900
|
|
/* 0273A900 */ cpu->ctr = cpu->r[11];
|
|
/* 0273A904 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273A908 @ 0x273a908
|
|
void Gambit_fn_0273A908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273A908: ; // 0x273a908
|
|
/* 0273A908 */ cpu->r[0] = cpu->lr;
|
|
/* 0273A90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A90C */ cpu->r[1] = _t0;
|
|
/* 0273A910 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A910 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A918 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273A91C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0273A91C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273A920 */ cpu->r[12] = 0x00000000u;
|
|
/* 0273A924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A928 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273A928 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0273A92C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A92C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273A92C */ if (_t6) goto L_0273A954; else goto L_0273A930;
|
|
L_0273A930: ; // 0x273a930
|
|
/* 0273A930 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273A930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273A934 */ /* nop */
|
|
/* 0273A938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273A93C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A93C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273A93C */ if (_t9) goto L_0273A940; else goto L_0273A954;
|
|
L_0273A940: ; // 0x273a940
|
|
/* 0273A940 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0273A940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273A944 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273A944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A948 */ cpu->ctr = cpu->r[0];
|
|
/* 0273A94C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A950 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273A954: ; // 0x273a954
|
|
/* 0273A954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A958 */ Gambit_fn_0273A880(cpu);
|
|
/* 0273A95C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A960 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273A964 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273A968 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273A96C */ cpu->lr = cpu->r[0];
|
|
/* 0273A970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A974 */ return;
|
|
}
|
|
|
|
// fn_0273A90C @ 0x273a90c
|
|
void Gambit_fn_0273A90C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273A90C: ; // 0x273a90c
|
|
/* 0273A90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273A90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A90C */ cpu->r[1] = _t0;
|
|
/* 0273A910 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A910 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273A914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A918 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273A91C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0273A91C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273A920 */ cpu->r[12] = 0x00000000u;
|
|
/* 0273A924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273A928 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273A928 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0273A92C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A92C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273A92C */ if (_t6) goto L_0273A954; else goto L_0273A930;
|
|
L_0273A930: ; // 0x273a930
|
|
/* 0273A930 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273A930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273A934 */ /* nop */
|
|
/* 0273A938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273A93C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A93C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273A93C */ if (_t9) goto L_0273A940; else goto L_0273A954;
|
|
L_0273A940: ; // 0x273a940
|
|
/* 0273A940 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0273A940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273A944 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273A944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273A948 */ cpu->ctr = cpu->r[0];
|
|
/* 0273A94C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A950 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273A954: ; // 0x273a954
|
|
/* 0273A954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A958 */ Gambit_fn_0273A880(cpu);
|
|
/* 0273A95C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273A960 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273A964 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273A964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273A968 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273A968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273A96C */ cpu->lr = cpu->r[0];
|
|
/* 0273A970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273A974 */ return;
|
|
}
|
|
|
|
// fn_0273A978 @ 0x273a978
|
|
void Gambit_fn_0273A978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407;
|
|
|
|
L_0273A978: ; // 0x273a978
|
|
/* 0273A978 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0273A978 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273A978 */ cpu->r[1] = _t0;
|
|
/* 0273A97C */ cpu->r[0] = cpu->lr;
|
|
/* 0273A980 */ /* nop */
|
|
/* 0273A984 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273A988 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0273A988 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273A98C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A98C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273A98C */ if (_t3) goto L_0273A990; else goto L_0273A9A0;
|
|
L_0273A990: ; // 0x273a990
|
|
/* 0273A990 */ cpu->r[3] = 0x00000068u;
|
|
/* 0273A994 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273A998 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273A998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273A99C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A99C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273A99C */ if (_t5) goto L_0273B580; else goto L_0273A9A0;
|
|
L_0273A9A0: ; // 0x273a9a0
|
|
/* 0273A9A0 */ cpu->r[30] = cpu->r[31];
|
|
/* 0273A9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273A9A4 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273A9A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A9A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273A9A8 */ if (_t7) goto L_0273A9AC; else goto L_0273A9BC;
|
|
L_0273A9AC: ; // 0x273a9ac
|
|
/* 0273A9AC */ cpu->r[3] = 0x00000038u;
|
|
/* 0273A9B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273A9B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273A9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273A9B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A9B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273A9B8 */ if (_t9) goto L_0273A9EC; else goto L_0273A9BC;
|
|
L_0273A9BC: ; // 0x273a9bc
|
|
/* 0273A9BC */ cpu->r[3] = cpu->r[30];
|
|
/* 0273A9C0 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0273A9C4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273A9C8 */ _t10 = cpu->r[30] + 0x00000030u;
|
|
/* 0273A9C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 0273A9CC */ cpu->r[0] = cpu->r[0] + 0xFFFF8220u;
|
|
/* 0273A9D0 */ _t11 = cpu->r[30] + 0x00000034u;
|
|
/* 0273A9D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 0273A9D4 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 0273A9D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0273A9D8 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 0273A9D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 0273A9DC */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 0273A9DC */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 0273A9E0 */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0273A9E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0273A9E4 */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273A9E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0273A9E8 */ _t17 = cpu->r[30] + 0x00000020u;
|
|
/* 0273A9E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
L_0273A9EC: ; // 0x273a9ec
|
|
/* 0273A9EC */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 0273A9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273A9F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273A9F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273A9F0 */ if (_t19) goto L_0273A9F4; else goto L_0273AA04;
|
|
L_0273A9F4: ; // 0x273a9f4
|
|
/* 0273A9F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273A9F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273A9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273AA00 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AA00 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273AA00 */ if (_t21) goto L_0273AA0C; else goto L_0273AA04;
|
|
L_0273AA04: ; // 0x273aa04
|
|
/* 0273AA04 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0273AA04 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 0273AA08 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0273AA08 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
L_0273AA0C: ; // 0x273aa0c
|
|
/* 0273AA0C */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 0273AA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273AA10 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AA10 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273AA10 */ if (_t25) goto L_0273AA14; else goto L_0273AA24;
|
|
L_0273AA14: ; // 0x273aa14
|
|
/* 0273AA14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273AA18 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273AA20 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AA20 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273AA20 */ if (_t27) goto L_0273AA48; else goto L_0273AA24;
|
|
L_0273AA24: ; // 0x273aa24
|
|
/* 0273AA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273AA28 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AA28 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0273AA28 */ if (_t29) goto L_0273AA2C; else goto L_0273AA3C;
|
|
L_0273AA2C: ; // 0x273aa2c
|
|
/* 0273AA2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273AA30 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273AA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273AA38 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AA38 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0273AA38 */ if (_t31) goto L_0273AA48; else goto L_0273AA3C;
|
|
L_0273AA3C: ; // 0x273aa3c
|
|
/* 0273AA3C */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 0273AA3C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 0273AA40 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 0273AA40 */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 0273AA44 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 0273AA44 */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
L_0273AA48: ; // 0x273aa48
|
|
/* 0273AA48 */ _t35 = cpu->r[31] + 0x00000065u;
|
|
/* 0273AA48 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[27]);
|
|
/* 0273AA4C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0273AA50 */ _t36 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273AA50 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 0273AA54 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AA58 */ _t37 = cpu->r[31] + 0x00000050u;
|
|
/* 0273AA58 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 0273AA5C */ _t38 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273AA5C */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 0273AA60 */ _t39 = cpu->r[31] + 0x00000066u;
|
|
/* 0273AA60 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[27]);
|
|
/* 0273AA64 */ _t40 = cpu->r[31] + 0x00000060u;
|
|
/* 0273AA64 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 0273AA68 */ _t41 = cpu->r[31] + 0x00000054u;
|
|
/* 0273AA68 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 0273AA6C */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AA70 */ _t42 = cpu->r[31] + 0x00000058u;
|
|
/* 0273AA70 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0273AA74 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AA78 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 0273AA7C */ _t43 = cpu->r[31] + 0x00000064u;
|
|
/* 0273AA7C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[27]);
|
|
/* 0273AA80 */ cpu->r[4] = cpu->r[31];
|
|
/* 0273AA84 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AA84 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
|
|
/* 0273AA88 */ Gambit_fn_0273C68C(cpu);
|
|
/* 0273AA8C */ cpu->r[25] = 0x02740000u;
|
|
/* 0273AA90 */ cpu->r[7] = 0x10100000u;
|
|
/* 0273AA94 */ cpu->r[26] = 0x10100000u;
|
|
/* 0273AA98 */ cpu->r[25] = cpu->r[25] + 0xFFFFC5DCu;
|
|
/* 0273AA9C */ cpu->r[7] = cpu->r[7] + 0xFFFF813Cu;
|
|
/* 0273AAA0 */ cpu->r[26] = cpu->r[26] + 0xFFFF80B4u;
|
|
/* 0273AAA4 */ cpu->ctr = cpu->r[25];
|
|
/* 0273AAA8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AAA8 */ rbrew_write32(cpu->mem, _t45, cpu->r[26]);
|
|
/* 0273AAAC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AAAC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0273AAB0 */ _t47 = cpu->r[31] + 0x00000018u;
|
|
/* 0273AAB0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273AAB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AAB8 */ _t48 = cpu->r[24] + 0x00000000u;
|
|
/* 0273AAB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273AABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AAC0 */ cpu->r[28] = 0x10110000u;
|
|
/* 0273AAC4 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AAC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273AAC8 */ _t50 = cpu->r[28] + 0x00007399u;
|
|
/* 0273AAC8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0273AACC */ _t51 = cpu->r[11] + 0x00000000u;
|
|
/* 0273AACC */ cpu->r[8] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0273AAD0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273AAD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 0273AAD8 */ cpu->r[12] = 0x00080000u;
|
|
/* 0273AADC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AADC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0273AADC */ if (_t53) goto L_0273AB04; else goto L_0273AAE0;
|
|
L_0273AAE0: ; // 0x273aae0
|
|
/* 0273AAE0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273AAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0273AAE8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0273AAEC */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273AAEC */ _t55 = _t54 & 0x00000001u;
|
|
/* 0273AAEC */ if (_t55) goto L_0273AB00; else goto L_0273AAF0;
|
|
L_0273AAF0: ; // 0x273aaf0
|
|
/* 0273AAF0 */ _t56 = cpu->r[11] + 0x00000000u;
|
|
/* 0273AAF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0273AAF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 0273AAF8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AAF8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273AAF8 */ if (_t58) goto L_0273AAFC; else goto L_0273AAE0;
|
|
L_0273AAFC: ; // 0x273aafc
|
|
/* 0273AAFC */ goto L_0273AB04;
|
|
L_0273AB00: ; // 0x273ab00
|
|
/* 0273AB00 */ cpu->r[30] = 0x00000000u;
|
|
L_0273AB04: ; // 0x273ab04
|
|
/* 0273AB04 */ _t59 = cpu->r[24] + 0x00000008u;
|
|
/* 0273AB04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0273AB08 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AB08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273AB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0273AB10 */ _t61 = cpu->r[11] + 0x00000014u;
|
|
/* 0273AB10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273AB14 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AB14 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0273AB14 */ if (_t63) goto L_0273AB1C; else goto L_0273AB18;
|
|
L_0273AB18: ; // 0x273ab18
|
|
/* 0273AB18 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0273AB1C: ; // 0x273ab1c
|
|
/* 0273AB1C */ cpu->ctr = cpu->r[0];
|
|
/* 0273AB20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AB24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AB28 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AB28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0273AB2C */ cpu->r[3] = cpu->r[29];
|
|
/* 0273AB30 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273AB34 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AB38 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273AB3C */ _t65 = cpu->r[29] + cpu->r[30];
|
|
/* 0273AB3C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[28]);
|
|
/* 0273AB40 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273AB44 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 0273AB44 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 0273AB48 */ cpu->r[6] = 0x02740000u;
|
|
/* 0273AB4C */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 0273AB4C */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[27]);
|
|
/* 0273AB50 */ cpu->r[6] = cpu->r[6] + 0xFFFFC688u;
|
|
/* 0273AB54 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AB54 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[4]);
|
|
/* 0273AB58 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 0273AB58 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 0273AB5C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273AB60 */ _t70 = cpu->r[1] + 0x00000026u;
|
|
/* 0273AB60 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[27]);
|
|
/* 0273AB64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273AB68 */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AB68 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[27]);
|
|
/* 0273AB6C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0273AB70 */ _t72 = cpu->r[1] + 0x00000016u;
|
|
/* 0273AB70 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[27]);
|
|
/* 0273AB74 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AB78 */ _t73 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273AB78 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[0]);
|
|
/* 0273AB7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AB80 */ _t74 = cpu->r[1] + 0x00000014u;
|
|
/* 0273AB80 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[27]);
|
|
/* 0273AB84 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AB88 */ _t75 = cpu->r[1] + 0x00000028u;
|
|
/* 0273AB88 */ rbrew_write32(cpu->mem, _t75, cpu->r[27]);
|
|
/* 0273AB8C */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273AB90 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273AB94 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AB94 */ rbrew_write32(cpu->mem, _t76, cpu->r[26]);
|
|
/* 0273AB98 */ cpu->r[0] = cpu->r[0] + 0xFFFF8164u;
|
|
/* 0273AB9C */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AB9C */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 0273ABA0 */ _t78 = cpu->r[31] + 0x00000014u;
|
|
/* 0273ABA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0273ABA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0273ABA8 */ _t79 = cpu->r[31] + 0x00000018u;
|
|
/* 0273ABA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0273ABAC */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ABAC */ _t81 = _t80 & 0x00000001u;
|
|
/* 0273ABAC */ if (_t81) goto L_0273ABB0; else goto L_0273ABB4;
|
|
L_0273ABB0: ; // 0x273abb0
|
|
/* 0273ABB0 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
L_0273ABB4: ; // 0x273abb4
|
|
/* 0273ABB4 */ cpu->ctr = cpu->r[25];
|
|
/* 0273ABB8 */ _t82 = cpu->r[29] + 0x00000000u;
|
|
/* 0273ABB8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0273ABBC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ABC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273ABC4 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ABC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0273ABC8 */ _t84 = cpu->r[7] + 0x00000000u;
|
|
/* 0273ABC8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0273ABCC */ cpu->r[30] = 0x00000000u;
|
|
/* 0273ABD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0273ABD4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0273ABD8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ABD8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0273ABD8 */ if (_t86) goto L_0273AC00; else goto L_0273ABDC;
|
|
L_0273ABDC: ; // 0x273abdc
|
|
/* 0273ABDC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273ABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0273ABE4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0273ABE8 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ABE8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273ABE8 */ if (_t88) goto L_0273ABFC; else goto L_0273ABEC;
|
|
L_0273ABEC: ; // 0x273abec
|
|
/* 0273ABEC */ _t89 = cpu->r[7] + 0x00000000u;
|
|
/* 0273ABEC */ cpu->r[8] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0273ABF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 0273ABF4 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ABF4 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0273ABF4 */ if (_t91) goto L_0273ABF8; else goto L_0273ABDC;
|
|
L_0273ABF8: ; // 0x273abf8
|
|
/* 0273ABF8 */ goto L_0273AC00;
|
|
L_0273ABFC: ; // 0x273abfc
|
|
/* 0273ABFC */ cpu->r[30] = 0x00000000u;
|
|
L_0273AC00: ; // 0x273ac00
|
|
/* 0273AC00 */ _t92 = cpu->r[29] + 0x00000008u;
|
|
/* 0273AC00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0273AC04 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0273AC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0273AC0C */ _t94 = cpu->r[10] + 0x00000014u;
|
|
/* 0273AC0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0273AC10 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AC10 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0273AC10 */ if (_t96) goto L_0273AC18; else goto L_0273AC14;
|
|
L_0273AC14: ; // 0x273ac14
|
|
/* 0273AC14 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0273AC18: ; // 0x273ac18
|
|
/* 0273AC18 */ cpu->ctr = cpu->r[0];
|
|
/* 0273AC1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AC20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AC24 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AC24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0273AC28 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273AC2C */ cpu->r[5] = cpu->r[30];
|
|
/* 0273AC30 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AC34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273AC38 */ _t98 = cpu->r[24] + cpu->r[30];
|
|
/* 0273AC38 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[28]);
|
|
/* 0273AC3C */ cpu->r[7] = 0x02740000u;
|
|
/* 0273AC40 */ cpu->r[5] = 0x00000001u;
|
|
/* 0273AC44 */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 0273AC44 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[27]);
|
|
/* 0273AC48 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB20u;
|
|
/* 0273AC4C */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AC4C */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[5]);
|
|
/* 0273AC50 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0273AC54 */ _t101 = cpu->r[1] + 0x00000018u;
|
|
/* 0273AC54 */ rbrew_write32(cpu->mem, _t101, cpu->r[7]);
|
|
/* 0273AC58 */ _t102 = cpu->r[1] + 0x00000016u;
|
|
/* 0273AC58 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[4]);
|
|
/* 0273AC5C */ _t103 = cpu->r[1] + 0x00000020u;
|
|
/* 0273AC5C */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
/* 0273AC60 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AC64 */ _t104 = cpu->r[1] + 0x00000024u;
|
|
/* 0273AC64 */ rbrew_write16(cpu->mem, _t104, (uint16_t)cpu->r[27]);
|
|
/* 0273AC68 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AC6C */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 0273AC6C */ rbrew_write32(cpu->mem, _t105, cpu->r[27]);
|
|
/* 0273AC70 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273AC74 */ _t106 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273AC74 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[27]);
|
|
/* 0273AC78 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273AC7C */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AC7C */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[27]);
|
|
/* 0273AC80 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AC84 */ _t108 = cpu->r[1] + 0x00000026u;
|
|
/* 0273AC84 */ rbrew_write16(cpu->mem, _t108, (uint16_t)cpu->r[27]);
|
|
/* 0273AC88 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273AC8C */ cpu->r[9] = 0x10100000u;
|
|
/* 0273AC90 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AC90 */ rbrew_write32(cpu->mem, _t109, cpu->r[26]);
|
|
/* 0273AC94 */ cpu->r[9] = cpu->r[9] + 0xFFFF817Cu;
|
|
/* 0273AC98 */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AC98 */ rbrew_write32(cpu->mem, _t110, cpu->r[9]);
|
|
/* 0273AC9C */ _t111 = cpu->r[31] + 0x00000014u;
|
|
/* 0273AC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0273ACA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0273ACA4 */ _t112 = cpu->r[31] + 0x00000018u;
|
|
/* 0273ACA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0273ACA8 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ACA8 */ _t114 = _t113 & 0x00000001u;
|
|
/* 0273ACA8 */ if (_t114) goto L_0273ACAC; else goto L_0273ACB0;
|
|
L_0273ACAC: ; // 0x273acac
|
|
/* 0273ACAC */ cpu->r[29] = cpu->r[29] + 0x00000048u;
|
|
L_0273ACB0: ; // 0x273acb0
|
|
/* 0273ACB0 */ cpu->ctr = cpu->r[25];
|
|
/* 0273ACB4 */ _t115 = cpu->r[29] + 0x00000000u;
|
|
/* 0273ACB4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0273ACB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ACBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273ACC0 */ _t116 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ACC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0273ACC4 */ _t117 = cpu->r[12] + 0x00000000u;
|
|
/* 0273ACC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t117);
|
|
/* 0273ACC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273ACCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273ACD0 */ cpu->r[4] = 0x00080000u;
|
|
/* 0273ACD4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ACD4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0273ACD4 */ if (_t119) goto L_0273ACFC; else goto L_0273ACD8;
|
|
L_0273ACD8: ; // 0x273acd8
|
|
/* 0273ACD8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273ACDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 0273ACE0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273ACE4 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ACE4 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0273ACE4 */ if (_t121) goto L_0273ACF8; else goto L_0273ACE8;
|
|
L_0273ACE8: ; // 0x273ace8
|
|
/* 0273ACE8 */ _t122 = cpu->r[12] + 0x00000000u;
|
|
/* 0273ACE8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t122);
|
|
/* 0273ACEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0273ACF0 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ACF0 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0273ACF0 */ if (_t124) goto L_0273ACF4; else goto L_0273ACD8;
|
|
L_0273ACF4: ; // 0x273acf4
|
|
/* 0273ACF4 */ goto L_0273ACFC;
|
|
L_0273ACF8: ; // 0x273acf8
|
|
/* 0273ACF8 */ cpu->r[30] = 0x00000000u;
|
|
L_0273ACFC: ; // 0x273acfc
|
|
/* 0273ACFC */ _t125 = cpu->r[29] + 0x00000008u;
|
|
/* 0273ACFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0273AD00 */ _t126 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AD00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0273AD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0273AD08 */ _t127 = cpu->r[6] + 0x00000014u;
|
|
/* 0273AD08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0273AD0C */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AD0C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0273AD0C */ if (_t129) goto L_0273AD14; else goto L_0273AD10;
|
|
L_0273AD10: ; // 0x273ad10
|
|
/* 0273AD10 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0273AD14: ; // 0x273ad14
|
|
/* 0273AD14 */ cpu->ctr = cpu->r[8];
|
|
/* 0273AD18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AD1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AD20 */ _t130 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AD20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0273AD24 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273AD28 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273AD2C */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AD30 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273AD34 */ _t131 = cpu->r[24] + cpu->r[30];
|
|
/* 0273AD34 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[28]);
|
|
/* 0273AD38 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273AD3C */ _t132 = cpu->r[1] + 0x00000028u;
|
|
/* 0273AD3C */ rbrew_write32(cpu->mem, _t132, cpu->r[27]);
|
|
/* 0273AD40 */ cpu->r[10] = 0x02740000u;
|
|
/* 0273AD44 */ _t133 = cpu->r[1] + 0x00000020u;
|
|
/* 0273AD44 */ rbrew_write32(cpu->mem, _t133, cpu->r[27]);
|
|
/* 0273AD48 */ cpu->r[10] = cpu->r[10] + 0xFFFFBC7Cu;
|
|
/* 0273AD4C */ _t134 = cpu->r[1] + 0x00000016u;
|
|
/* 0273AD4C */ rbrew_write16(cpu->mem, _t134, (uint16_t)cpu->r[0]);
|
|
/* 0273AD50 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273AD54 */ _t135 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AD54 */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[27]);
|
|
/* 0273AD58 */ _t136 = cpu->r[1] + 0x00000014u;
|
|
/* 0273AD58 */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[27]);
|
|
/* 0273AD5C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273AD60 */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AD60 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[0]);
|
|
/* 0273AD64 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AD68 */ _t138 = cpu->r[1] + 0x00000018u;
|
|
/* 0273AD68 */ rbrew_write32(cpu->mem, _t138, cpu->r[10]);
|
|
/* 0273AD6C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273AD70 */ _t139 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273AD70 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[27]);
|
|
/* 0273AD74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AD78 */ _t140 = cpu->r[1] + 0x00000026u;
|
|
/* 0273AD78 */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[27]);
|
|
/* 0273AD7C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AD80 */ _t141 = cpu->r[1] + 0x00000024u;
|
|
/* 0273AD80 */ rbrew_write16(cpu->mem, _t141, (uint16_t)cpu->r[27]);
|
|
/* 0273AD84 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273AD88 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273AD8C */ _t142 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AD8C */ rbrew_write32(cpu->mem, _t142, cpu->r[26]);
|
|
/* 0273AD90 */ cpu->r[0] = cpu->r[0] + 0xFFFF8190u;
|
|
/* 0273AD94 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AD94 */ rbrew_write32(cpu->mem, _t143, cpu->r[0]);
|
|
/* 0273AD98 */ _t144 = cpu->r[31] + 0x00000014u;
|
|
/* 0273AD98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0273AD9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000003u);
|
|
/* 0273ADA0 */ _t145 = cpu->r[31] + 0x00000018u;
|
|
/* 0273ADA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0273ADA4 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ADA4 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0273ADA4 */ if (_t147) goto L_0273ADA8; else goto L_0273ADAC;
|
|
L_0273ADA8: ; // 0x273ada8
|
|
/* 0273ADA8 */ cpu->r[29] = cpu->r[29] + 0x0000006Cu;
|
|
L_0273ADAC: ; // 0x273adac
|
|
/* 0273ADAC */ cpu->ctr = cpu->r[25];
|
|
/* 0273ADB0 */ _t148 = cpu->r[29] + 0x00000000u;
|
|
/* 0273ADB0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0273ADB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ADB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273ADBC */ _t149 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273ADBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0273ADC0 */ _t150 = cpu->r[8] + 0x00000000u;
|
|
/* 0273ADC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t150);
|
|
/* 0273ADC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273ADC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0273ADCC */ cpu->r[10] = 0x00080000u;
|
|
/* 0273ADD0 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ADD0 */ _t152 = _t151 & 0x00000001u;
|
|
/* 0273ADD0 */ if (_t152) goto L_0273ADF8; else goto L_0273ADD4;
|
|
L_0273ADD4: ; // 0x273add4
|
|
/* 0273ADD4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273ADD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0273ADDC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273ADE0 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273ADE0 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0273ADE0 */ if (_t154) goto L_0273ADF4; else goto L_0273ADE4;
|
|
L_0273ADE4: ; // 0x273ade4
|
|
/* 0273ADE4 */ _t155 = cpu->r[8] + 0x00000000u;
|
|
/* 0273ADE4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t155);
|
|
/* 0273ADE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0273ADEC */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273ADEC */ _t157 = _t156 & 0x00000001u;
|
|
/* 0273ADEC */ if (_t157) goto L_0273ADF0; else goto L_0273ADD4;
|
|
L_0273ADF0: ; // 0x273adf0
|
|
/* 0273ADF0 */ goto L_0273ADF8;
|
|
L_0273ADF4: ; // 0x273adf4
|
|
/* 0273ADF4 */ cpu->r[30] = 0x00000000u;
|
|
L_0273ADF8: ; // 0x273adf8
|
|
/* 0273ADF8 */ _t158 = cpu->r[29] + 0x00000008u;
|
|
/* 0273ADF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0273ADFC */ _t159 = cpu->r[1] + 0x00000010u;
|
|
/* 0273ADFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t159);
|
|
/* 0273AE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0273AE04 */ _t160 = cpu->r[9] + 0x00000014u;
|
|
/* 0273AE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 0273AE08 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AE08 */ _t162 = _t161 & 0x00000001u;
|
|
/* 0273AE08 */ if (_t162) goto L_0273AE10; else goto L_0273AE0C;
|
|
L_0273AE0C: ; // 0x273ae0c
|
|
/* 0273AE0C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0273AE10: ; // 0x273ae10
|
|
/* 0273AE10 */ cpu->ctr = cpu->r[0];
|
|
/* 0273AE14 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AE18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AE1C */ _t163 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AE1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0273AE20 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AE24 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273AE28 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273AE2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273AE30 */ _t164 = cpu->r[24] + cpu->r[30];
|
|
/* 0273AE30 */ rbrew_write8(cpu->mem, _t164, (uint8_t)cpu->r[28]);
|
|
/* 0273AE34 */ cpu->r[0] = 0x00000003u;
|
|
/* 0273AE38 */ _t165 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AE38 */ rbrew_write16(cpu->mem, _t165, (uint16_t)cpu->r[27]);
|
|
/* 0273AE3C */ cpu->r[5] = 0x02740000u;
|
|
/* 0273AE40 */ _t166 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273AE40 */ rbrew_write16(cpu->mem, _t166, (uint16_t)cpu->r[27]);
|
|
/* 0273AE44 */ cpu->r[5] = cpu->r[5] + 0xFFFFBCF0u;
|
|
/* 0273AE48 */ _t167 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AE48 */ rbrew_write8(cpu->mem, _t167, (uint8_t)cpu->r[0]);
|
|
/* 0273AE4C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0273AE50 */ _t168 = cpu->r[1] + 0x00000018u;
|
|
/* 0273AE50 */ rbrew_write32(cpu->mem, _t168, cpu->r[5]);
|
|
/* 0273AE54 */ _t169 = cpu->r[1] + 0x00000026u;
|
|
/* 0273AE54 */ rbrew_write16(cpu->mem, _t169, (uint16_t)cpu->r[27]);
|
|
/* 0273AE58 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273AE5C */ _t170 = cpu->r[1] + 0x00000028u;
|
|
/* 0273AE5C */ rbrew_write32(cpu->mem, _t170, cpu->r[27]);
|
|
/* 0273AE60 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AE64 */ _t171 = cpu->r[1] + 0x00000014u;
|
|
/* 0273AE64 */ rbrew_write16(cpu->mem, _t171, (uint16_t)cpu->r[27]);
|
|
/* 0273AE68 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273AE6C */ _t172 = cpu->r[1] + 0x00000020u;
|
|
/* 0273AE6C */ rbrew_write32(cpu->mem, _t172, cpu->r[27]);
|
|
/* 0273AE70 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AE74 */ _t173 = cpu->r[1] + 0x00000016u;
|
|
/* 0273AE74 */ rbrew_write16(cpu->mem, _t173, (uint16_t)cpu->r[8]);
|
|
/* 0273AE78 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AE7C */ _t174 = cpu->r[1] + 0x00000024u;
|
|
/* 0273AE7C */ rbrew_write16(cpu->mem, _t174, (uint16_t)cpu->r[27]);
|
|
/* 0273AE80 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273AE84 */ cpu->r[8] = 0x10100000u;
|
|
/* 0273AE88 */ _t175 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AE88 */ rbrew_write32(cpu->mem, _t175, cpu->r[26]);
|
|
/* 0273AE8C */ cpu->r[8] = cpu->r[8] + 0xFFFF81A8u;
|
|
/* 0273AE90 */ _t176 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AE90 */ rbrew_write32(cpu->mem, _t176, cpu->r[8]);
|
|
/* 0273AE94 */ _t177 = cpu->r[31] + 0x00000014u;
|
|
/* 0273AE94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t177);
|
|
/* 0273AE98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 0273AE9C */ _t178 = cpu->r[31] + 0x00000018u;
|
|
/* 0273AE9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0273AEA0 */ _t179 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273AEA0 */ _t180 = _t179 & 0x00000001u;
|
|
/* 0273AEA0 */ if (_t180) goto L_0273AEA4; else goto L_0273AEA8;
|
|
L_0273AEA4: ; // 0x273aea4
|
|
/* 0273AEA4 */ cpu->r[29] = cpu->r[29] + 0x00000090u;
|
|
L_0273AEA8: ; // 0x273aea8
|
|
/* 0273AEA8 */ cpu->ctr = cpu->r[25];
|
|
/* 0273AEAC */ _t181 = cpu->r[29] + 0x00000000u;
|
|
/* 0273AEAC */ cpu->r[24] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0273AEB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AEB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AEB8 */ _t182 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AEB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0273AEBC */ _t183 = cpu->r[12] + 0x00000000u;
|
|
/* 0273AEBC */ cpu->r[4] = rbrew_read8(cpu->mem, _t183);
|
|
/* 0273AEC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273AEC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0273AEC8 */ cpu->r[5] = 0x00080000u;
|
|
/* 0273AECC */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AECC */ _t185 = _t184 & 0x00000001u;
|
|
/* 0273AECC */ if (_t185) goto L_0273AEF4; else goto L_0273AED0;
|
|
L_0273AED0: ; // 0x273aed0
|
|
/* 0273AED0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273AED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0273AED8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273AEDC */ _t186 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273AEDC */ _t187 = _t186 & 0x00000001u;
|
|
/* 0273AEDC */ if (_t187) goto L_0273AEF0; else goto L_0273AEE0;
|
|
L_0273AEE0: ; // 0x273aee0
|
|
/* 0273AEE0 */ _t188 = cpu->r[12] + 0x00000000u;
|
|
/* 0273AEE0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t188);
|
|
/* 0273AEE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0273AEE8 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AEE8 */ _t190 = _t189 & 0x00000001u;
|
|
/* 0273AEE8 */ if (_t190) goto L_0273AEEC; else goto L_0273AED0;
|
|
L_0273AEEC: ; // 0x273aeec
|
|
/* 0273AEEC */ goto L_0273AEF4;
|
|
L_0273AEF0: ; // 0x273aef0
|
|
/* 0273AEF0 */ cpu->r[30] = 0x00000000u;
|
|
L_0273AEF4: ; // 0x273aef4
|
|
/* 0273AEF4 */ _t191 = cpu->r[29] + 0x00000008u;
|
|
/* 0273AEF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t191);
|
|
/* 0273AEF8 */ _t192 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AEF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0273AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 0273AF00 */ _t193 = cpu->r[7] + 0x00000014u;
|
|
/* 0273AF00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t193);
|
|
/* 0273AF04 */ _t194 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AF04 */ _t195 = _t194 & 0x00000001u;
|
|
/* 0273AF04 */ if (_t195) goto L_0273AF0C; else goto L_0273AF08;
|
|
L_0273AF08: ; // 0x273af08
|
|
/* 0273AF08 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0273AF0C: ; // 0x273af0c
|
|
/* 0273AF0C */ cpu->ctr = cpu->r[8];
|
|
/* 0273AF10 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AF18 */ _t196 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AF18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t196);
|
|
/* 0273AF1C */ cpu->r[3] = cpu->r[24];
|
|
/* 0273AF20 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273AF24 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273AF28 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273AF2C */ _t197 = cpu->r[24] + cpu->r[30];
|
|
/* 0273AF2C */ rbrew_write8(cpu->mem, _t197, (uint8_t)cpu->r[28]);
|
|
/* 0273AF30 */ cpu->r[12] = 0x00000004u;
|
|
/* 0273AF34 */ _t198 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273AF34 */ rbrew_write16(cpu->mem, _t198, (uint16_t)cpu->r[27]);
|
|
/* 0273AF38 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273AF3C */ _t199 = cpu->r[1] + 0x00000024u;
|
|
/* 0273AF3C */ rbrew_write16(cpu->mem, _t199, (uint16_t)cpu->r[27]);
|
|
/* 0273AF40 */ cpu->r[9] = 0x02740000u;
|
|
/* 0273AF44 */ _t200 = cpu->r[1] + 0x00000016u;
|
|
/* 0273AF44 */ rbrew_write16(cpu->mem, _t200, (uint16_t)cpu->r[0]);
|
|
/* 0273AF48 */ cpu->r[9] = cpu->r[9] + 0xFFFFBD9Cu;
|
|
/* 0273AF4C */ _t201 = cpu->r[1] + 0x00000020u;
|
|
/* 0273AF4C */ rbrew_write32(cpu->mem, _t201, cpu->r[27]);
|
|
/* 0273AF50 */ _t202 = cpu->r[1] + 0x00000014u;
|
|
/* 0273AF50 */ rbrew_write16(cpu->mem, _t202, (uint16_t)cpu->r[27]);
|
|
/* 0273AF54 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273AF58 */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 0273AF58 */ rbrew_write8(cpu->mem, _t203, (uint8_t)cpu->r[12]);
|
|
/* 0273AF5C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273AF60 */ _t204 = cpu->r[1] + 0x00000028u;
|
|
/* 0273AF60 */ rbrew_write32(cpu->mem, _t204, cpu->r[27]);
|
|
/* 0273AF64 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273AF68 */ _t205 = cpu->r[1] + 0x00000026u;
|
|
/* 0273AF68 */ rbrew_write16(cpu->mem, _t205, (uint16_t)cpu->r[27]);
|
|
/* 0273AF6C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AF70 */ _t206 = cpu->r[1] + 0x00000018u;
|
|
/* 0273AF70 */ rbrew_write32(cpu->mem, _t206, cpu->r[9]);
|
|
/* 0273AF74 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273AF78 */ _t207 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273AF78 */ rbrew_write16(cpu->mem, _t207, (uint16_t)cpu->r[27]);
|
|
/* 0273AF7C */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273AF80 */ cpu->r[10] = 0x10100000u;
|
|
/* 0273AF84 */ _t208 = cpu->r[1] + 0x00000010u;
|
|
/* 0273AF84 */ rbrew_write32(cpu->mem, _t208, cpu->r[26]);
|
|
/* 0273AF88 */ cpu->r[10] = cpu->r[10] + 0xFFFF81BCu;
|
|
/* 0273AF8C */ _t209 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AF8C */ rbrew_write32(cpu->mem, _t209, cpu->r[10]);
|
|
/* 0273AF90 */ _t210 = cpu->r[31] + 0x00000014u;
|
|
/* 0273AF90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t210);
|
|
/* 0273AF94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 0273AF98 */ _t211 = cpu->r[31] + 0x00000018u;
|
|
/* 0273AF98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t211);
|
|
/* 0273AF9C */ _t212 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273AF9C */ _t213 = _t212 & 0x00000001u;
|
|
/* 0273AF9C */ if (_t213) goto L_0273AFA0; else goto L_0273AFA4;
|
|
L_0273AFA0: ; // 0x273afa0
|
|
/* 0273AFA0 */ cpu->r[29] = cpu->r[29] + 0x000000B4u;
|
|
L_0273AFA4: ; // 0x273afa4
|
|
/* 0273AFA4 */ cpu->ctr = cpu->r[25];
|
|
/* 0273AFA8 */ _t214 = cpu->r[29] + 0x00000000u;
|
|
/* 0273AFA8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t214);
|
|
/* 0273AFAC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AFB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273AFB4 */ _t215 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273AFB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t215);
|
|
/* 0273AFB8 */ _t216 = cpu->r[7] + 0x00000000u;
|
|
/* 0273AFB8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t216);
|
|
/* 0273AFBC */ cpu->r[30] = 0x00000000u;
|
|
/* 0273AFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 0273AFC4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0273AFC8 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AFC8 */ _t218 = _t217 & 0x00000001u;
|
|
/* 0273AFC8 */ if (_t218) goto L_0273AFF0; else goto L_0273AFCC;
|
|
L_0273AFCC: ; // 0x273afcc
|
|
/* 0273AFCC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273AFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0273AFD4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0273AFD8 */ _t219 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273AFD8 */ _t220 = _t219 & 0x00000001u;
|
|
/* 0273AFD8 */ if (_t220) goto L_0273AFEC; else goto L_0273AFDC;
|
|
L_0273AFDC: ; // 0x273afdc
|
|
/* 0273AFDC */ _t221 = cpu->r[7] + 0x00000000u;
|
|
/* 0273AFDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t221);
|
|
/* 0273AFE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273AFE4 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273AFE4 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0273AFE4 */ if (_t223) goto L_0273AFE8; else goto L_0273AFCC;
|
|
L_0273AFE8: ; // 0x273afe8
|
|
/* 0273AFE8 */ goto L_0273AFF0;
|
|
L_0273AFEC: ; // 0x273afec
|
|
/* 0273AFEC */ cpu->r[30] = 0x00000000u;
|
|
L_0273AFF0: ; // 0x273aff0
|
|
/* 0273AFF0 */ _t224 = cpu->r[29] + 0x00000008u;
|
|
/* 0273AFF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t224);
|
|
/* 0273AFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0273AFF8 */ _t225 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273AFF8 */ _t226 = _t225 & 0x00000001u;
|
|
/* 0273AFF8 */ if (_t226) goto L_0273B000; else goto L_0273AFFC;
|
|
L_0273AFFC: ; // 0x273affc
|
|
/* 0273AFFC */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0273B000: ; // 0x273b000
|
|
/* 0273B000 */ _t227 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B000 */ cpu->r[6] = rbrew_read32(cpu->mem, _t227);
|
|
/* 0273B004 */ _t228 = cpu->r[6] + 0x00000014u;
|
|
/* 0273B004 */ cpu->r[7] = rbrew_read32(cpu->mem, _t228);
|
|
/* 0273B008 */ cpu->ctr = cpu->r[7];
|
|
/* 0273B00C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B010 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B014 */ _t229 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B014 */ cpu->r[4] = rbrew_read32(cpu->mem, _t229);
|
|
/* 0273B018 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273B01C */ cpu->r[5] = cpu->r[30];
|
|
/* 0273B020 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B024 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B028 */ _t230 = cpu->r[24] + cpu->r[30];
|
|
/* 0273B028 */ rbrew_write8(cpu->mem, _t230, (uint8_t)cpu->r[28]);
|
|
/* 0273B02C */ cpu->r[0] = 0x00000005u;
|
|
/* 0273B030 */ _t231 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B030 */ rbrew_write16(cpu->mem, _t231, (uint16_t)cpu->r[27]);
|
|
/* 0273B034 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273B038 */ _t232 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B038 */ rbrew_write16(cpu->mem, _t232, (uint16_t)cpu->r[27]);
|
|
/* 0273B03C */ cpu->r[8] = 0x02740000u;
|
|
/* 0273B040 */ _t233 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B040 */ rbrew_write16(cpu->mem, _t233, (uint16_t)cpu->r[11]);
|
|
/* 0273B044 */ cpu->r[8] = cpu->r[8] + 0xFFFFBF40u;
|
|
/* 0273B048 */ _t234 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B048 */ rbrew_write16(cpu->mem, _t234, (uint16_t)cpu->r[27]);
|
|
/* 0273B04C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B050 */ _t235 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B050 */ rbrew_write8(cpu->mem, _t235, (uint8_t)cpu->r[0]);
|
|
/* 0273B054 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B058 */ _t236 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B058 */ rbrew_write32(cpu->mem, _t236, cpu->r[8]);
|
|
/* 0273B05C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B060 */ _t237 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B060 */ rbrew_write32(cpu->mem, _t237, cpu->r[27]);
|
|
/* 0273B064 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B068 */ _t238 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B068 */ rbrew_write16(cpu->mem, _t238, (uint16_t)cpu->r[27]);
|
|
/* 0273B06C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B070 */ _t239 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B070 */ rbrew_write16(cpu->mem, _t239, (uint16_t)cpu->r[27]);
|
|
/* 0273B074 */ _t240 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B074 */ rbrew_write32(cpu->mem, _t240, cpu->r[27]);
|
|
/* 0273B078 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B07C */ cpu->r[9] = 0x10100000u;
|
|
/* 0273B080 */ _t241 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B080 */ rbrew_write32(cpu->mem, _t241, cpu->r[26]);
|
|
/* 0273B084 */ cpu->r[9] = cpu->r[9] + 0xFFFF814Cu;
|
|
/* 0273B088 */ _t242 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B088 */ rbrew_write32(cpu->mem, _t242, cpu->r[9]);
|
|
/* 0273B08C */ _t243 = cpu->r[31] + 0x00000014u;
|
|
/* 0273B08C */ cpu->r[10] = rbrew_read32(cpu->mem, _t243);
|
|
/* 0273B090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000006u);
|
|
/* 0273B094 */ _t244 = cpu->r[31] + 0x00000018u;
|
|
/* 0273B094 */ cpu->r[29] = rbrew_read32(cpu->mem, _t244);
|
|
/* 0273B098 */ _t245 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B098 */ _t246 = _t245 & 0x00000001u;
|
|
/* 0273B098 */ if (_t246) goto L_0273B09C; else goto L_0273B0A0;
|
|
L_0273B09C: ; // 0x273b09c
|
|
/* 0273B09C */ cpu->r[29] = cpu->r[29] + 0x000000D8u;
|
|
L_0273B0A0: ; // 0x273b0a0
|
|
/* 0273B0A0 */ cpu->ctr = cpu->r[25];
|
|
/* 0273B0A4 */ _t247 = cpu->r[29] + 0x00000000u;
|
|
/* 0273B0A4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0273B0A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B0AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B0B0 */ _t248 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t248);
|
|
/* 0273B0B4 */ _t249 = cpu->r[12] + 0x00000000u;
|
|
/* 0273B0B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t249);
|
|
/* 0273B0B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273B0BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
|
|
/* 0273B0C0 */ cpu->r[5] = 0x00080000u;
|
|
/* 0273B0C4 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B0C4 */ _t251 = _t250 & 0x00000001u;
|
|
/* 0273B0C4 */ if (_t251) goto L_0273B0EC; else goto L_0273B0C8;
|
|
L_0273B0C8: ; // 0x273b0c8
|
|
/* 0273B0C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273B0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0273B0D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273B0D4 */ _t252 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B0D4 */ _t253 = _t252 & 0x00000001u;
|
|
/* 0273B0D4 */ if (_t253) goto L_0273B0E8; else goto L_0273B0D8;
|
|
L_0273B0D8: ; // 0x273b0d8
|
|
/* 0273B0D8 */ _t254 = cpu->r[12] + 0x00000000u;
|
|
/* 0273B0D8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t254);
|
|
/* 0273B0DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
|
|
/* 0273B0E0 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B0E0 */ _t256 = _t255 & 0x00000001u;
|
|
/* 0273B0E0 */ if (_t256) goto L_0273B0E4; else goto L_0273B0C8;
|
|
L_0273B0E4: ; // 0x273b0e4
|
|
/* 0273B0E4 */ goto L_0273B0EC;
|
|
L_0273B0E8: ; // 0x273b0e8
|
|
/* 0273B0E8 */ cpu->r[30] = 0x00000000u;
|
|
L_0273B0EC: ; // 0x273b0ec
|
|
/* 0273B0EC */ _t257 = cpu->r[29] + 0x00000008u;
|
|
/* 0273B0EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t257);
|
|
/* 0273B0F0 */ _t258 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B0F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t258);
|
|
/* 0273B0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0273B0F8 */ _t259 = cpu->r[12] + 0x00000014u;
|
|
/* 0273B0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t259);
|
|
/* 0273B0FC */ _t260 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B0FC */ _t261 = _t260 & 0x00000001u;
|
|
/* 0273B0FC */ if (_t261) goto L_0273B104; else goto L_0273B100;
|
|
L_0273B100: ; // 0x273b100
|
|
/* 0273B100 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0273B104: ; // 0x273b104
|
|
/* 0273B104 */ cpu->ctr = cpu->r[0];
|
|
/* 0273B108 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B10C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B110 */ _t262 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B110 */ cpu->r[4] = rbrew_read32(cpu->mem, _t262);
|
|
/* 0273B114 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273B118 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273B11C */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B120 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B124 */ _t263 = cpu->r[24] + cpu->r[30];
|
|
/* 0273B124 */ rbrew_write8(cpu->mem, _t263, (uint8_t)cpu->r[28]);
|
|
/* 0273B128 */ cpu->r[4] = 0x02740000u;
|
|
/* 0273B12C */ _t264 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B12C */ rbrew_write16(cpu->mem, _t264, (uint16_t)cpu->r[27]);
|
|
/* 0273B130 */ cpu->r[4] = cpu->r[4] + 0xFFFFBFE4u;
|
|
/* 0273B134 */ _t265 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B134 */ rbrew_write32(cpu->mem, _t265, cpu->r[27]);
|
|
/* 0273B138 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273B13C */ _t266 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B13C */ rbrew_write16(cpu->mem, _t266, (uint16_t)cpu->r[27]);
|
|
/* 0273B140 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B144 */ _t267 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B144 */ rbrew_write32(cpu->mem, _t267, cpu->r[4]);
|
|
/* 0273B148 */ _t268 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B148 */ rbrew_write16(cpu->mem, _t268, (uint16_t)cpu->r[0]);
|
|
/* 0273B14C */ cpu->r[0] = 0x00000006u;
|
|
/* 0273B150 */ _t269 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B150 */ rbrew_write32(cpu->mem, _t269, cpu->r[27]);
|
|
/* 0273B154 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B158 */ _t270 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B158 */ rbrew_write8(cpu->mem, _t270, (uint8_t)cpu->r[0]);
|
|
/* 0273B15C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B160 */ _t271 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B160 */ rbrew_write16(cpu->mem, _t271, (uint16_t)cpu->r[27]);
|
|
/* 0273B164 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B168 */ _t272 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B168 */ rbrew_write16(cpu->mem, _t272, (uint16_t)cpu->r[27]);
|
|
/* 0273B16C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B170 */ _t273 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B170 */ rbrew_write16(cpu->mem, _t273, (uint16_t)cpu->r[27]);
|
|
/* 0273B174 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B178 */ cpu->r[5] = 0x10100000u;
|
|
/* 0273B17C */ _t274 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B17C */ rbrew_write32(cpu->mem, _t274, cpu->r[26]);
|
|
/* 0273B180 */ cpu->r[5] = cpu->r[5] + 0xFFFF81D8u;
|
|
/* 0273B184 */ _t275 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B184 */ rbrew_write32(cpu->mem, _t275, cpu->r[5]);
|
|
/* 0273B188 */ _t276 = cpu->r[31] + 0x00000014u;
|
|
/* 0273B188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t276);
|
|
/* 0273B18C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 0273B190 */ _t277 = cpu->r[31] + 0x00000018u;
|
|
/* 0273B190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t277);
|
|
/* 0273B194 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B194 */ _t279 = _t278 & 0x00000001u;
|
|
/* 0273B194 */ if (_t279) goto L_0273B198; else goto L_0273B19C;
|
|
L_0273B198: ; // 0x273b198
|
|
/* 0273B198 */ cpu->r[30] = cpu->r[30] + 0x000000FCu;
|
|
L_0273B19C: ; // 0x273b19c
|
|
/* 0273B19C */ cpu->ctr = cpu->r[25];
|
|
/* 0273B1A0 */ _t280 = cpu->r[30] + 0x00000000u;
|
|
/* 0273B1A0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t280);
|
|
/* 0273B1A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B1A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B1AC */ _t281 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B1AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t281);
|
|
/* 0273B1B0 */ _t282 = cpu->r[9] + 0x00000000u;
|
|
/* 0273B1B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t282);
|
|
/* 0273B1B4 */ cpu->r[10] = 0x00080000u;
|
|
/* 0273B1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0273B1BC */ cpu->r[29] = 0x00000000u;
|
|
/* 0273B1C0 */ _t283 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B1C0 */ _t284 = _t283 & 0x00000001u;
|
|
/* 0273B1C0 */ if (_t284) goto L_0273B1E8; else goto L_0273B1C4;
|
|
L_0273B1C4: ; // 0x273b1c4
|
|
/* 0273B1C4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0273B1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0273B1CC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0273B1D0 */ _t285 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B1D0 */ _t286 = _t285 & 0x00000001u;
|
|
/* 0273B1D0 */ if (_t286) goto L_0273B1E4; else goto L_0273B1D4;
|
|
L_0273B1D4: ; // 0x273b1d4
|
|
/* 0273B1D4 */ _t287 = cpu->r[9] + 0x00000000u;
|
|
/* 0273B1D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t287);
|
|
/* 0273B1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
|
|
/* 0273B1DC */ _t288 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B1DC */ _t289 = _t288 & 0x00000001u;
|
|
/* 0273B1DC */ if (_t289) goto L_0273B1E0; else goto L_0273B1C4;
|
|
L_0273B1E0: ; // 0x273b1e0
|
|
/* 0273B1E0 */ goto L_0273B1E8;
|
|
L_0273B1E4: ; // 0x273b1e4
|
|
/* 0273B1E4 */ cpu->r[29] = 0x00000000u;
|
|
L_0273B1E8: ; // 0x273b1e8
|
|
/* 0273B1E8 */ _t290 = cpu->r[30] + 0x00000008u;
|
|
/* 0273B1E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t290);
|
|
/* 0273B1EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0273B1F0 */ _t291 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B1F0 */ _t292 = _t291 & 0x00000001u;
|
|
/* 0273B1F0 */ if (_t292) goto L_0273B1F8; else goto L_0273B1F4;
|
|
L_0273B1F4: ; // 0x273b1f4
|
|
/* 0273B1F4 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0273B1F8: ; // 0x273b1f8
|
|
/* 0273B1F8 */ _t293 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B1F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t293);
|
|
/* 0273B1FC */ _t294 = cpu->r[10] + 0x00000014u;
|
|
/* 0273B1FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t294);
|
|
/* 0273B200 */ cpu->ctr = cpu->r[11];
|
|
/* 0273B204 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B20C */ _t295 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B20C */ cpu->r[4] = rbrew_read32(cpu->mem, _t295);
|
|
/* 0273B210 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273B214 */ cpu->r[5] = cpu->r[29];
|
|
/* 0273B218 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B21C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B220 */ _t296 = cpu->r[24] + cpu->r[29];
|
|
/* 0273B220 */ rbrew_write8(cpu->mem, _t296, (uint8_t)cpu->r[28]);
|
|
/* 0273B224 */ cpu->r[0] = 0x00000007u;
|
|
/* 0273B228 */ _t297 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B228 */ rbrew_write16(cpu->mem, _t297, (uint16_t)cpu->r[27]);
|
|
/* 0273B22C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0273B230 */ _t298 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B230 */ rbrew_write8(cpu->mem, _t298, (uint8_t)cpu->r[0]);
|
|
/* 0273B234 */ cpu->r[12] = 0x02740000u;
|
|
/* 0273B238 */ _t299 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B238 */ rbrew_write16(cpu->mem, _t299, (uint16_t)cpu->r[27]);
|
|
/* 0273B23C */ cpu->r[12] = cpu->r[12] + 0xFFFFC104u;
|
|
/* 0273B240 */ _t300 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B240 */ rbrew_write32(cpu->mem, _t300, cpu->r[27]);
|
|
/* 0273B244 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B248 */ _t301 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B248 */ rbrew_write16(cpu->mem, _t301, (uint16_t)cpu->r[4]);
|
|
/* 0273B24C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B250 */ _t302 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B250 */ rbrew_write32(cpu->mem, _t302, cpu->r[27]);
|
|
/* 0273B254 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B258 */ _t303 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B258 */ rbrew_write16(cpu->mem, _t303, (uint16_t)cpu->r[27]);
|
|
/* 0273B25C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B260 */ _t304 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B260 */ rbrew_write16(cpu->mem, _t304, (uint16_t)cpu->r[27]);
|
|
/* 0273B264 */ _t305 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B264 */ rbrew_write32(cpu->mem, _t305, cpu->r[12]);
|
|
/* 0273B268 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B26C */ _t306 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B26C */ rbrew_write16(cpu->mem, _t306, (uint16_t)cpu->r[27]);
|
|
/* 0273B270 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B274 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273B278 */ _t307 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B278 */ rbrew_write32(cpu->mem, _t307, cpu->r[26]);
|
|
/* 0273B27C */ cpu->r[0] = cpu->r[0] + 0xFFFF8114u;
|
|
/* 0273B280 */ _t308 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B280 */ rbrew_write32(cpu->mem, _t308, cpu->r[0]);
|
|
/* 0273B284 */ _t309 = cpu->r[31] + 0x00000014u;
|
|
/* 0273B284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t309);
|
|
/* 0273B288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000008u);
|
|
/* 0273B28C */ _t310 = cpu->r[31] + 0x00000018u;
|
|
/* 0273B28C */ cpu->r[29] = rbrew_read32(cpu->mem, _t310);
|
|
/* 0273B290 */ _t311 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B290 */ _t312 = _t311 & 0x00000001u;
|
|
/* 0273B290 */ if (_t312) goto L_0273B294; else goto L_0273B298;
|
|
L_0273B294: ; // 0x273b294
|
|
/* 0273B294 */ cpu->r[29] = cpu->r[29] + 0x00000120u;
|
|
L_0273B298: ; // 0x273b298
|
|
/* 0273B298 */ cpu->ctr = cpu->r[25];
|
|
/* 0273B29C */ _t313 = cpu->r[29] + 0x00000000u;
|
|
/* 0273B29C */ cpu->r[24] = rbrew_read32(cpu->mem, _t313);
|
|
/* 0273B2A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B2A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B2A8 */ _t314 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B2A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t314);
|
|
/* 0273B2AC */ _t315 = cpu->r[7] + 0x00000000u;
|
|
/* 0273B2AC */ cpu->r[5] = rbrew_read8(cpu->mem, _t315);
|
|
/* 0273B2B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273B2B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0273B2B8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0273B2BC */ _t316 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B2BC */ _t317 = _t316 & 0x00000001u;
|
|
/* 0273B2BC */ if (_t317) goto L_0273B2E4; else goto L_0273B2C0;
|
|
L_0273B2C0: ; // 0x273b2c0
|
|
/* 0273B2C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273B2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0273B2C8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0273B2CC */ _t318 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B2CC */ _t319 = _t318 & 0x00000001u;
|
|
/* 0273B2CC */ if (_t319) goto L_0273B2E0; else goto L_0273B2D0;
|
|
L_0273B2D0: ; // 0x273b2d0
|
|
/* 0273B2D0 */ _t320 = cpu->r[7] + 0x00000000u;
|
|
/* 0273B2D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t320);
|
|
/* 0273B2D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0273B2D8 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B2D8 */ _t322 = _t321 & 0x00000001u;
|
|
/* 0273B2D8 */ if (_t322) goto L_0273B2DC; else goto L_0273B2C0;
|
|
L_0273B2DC: ; // 0x273b2dc
|
|
/* 0273B2DC */ goto L_0273B2E4;
|
|
L_0273B2E0: ; // 0x273b2e0
|
|
/* 0273B2E0 */ cpu->r[30] = 0x00000000u;
|
|
L_0273B2E4: ; // 0x273b2e4
|
|
/* 0273B2E4 */ _t323 = cpu->r[29] + 0x00000008u;
|
|
/* 0273B2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t323);
|
|
/* 0273B2E8 */ _t324 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B2E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t324);
|
|
/* 0273B2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0273B2F0 */ _t325 = cpu->r[7] + 0x00000014u;
|
|
/* 0273B2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t325);
|
|
/* 0273B2F4 */ _t326 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B2F4 */ _t327 = _t326 & 0x00000001u;
|
|
/* 0273B2F4 */ if (_t327) goto L_0273B2FC; else goto L_0273B2F8;
|
|
L_0273B2F8: ; // 0x273b2f8
|
|
/* 0273B2F8 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0273B2FC: ; // 0x273b2fc
|
|
/* 0273B2FC */ cpu->ctr = cpu->r[0];
|
|
/* 0273B300 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B304 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B308 */ _t328 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t328);
|
|
/* 0273B30C */ cpu->r[3] = cpu->r[24];
|
|
/* 0273B310 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273B314 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B318 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B31C */ _t329 = cpu->r[24] + cpu->r[30];
|
|
/* 0273B31C */ rbrew_write8(cpu->mem, _t329, (uint8_t)cpu->r[28]);
|
|
/* 0273B320 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273B324 */ _t330 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B324 */ rbrew_write32(cpu->mem, _t330, cpu->r[27]);
|
|
/* 0273B328 */ cpu->r[9] = 0x02740000u;
|
|
/* 0273B32C */ _t331 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B32C */ rbrew_write32(cpu->mem, _t331, cpu->r[27]);
|
|
/* 0273B330 */ cpu->r[9] = cpu->r[9] + 0xFFFFC14Cu;
|
|
/* 0273B334 */ _t332 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B334 */ rbrew_write16(cpu->mem, _t332, (uint16_t)cpu->r[0]);
|
|
/* 0273B338 */ cpu->r[0] = 0x00000008u;
|
|
/* 0273B33C */ _t333 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B33C */ rbrew_write16(cpu->mem, _t333, (uint16_t)cpu->r[27]);
|
|
/* 0273B340 */ _t334 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B340 */ rbrew_write16(cpu->mem, _t334, (uint16_t)cpu->r[27]);
|
|
/* 0273B344 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B348 */ _t335 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B348 */ rbrew_write8(cpu->mem, _t335, (uint8_t)cpu->r[0]);
|
|
/* 0273B34C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B350 */ _t336 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B350 */ rbrew_write32(cpu->mem, _t336, cpu->r[9]);
|
|
/* 0273B354 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B358 */ _t337 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B358 */ rbrew_write16(cpu->mem, _t337, (uint16_t)cpu->r[27]);
|
|
/* 0273B35C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B360 */ _t338 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B360 */ rbrew_write16(cpu->mem, _t338, (uint16_t)cpu->r[27]);
|
|
/* 0273B364 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B368 */ _t339 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B368 */ rbrew_write16(cpu->mem, _t339, (uint16_t)cpu->r[27]);
|
|
/* 0273B36C */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B370 */ cpu->r[10] = 0x10100000u;
|
|
/* 0273B374 */ _t340 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B374 */ rbrew_write32(cpu->mem, _t340, cpu->r[26]);
|
|
/* 0273B378 */ cpu->r[10] = cpu->r[10] + 0xFFFF8128u;
|
|
/* 0273B37C */ _t341 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B37C */ rbrew_write32(cpu->mem, _t341, cpu->r[10]);
|
|
/* 0273B380 */ _t342 = cpu->r[31] + 0x00000014u;
|
|
/* 0273B380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t342);
|
|
/* 0273B384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000009u);
|
|
/* 0273B388 */ _t343 = cpu->r[31] + 0x00000018u;
|
|
/* 0273B388 */ cpu->r[29] = rbrew_read32(cpu->mem, _t343);
|
|
/* 0273B38C */ _t344 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B38C */ _t345 = _t344 & 0x00000001u;
|
|
/* 0273B38C */ if (_t345) goto L_0273B390; else goto L_0273B394;
|
|
L_0273B390: ; // 0x273b390
|
|
/* 0273B390 */ cpu->r[29] = cpu->r[29] + 0x00000144u;
|
|
L_0273B394: ; // 0x273b394
|
|
/* 0273B394 */ cpu->ctr = cpu->r[25];
|
|
/* 0273B398 */ _t346 = cpu->r[29] + 0x00000000u;
|
|
/* 0273B398 */ cpu->r[24] = rbrew_read32(cpu->mem, _t346);
|
|
/* 0273B39C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B3A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B3A4 */ _t347 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B3A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t347);
|
|
/* 0273B3A8 */ _t348 = cpu->r[4] + 0x00000000u;
|
|
/* 0273B3A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t348);
|
|
/* 0273B3AC */ cpu->r[30] = 0x00000000u;
|
|
/* 0273B3B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[28]);
|
|
/* 0273B3B4 */ cpu->r[5] = 0x00080000u;
|
|
/* 0273B3B8 */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B3B8 */ _t350 = _t349 & 0x00000001u;
|
|
/* 0273B3B8 */ if (_t350) goto L_0273B3E0; else goto L_0273B3BC;
|
|
L_0273B3BC: ; // 0x273b3bc
|
|
/* 0273B3BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273B3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0273B3C4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0273B3C8 */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B3C8 */ _t352 = _t351 & 0x00000001u;
|
|
/* 0273B3C8 */ if (_t352) goto L_0273B3DC; else goto L_0273B3CC;
|
|
L_0273B3CC: ; // 0x273b3cc
|
|
/* 0273B3CC */ _t353 = cpu->r[4] + 0x00000000u;
|
|
/* 0273B3CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t353);
|
|
/* 0273B3D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273B3D4 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B3D4 */ _t355 = _t354 & 0x00000001u;
|
|
/* 0273B3D4 */ if (_t355) goto L_0273B3D8; else goto L_0273B3BC;
|
|
L_0273B3D8: ; // 0x273b3d8
|
|
/* 0273B3D8 */ goto L_0273B3E0;
|
|
L_0273B3DC: ; // 0x273b3dc
|
|
/* 0273B3DC */ cpu->r[30] = 0x00000000u;
|
|
L_0273B3E0: ; // 0x273b3e0
|
|
/* 0273B3E0 */ _t356 = cpu->r[29] + 0x00000008u;
|
|
/* 0273B3E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t356);
|
|
/* 0273B3E4 */ _t357 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B3E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t357);
|
|
/* 0273B3E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0273B3EC */ _t358 = cpu->r[4] + 0x00000014u;
|
|
/* 0273B3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t358);
|
|
/* 0273B3F0 */ _t359 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B3F0 */ _t360 = _t359 & 0x00000001u;
|
|
/* 0273B3F0 */ if (_t360) goto L_0273B3F8; else goto L_0273B3F4;
|
|
L_0273B3F4: ; // 0x273b3f4
|
|
/* 0273B3F4 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0273B3F8: ; // 0x273b3f8
|
|
/* 0273B3F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0273B3FC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B404 */ _t361 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B404 */ cpu->r[4] = rbrew_read32(cpu->mem, _t361);
|
|
/* 0273B408 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273B40C */ cpu->r[5] = cpu->r[30];
|
|
/* 0273B410 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B414 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B418 */ cpu->r[6] = 0x02740000u;
|
|
/* 0273B41C */ _t362 = cpu->r[24] + cpu->r[30];
|
|
/* 0273B41C */ rbrew_write8(cpu->mem, _t362, (uint8_t)cpu->r[28]);
|
|
/* 0273B420 */ cpu->r[6] = cpu->r[6] + 0xFFFFC2F8u;
|
|
/* 0273B424 */ _t363 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B424 */ rbrew_write16(cpu->mem, _t363, (uint16_t)cpu->r[27]);
|
|
/* 0273B428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B42C */ _t364 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B42C */ rbrew_write32(cpu->mem, _t364, cpu->r[27]);
|
|
/* 0273B430 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B434 */ _t365 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B434 */ rbrew_write16(cpu->mem, _t365, (uint16_t)cpu->r[27]);
|
|
/* 0273B438 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B43C */ _t366 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B43C */ rbrew_write16(cpu->mem, _t366, (uint16_t)cpu->r[27]);
|
|
/* 0273B440 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273B444 */ _t367 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B444 */ rbrew_write32(cpu->mem, _t367, cpu->r[27]);
|
|
/* 0273B448 */ _t368 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B448 */ rbrew_write16(cpu->mem, _t368, (uint16_t)cpu->r[0]);
|
|
/* 0273B44C */ cpu->r[0] = 0x00000009u;
|
|
/* 0273B450 */ _t369 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B450 */ rbrew_write32(cpu->mem, _t369, cpu->r[6]);
|
|
/* 0273B454 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B458 */ _t370 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B458 */ rbrew_write8(cpu->mem, _t370, (uint8_t)cpu->r[0]);
|
|
/* 0273B45C */ _t371 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B45C */ rbrew_write16(cpu->mem, _t371, (uint16_t)cpu->r[27]);
|
|
/* 0273B460 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B464 */ _t372 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B464 */ rbrew_write16(cpu->mem, _t372, (uint16_t)cpu->r[27]);
|
|
/* 0273B468 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B46C */ cpu->r[7] = 0x10100000u;
|
|
/* 0273B470 */ _t373 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B470 */ rbrew_write32(cpu->mem, _t373, cpu->r[26]);
|
|
/* 0273B474 */ cpu->r[7] = cpu->r[7] + 0xFFFF81ECu;
|
|
/* 0273B478 */ _t374 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B478 */ rbrew_write32(cpu->mem, _t374, cpu->r[7]);
|
|
/* 0273B47C */ _t375 = cpu->r[31] + 0x00000014u;
|
|
/* 0273B47C */ cpu->r[8] = rbrew_read32(cpu->mem, _t375);
|
|
/* 0273B480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Au);
|
|
/* 0273B484 */ _t376 = cpu->r[31] + 0x00000018u;
|
|
/* 0273B484 */ cpu->r[29] = rbrew_read32(cpu->mem, _t376);
|
|
/* 0273B488 */ _t377 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B488 */ _t378 = _t377 & 0x00000001u;
|
|
/* 0273B488 */ if (_t378) goto L_0273B48C; else goto L_0273B490;
|
|
L_0273B48C: ; // 0x273b48c
|
|
/* 0273B48C */ cpu->r[29] = cpu->r[29] + 0x00000168u;
|
|
L_0273B490: ; // 0x273b490
|
|
/* 0273B490 */ cpu->ctr = cpu->r[25];
|
|
/* 0273B494 */ _t379 = cpu->r[29] + 0x00000000u;
|
|
/* 0273B494 */ cpu->r[26] = rbrew_read32(cpu->mem, _t379);
|
|
/* 0273B498 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B49C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B4A0 */ _t380 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B4A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t380);
|
|
/* 0273B4A4 */ _t381 = cpu->r[10] + 0x00000000u;
|
|
/* 0273B4A4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t381);
|
|
/* 0273B4A8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273B4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 0273B4B0 */ cpu->r[12] = 0x00080000u;
|
|
/* 0273B4B4 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B4B4 */ _t383 = _t382 & 0x00000001u;
|
|
/* 0273B4B4 */ if (_t383) goto L_0273B4DC; else goto L_0273B4B8;
|
|
L_0273B4B8: ; // 0x273b4b8
|
|
/* 0273B4B8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273B4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0273B4C0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0273B4C4 */ _t384 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B4C4 */ _t385 = _t384 & 0x00000001u;
|
|
/* 0273B4C4 */ if (_t385) goto L_0273B4D8; else goto L_0273B4C8;
|
|
L_0273B4C8: ; // 0x273b4c8
|
|
/* 0273B4C8 */ _t386 = cpu->r[10] + 0x00000000u;
|
|
/* 0273B4C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t386);
|
|
/* 0273B4CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273B4D0 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B4D0 */ _t388 = _t387 & 0x00000001u;
|
|
/* 0273B4D0 */ if (_t388) goto L_0273B4D4; else goto L_0273B4B8;
|
|
L_0273B4D4: ; // 0x273b4d4
|
|
/* 0273B4D4 */ goto L_0273B4DC;
|
|
L_0273B4D8: ; // 0x273b4d8
|
|
/* 0273B4D8 */ cpu->r[30] = 0x00000000u;
|
|
L_0273B4DC: ; // 0x273b4dc
|
|
/* 0273B4DC */ _t389 = cpu->r[29] + 0x00000008u;
|
|
/* 0273B4DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t389);
|
|
/* 0273B4E0 */ _t390 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B4E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t390);
|
|
/* 0273B4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0273B4E8 */ _t391 = cpu->r[12] + 0x00000014u;
|
|
/* 0273B4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t391);
|
|
/* 0273B4EC */ _t392 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B4EC */ _t393 = _t392 & 0x00000001u;
|
|
/* 0273B4EC */ if (_t393) goto L_0273B4F4; else goto L_0273B4F0;
|
|
L_0273B4F0: ; // 0x273b4f0
|
|
/* 0273B4F0 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0273B4F4: ; // 0x273b4f4
|
|
/* 0273B4F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0273B4F8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B4FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B500 */ _t394 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t394);
|
|
/* 0273B504 */ cpu->r[3] = cpu->r[26];
|
|
/* 0273B508 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273B50C */ cpu->r[6] = 0x00000000u;
|
|
/* 0273B510 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273B514 */ _t395 = cpu->r[26] + cpu->r[30];
|
|
/* 0273B514 */ rbrew_write8(cpu->mem, _t395, (uint8_t)cpu->r[28]);
|
|
/* 0273B518 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0273B51C */ _t396 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B51C */ rbrew_write16(cpu->mem, _t396, (uint16_t)cpu->r[27]);
|
|
/* 0273B520 */ cpu->r[4] = 0x02740000u;
|
|
/* 0273B524 */ _t397 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B524 */ rbrew_write8(cpu->mem, _t397, (uint8_t)cpu->r[0]);
|
|
/* 0273B528 */ cpu->r[4] = cpu->r[4] + 0xFFFFC414u;
|
|
/* 0273B52C */ _t398 = cpu->r[1] + 0x00000026u;
|
|
/* 0273B52C */ rbrew_write16(cpu->mem, _t398, (uint16_t)cpu->r[27]);
|
|
/* 0273B530 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0273B534 */ _t399 = cpu->r[1] + 0x00000018u;
|
|
/* 0273B534 */ rbrew_write32(cpu->mem, _t399, cpu->r[4]);
|
|
/* 0273B538 */ _t400 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B538 */ rbrew_write16(cpu->mem, _t400, (uint16_t)cpu->r[27]);
|
|
/* 0273B53C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273B540 */ _t401 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0273B540 */ rbrew_write16(cpu->mem, _t401, (uint16_t)cpu->r[27]);
|
|
/* 0273B544 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0273B548 */ _t402 = cpu->r[1] + 0x00000016u;
|
|
/* 0273B548 */ rbrew_write16(cpu->mem, _t402, (uint16_t)cpu->r[10]);
|
|
/* 0273B54C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B550 */ _t403 = cpu->r[1] + 0x00000014u;
|
|
/* 0273B550 */ rbrew_write16(cpu->mem, _t403, (uint16_t)cpu->r[27]);
|
|
/* 0273B554 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0273B558 */ _t404 = cpu->r[1] + 0x00000028u;
|
|
/* 0273B558 */ rbrew_write32(cpu->mem, _t404, cpu->r[27]);
|
|
/* 0273B55C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B560 */ _t405 = cpu->r[1] + 0x00000020u;
|
|
/* 0273B560 */ rbrew_write32(cpu->mem, _t405, cpu->r[27]);
|
|
/* 0273B564 */ Gambit_fn_0273C93C(cpu);
|
|
/* 0273B568 */ _t406 = cpu->r[31] + 0x0000000Eu;
|
|
/* 0273B568 */ cpu->r[4] = rbrew_read8(cpu->mem, _t406);
|
|
/* 0273B56C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B570 */ /* nop */
|
|
/* 0273B574 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273B578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B57C */ Gambit_fn_0273C9C4(cpu);
|
|
L_0273B580: ; // 0x273b580
|
|
/* 0273B580 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273B584 */ /* nop */
|
|
/* 0273B588 */ _t407 = cpu->r[1] + 0x00000054u;
|
|
/* 0273B588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t407);
|
|
/* 0273B58C */ cpu->lr = cpu->r[0];
|
|
/* 0273B590 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0273B594 */ return;
|
|
}
|
|
|
|
// fn_0273B598 @ 0x273b598
|
|
void Gambit_fn_0273B598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0273B598: ; // 0x273b598
|
|
/* 0273B598 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273B598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273B598 */ cpu->r[1] = _t0;
|
|
/* 0273B59C */ /* nop */
|
|
/* 0273B5A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0273B5A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273B5A8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B5A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273B5AC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273B5B0 */ _t2 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0273B5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273B5B4 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273B5B8 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273B5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273B5BC */ _t4 = cpu->r[12] + 0x00000034u;
|
|
/* 0273B5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273B5C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0273B5C4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273B5C8 */ cpu->r[4] = 0x00000190u;
|
|
/* 0273B5CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273B5D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B5D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273B5D4 */ if (_t6) goto L_0273B5D8; else goto L_0273B5EC;
|
|
L_0273B5D8: ; // 0x273b5d8
|
|
/* 0273B5D8 */ _t7 = cpu->r[28] + 0x0000003Cu;
|
|
/* 0273B5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273B5DC */ cpu->r[27] = 0x00000000u;
|
|
/* 0273B5E0 */ cpu->r[29] = 0x00000064u;
|
|
/* 0273B5E4 */ cpu->r[30] = cpu->r[27];
|
|
/* 0273B5E8 */ goto L_0273B604;
|
|
L_0273B5EC: ; // 0x273b5ec
|
|
/* 0273B5EC */ cpu->r[29] = 0x00000064u;
|
|
/* 0273B5F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273B5F4 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273B5F8 */ _t8 = cpu->r[28] + 0x00000038u;
|
|
/* 0273B5F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0273B5FC */ cpu->r[30] = cpu->r[27];
|
|
/* 0273B600 */ _t9 = cpu->r[28] + 0x0000003Cu;
|
|
/* 0273B600 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_0273B604: ; // 0x273b604
|
|
/* 0273B604 */ _t10 = cpu->r[28] + 0x00000038u;
|
|
/* 0273B604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273B608 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273B60C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B60C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0273B60C */ if (_t12) goto L_0273B610; else goto L_0273B614;
|
|
L_0273B610: ; // 0x273b610
|
|
/* 0273B610 */ cpu->r[31] = cpu->r[31] + cpu->r[30];
|
|
L_0273B614: ; // 0x273b614
|
|
/* 0273B614 */ cpu->r[3] = 0x000000ECu;
|
|
/* 0273B618 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273B61C */ cpu->r[0] = cpu->r[3];
|
|
/* 0273B61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273B620 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B620 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273B620 */ if (_t14) goto L_0273B630; else goto L_0273B624;
|
|
L_0273B624: ; // 0x273b624
|
|
/* 0273B624 */ cpu->r[3] = cpu->r[0];
|
|
/* 0273B628 */ Gambit_fn_026F2754(cpu);
|
|
/* 0273B62C */ cpu->r[0] = cpu->r[3];
|
|
L_0273B630: ; // 0x273b630
|
|
/* 0273B630 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 0273B630 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0273B634 */ _t16 = cpu->r[28] + 0x00000038u;
|
|
/* 0273B634 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273B638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 0273B63C */ _t17 = cpu->r[28] + 0x0000003Cu;
|
|
/* 0273B63C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273B640 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B640 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273B640 */ if (_t19) goto L_0273B644; else goto L_0273B648;
|
|
L_0273B644: ; // 0x273b644
|
|
/* 0273B644 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_0273B648: ; // 0x273b648
|
|
/* 0273B648 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 0273B648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273B64C */ Gambit_fn_026F2690(cpu);
|
|
/* 0273B650 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0273B650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273B654 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273B658 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0273B65C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B65C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273B65C */ if (_t22) goto L_0273B668; else goto L_0273B660;
|
|
L_0273B660: ; // 0x273b660
|
|
/* 0273B660 */ _t23 = cpu->r[28] + 0x0000003Cu;
|
|
/* 0273B660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273B664 */ goto L_0273B604;
|
|
L_0273B668: ; // 0x273b668
|
|
/* 0273B668 */ cpu->r[6] = 0x00000004u;
|
|
/* 0273B66C */ cpu->r[5] = 0x00000000u;
|
|
/* 0273B670 */ cpu->r[4] = 0x00000064u;
|
|
/* 0273B674 */ cpu->r[3] = cpu->r[28] + 0x00000040u;
|
|
/* 0273B678 */ Gambit_fn_028023CC(cpu);
|
|
/* 0273B67C */ cpu->r[11] = 0x00000000u;
|
|
/* 0273B680 */ cpu->r[3] = 0x00000030u;
|
|
/* 0273B684 */ _t24 = cpu->r[28] + 0x00000040u;
|
|
/* 0273B684 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0273B688 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273B68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273B690 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B690 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273B690 */ if (_t26) goto L_0273B698; else goto L_0273B694;
|
|
L_0273B694: ; // 0x273b694
|
|
/* 0273B694 */ Gambit_fn_0273E788(cpu);
|
|
L_0273B698: ; // 0x273b698
|
|
/* 0273B698 */ cpu->r[4] = cpu->r[3];
|
|
/* 0273B698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273B69C */ _t27 = cpu->r[28] + 0x00000058u;
|
|
/* 0273B69C */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 0273B6A0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B6A0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0273B6A0 */ if (_t29) goto L_0273B6A8; else goto L_0273B6A4;
|
|
L_0273B6A4: ; // 0x273b6a4
|
|
/* 0273B6A4 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_0273B6A8: ; // 0x273b6a8
|
|
/* 0273B6A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273B6AC */ _t30 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273B6AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273B6B0 */ _t31 = cpu->r[12] + 0x00000250u;
|
|
/* 0273B6B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273B6B4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273B6B8 */ Gambit_fn_027EFC10(cpu);
|
|
/* 0273B6BC */ /* nop */
|
|
/* 0273B6C0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273B6C4 */ cpu->lr = cpu->r[0];
|
|
/* 0273B6C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273B6CC */ return;
|
|
}
|
|
|
|
// fn_0273B6D0 @ 0x273b6d0
|
|
void Gambit_fn_0273B6D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0273B6D0: ; // 0x273b6d0
|
|
/* 0273B6D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273B6D4 */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0273B6D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0273B6D8 */ _t1 = cpu->r[3] + 0x00000064u;
|
|
/* 0273B6D8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 0273B6DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273B6E0 */ _t2 = cpu->r[3] + 0x00000066u;
|
|
/* 0273B6E0 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 0273B6E4 */ _t3 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273B6E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273B6E8 */ _t4 = cpu->r[11] + 0x00000250u;
|
|
/* 0273B6E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273B6EC */ _t5 = cpu->r[11] + 0x000000ACu;
|
|
/* 0273B6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273B6F0 */ _t6 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0273B6F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273B6F4 */ _t7 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273B6F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273B6F8 */ _t8 = cpu->r[11] + 0x00000250u;
|
|
/* 0273B6F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273B6FC */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 0273B6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273B700 */ _t10 = cpu->r[3] + 0x00000050u;
|
|
/* 0273B700 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273B704 */ _t11 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273B704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273B708 */ _t12 = cpu->r[12] + 0x00000250u;
|
|
/* 0273B708 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273B70C */ _t13 = cpu->r[11] + 0x000000B0u;
|
|
/* 0273B70C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273B710 */ _t14 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0273B710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273B714 */ cpu->r[4] = 0x00000001u;
|
|
/* 0273B718 */ _t15 = cpu->r[3] + 0x00000054u;
|
|
/* 0273B718 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0273B71C */ goto L_0273CAD4;
|
|
L_0273CAD4: ; // 0x273cad4
|
|
/* 0273CAD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0273CAD8 */ _t16 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CAD8 */ rbrew_write32(cpu->mem, _t16, cpu->r[1]);
|
|
/* 0273CAD8 */ cpu->r[1] = _t16;
|
|
/* 0273CADC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CADC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0273CAE0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CAE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 0273CAE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273CAE8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CAE8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0273CAEC */ _t20 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273CAEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0273CAF0 */ /* nop */
|
|
/* 0273CAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0273CAF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273CAFC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CAFC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273CAFC */ if (_t22) goto L_0273CB00; else goto L_0273CB14;
|
|
L_0273CB00: ; // 0x273cb00
|
|
/* 0273CB00 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 0273CB00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273CB04 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 0273CB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273CB08 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CB0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CB14: ; // 0x273cb14
|
|
/* 0273CB14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0273CB1C */ Gambit_fn_0273CA4C(cpu);
|
|
/* 0273CB20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB24 */ /* nop */
|
|
/* 0273CB28 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273CB2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB30 */ Gambit_fn_0273C9C4(cpu);
|
|
/* 0273CB34 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CB34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273CB38 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273CB3C */ cpu->lr = cpu->r[0];
|
|
/* 0273CB40 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273CB44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CB48 */ return;
|
|
}
|
|
|
|
// fn_0273B720 @ 0x273b720
|
|
void Gambit_fn_0273B720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273B720: ; // 0x273b720
|
|
/* 0273B720 */ goto L_0273CBD4;
|
|
L_0273CBD4: ; // 0x273cbd4
|
|
/* 0273CBD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0273CBD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CBD8 */ cpu->r[1] = _t0;
|
|
/* 0273CBDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CBDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273CBE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273CBE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273CBE8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0273CBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273CBEC */ cpu->r[12] = 0x00000000u;
|
|
/* 0273CBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CBF4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273CBF4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0273CBF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CBF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273CBF8 */ if (_t6) goto L_0273CC20; else goto L_0273CBFC;
|
|
L_0273CBFC: ; // 0x273cbfc
|
|
/* 0273CBFC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273CBFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273CC00 */ /* nop */
|
|
/* 0273CC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273CC08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CC08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273CC08 */ if (_t9) goto L_0273CC0C; else goto L_0273CC20;
|
|
L_0273CC0C: ; // 0x273cc0c
|
|
/* 0273CC0C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0273CC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CC10 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273CC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CC14 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CC18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CC20: ; // 0x273cc20
|
|
/* 0273CC20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC24 */ Gambit_fn_0273CB4C(cpu);
|
|
/* 0273CC28 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC2C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273CC30 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273CC34 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273CC38 */ cpu->lr = cpu->r[0];
|
|
/* 0273CC3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CC40 */ return;
|
|
}
|
|
|
|
// fn_0273B724 @ 0x273b724
|
|
void Gambit_fn_0273B724(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0273B724: ; // 0x273b724
|
|
/* 0273B724 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273B724 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273B728 */ /* nop */
|
|
/* 0273B72C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0273B730 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0273B734 */ return;
|
|
}
|
|
|
|
// fn_0273B738 @ 0x273b738
|
|
void Gambit_fn_0273B738(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273B738: ; // 0x273b738
|
|
/* 0273B738 */ _t0 = cpu->r[3] + 0x00000060u;
|
|
/* 0273B738 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273B73C */ _t1 = cpu->r[3] + 0x00000040u;
|
|
/* 0273B73C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273B740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0273B744 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273B748 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B748 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273B748 */ if (_t3) goto L_0273B74C; else goto L_0273B758;
|
|
L_0273B74C: ; // 0x273b74c
|
|
/* 0273B74C */ _t4 = cpu->r[3] + 0x00000048u;
|
|
/* 0273B74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273B750 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273B754 */ _t5 = cpu->r[10] + cpu->r[12];
|
|
/* 0273B754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
L_0273B758: ; // 0x273b758
|
|
/* 0273B758 */ cpu->r[3] = cpu->r[0];
|
|
/* 0273B75C */ return;
|
|
}
|
|
|
|
// fn_0273B760 @ 0x273b760
|
|
void Gambit_fn_0273B760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0273B760: ; // 0x273b760
|
|
/* 0273B760 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273B760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273B760 */ cpu->r[1] = _t0;
|
|
/* 0273B764 */ /* nop */
|
|
/* 0273B768 */ cpu->r[0] = cpu->lr;
|
|
/* 0273B76C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B76C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273B770 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273B774 */ _t2 = cpu->r[31] + 0x00000040u;
|
|
/* 0273B774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273B778 */ cpu->r[27] = cpu->r[0];
|
|
/* 0273B778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273B77C */ cpu->r[30] = 0x00000000u;
|
|
/* 0273B780 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273B780 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273B780 */ if (_t4) goto L_0273B784; else goto L_0273B7D4;
|
|
L_0273B784: ; // 0x273b784
|
|
/* 0273B784 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0273B788 */ cpu->r[28] = 0x00000000u;
|
|
L_0273B78C: ; // 0x273b78c
|
|
/* 0273B78C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0273B790 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273B794 */ _t5 = cpu->r[29] + 0xFFFF8800u;
|
|
/* 0273B794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273B798 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273B798 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273B798 */ if (_t7) goto L_0273B79C; else goto L_0273B7A4;
|
|
L_0273B79C: ; // 0x273b79c
|
|
/* 0273B79C */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 0273B79C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273B7A0 */ _t9 = cpu->r[12] + cpu->r[28];
|
|
/* 0273B7A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
L_0273B7A4: ; // 0x273b7a4
|
|
/* 0273B7A4 */ Gambit_fn_02739D04(cpu);
|
|
/* 0273B7A8 */ cpu->r[5] = cpu->r[3];
|
|
/* 0273B7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273B7AC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B7AC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273B7AC */ if (_t11) goto L_0273B7BC; else goto L_0273B7B0;
|
|
L_0273B7B0: ; // 0x273b7b0
|
|
/* 0273B7B0 */ _t12 = cpu->r[31] + 0x00000058u;
|
|
/* 0273B7B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273B7B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0273B7B8 */ Gambit_fn_0273E910(cpu);
|
|
L_0273B7BC: ; // 0x273b7bc
|
|
/* 0273B7BC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273B7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273B7C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273B7C4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0273B7C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B7C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273B7C8 */ if (_t14) goto L_0273B7D4; else goto L_0273B7CC;
|
|
L_0273B7CC: ; // 0x273b7cc
|
|
/* 0273B7CC */ _t15 = cpu->r[31] + 0x00000040u;
|
|
/* 0273B7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273B7D0 */ goto L_0273B78C;
|
|
L_0273B7D4: ; // 0x273b7d4
|
|
/* 0273B7D4 */ /* nop */
|
|
/* 0273B7D8 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0273B7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273B7DC */ cpu->lr = cpu->r[0];
|
|
/* 0273B7E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273B7E4 */ return;
|
|
}
|
|
|
|
// fn_0273B7E8 @ 0x273b7e8
|
|
void Gambit_fn_0273B7E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273B7E8: ; // 0x273b7e8
|
|
/* 0273B7E8 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 0273B7E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273B7E8 */ cpu->r[1] = _t0;
|
|
/* 0273B7EC */ /* nop */
|
|
/* 0273B7F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0273B7F4 */ _t1 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0273B7F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273B7F8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0273B7FC */ _t2 = cpu->r[29] + 0xFFFF862Cu;
|
|
/* 0273B7FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273B800 */ cpu->r[27] = cpu->r[3];
|
|
/* 0273B804 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273B808 */ cpu->r[30] = cpu->r[4];
|
|
/* 0273B80C */ Gambit_fn_026F2EEC(cpu);
|
|
/* 0273B810 */ _t3 = cpu->r[27] + 0x00000040u;
|
|
/* 0273B810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273B814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0273B818 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B818 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273B818 */ if (_t5) goto L_0273B854; else goto L_0273B81C;
|
|
L_0273B81C: ; // 0x273b81c
|
|
/* 0273B81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273B820 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273B824 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B824 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273B824 */ if (_t7) goto L_0273B828; else goto L_0273B838;
|
|
L_0273B828: ; // 0x273b828
|
|
/* 0273B828 */ cpu->r[3] = 0x00000004u;
|
|
/* 0273B82C */ Gambit_fn_02801A78(cpu);
|
|
/* 0273B830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273B834 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B834 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273B834 */ if (_t9) goto L_0273BA94; else goto L_0273B838;
|
|
L_0273B838: ; // 0x273b838
|
|
/* 0273B838 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273B83C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0273B83C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273B840 */ /* nop */
|
|
/* 0273B844 */ _t11 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0273B844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273B848 */ cpu->lr = cpu->r[0];
|
|
/* 0273B84C */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0273B850 */ return;
|
|
L_0273B854: ; // 0x273b854
|
|
/* 0273B854 */ _t12 = cpu->r[27] + 0x00000048u;
|
|
/* 0273B854 */ cpu->r[22] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273B858 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273B85C */ cpu->r[0] = cpu->r[22] + cpu->r[9];
|
|
/* 0273B860 */ cpu->r[7] = 0x00000000u;
|
|
/* 0273B864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 0273B868 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B868 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0273B86C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B86C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273B86C */ if (_t15) goto L_0273BA70; else goto L_0273B870;
|
|
L_0273B870: ; // 0x273b870
|
|
/* 0273B870 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273B874 */ cpu->r[21] = cpu->r[1] + 0x00000008u;
|
|
/* 0273B878 */ cpu->r[23] = cpu->r[1] + 0x0000004Fu;
|
|
/* 0273B87C */ _t16 = cpu->r[31] + 0x0000739Au;
|
|
/* 0273B87C */ cpu->r[31] = rbrew_read16(cpu->mem, _t16);
|
|
/* 0273B880 */ cpu->r[25] = 0x00080000u;
|
|
/* 0273B884 */ cpu->r[24] = 0x00000001u;
|
|
/* 0273B888 */ cpu->r[26] = 0x00000002u;
|
|
/* 0273B88C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_0273B890: ; // 0x273b890
|
|
/* 0273B890 */ _t17 = cpu->r[22] + 0x00000000u;
|
|
/* 0273B890 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273B894 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B898 */ _t18 = cpu->r[5] + 0x000000A4u;
|
|
/* 0273B898 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273B89C */ Gambit_fn_026F2754(cpu);
|
|
/* 0273B8A0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B8A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273B8A8 */ cpu->r[5] = cpu->r[28];
|
|
/* 0273B8AC */ Gambit_fn_026F33C0(cpu);
|
|
/* 0273B8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273B8B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B8B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273B8B4 */ if (_t20) goto L_0273BA18; else goto L_0273B8B8;
|
|
L_0273B8B8: ; // 0x273b8b8
|
|
/* 0273B8B8 */ _t21 = cpu->r[22] + 0x00000000u;
|
|
/* 0273B8B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273B8BC */ _t22 = cpu->r[23] + 0x00000001u;
|
|
/* 0273B8BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0273B8C0 */ cpu->r[10] = cpu->r[28] + 0x00000043u;
|
|
/* 0273B8C4 */ _t23 = cpu->r[10] + 0x00000001u;
|
|
/* 0273B8C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0273B8C4 */ cpu->r[10] = _t23;
|
|
/* 0273B8C8 */ cpu->r[9] = 0x00000060u;
|
|
/* 0273B8CC */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 0273B8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273B8D0 */ cpu->r[8] = cpu->r[23] + 0x00000001u;
|
|
/* 0273B8D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B8D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273B8D4 */ if (_t25) goto L_0273B8D8; else goto L_0273B908;
|
|
L_0273B8D8: ; // 0x273b8d8
|
|
/* 0273B8D8 */ cpu->ctr = cpu->r[9];
|
|
/* 0273B8DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273B8DC */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273B8DC */ _t27 = _t26 >> (0x00000002u & 31u);
|
|
/* 0273B8DC */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273B8DC */ if (_t28) goto L_0273B8E4; else goto L_0273B8E0;
|
|
L_0273B8E0: ; // 0x273b8e0
|
|
/* 0273B8E0 */ goto L_0273B938;
|
|
L_0273B8E4: ; // 0x273b8e4
|
|
/* 0273B8E4 */ _t29 = cpu->r[10] + 0x00000001u;
|
|
/* 0273B8E4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0273B8E4 */ cpu->r[10] = _t29;
|
|
/* 0273B8E8 */ _t30 = cpu->r[8] + 0x00000001u;
|
|
/* 0273B8E8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0273B8E8 */ cpu->r[8] = _t30;
|
|
/* 0273B8EC */ cpu->r[4] = cpu->r[5] - cpu->r[6];
|
|
/* 0273B8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273B8F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B8F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0273B8F0 */ if (_t32) goto L_0273B900; else goto L_0273B8F4;
|
|
L_0273B8F4: ; // 0x273b8f4
|
|
/* 0273B8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273B8F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B8F8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0273B8F8 */ if (_t34) goto L_0273B910; else goto L_0273B8FC;
|
|
L_0273B8FC: ; // 0x273b8fc
|
|
/* 0273B8FC */ goto L_0273B920;
|
|
L_0273B900: ; // 0x273b900
|
|
/* 0273B900 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273B900 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273B900 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0273B900 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273B900 */ if (_t37) goto L_0273B8E4; else goto L_0273B904;
|
|
L_0273B904: ; // 0x273b904
|
|
/* 0273B904 */ goto L_0273B938;
|
|
L_0273B908: ; // 0x273b908
|
|
/* 0273B908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273B90C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B90C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273B90C */ if (_t39) goto L_0273B910; else goto L_0273B920;
|
|
L_0273B910: ; // 0x273b910
|
|
/* 0273B910 */ cpu->r[3] = 0x00000004u;
|
|
/* 0273B914 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273B918 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273B918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273B91C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B91C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273B91C */ if (_t41) goto L_0273BA94; else goto L_0273B920;
|
|
L_0273B920: ; // 0x273b920
|
|
/* 0273B920 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 0273B920 */ rbrew_write32(cpu->mem, _t42, cpu->r[26]);
|
|
/* 0273B924 */ /* nop */
|
|
/* 0273B928 */ _t43 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0273B928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273B92C */ cpu->lr = cpu->r[0];
|
|
/* 0273B930 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0273B934 */ return;
|
|
L_0273B938: ; // 0x273b938
|
|
/* 0273B938 */ _t44 = cpu->r[28] + 0x00000004u;
|
|
/* 0273B938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273B93C */ _t45 = cpu->r[7] + 0x00000014u;
|
|
/* 0273B93C */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273B940 */ cpu->ctr = cpu->r[8];
|
|
/* 0273B944 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273B948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B94C */ _t46 = cpu->r[28] + 0x00000004u;
|
|
/* 0273B94C */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273B950 */ _t47 = cpu->r[9] + 0x00000014u;
|
|
/* 0273B950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273B954 */ cpu->ctr = cpu->r[0];
|
|
/* 0273B958 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273B95C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B960 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0273B960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273B964 */ _t49 = cpu->r[11] + 0x00000014u;
|
|
/* 0273B964 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273B968 */ cpu->ctr = cpu->r[4];
|
|
/* 0273B96C */ _t50 = cpu->r[28] + 0x00000000u;
|
|
/* 0273B96C */ cpu->r[20] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273B970 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273B978 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B978 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273B97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[6]);
|
|
/* 0273B980 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B980 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0273B980 */ if (_t53) goto L_0273B9B8; else goto L_0273B984;
|
|
L_0273B984: ; // 0x273b984
|
|
/* 0273B984 */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 0273B984 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273B988 */ cpu->r[12] = cpu->r[6] + 0xFFFFFFFEu;
|
|
/* 0273B98C */ cpu->ctr = cpu->r[25];
|
|
/* 0273B990 */ cpu->r[4] = cpu->r[5] + 0xFFFFFFFEu;
|
|
L_0273B994: ; // 0x273b994
|
|
/* 0273B994 */ _t55 = cpu->r[4] + 0x00000002u;
|
|
/* 0273B994 */ cpu->r[7] = rbrew_read16(cpu->mem, _t55);
|
|
/* 0273B994 */ cpu->r[4] = _t55;
|
|
/* 0273B998 */ _t56 = cpu->r[12] + 0x00000002u;
|
|
/* 0273B998 */ cpu->r[6] = rbrew_read16(cpu->mem, _t56);
|
|
/* 0273B998 */ cpu->r[12] = _t56;
|
|
/* 0273B99C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 0273B9A0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B9A0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273B9A0 */ if (_t58) goto L_0273B9A4; else goto L_0273B9B0;
|
|
L_0273B9A4: ; // 0x273b9a4
|
|
/* 0273B9A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0273B9A8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B9A8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0273B9A8 */ if (_t60) goto L_0273B9B8; else goto L_0273B9AC;
|
|
L_0273B9AC: ; // 0x273b9ac
|
|
/* 0273B9AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273B9AC */ _t61 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273B9AC */ _t62 = _t61 >> (0x00000002u & 31u);
|
|
/* 0273B9AC */ _t63 = _t62 & 0x00000001u;
|
|
/* 0273B9AC */ if (_t63) goto L_0273B994; else goto L_0273B9B0;
|
|
L_0273B9B0: ; // 0x273b9b0
|
|
/* 0273B9B0 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B9B0 */ rbrew_write32(cpu->mem, _t64, cpu->r[24]);
|
|
/* 0273B9B4 */ _t65 = cpu->r[21] + 0x00000000u;
|
|
/* 0273B9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
L_0273B9B8: ; // 0x273b9b8
|
|
/* 0273B9B8 */ _t66 = cpu->r[22] + 0x00000000u;
|
|
/* 0273B9B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0273B9BC */ _t67 = cpu->r[3] + 0x000000E8u;
|
|
/* 0273B9BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0273B9C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273B9C4 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273B9C8 */ _t68 = cpu->r[1] + 0x000000F4u;
|
|
/* 0273B9C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0273B9CC */ cpu->r[28] = cpu->r[3];
|
|
/* 0273B9D0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B9D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273B9D8 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273B9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[3]);
|
|
/* 0273B9E0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273B9E0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0273B9E0 */ if (_t70) goto L_0273BA48; else goto L_0273B9E4;
|
|
L_0273B9E4: ; // 0x273b9e4
|
|
/* 0273B9E4 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 0273B9E4 */ rbrew_write32(cpu->mem, _t71, cpu->r[24]);
|
|
/* 0273B9E8 */ _t72 = cpu->r[22] + 0x00000000u;
|
|
/* 0273B9E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0273B9EC */ _t73 = cpu->r[21] + 0x00000000u;
|
|
/* 0273B9EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0273B9F0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273B9F4 */ Gambit_fn_026F2934(cpu);
|
|
/* 0273B9F8 */ _t74 = cpu->r[27] + 0x00000040u;
|
|
/* 0273B9F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0273B9FC */ _t75 = cpu->r[27] + 0x00000048u;
|
|
/* 0273B9FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0273BA00 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273BA04 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 0273BA08 */ cpu->r[11] = cpu->r[12] + cpu->r[9];
|
|
/* 0273BA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 0273BA10 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA10 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0273BA10 */ if (_t77) goto L_0273BA14; else goto L_0273B890;
|
|
L_0273BA14: ; // 0x273ba14
|
|
/* 0273BA14 */ goto L_0273BA70;
|
|
L_0273BA18: ; // 0x273ba18
|
|
/* 0273BA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273BA1C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA1C */ _t79 = _t78 & 0x00000001u;
|
|
/* 0273BA1C */ if (_t79) goto L_0273BA20; else goto L_0273BA30;
|
|
L_0273BA20: ; // 0x273ba20
|
|
/* 0273BA20 */ cpu->r[3] = 0x00000004u;
|
|
/* 0273BA24 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273BA28 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273BA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273BA2C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA2C */ _t81 = _t80 & 0x00000001u;
|
|
/* 0273BA2C */ if (_t81) goto L_0273BA94; else goto L_0273BA30;
|
|
L_0273BA30: ; // 0x273ba30
|
|
/* 0273BA30 */ _t82 = cpu->r[30] + 0x00000000u;
|
|
/* 0273BA30 */ rbrew_write32(cpu->mem, _t82, cpu->r[26]);
|
|
/* 0273BA34 */ /* nop */
|
|
/* 0273BA38 */ _t83 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0273BA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0273BA3C */ cpu->lr = cpu->r[0];
|
|
/* 0273BA40 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0273BA44 */ return;
|
|
L_0273BA48: ; // 0x273ba48
|
|
/* 0273BA48 */ _t84 = cpu->r[22] + 0x00000000u;
|
|
/* 0273BA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0273BA4C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BA50 */ Gambit_fn_026F2934(cpu);
|
|
/* 0273BA54 */ _t85 = cpu->r[27] + 0x00000040u;
|
|
/* 0273BA54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0273BA58 */ _t86 = cpu->r[27] + 0x00000048u;
|
|
/* 0273BA58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0273BA5C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273BA60 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 0273BA64 */ cpu->r[11] = cpu->r[12] + cpu->r[9];
|
|
/* 0273BA68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 0273BA6C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA6C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273BA6C */ if (_t88) goto L_0273BA70; else goto L_0273B890;
|
|
L_0273BA70: ; // 0x273ba70
|
|
/* 0273BA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273BA74 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BA78 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA78 */ _t90 = _t89 & 0x00000001u;
|
|
/* 0273BA78 */ if (_t90) goto L_0273BA7C; else goto L_0273BA8C;
|
|
L_0273BA7C: ; // 0x273ba7c
|
|
/* 0273BA7C */ cpu->r[3] = 0x00000004u;
|
|
/* 0273BA80 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BA88 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BA88 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0273BA88 */ if (_t92) goto L_0273BA94; else goto L_0273BA8C;
|
|
L_0273BA8C: ; // 0x273ba8c
|
|
/* 0273BA8C */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 0273BA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0273BA90 */ _t94 = cpu->r[3] + 0x00000000u;
|
|
/* 0273BA90 */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
L_0273BA94: ; // 0x273ba94
|
|
/* 0273BA94 */ /* nop */
|
|
/* 0273BA98 */ _t95 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0273BA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0273BA9C */ cpu->lr = cpu->r[0];
|
|
/* 0273BAA0 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0273BAA4 */ return;
|
|
}
|
|
|
|
// fn_0273BAAC @ 0x273baac
|
|
void Gambit_fn_0273BAAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0273BAAC: ; // 0x273baac
|
|
/* 0273BAAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273BAAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BAAC */ cpu->r[1] = _t0;
|
|
/* 0273BAB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BAB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0273BAB4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BAB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273BAB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0273BABC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BABC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273BAC0 */ _t5 = cpu->r[3] + 0x000000E8u;
|
|
/* 0273BAC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273BAC4 */ cpu->r[30] = cpu->r[4];
|
|
/* 0273BAC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273BACC */ cpu->r[4] = cpu->r[29];
|
|
/* 0273BAD0 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273BAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BAD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BAD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273BAD8 */ if (_t7) goto L_0273BAE0; else goto L_0273BADC;
|
|
L_0273BADC: ; // 0x273badc
|
|
/* 0273BADC */ cpu->r[29] = cpu->r[29] + 0xFFFFFF9Cu;
|
|
L_0273BAE0: ; // 0x273bae0
|
|
/* 0273BAE0 */ _t8 = cpu->r[30] + 0x000000E8u;
|
|
/* 0273BAE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273BAE4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273BAE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BAEC */ cpu->r[4] = cpu->r[31];
|
|
/* 0273BAF0 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273BAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BAF8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BAF8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273BAF8 */ if (_t10) goto L_0273BB00; else goto L_0273BAFC;
|
|
L_0273BAFC: ; // 0x273bafc
|
|
/* 0273BAFC */ cpu->r[31] = cpu->r[31] + 0xFFFFFF9Cu;
|
|
L_0273BB00: ; // 0x273bb00
|
|
/* 0273BB00 */ cpu->r[3] = cpu->r[29] - cpu->r[31];
|
|
/* 0273BB04 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BB04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273BB08 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273BB0C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BB0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273BB10 */ cpu->lr = cpu->r[0];
|
|
/* 0273BB14 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273BB18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BB1C */ return;
|
|
}
|
|
|
|
// fn_0273BB20 @ 0x273bb20
|
|
void Gambit_fn_0273BB20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_0273BB20: ; // 0x273bb20
|
|
/* 0273BB20 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273BB20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BB20 */ cpu->r[1] = _t0;
|
|
/* 0273BB24 */ /* nop */
|
|
/* 0273BB28 */ cpu->r[0] = cpu->lr;
|
|
/* 0273BB2C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273BB2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273BB30 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273BB34 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0273BB38 */ _t2 = cpu->r[30] + 0xFFFF862Cu;
|
|
/* 0273BB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273BB3C */ Gambit_fn_027F57F0(cpu);
|
|
/* 0273BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BB44 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BB44 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273BB44 */ if (_t4) goto L_0273BC50; else goto L_0273BB48;
|
|
L_0273BB48: ; // 0x273bb48
|
|
/* 0273BB48 */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 0273BB48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273BB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273BB50 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BB50 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273BB50 */ if (_t7) goto L_0273BB54; else goto L_0273BB60;
|
|
L_0273BB54: ; // 0x273bb54
|
|
/* 0273BB54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BB58 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0273BB5C */ Gambit_fn_026F2E48(cpu);
|
|
L_0273BB60: ; // 0x273bb60
|
|
/* 0273BB60 */ _t8 = cpu->r[30] + 0x000050B8u;
|
|
/* 0273BB60 */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0273BB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0273BB68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BB68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273BB68 */ if (_t10) goto L_0273BB6C; else goto L_0273BC50;
|
|
L_0273BB6C: ; // 0x273bb6c
|
|
/* 0273BB6C */ _t11 = cpu->r[30] + 0x000050B9u;
|
|
/* 0273BB6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0273BB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273BB74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BB74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273BB74 */ if (_t13) goto L_0273BC50; else goto L_0273BB78;
|
|
L_0273BB78: ; // 0x273bb78
|
|
/* 0273BB78 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BB7C */ Gambit_fn_026F2EEC(cpu);
|
|
/* 0273BB80 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273BB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273BB84 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273BB84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273BB84 */ if (_t15) goto L_0273BB88; else goto L_0273BC5C;
|
|
L_0273BB88: ; // 0x273bb88
|
|
/* 0273BB88 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273BB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273BB90 */ _t16 = cpu->r[29] + 0x00000040u;
|
|
/* 0273BB90 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0273BB94 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273BB94 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273BB94 */ if (_t18) goto L_0273BB9C; else goto L_0273BB98;
|
|
L_0273BB98: ; // 0x273bb98
|
|
/* 0273BB98 */ cpu->r[31] = 0x00000001u;
|
|
L_0273BB9C: ; // 0x273bb9c
|
|
/* 0273BB9C */ cpu->r[28] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_0273BBA0: ; // 0x273bba0
|
|
/* 0273BBA0 */ _t19 = cpu->r[29] + 0x00000038u;
|
|
/* 0273BBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273BBA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273BBA8 */ _t20 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273BBA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273BBAC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BBAC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273BBAC */ if (_t22) goto L_0273BBB0; else goto L_0273BBB4;
|
|
L_0273BBB0: ; // 0x273bbb0
|
|
/* 0273BBB0 */ cpu->r[10] = cpu->r[10] + cpu->r[28];
|
|
L_0273BBB4: ; // 0x273bbb4
|
|
/* 0273BBB4 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 0273BBB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273BBB8 */ Gambit_fn_026F2690(cpu);
|
|
/* 0273BBBC */ _t24 = cpu->r[29] + 0x00000038u;
|
|
/* 0273BBBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273BBC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]);
|
|
/* 0273BBC4 */ _t25 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273BBC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273BBC8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BBC8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273BBC8 */ if (_t27) goto L_0273BBCC; else goto L_0273BBD0;
|
|
L_0273BBCC: ; // 0x273bbcc
|
|
/* 0273BBCC */ cpu->r[11] = cpu->r[11] + cpu->r[28];
|
|
L_0273BBD0: ; // 0x273bbd0
|
|
/* 0273BBD0 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0273BBD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273BBD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BBD8 */ cpu->r[5] = cpu->r[27];
|
|
/* 0273BBDC */ Gambit_fn_026F30F0(cpu);
|
|
/* 0273BBE0 */ _t29 = cpu->r[29] + 0x00000038u;
|
|
/* 0273BBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273BBE4 */ _t30 = cpu->r[29] + 0x00000044u;
|
|
/* 0273BBE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273BBE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273BBEC */ _t31 = cpu->r[29] + 0x0000003Cu;
|
|
/* 0273BBEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273BBF0 */ _t32 = cpu->r[29] + 0x00000040u;
|
|
/* 0273BBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273BBF4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BBF4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0273BBF4 */ if (_t34) goto L_0273BBF8; else goto L_0273BBFC;
|
|
L_0273BBF8: ; // 0x273bbf8
|
|
/* 0273BBF8 */ cpu->r[12] = cpu->r[12] + cpu->r[28];
|
|
L_0273BBFC: ; // 0x273bbfc
|
|
/* 0273BBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 0273BC00 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 0273BC00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273BC04 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BC04 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273BC04 */ if (_t37) goto L_0273BC08; else goto L_0273BC20;
|
|
L_0273BC08: ; // 0x273bc08
|
|
/* 0273BC08 */ _t38 = cpu->r[29] + 0x00000048u;
|
|
/* 0273BC08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273BC0C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273BC10 */ _t39 = cpu->r[7] + cpu->r[8];
|
|
/* 0273BC10 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0273BC14 */ _t40 = cpu->r[29] + 0x00000040u;
|
|
/* 0273BC14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273BC18 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0273BC1C */ _t41 = cpu->r[29] + 0x00000040u;
|
|
/* 0273BC1C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
L_0273BC20: ; // 0x273bc20
|
|
/* 0273BC20 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0273BC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273BC24 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273BC28 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0273BC2C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BC2C */ _t43 = _t42 & 0x00000001u;
|
|
/* 0273BC2C */ if (_t43) goto L_0273BC30; else goto L_0273BBA0;
|
|
L_0273BC30: ; // 0x273bc30
|
|
/* 0273BC30 */ cpu->r[4] = 0x02740000u;
|
|
/* 0273BC34 */ cpu->r[3] = cpu->r[29] + 0x00000040u;
|
|
/* 0273BC38 */ cpu->r[4] = cpu->r[4] + 0xFFFFBAA8u;
|
|
/* 0273BC3C */ Gambit_fn_02802640(cpu);
|
|
/* 0273BC40 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273BC44 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273BC48 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273BC4C */ goto L_0273BC68;
|
|
L_0273BC50: ; // 0x273bc50
|
|
/* 0273BC50 */ _t44 = cpu->r[29] + 0x00000008u;
|
|
/* 0273BC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273BC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000258u);
|
|
/* 0273BC58 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BC58 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0273BC58 */ if (_t46) goto L_0273BC68; else goto L_0273BC5C;
|
|
L_0273BC5C: ; // 0x273bc5c
|
|
/* 0273BC5C */ cpu->r[3] = cpu->r[29];
|
|
/* 0273BC60 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0273BC64 */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273BC68: ; // 0x273bc68
|
|
/* 0273BC68 */ /* nop */
|
|
/* 0273BC6C */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 0273BC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273BC70 */ cpu->lr = cpu->r[0];
|
|
/* 0273BC74 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273BC78 */ return;
|
|
}
|
|
|
|
// fn_0273BC80 @ 0x273bc80
|
|
void Gambit_fn_0273BC80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0273BC80: ; // 0x273bc80
|
|
/* 0273BC80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273BC80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BC80 */ cpu->r[1] = _t0;
|
|
/* 0273BC84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BC84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273BC88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273BC88 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273BC8C */ cpu->r[31] = cpu->r[3];
|
|
/* 0273BC90 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273BC94 */ _t4 = cpu->r[31] + 0x00000008u;
|
|
/* 0273BC94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273BC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273BC9C */ cpu->r[30] = 0x101D0000u;
|
|
/* 0273BCA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BCA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273BCA0 */ if (_t6) goto L_0273BCA4; else goto L_0273BCB0;
|
|
L_0273BCA4: ; // 0x273bca4
|
|
/* 0273BCA4 */ _t7 = cpu->r[30] + 0xFFFF8800u;
|
|
/* 0273BCA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273BCA8 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0273BCAC */ Gambit_fn_02739B24(cpu);
|
|
L_0273BCB0: ; // 0x273bcb0
|
|
/* 0273BCB0 */ _t8 = cpu->r[30] + 0xFFFF8800u;
|
|
/* 0273BCB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273BCB4 */ _t9 = cpu->r[3] + 0x0000006Cu;
|
|
/* 0273BCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273BCB8 */ Gambit_fn_02739B10(cpu);
|
|
/* 0273BCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BCC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BCC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273BCC0 */ if (_t11) goto L_0273BCC4; else goto L_0273BCCC;
|
|
L_0273BCC4: ; // 0x273bcc4
|
|
/* 0273BCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Fu);
|
|
/* 0273BCC8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BCC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273BCC8 */ if (_t13) goto L_0273BCD8; else goto L_0273BCCC;
|
|
L_0273BCCC: ; // 0x273bccc
|
|
/* 0273BCCC */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BCD0 */ cpu->r[4] = 0x00000003u;
|
|
/* 0273BCD4 */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273BCD8: ; // 0x273bcd8
|
|
/* 0273BCD8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BCD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273BCDC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0273BCDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273BCE0 */ cpu->lr = cpu->r[0];
|
|
/* 0273BCE4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BCE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273BCE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273BCEC */ return;
|
|
}
|
|
|
|
// fn_0273BCF4 @ 0x273bcf4
|
|
void Gambit_fn_0273BCF4(CPUState* cpu) {
|
|
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_0273BCF4: ; // 0x273bcf4
|
|
/* 0273BCF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273BCF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BCF4 */ cpu->r[1] = _t0;
|
|
/* 0273BCF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BCF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273BCFC */ cpu->r[31] = cpu->r[3];
|
|
/* 0273BD00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BD00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273BD04 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 0273BD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273BD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273BD0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BD0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273BD0C */ if (_t5) goto L_0273BD10; else goto L_0273BD44;
|
|
L_0273BD10: ; // 0x273bd10
|
|
/* 0273BD10 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BD10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273BD14 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0273BD18 */ Gambit_fn_0273E900(cpu);
|
|
/* 0273BD1C */ _t7 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BD1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273BD20 */ Gambit_fn_0273E824(cpu);
|
|
/* 0273BD24 */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273BD28 */ cpu->r[4] = 0x00000002u;
|
|
/* 0273BD2C */ Gambit_fn_0209AD4C(cpu);
|
|
/* 0273BD30 */ _t9 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BD30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273BD34 */ Gambit_fn_0209AC88(cpu);
|
|
/* 0273BD38 */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BD38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273BD3C */ cpu->r[4] = 0x00000003u;
|
|
/* 0273BD40 */ Gambit_fn_0209AF74(cpu);
|
|
L_0273BD44: ; // 0x273bd44
|
|
/* 0273BD44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BD48 */ Gambit_fn_0273B760(cpu);
|
|
/* 0273BD4C */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BD4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273BD50 */ Gambit_fn_0273E86C(cpu);
|
|
/* 0273BD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BD58 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BD58 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273BD58 */ if (_t13) goto L_0273BD88; else goto L_0273BD5C;
|
|
L_0273BD5C: ; // 0x273bd5c
|
|
/* 0273BD5C */ _t14 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BD5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273BD60 */ Gambit_fn_0209ACE0(cpu);
|
|
/* 0273BD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BD68 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BD68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273BD68 */ if (_t16) goto L_0273BD88; else goto L_0273BD6C;
|
|
L_0273BD6C: ; // 0x273bd6c
|
|
/* 0273BD6C */ _t17 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273BD70 */ Gambit_fn_0209B068(cpu);
|
|
/* 0273BD74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BD78 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BD78 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273BD78 */ if (_t19) goto L_0273BD88; else goto L_0273BD7C;
|
|
L_0273BD7C: ; // 0x273bd7c
|
|
/* 0273BD7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BD80 */ cpu->r[4] = 0x00000004u;
|
|
/* 0273BD84 */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273BD88: ; // 0x273bd88
|
|
/* 0273BD88 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273BD8C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273BD90 */ cpu->lr = cpu->r[0];
|
|
/* 0273BD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273BD98 */ return;
|
|
}
|
|
|
|
// fn_0273BDA0 @ 0x273bda0
|
|
void Gambit_fn_0273BDA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0273BDA0: ; // 0x273bda0
|
|
/* 0273BDA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273BDA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BDA0 */ cpu->r[1] = _t0;
|
|
/* 0273BDA4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BDA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273BDA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BDA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273BDAC */ cpu->r[30] = cpu->r[3];
|
|
/* 0273BDB0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BDB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273BDB4 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0273BDB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273BDB8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0273BDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273BDC0 */ _t5 = cpu->r[31] + 0xFFFF862Cu;
|
|
/* 0273BDC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273BDC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BDC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273BDC4 */ if (_t7) goto L_0273BDC8; else goto L_0273BDEC;
|
|
L_0273BDC8: ; // 0x273bdc8
|
|
/* 0273BDC8 */ _t8 = cpu->r[30] + 0x00000060u;
|
|
/* 0273BDC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273BDCC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273BDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0273BDD4 */ _t9 = cpu->r[30] + 0x00000058u;
|
|
/* 0273BDD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273BDD8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BDD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273BDD8 */ if (_t11) goto L_0273BDE0; else goto L_0273BDDC;
|
|
L_0273BDDC: ; // 0x273bddc
|
|
/* 0273BDDC */ cpu->r[4] = cpu->r[9];
|
|
L_0273BDE0: ; // 0x273bde0
|
|
/* 0273BDE0 */ Gambit_fn_0273E918(cpu);
|
|
/* 0273BDE4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273BDE8 */ _t12 = cpu->r[30] + 0x00000060u;
|
|
/* 0273BDE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_0273BDEC: ; // 0x273bdec
|
|
/* 0273BDEC */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BDF0 */ Gambit_fn_0273B760(cpu);
|
|
/* 0273BDF4 */ _t13 = cpu->r[30] + 0x00000058u;
|
|
/* 0273BDF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273BDF8 */ Gambit_fn_0273E8D8(cpu);
|
|
/* 0273BDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BE00 */ _t14 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0273BE00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273BE04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BE04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273BE04 */ if (_t16) goto L_0273BE30; else goto L_0273BE08;
|
|
L_0273BE08: ; // 0x273be08
|
|
/* 0273BE08 */ Gambit_fn_0209B104(cpu);
|
|
/* 0273BE0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BE10 */ cpu->r[4] = 0x00000005u;
|
|
/* 0273BE14 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273BE18 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273BE1C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273BE20 */ cpu->lr = cpu->r[0];
|
|
/* 0273BE24 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273BE28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BE2C */ return;
|
|
L_0273BE30: ; // 0x273be30
|
|
/* 0273BE30 */ Gambit_fn_0209B0F4(cpu);
|
|
/* 0273BE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BE38 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BE38 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273BE38 */ if (_t21) goto L_0273BE68; else goto L_0273BE3C;
|
|
L_0273BE3C: ; // 0x273be3c
|
|
/* 0273BE3C */ _t22 = cpu->r[30] + 0x00000058u;
|
|
/* 0273BE3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273BE40 */ Gambit_fn_0273E920(cpu);
|
|
/* 0273BE44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BE48 */ cpu->r[4] = 0x00000005u;
|
|
/* 0273BE4C */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273BE50 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273BE54 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BE54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273BE58 */ cpu->lr = cpu->r[0];
|
|
/* 0273BE5C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BE5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273BE60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BE64 */ return;
|
|
L_0273BE68: ; // 0x273be68
|
|
/* 0273BE68 */ _t26 = cpu->r[30] + 0x00000064u;
|
|
/* 0273BE68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0273BE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273BE70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BE70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273BE70 */ if (_t28) goto L_0273BF0C; else goto L_0273BE74;
|
|
L_0273BE74: ; // 0x273be74
|
|
/* 0273BE74 */ _t29 = cpu->r[31] + 0x000050B8u;
|
|
/* 0273BE74 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0273BE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273BE7C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BE7C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0273BE7C */ if (_t31) goto L_0273BE80; else goto L_0273BF28;
|
|
L_0273BE80: ; // 0x273be80
|
|
/* 0273BE80 */ _t32 = cpu->r[31] + 0x000050B9u;
|
|
/* 0273BE80 */ cpu->r[6] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0273BE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273BE88 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BE88 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0273BE88 */ if (_t34) goto L_0273BF28; else goto L_0273BE8C;
|
|
L_0273BE8C: ; // 0x273be8c
|
|
/* 0273BE8C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BE90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273BE94 */ Gambit_fn_0273B7E8(cpu);
|
|
/* 0273BE98 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 0273BE98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273BE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 0273BEA0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BEA0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273BEA0 */ if (_t37) goto L_0273BEA4; else goto L_0273BED8;
|
|
L_0273BEA4: ; // 0x273bea4
|
|
/* 0273BEA4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0273BEA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273BEAC */ cpu->r[4] = 0x00000006u;
|
|
/* 0273BEB0 */ _t38 = cpu->r[30] + 0x00000066u;
|
|
/* 0273BEB0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
|
|
/* 0273BEB4 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273BEB8 */ cpu->r[11] = 0x00000000u;
|
|
/* 0273BEBC */ _t39 = cpu->r[30] + 0x00000064u;
|
|
/* 0273BEBC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[11]);
|
|
/* 0273BEC0 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273BEC4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BEC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273BEC8 */ cpu->lr = cpu->r[0];
|
|
/* 0273BECC */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BECC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273BED0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BED4 */ return;
|
|
L_0273BED8: ; // 0x273bed8
|
|
/* 0273BED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 0273BEDC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BEDC */ _t44 = _t43 & 0x00000001u;
|
|
/* 0273BEDC */ if (_t44) goto L_0273BEE0; else goto L_0273BEEC;
|
|
L_0273BEE0: ; // 0x273bee0
|
|
/* 0273BEE0 */ _t45 = cpu->r[30] + 0x00000058u;
|
|
/* 0273BEE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273BEE4 */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 0273BEE8 */ Gambit_fn_0273E908(cpu);
|
|
L_0273BEEC: ; // 0x273beec
|
|
/* 0273BEEC */ cpu->r[11] = 0x00000000u;
|
|
/* 0273BEF0 */ _t46 = cpu->r[30] + 0x00000064u;
|
|
/* 0273BEF0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[11]);
|
|
/* 0273BEF4 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273BEF8 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BEF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273BEFC */ cpu->lr = cpu->r[0];
|
|
/* 0273BF00 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273BF04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BF08 */ return;
|
|
L_0273BF0C: ; // 0x273bf0c
|
|
/* 0273BF0C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BF10 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0273BF14 */ Gambit_fn_026F2E48(cpu);
|
|
/* 0273BF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BF1C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BF1C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0273BF1C */ if (_t51) goto L_0273BF28; else goto L_0273BF20;
|
|
L_0273BF20: ; // 0x273bf20
|
|
/* 0273BF20 */ cpu->r[12] = 0x00000001u;
|
|
/* 0273BF24 */ _t52 = cpu->r[30] + 0x00000064u;
|
|
/* 0273BF24 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
L_0273BF28: ; // 0x273bf28
|
|
/* 0273BF28 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273BF28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273BF2C */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 0273BF2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273BF30 */ cpu->lr = cpu->r[0];
|
|
/* 0273BF34 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BF34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0273BF38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273BF3C */ return;
|
|
}
|
|
|
|
// fn_0273BF44 @ 0x273bf44
|
|
void Gambit_fn_0273BF44(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_0273BF44: ; // 0x273bf44
|
|
/* 0273BF44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273BF44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BF44 */ cpu->r[1] = _t0;
|
|
/* 0273BF48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BF48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273BF4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0273BF50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BF50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273BF54 */ _t3 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BF54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273BF58 */ Gambit_fn_0273E8EC(cpu);
|
|
/* 0273BF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BF60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BF60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273BF60 */ if (_t5) goto L_0273BFB4; else goto L_0273BF64;
|
|
L_0273BF64: ; // 0x273bf64
|
|
/* 0273BF64 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273BF68 */ Gambit_fn_0273E960(cpu);
|
|
/* 0273BF6C */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 0273BF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273BF70 */ cpu->r[4] = cpu->r[3];
|
|
/* 0273BF74 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273BF78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273BF7C */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 0273BF7C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 0273BF80 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273BF80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273BF80 */ if (_t10) goto L_0273BF84; else goto L_0273BF90;
|
|
L_0273BF84: ; // 0x273bf84
|
|
/* 0273BF84 */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 0273BF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273BF88 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273BF8C */ _t12 = cpu->r[12] + cpu->r[0];
|
|
/* 0273BF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
L_0273BF90: ; // 0x273bf90
|
|
/* 0273BF90 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273BF94 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273BF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BF9C */ cpu->r[4] = 0x00000009u;
|
|
/* 0273BFA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BFA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273BFA0 */ if (_t14) goto L_0273BFC8; else goto L_0273BFA4;
|
|
L_0273BFA4: ; // 0x273bfa4
|
|
/* 0273BFA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BFA8 */ cpu->r[4] = 0x00000008u;
|
|
/* 0273BFAC */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273BFB0 */ goto L_0273BFD0;
|
|
L_0273BFB4: ; // 0x273bfb4
|
|
/* 0273BFB4 */ _t15 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273BFB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273BFB8 */ Gambit_fn_0209B0FC(cpu);
|
|
/* 0273BFBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273BFC0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273BFC0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0273BFC0 */ if (_t17) goto L_0273BFD0; else goto L_0273BFC4;
|
|
L_0273BFC4: ; // 0x273bfc4
|
|
/* 0273BFC4 */ cpu->r[4] = 0x00000006u;
|
|
L_0273BFC8: ; // 0x273bfc8
|
|
/* 0273BFC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273BFCC */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273BFD0: ; // 0x273bfd0
|
|
/* 0273BFD0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273BFD4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BFD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273BFD8 */ cpu->lr = cpu->r[0];
|
|
/* 0273BFDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273BFE0 */ return;
|
|
}
|
|
|
|
// fn_0273BFE8 @ 0x273bfe8
|
|
void Gambit_fn_0273BFE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_0273BFE8: ; // 0x273bfe8
|
|
/* 0273BFE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273BFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273BFE8 */ cpu->r[1] = _t0;
|
|
/* 0273BFEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273BFEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273BFF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273BFF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273BFF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273BFF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273BFF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273BFFC */ _t4 = cpu->r[31] + 0x00000058u;
|
|
/* 0273BFFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273C000 */ Gambit_fn_0273E86C(cpu);
|
|
/* 0273C004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C008 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C008 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273C008 */ if (_t6) goto L_0273C014; else goto L_0273C00C;
|
|
L_0273C00C: ; // 0x273c00c
|
|
/* 0273C00C */ _t7 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C00C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273C010 */ Gambit_fn_0273E880(cpu);
|
|
L_0273C014: ; // 0x273c014
|
|
/* 0273C014 */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C014 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273C018 */ Gambit_fn_0209ACE0(cpu);
|
|
/* 0273C01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C020 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C020 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273C020 */ if (_t10) goto L_0273C02C; else goto L_0273C024;
|
|
L_0273C024: ; // 0x273c024
|
|
/* 0273C024 */ _t11 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273C028 */ Gambit_fn_0209ACF4(cpu);
|
|
L_0273C02C: ; // 0x273c02c
|
|
/* 0273C02C */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C02C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273C030 */ Gambit_fn_0209B068(cpu);
|
|
/* 0273C034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C038 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C038 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273C038 */ if (_t14) goto L_0273C044; else goto L_0273C03C;
|
|
L_0273C03C: ; // 0x273c03c
|
|
/* 0273C03C */ _t15 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C03C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273C040 */ Gambit_fn_0209B07C(cpu);
|
|
L_0273C044: ; // 0x273c044
|
|
/* 0273C044 */ _t16 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C044 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C048 */ Gambit_fn_0273E80C(cpu);
|
|
/* 0273C04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C050 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C050 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273C050 */ if (_t18) goto L_0273C0EC; else goto L_0273C054;
|
|
L_0273C054: ; // 0x273c054
|
|
/* 0273C054 */ _t19 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273C058 */ Gambit_fn_0209AC70(cpu);
|
|
/* 0273C05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C060 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C060 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273C060 */ if (_t21) goto L_0273C0EC; else goto L_0273C064;
|
|
L_0273C064: ; // 0x273c064
|
|
/* 0273C064 */ _t22 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C064 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273C068 */ Gambit_fn_0209AF5C(cpu);
|
|
/* 0273C06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C070 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C070 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0273C070 */ if (_t24) goto L_0273C0EC; else goto L_0273C074;
|
|
L_0273C074: ; // 0x273c074
|
|
/* 0273C074 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273C078 */ _t25 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273C078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273C07C */ _t26 = cpu->r[12] + 0x00000250u;
|
|
/* 0273C07C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273C080 */ Gambit_fn_027EFF74(cpu);
|
|
/* 0273C084 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0273C088 */ _t27 = cpu->r[30] + 0xFFFF8800u;
|
|
/* 0273C088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273C088 */ cpu->r[30] = _t27;
|
|
/* 0273C08C */ Gambit_fn_02739B10(cpu);
|
|
/* 0273C090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C094 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C094 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0273C094 */ if (_t29) goto L_0273C0EC; else goto L_0273C098;
|
|
L_0273C098: ; // 0x273c098
|
|
/* 0273C098 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 0273C098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273C09C */ Gambit_fn_02739C04(cpu);
|
|
/* 0273C0A0 */ _t31 = cpu->r[31] + 0x00000066u;
|
|
/* 0273C0A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0273C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C0A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C0AC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C0AC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273C0AC */ if (_t33) goto L_0273C0D8; else goto L_0273C0B0;
|
|
L_0273C0B0: ; // 0x273c0b0
|
|
/* 0273C0B0 */ cpu->r[4] = 0x00000007u;
|
|
/* 0273C0B4 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273C0B8 */ cpu->r[11] = 0x00000000u;
|
|
/* 0273C0BC */ _t34 = cpu->r[31] + 0x00000066u;
|
|
/* 0273C0BC */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 0273C0C0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273C0C4 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C0C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273C0C8 */ cpu->lr = cpu->r[0];
|
|
/* 0273C0CC */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C0CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273C0D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C0D4 */ return;
|
|
L_0273C0D8: ; // 0x273c0d8
|
|
/* 0273C0D8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0273C0DC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273C0E0 */ _t38 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C0E0 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 0273C0E4 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273C0E8 */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273C0EC: ; // 0x273c0ec
|
|
/* 0273C0EC */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C0EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273C0F0 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C0F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273C0F4 */ cpu->lr = cpu->r[0];
|
|
/* 0273C0F8 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C0F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273C0FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C100 */ return;
|
|
}
|
|
|
|
// fn_0273C108 @ 0x273c108
|
|
void Gambit_fn_0273C108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0273C108: ; // 0x273c108
|
|
/* 0273C108 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273C108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C108 */ cpu->r[1] = _t0;
|
|
/* 0273C10C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C10C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273C110 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273C114 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273C118 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C118 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273C11C */ _t3 = cpu->r[3] + 0xFFFF8800u;
|
|
/* 0273C11C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273C120 */ Gambit_fn_02739B10(cpu);
|
|
/* 0273C124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C128 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C128 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273C128 */ if (_t5) goto L_0273C138; else goto L_0273C12C;
|
|
L_0273C12C: ; // 0x273c12c
|
|
/* 0273C12C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C130 */ cpu->r[4] = 0x00000001u;
|
|
/* 0273C134 */ Gambit_fn_0273CAD4(cpu);
|
|
L_0273C138: ; // 0x273c138
|
|
/* 0273C138 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273C13C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C13C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273C140 */ cpu->lr = cpu->r[0];
|
|
/* 0273C144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C148 */ return;
|
|
}
|
|
|
|
// fn_0273C150 @ 0x273c150
|
|
void Gambit_fn_0273C150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_0273C150: ; // 0x273c150
|
|
/* 0273C150 */ _t0 = cpu->r[1] + 0xFFFFFB60u;
|
|
/* 0273C150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C150 */ cpu->r[1] = _t0;
|
|
/* 0273C154 */ _t1 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273C158 */ _t2 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C158 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273C15C */ cpu->r[31] = cpu->r[3];
|
|
/* 0273C160 */ _t3 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273C164 */ _t4 = cpu->r[31] + 0x00000008u;
|
|
/* 0273C164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273C168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273C16C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C16C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273C16C */ if (_t6) goto L_0273C170; else goto L_0273C1D8;
|
|
L_0273C170: ; // 0x273c170
|
|
/* 0273C170 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C174 */ Gambit_fn_0207BF28(cpu);
|
|
/* 0273C178 */ cpu->r[9] = 0x10100000u;
|
|
/* 0273C17C */ cpu->r[0] = 0x10100000u;
|
|
/* 0273C180 */ cpu->r[9] = cpu->r[9] + 0xFFFF80B4u;
|
|
/* 0273C184 */ cpu->r[0] = cpu->r[0] + 0xFFFF8200u;
|
|
/* 0273C188 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C188 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0273C18C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C190 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273C194 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C194 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0273C198 */ Gambit_fn_0207C1E8(cpu);
|
|
/* 0273C19C */ cpu->r[30] = 0x00000001u;
|
|
/* 0273C1A0 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 0273C1A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273C1A4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C1A8 */ _t10 = cpu->r[1] + 0x00000491u;
|
|
/* 0273C1A8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 0273C1AC */ Gambit_fn_0207C9B4(cpu);
|
|
/* 0273C1B0 */ cpu->r[6] = 0x02740000u;
|
|
/* 0273C1B4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0273C1B8 */ cpu->r[3] = cpu->r[1] + 0x000000C4u;
|
|
/* 0273C1BC */ cpu->r[6] = cpu->r[6] + 0xFFFFC638u;
|
|
/* 0273C1C0 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0273C1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273C1C4 */ cpu->r[8] = cpu->r[7];
|
|
/* 0273C1C8 */ cpu->r[5] = 0x00000098u;
|
|
/* 0273C1CC */ cpu->r[4] = 0x00000006u;
|
|
/* 0273C1D0 */ _t12 = cpu->r[12] + 0x00000070u;
|
|
/* 0273C1D0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
/* 0273C1D4 */ Gambit_fn_02C82F38(cpu);
|
|
L_0273C1D8: ; // 0x273c1d8
|
|
/* 0273C1D8 */ _t13 = cpu->r[31] + 0x00000050u;
|
|
/* 0273C1D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273C1DC */ Gambit_fn_0207C9A0(cpu);
|
|
/* 0273C1E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C1E4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C1E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273C1E4 */ if (_t15) goto L_0273C21C; else goto L_0273C1E8;
|
|
L_0273C1E8: ; // 0x273c1e8
|
|
/* 0273C1E8 */ _t16 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C1E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C1EC */ Gambit_fn_0273E928(cpu);
|
|
/* 0273C1F0 */ _t17 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273C1F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273C1F4 */ Gambit_fn_0209B118(cpu);
|
|
/* 0273C1F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C1FC */ cpu->r[4] = 0x00000004u;
|
|
/* 0273C200 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273C204 */ _t18 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273C208 */ _t19 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273C20C */ cpu->lr = cpu->r[0];
|
|
/* 0273C210 */ _t20 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273C214 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C218 */ return;
|
|
L_0273C21C: ; // 0x273c21c
|
|
/* 0273C21C */ _t21 = cpu->r[31] + 0x00000050u;
|
|
/* 0273C21C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273C220 */ Gambit_fn_0207CA1C(cpu);
|
|
/* 0273C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C228 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C228 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273C228 */ if (_t23) goto L_0273C2E0; else goto L_0273C22C;
|
|
L_0273C22C: ; // 0x273c22c
|
|
/* 0273C22C */ _t24 = cpu->r[31] + 0x00000050u;
|
|
/* 0273C22C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273C230 */ Gambit_fn_0207CACC(cpu);
|
|
/* 0273C234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C238 */ _t25 = cpu->r[31] + 0x00000050u;
|
|
/* 0273C238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273C23C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C23C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273C23C */ if (_t27) goto L_0273C2C4; else goto L_0273C240;
|
|
L_0273C240: ; // 0x273c240
|
|
/* 0273C240 */ _t28 = cpu->r[3] + 0x00000084u;
|
|
/* 0273C240 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273C244 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 0273C248 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C248 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0273C248 */ if (_t30) goto L_0273C26C; else goto L_0273C24C;
|
|
L_0273C24C: ; // 0x273c24c
|
|
/* 0273C24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 0273C250 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C250 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0273C250 */ if (_t32) goto L_0273C294; else goto L_0273C254;
|
|
L_0273C254: ; // 0x273c254
|
|
/* 0273C254 */ _t33 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273C258 */ _t34 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273C25C */ cpu->lr = cpu->r[0];
|
|
/* 0273C260 */ _t35 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273C264 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C268 */ return;
|
|
L_0273C26C: ; // 0x273c26c
|
|
/* 0273C26C */ Gambit_fn_0207CA24(cpu);
|
|
/* 0273C270 */ _t36 = cpu->r[31] + 0x00000054u;
|
|
/* 0273C270 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273C274 */ cpu->r[9] = 0x00000000u;
|
|
/* 0273C278 */ _t37 = cpu->r[8] + 0x00000070u;
|
|
/* 0273C278 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[9]);
|
|
/* 0273C27C */ _t38 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273C280 */ _t39 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273C284 */ cpu->lr = cpu->r[0];
|
|
/* 0273C288 */ _t40 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0273C28C */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C290 */ return;
|
|
L_0273C294: ; // 0x273c294
|
|
/* 0273C294 */ cpu->r[10] = 0x00000002u;
|
|
/* 0273C298 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273C29C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C2A0 */ _t41 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C2A0 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 0273C2A4 */ _t42 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C2A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273C2A8 */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273C2AC */ _t43 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273C2B0 */ _t44 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C2B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273C2B4 */ cpu->lr = cpu->r[0];
|
|
/* 0273C2B8 */ _t45 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C2B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273C2BC */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C2C0 */ return;
|
|
L_0273C2C4: ; // 0x273c2c4
|
|
/* 0273C2C4 */ Gambit_fn_0207CAB8(cpu);
|
|
/* 0273C2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C2CC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C2CC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0273C2CC */ if (_t47) goto L_0273C2E0; else goto L_0273C2D0;
|
|
L_0273C2D0: ; // 0x273c2d0
|
|
/* 0273C2D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0273C2D4 */ _t48 = cpu->r[12] + 0xFFFF88E0u;
|
|
/* 0273C2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273C2D8 */ _t49 = cpu->r[12] + 0x00000250u;
|
|
/* 0273C2D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273C2DC */ Gambit_fn_027EFCDC(cpu);
|
|
L_0273C2E0: ; // 0x273c2e0
|
|
/* 0273C2E0 */ _t50 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273C2E4 */ _t51 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C2E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273C2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0273C2EC */ _t52 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0273C2F0 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C2F4 */ return;
|
|
}
|
|
|
|
// fn_0273C2FC @ 0x273c2fc
|
|
void Gambit_fn_0273C2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0273C2FC: ; // 0x273c2fc
|
|
/* 0273C2FC */ _t0 = cpu->r[1] + 0xFFFFFB60u;
|
|
/* 0273C2FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C2FC */ cpu->r[1] = _t0;
|
|
/* 0273C300 */ _t1 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C300 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273C304 */ _t2 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C304 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273C308 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273C30C */ _t3 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C30C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273C310 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0273C310 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273C314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0273C318 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C318 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273C318 */ if (_t6) goto L_0273C31C; else goto L_0273C384;
|
|
L_0273C31C: ; // 0x273c31c
|
|
/* 0273C31C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C320 */ Gambit_fn_0207BF28(cpu);
|
|
/* 0273C324 */ cpu->r[10] = 0x10100000u;
|
|
/* 0273C328 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273C32C */ cpu->r[10] = cpu->r[10] + 0xFFFF80B4u;
|
|
/* 0273C330 */ cpu->r[0] = cpu->r[0] + 0xFFFF820Cu;
|
|
/* 0273C334 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C334 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0273C338 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C33C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273C340 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C340 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0273C344 */ Gambit_fn_0207C1E8(cpu);
|
|
/* 0273C348 */ cpu->r[31] = 0x00000001u;
|
|
/* 0273C34C */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0273C34C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273C350 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C354 */ _t10 = cpu->r[1] + 0x00000491u;
|
|
/* 0273C354 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 0273C358 */ Gambit_fn_0207C9B4(cpu);
|
|
/* 0273C35C */ cpu->r[6] = 0x02740000u;
|
|
/* 0273C360 */ cpu->r[7] = 0x00000000u;
|
|
/* 0273C364 */ cpu->r[3] = cpu->r[1] + 0x000000C4u;
|
|
/* 0273C368 */ cpu->r[6] = cpu->r[6] + 0xFFFFC638u;
|
|
/* 0273C36C */ _t11 = cpu->r[30] + 0x00000054u;
|
|
/* 0273C36C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273C370 */ cpu->r[8] = cpu->r[7];
|
|
/* 0273C374 */ cpu->r[5] = 0x00000098u;
|
|
/* 0273C378 */ cpu->r[4] = 0x00000006u;
|
|
/* 0273C37C */ _t12 = cpu->r[12] + 0x00000070u;
|
|
/* 0273C37C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 0273C380 */ Gambit_fn_02C82F38(cpu);
|
|
L_0273C384: ; // 0x273c384
|
|
/* 0273C384 */ _t13 = cpu->r[30] + 0x00000050u;
|
|
/* 0273C384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273C388 */ Gambit_fn_0207C9A0(cpu);
|
|
/* 0273C38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C390 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C390 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273C390 */ if (_t15) goto L_0273C3C8; else goto L_0273C394;
|
|
L_0273C394: ; // 0x273c394
|
|
/* 0273C394 */ _t16 = cpu->r[30] + 0x00000058u;
|
|
/* 0273C394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C398 */ Gambit_fn_0273E928(cpu);
|
|
/* 0273C39C */ _t17 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0273C39C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273C3A0 */ Gambit_fn_0209B118(cpu);
|
|
/* 0273C3A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273C3A8 */ cpu->r[4] = 0x00000004u;
|
|
/* 0273C3AC */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273C3B0 */ _t18 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273C3B4 */ _t19 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C3B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273C3B8 */ cpu->lr = cpu->r[0];
|
|
/* 0273C3BC */ _t20 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C3BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273C3C0 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C3C4 */ return;
|
|
L_0273C3C8: ; // 0x273c3c8
|
|
/* 0273C3C8 */ _t21 = cpu->r[30] + 0x00000050u;
|
|
/* 0273C3C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273C3CC */ Gambit_fn_0207CA1C(cpu);
|
|
/* 0273C3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C3D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C3D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273C3D4 */ if (_t23) goto L_0273C3FC; else goto L_0273C3D8;
|
|
L_0273C3D8: ; // 0x273c3d8
|
|
/* 0273C3D8 */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 0273C3D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273C3DC */ Gambit_fn_0207CACC(cpu);
|
|
/* 0273C3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C3E4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C3E4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273C3E4 */ if (_t26) goto L_0273C3FC; else goto L_0273C3E8;
|
|
L_0273C3E8: ; // 0x273c3e8
|
|
/* 0273C3E8 */ _t27 = cpu->r[30] + 0x00000050u;
|
|
/* 0273C3E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273C3EC */ Gambit_fn_0207CA24(cpu);
|
|
/* 0273C3F0 */ _t28 = cpu->r[30] + 0x00000054u;
|
|
/* 0273C3F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273C3F4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0273C3F8 */ _t29 = cpu->r[10] + 0x00000070u;
|
|
/* 0273C3F8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
|
|
L_0273C3FC: ; // 0x273c3fc
|
|
/* 0273C3FC */ _t30 = cpu->r[1] + 0x000004A4u;
|
|
/* 0273C3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273C400 */ _t31 = cpu->r[1] + 0x00000498u;
|
|
/* 0273C400 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273C404 */ cpu->lr = cpu->r[0];
|
|
/* 0273C408 */ _t32 = cpu->r[1] + 0x0000049Cu;
|
|
/* 0273C408 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273C40C */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 0273C410 */ return;
|
|
}
|
|
|
|
// fn_0273C418 @ 0x273c418
|
|
void Gambit_fn_0273C418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0273C418: ; // 0x273c418
|
|
/* 0273C418 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273C418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C418 */ cpu->r[1] = _t0;
|
|
/* 0273C41C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C41C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0273C420 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C420 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273C424 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0273C424 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0273C428 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273C42C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273C42C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273C430 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 0273C430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273C434 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0273C438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C43C */ cpu->r[29] = 0x101D0000u;
|
|
/* 0273C440 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C440 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273C440 */ if (_t7) goto L_0273C444; else goto L_0273C490;
|
|
L_0273C444: ; // 0x273c444
|
|
/* 0273C444 */ _t8 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C444 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273C448 */ Gambit_fn_0273E980(cpu);
|
|
/* 0273C44C */ cpu->r[4] = 0x00000001u;
|
|
/* 0273C450 */ cpu->r[3] = 0x00000003u;
|
|
/* 0273C454 */ Gambit_fn_027E73B0(cpu);
|
|
/* 0273C458 */ _t9 = cpu->r[29] + 0xFFFF88E0u;
|
|
/* 0273C458 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273C45C */ _t10 = cpu->r[30] + 0x00003480u;
|
|
/* 0273C45C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273C460 */ _t11 = cpu->r[11] + 0x00000278u;
|
|
/* 0273C460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273C464 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0273C468 */ _t12 = cpu->r[12] + 0x00000104u;
|
|
/* 0273C468 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0273C46C */ _t13 = cpu->r[11] + 0x00000030u;
|
|
/* 0273C46C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273C470 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273C474 */ _t14 = cpu->r[8] + cpu->r[0];
|
|
/* 0273C474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273C478 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 0273C478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273C47C */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 0273C47C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C480 */ Gambit_fn_02091FFC(cpu);
|
|
/* 0273C484 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 0273C484 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273C488 */ cpu->r[0] = 0x00000001u;
|
|
/* 0273C48C */ _t18 = cpu->r[7] + 0x00000070u;
|
|
/* 0273C48C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_0273C490: ; // 0x273c490
|
|
/* 0273C490 */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273C494 */ Gambit_fn_0273E968(cpu);
|
|
/* 0273C498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C49C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C49C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273C49C */ if (_t21) goto L_0273C50C; else goto L_0273C4A0;
|
|
L_0273C4A0: ; // 0x273c4a0
|
|
/* 0273C4A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273C4A4 */ cpu->r[3] = 0x00000003u;
|
|
/* 0273C4A8 */ Gambit_fn_027E73B0(cpu);
|
|
/* 0273C4AC */ _t22 = cpu->r[29] + 0xFFFF88E0u;
|
|
/* 0273C4AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273C4B0 */ _t23 = cpu->r[30] + 0x00003480u;
|
|
/* 0273C4B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273C4B4 */ _t24 = cpu->r[11] + 0x00000278u;
|
|
/* 0273C4B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273C4B8 */ cpu->r[7] = cpu->r[10] + cpu->r[8];
|
|
/* 0273C4BC */ _t25 = cpu->r[7] + 0x00000104u;
|
|
/* 0273C4BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0273C4C0 */ _t26 = cpu->r[10] + 0x00000030u;
|
|
/* 0273C4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273C4C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273C4C8 */ _t27 = cpu->r[9] + cpu->r[0];
|
|
/* 0273C4C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273C4CC */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 0273C4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273C4D0 */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 0273C4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273C4D4 */ Gambit_fn_02092018(cpu);
|
|
/* 0273C4D8 */ cpu->r[7] = 0x00000001u;
|
|
/* 0273C4DC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273C4E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C4E4 */ _t30 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C4E4 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0273C4E8 */ _t31 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273C4E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273C4EC */ Gambit_fn_0273CAD4(cpu);
|
|
/* 0273C4F0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C4F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273C4F4 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273C4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273C4F8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0273C4F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273C4FC */ cpu->lr = cpu->r[0];
|
|
/* 0273C500 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273C504 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273C508 */ return;
|
|
L_0273C50C: ; // 0x273c50c
|
|
/* 0273C50C */ _t36 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C50C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273C510 */ Gambit_fn_0273E9C8(cpu);
|
|
/* 0273C514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C518 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C518 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0273C518 */ if (_t38) goto L_0273C540; else goto L_0273C51C;
|
|
L_0273C51C: ; // 0x273c51c
|
|
/* 0273C51C */ _t39 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273C520 */ Gambit_fn_0273EA34(cpu);
|
|
/* 0273C524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C528 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C528 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273C528 */ if (_t41) goto L_0273C540; else goto L_0273C52C;
|
|
L_0273C52C: ; // 0x273c52c
|
|
/* 0273C52C */ _t42 = cpu->r[31] + 0x00000058u;
|
|
/* 0273C52C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273C530 */ Gambit_fn_0273E9DC(cpu);
|
|
/* 0273C534 */ _t43 = cpu->r[31] + 0x00000054u;
|
|
/* 0273C534 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273C538 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273C53C */ _t44 = cpu->r[9] + 0x00000070u;
|
|
/* 0273C53C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
|
|
L_0273C540: ; // 0x273c540
|
|
/* 0273C540 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C540 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273C544 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273C544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273C548 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 0273C548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273C54C */ cpu->lr = cpu->r[0];
|
|
/* 0273C550 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0273C554 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273C558 */ return;
|
|
}
|
|
|
|
// fn_0273C55C @ 0x273c55c
|
|
void Gambit_fn_0273C55C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273C55C: ; // 0x273c55c
|
|
/* 0273C55C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0273C560 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273C560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C560 */ cpu->r[1] = _t0;
|
|
/* 0273C564 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273C568 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273C56C */ _t1 = cpu->r[10] + 0x000007D0u;
|
|
/* 0273C56C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273C56C */ cpu->r[10] = _t1;
|
|
/* 0273C570 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273C574 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273C574 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273C578 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273C57C */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273C580 */ _t3 = cpu->r[7] + 0x000007E0u;
|
|
/* 0273C580 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273C580 */ cpu->r[7] = _t3;
|
|
/* 0273C584 */ _t4 = cpu->r[8] + 0x000007D8u;
|
|
/* 0273C584 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273C584 */ cpu->r[8] = _t4;
|
|
/* 0273C588 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273C58C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273C58C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273C590 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273C594 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C594 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273C598 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273C59C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273C59C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273C5A0 */ _t8 = cpu->r[8] + 0x000007F0u;
|
|
/* 0273C5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273C5A0 */ cpu->r[8] = _t8;
|
|
/* 0273C5A4 */ _t9 = cpu->r[12] + 0x000007E8u;
|
|
/* 0273C5A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273C5A4 */ cpu->r[12] = _t9;
|
|
/* 0273C5A8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273C5A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273C5AC */ cpu->r[0] = 0x00000004u;
|
|
/* 0273C5B0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273C5B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273C5B4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273C5B8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273C5BC */ _t13 = cpu->r[11] + 0x000007F8u;
|
|
/* 0273C5BC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273C5C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273C5C4 */ return;
|
|
}
|
|
|
|
// fn_0273C560 @ 0x273c560
|
|
void Gambit_fn_0273C560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273C560: ; // 0x273c560
|
|
/* 0273C560 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273C560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C560 */ cpu->r[1] = _t0;
|
|
/* 0273C564 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273C568 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273C56C */ _t1 = cpu->r[10] + 0x000007D0u;
|
|
/* 0273C56C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273C56C */ cpu->r[10] = _t1;
|
|
/* 0273C570 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273C574 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273C574 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273C578 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273C57C */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273C580 */ _t3 = cpu->r[7] + 0x000007E0u;
|
|
/* 0273C580 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273C580 */ cpu->r[7] = _t3;
|
|
/* 0273C584 */ _t4 = cpu->r[8] + 0x000007D8u;
|
|
/* 0273C584 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273C584 */ cpu->r[8] = _t4;
|
|
/* 0273C588 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273C58C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273C58C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273C590 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273C594 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C594 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273C598 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273C59C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273C59C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273C5A0 */ _t8 = cpu->r[8] + 0x000007F0u;
|
|
/* 0273C5A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273C5A0 */ cpu->r[8] = _t8;
|
|
/* 0273C5A4 */ _t9 = cpu->r[12] + 0x000007E8u;
|
|
/* 0273C5A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273C5A4 */ cpu->r[12] = _t9;
|
|
/* 0273C5A8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273C5A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273C5AC */ cpu->r[0] = 0x00000004u;
|
|
/* 0273C5B0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273C5B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273C5B4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273C5B8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273C5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273C5BC */ _t13 = cpu->r[11] + 0x000007F8u;
|
|
/* 0273C5BC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273C5C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273C5C4 */ return;
|
|
}
|
|
|
|
// fn_0273C5C8 @ 0x273c5c8
|
|
void Gambit_fn_0273C5C8(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_0273C5C8: ; // 0x273c5c8
|
|
/* 0273C5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C5CC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C5CC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273C5CC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C5CC */ goto L_0273C5D0;
|
|
L_0273C5D0: ; // 0x273c5d0
|
|
/* 0273C5D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273C5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C5D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C5D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273C5D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C5D4 */ goto L_0273C5D8;
|
|
L_0273C5D8: ; // 0x273c5d8
|
|
/* 0273C5D8 */ 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_0273C5DC @ 0x273c5dc
|
|
void Gambit_fn_0273C5DC(CPUState* cpu) {
|
|
L_0273C5DC: ; // 0x273c5dc
|
|
/* 0273C5DC */ return;
|
|
}
|
|
|
|
// fn_0273C5E0 @ 0x273c5e0
|
|
void Gambit_fn_0273C5E0(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_0273C5E0: ; // 0x273c5e0
|
|
/* 0273C5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C5E4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C5E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273C5E4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C5E4 */ goto L_0273C5E8;
|
|
L_0273C5E8: ; // 0x273c5e8
|
|
/* 0273C5E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273C5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C5EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C5EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273C5EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C5EC */ goto L_0273C5F0;
|
|
L_0273C5F0: ; // 0x273c5f0
|
|
/* 0273C5F0 */ 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_0273C5F4 @ 0x273c5f4
|
|
void Gambit_fn_0273C5F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0273C5F4: ; // 0x273c5f4
|
|
/* 0273C5F4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0273C5F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273C5F8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0273C5F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273C5FC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0273C600 */ cpu->r[11] = 0x10110000u;
|
|
/* 0273C604 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0273C604 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273C608 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0273C608 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0273C60C */ return;
|
|
}
|
|
|
|
// fn_0273C610 @ 0x273c610
|
|
void Gambit_fn_0273C610(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_0273C610: ; // 0x273c610
|
|
/* 0273C610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C614 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C614 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273C614 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C614 */ goto L_0273C618;
|
|
L_0273C618: ; // 0x273c618
|
|
/* 0273C618 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273C618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C61C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C61C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273C61C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C61C */ goto L_0273C620;
|
|
L_0273C620: ; // 0x273c620
|
|
/* 0273C620 */ 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_0273C624 @ 0x273c624
|
|
void Gambit_fn_0273C624(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_0273C624: ; // 0x273c624
|
|
/* 0273C624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C628 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C628 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273C628 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C628 */ goto L_0273C62C;
|
|
L_0273C62C: ; // 0x273c62c
|
|
/* 0273C62C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273C62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273C630 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C630 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273C630 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273C630 */ goto L_0273C634;
|
|
L_0273C634: ; // 0x273c634
|
|
/* 0273C634 */ 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_0273C64C @ 0x273c64c
|
|
void Gambit_fn_0273C64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273C64C: ; // 0x273c64c
|
|
/* 0273C64C */ cpu->r[0] = cpu->lr;
|
|
/* 0273C650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273C650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C650 */ cpu->r[1] = _t0;
|
|
/* 0273C654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273C658 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C658 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273C65C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0273C65C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273C660 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273C664 */ /* nop */
|
|
/* 0273C668 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273C66C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C670 */ Gambit_fn_0273C9C4(cpu);
|
|
/* 0273C674 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273C678 */ cpu->lr = cpu->r[0];
|
|
/* 0273C67C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C67C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273C680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C684 */ return;
|
|
}
|
|
|
|
// fn_0273C650 @ 0x273c650
|
|
void Gambit_fn_0273C650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0273C650: ; // 0x273c650
|
|
/* 0273C650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273C650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C650 */ cpu->r[1] = _t0;
|
|
/* 0273C654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273C658 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C658 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273C65C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0273C65C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273C660 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273C664 */ /* nop */
|
|
/* 0273C668 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273C66C */ cpu->r[3] = cpu->r[31];
|
|
/* 0273C670 */ Gambit_fn_0273C9C4(cpu);
|
|
/* 0273C674 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0273C674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273C678 */ cpu->lr = cpu->r[0];
|
|
/* 0273C67C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273C67C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273C680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273C684 */ return;
|
|
}
|
|
|
|
// fn_0273C68C @ 0x273c68c
|
|
void Gambit_fn_0273C68C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0273C68C: ; // 0x273c68c
|
|
/* 0273C68C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273C68C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273C68C */ cpu->r[1] = _t0;
|
|
/* 0273C690 */ /* nop */
|
|
/* 0273C694 */ cpu->r[0] = cpu->lr;
|
|
/* 0273C698 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273C698 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273C69C */ cpu->r[29] = cpu->r[6];
|
|
/* 0273C6A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273C6A4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0273C6A8 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0273C6A8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273C6AC */ cpu->r[31] = 0x101D0000u;
|
|
/* 0273C6B0 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0273C6B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0273C6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C6B8 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273C6B8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0273C6BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C6BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273C6BC */ if (_t6) goto L_0273C700; else goto L_0273C6C0;
|
|
L_0273C6C0: ; // 0x273c6c0
|
|
/* 0273C6C0 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273C6C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273C6C4 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273C6C8 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273C6C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273C6CC */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0273C6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273C6D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0273C6D4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273C6D8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C6DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273C6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C6E4 */ cpu->r[0] = cpu->r[27];
|
|
/* 0273C6E8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C6E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273C6E8 */ if (_t11) goto L_0273C6F0; else goto L_0273C6EC;
|
|
L_0273C6EC: ; // 0x273c6ec
|
|
/* 0273C6EC */ cpu->r[0] = 0x00000001u;
|
|
L_0273C6F0: ; // 0x273c6f0
|
|
/* 0273C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C6F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C6F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273C6F4 */ if (_t13) goto L_0273C700; else goto L_0273C6F8;
|
|
L_0273C6F8: ; // 0x273c6f8
|
|
/* 0273C6F8 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0273C6F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0273C6FC */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0273C6FC */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0273C700: ; // 0x273c700
|
|
/* 0273C700 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0273C700 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C704 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273C708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273C70C */ cpu->r[12] = cpu->r[0];
|
|
/* 0273C710 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C710 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273C710 */ if (_t18) goto L_0273C714; else goto L_0273C738;
|
|
L_0273C714: ; // 0x273c714
|
|
/* 0273C714 */ cpu->ctr = cpu->r[7];
|
|
/* 0273C718 */ cpu->r[10] = 0x00000000u;
|
|
L_0273C71C: ; // 0x273c71c
|
|
/* 0273C71C */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0273C71C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273C720 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0273C720 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0273C724 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0273C728 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0273C728 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0273C72C */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0273C730 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0273C730 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0273C734 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273C734 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273C734 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0273C734 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273C734 */ if (_t25) goto L_0273C71C; else goto L_0273C738;
|
|
L_0273C738: ; // 0x273c738
|
|
/* 0273C738 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273C738 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0273C73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C740 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C740 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273C740 */ if (_t28) goto L_0273C784; else goto L_0273C744;
|
|
L_0273C744: ; // 0x273c744
|
|
/* 0273C744 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273C744 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273C748 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273C74C */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273C74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273C750 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0273C750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273C754 */ cpu->ctr = cpu->r[0];
|
|
/* 0273C758 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273C75C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273C764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C768 */ cpu->r[11] = cpu->r[27];
|
|
/* 0273C76C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C76C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273C76C */ if (_t33) goto L_0273C774; else goto L_0273C770;
|
|
L_0273C770: ; // 0x273c770
|
|
/* 0273C770 */ cpu->r[11] = 0x00000001u;
|
|
L_0273C774: ; // 0x273c774
|
|
/* 0273C774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C778 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C778 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0273C778 */ if (_t35) goto L_0273C784; else goto L_0273C77C;
|
|
L_0273C77C: ; // 0x273c77c
|
|
/* 0273C77C */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0273C77C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0273C780 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0273C780 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0273C784: ; // 0x273c784
|
|
/* 0273C784 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0273C784 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273C788 */ cpu->r[0] = 0x00000000u;
|
|
/* 0273C78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273C790 */ cpu->r[12] = cpu->r[0];
|
|
/* 0273C794 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C794 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273C794 */ if (_t40) goto L_0273C798; else goto L_0273C7BC;
|
|
L_0273C798: ; // 0x273c798
|
|
/* 0273C798 */ cpu->ctr = cpu->r[6];
|
|
/* 0273C79C */ cpu->r[9] = 0x00000000u;
|
|
L_0273C7A0: ; // 0x273c7a0
|
|
/* 0273C7A0 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0273C7A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273C7A4 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0273C7A4 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0273C7A8 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0273C7AC */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0273C7AC */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0273C7B0 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0273C7B4 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0273C7B4 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0273C7B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273C7B8 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273C7B8 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0273C7B8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0273C7B8 */ if (_t47) goto L_0273C7A0; else goto L_0273C7BC;
|
|
L_0273C7BC: ; // 0x273c7bc
|
|
/* 0273C7BC */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0273C7BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0273C7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C7C4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C7C4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0273C7C4 */ if (_t50) goto L_0273C808; else goto L_0273C7C8;
|
|
L_0273C7C8: ; // 0x273c7c8
|
|
/* 0273C7C8 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273C7C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273C7CC */ Gambit_fn_02826F20(cpu);
|
|
/* 0273C7D0 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273C7D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0273C7D4 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0273C7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273C7D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0273C7DC */ cpu->r[5] = 0x00000004u;
|
|
/* 0273C7E0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C7E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273C7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C7EC */ cpu->r[10] = cpu->r[27];
|
|
/* 0273C7F0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C7F0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0273C7F0 */ if (_t55) goto L_0273C7F8; else goto L_0273C7F4;
|
|
L_0273C7F4: ; // 0x273c7f4
|
|
/* 0273C7F4 */ cpu->r[10] = 0x00000001u;
|
|
L_0273C7F8: ; // 0x273c7f8
|
|
/* 0273C7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273C7FC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C7FC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0273C7FC */ if (_t57) goto L_0273C808; else goto L_0273C800;
|
|
L_0273C800: ; // 0x273c800
|
|
/* 0273C800 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0273C800 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0273C804 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0273C804 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0273C808: ; // 0x273c808
|
|
/* 0273C808 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0273C808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273C80C */ cpu->r[0] = 0x00000000u;
|
|
/* 0273C810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0273C814 */ cpu->r[5] = cpu->r[0];
|
|
/* 0273C818 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C818 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0273C818 */ if (_t62) goto L_0273C81C; else goto L_0273C840;
|
|
L_0273C81C: ; // 0x273c81c
|
|
/* 0273C81C */ cpu->ctr = cpu->r[12];
|
|
/* 0273C820 */ cpu->r[8] = 0x00000000u;
|
|
L_0273C824: ; // 0x273c824
|
|
/* 0273C824 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0273C824 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0273C828 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0273C828 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0273C82C */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0273C830 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0273C830 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0273C834 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0273C838 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0273C838 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0273C83C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273C83C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273C83C */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0273C83C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0273C83C */ if (_t69) goto L_0273C824; else goto L_0273C840;
|
|
L_0273C840: ; // 0x273c840
|
|
/* 0273C840 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0273C840 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0273C844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0273C848 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C848 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0273C848 */ if (_t72) goto L_0273C924; else goto L_0273C84C;
|
|
L_0273C84C: ; // 0x273c84c
|
|
/* 0273C84C */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0273C84C */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0273C850 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273C854 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273C854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0273C858 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0273C858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0273C85C */ cpu->ctr = cpu->r[12];
|
|
/* 0273C860 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273C864 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0273C868 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273C86C */ cpu->r[24] = cpu->r[3];
|
|
/* 0273C870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0273C874 */ cpu->r[30] = cpu->r[25];
|
|
/* 0273C878 */ cpu->r[7] = 0x00000000u;
|
|
/* 0273C87C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273C87C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0273C87C */ if (_t77) goto L_0273C884; else goto L_0273C880;
|
|
L_0273C880: ; // 0x273c880
|
|
/* 0273C880 */ cpu->r[30] = 0x00000001u;
|
|
L_0273C884: ; // 0x273c884
|
|
/* 0273C884 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273C888 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0273C88C */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0273C88C */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0273C890 */ cpu->r[23] = 0x00000018u;
|
|
L_0273C894: ; // 0x273c894
|
|
/* 0273C894 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0273C894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273C898 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C898 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0273C898 */ if (_t80) goto L_0273C908; else goto L_0273C89C;
|
|
L_0273C89C: ; // 0x273c89c
|
|
/* 0273C89C */ cpu->r[26] = cpu->r[27];
|
|
/* 0273C89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273C8A0 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C8A0 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0273C8A0 */ if (_t82) goto L_0273C8A4; else goto L_0273C8B4;
|
|
L_0273C8A4: ; // 0x273c8a4
|
|
/* 0273C8A4 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273C8A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273C8AC */ cpu->r[26] = cpu->r[3];
|
|
/* 0273C8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273C8B0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C8B0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0273C8B0 */ if (_t84) goto L_0273C8FC; else goto L_0273C8B4;
|
|
L_0273C8B4: ; // 0x273c8b4
|
|
/* 0273C8B4 */ cpu->r[11] = cpu->r[26];
|
|
/* 0273C8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273C8B8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C8B8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0273C8B8 */ if (_t86) goto L_0273C8BC; else goto L_0273C8CC;
|
|
L_0273C8BC: ; // 0x273c8bc
|
|
/* 0273C8BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273C8C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273C8C4 */ cpu->r[11] = cpu->r[3];
|
|
/* 0273C8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273C8C8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C8C8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273C8C8 */ if (_t88) goto L_0273C8E8; else goto L_0273C8CC;
|
|
L_0273C8CC: ; // 0x273c8cc
|
|
/* 0273C8CC */ cpu->r[5] = 0x10100000u;
|
|
/* 0273C8D0 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0273C8D0 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0273C8D4 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0273C8D8 */ cpu->r[5] = cpu->r[5] + 0xFFFF80CCu;
|
|
/* 0273C8DC */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0273C8DC */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0273C8E0 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0273C8E0 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0273C8E4 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0273C8E4 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0273C8E8: ; // 0x273c8e8
|
|
/* 0273C8E8 */ cpu->r[6] = 0x10100000u;
|
|
/* 0273C8EC */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0273C8EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0273C8F0 */ cpu->r[6] = cpu->r[6] + 0xFFFF80E4u;
|
|
/* 0273C8F4 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0273C8F4 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0273C8F8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0273C8F8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0273C8FC: ; // 0x273c8fc
|
|
/* 0273C8FC */ cpu->r[0] = 0x10100000u;
|
|
/* 0273C900 */ cpu->r[0] = cpu->r[0] + 0xFFFF80FCu;
|
|
/* 0273C904 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0273C904 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0273C908: ; // 0x273c908
|
|
/* 0273C908 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273C908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273C90C */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0273C910 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C910 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0273C910 */ if (_t98) goto L_0273C914; else goto L_0273C894;
|
|
L_0273C914: ; // 0x273c914
|
|
/* 0273C914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0273C918 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C918 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0273C918 */ if (_t100) goto L_0273C924; else goto L_0273C91C;
|
|
L_0273C91C: ; // 0x273c91c
|
|
/* 0273C91C */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0273C91C */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0273C920 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0273C920 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0273C924: ; // 0x273c924
|
|
/* 0273C924 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0273C924 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0273C928 */ /* nop */
|
|
/* 0273C92C */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0273C92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0273C930 */ cpu->lr = cpu->r[0];
|
|
/* 0273C934 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273C938 */ return;
|
|
}
|
|
|
|
// fn_0273C93C @ 0x273c93c
|
|
void Gambit_fn_0273C93C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0273C93C: ; // 0x273c93c
|
|
/* 0273C93C */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0273C93C */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273C940 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0273C940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273C944 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0273C944 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273C948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0273C94C */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0273C94C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273C950 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273C950 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273C950 */ if (_t5) goto L_0273C954; else goto L_0273C95C;
|
|
L_0273C954: ; // 0x273c954
|
|
/* 0273C954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C958 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0273C95C: ; // 0x273c95c
|
|
/* 0273C95C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0273C95C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273C960 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0273C960 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273C964 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0273C964 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0273C968 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0273C968 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0273C96C */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0273C96C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273C970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0273C974 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273C974 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273C978 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273C978 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273C978 */ if (_t13) goto L_0273C97C; else goto L_0273C984;
|
|
L_0273C97C: ; // 0x273c97c
|
|
/* 0273C97C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C980 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0273C984: ; // 0x273c984
|
|
/* 0273C984 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0273C984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273C988 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0273C988 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0273C98C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0273C98C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273C990 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0273C990 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0273C994 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0273C994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273C998 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0273C998 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0273C99C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0273C99C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273C9A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0273C9A4 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0273C9A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0273C9A8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273C9A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273C9A8 */ if (_t23) goto L_0273C9AC; else goto L_0273C9B4;
|
|
L_0273C9AC: ; // 0x273c9ac
|
|
/* 0273C9AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C9B0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0273C9B4: ; // 0x273c9b4
|
|
/* 0273C9B4 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0273C9B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0273C9B8 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0273C9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273C9BC */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0273C9BC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0273C9C0 */ return;
|
|
}
|
|
|
|
// fn_0273C9C4 @ 0x273c9c4
|
|
void Gambit_fn_0273C9C4(CPUState* 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_0273C9C4: ; // 0x273c9c4
|
|
/* 0273C9C4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273C9C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273C9C8 */ /* nop */
|
|
/* 0273C9CC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0273C9CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273C9D0 */ cpu->r[8] = cpu->r[0];
|
|
/* 0273C9D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0273C9D8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0273C9D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273C9DC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273C9DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273C9DC */ if (_t4) goto L_0273C9E0; else goto L_0273C9F8;
|
|
L_0273C9E0: ; // 0x273c9e0
|
|
/* 0273C9E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273C9E4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0273C9E8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273C9E8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273C9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273C9F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273C9F0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273C9F0 */ if (_t7) goto L_0273C9F4; else goto L_0273CA04;
|
|
L_0273C9F4: ; // 0x273c9f4
|
|
/* 0273C9F4 */ return;
|
|
L_0273C9F8: ; // 0x273c9f8
|
|
/* 0273C9F8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273C9F8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273C9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273CA00 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CA00 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273CA00 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273CA00 */ goto L_0273CA04;
|
|
L_0273CA04: ; // 0x273ca04
|
|
/* 0273CA04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0273CA08 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273CA08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CA0C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CA0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273CA0C */ if (_t13) goto L_0273CA10; else goto L_0273CA18;
|
|
L_0273CA10: ; // 0x273ca10
|
|
/* 0273CA10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CA14 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273CA18: ; // 0x273ca18
|
|
/* 0273CA18 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273CA18 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273CA1C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273CA1C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273CA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CA24 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CA24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273CA28 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0273CA2C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CA2C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273CA2C */ if (_t18) goto L_0273CA44; else goto L_0273CA30;
|
|
L_0273CA30: ; // 0x273ca30
|
|
/* 0273CA30 */ /* nop */
|
|
/* 0273CA34 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273CA34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273CA38 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CA3C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0273CA40 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CA40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273CA44: ; // 0x273ca44
|
|
/* 0273CA44 */ cpu->ctr = cpu->r[11];
|
|
/* 0273CA48 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273CA4C @ 0x273ca4c
|
|
void Gambit_fn_0273CA4C(CPUState* 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_0273CA4C: ; // 0x273ca4c
|
|
/* 0273CA4C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273CA4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273CA50 */ /* nop */
|
|
/* 0273CA54 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0273CA54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273CA58 */ cpu->r[7] = cpu->r[0];
|
|
/* 0273CA5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0273CA60 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0273CA60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273CA64 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CA64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273CA64 */ if (_t4) goto L_0273CA68; else goto L_0273CA80;
|
|
L_0273CA68: ; // 0x273ca68
|
|
/* 0273CA68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CA6C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0273CA70 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273CA70 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273CA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273CA78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CA78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273CA78 */ if (_t7) goto L_0273CA7C; else goto L_0273CA8C;
|
|
L_0273CA7C: ; // 0x273ca7c
|
|
/* 0273CA7C */ return;
|
|
L_0273CA80: ; // 0x273ca80
|
|
/* 0273CA80 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273CA80 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273CA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273CA88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CA88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273CA88 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273CA88 */ goto L_0273CA8C;
|
|
L_0273CA8C: ; // 0x273ca8c
|
|
/* 0273CA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0273CA90 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273CA90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CA94 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CA94 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273CA94 */ if (_t13) goto L_0273CA98; else goto L_0273CAA0;
|
|
L_0273CA98: ; // 0x273ca98
|
|
/* 0273CA98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CA9C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273CAA0: ; // 0x273caa0
|
|
/* 0273CAA0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273CAA0 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273CAA4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273CAA4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273CAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0273CAAC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CAAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273CAB0 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0273CAB4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CAB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273CAB4 */ if (_t18) goto L_0273CACC; else goto L_0273CAB8;
|
|
L_0273CAB8: ; // 0x273cab8
|
|
/* 0273CAB8 */ /* nop */
|
|
/* 0273CABC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273CABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273CAC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CAC4 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0273CAC8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CAC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273CACC: ; // 0x273cacc
|
|
/* 0273CACC */ cpu->ctr = cpu->r[11];
|
|
/* 0273CAD0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273CAD4 @ 0x273cad4
|
|
void Gambit_fn_0273CAD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273CAD4: ; // 0x273cad4
|
|
/* 0273CAD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0273CAD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CAD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CAD8 */ cpu->r[1] = _t0;
|
|
/* 0273CADC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CADC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273CAE0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CAE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273CAE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273CAE8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CAE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273CAEC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273CAEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0273CAF0 */ /* nop */
|
|
/* 0273CAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0273CAF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273CAFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CAFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273CAFC */ if (_t6) goto L_0273CB00; else goto L_0273CB14;
|
|
L_0273CB00: ; // 0x273cb00
|
|
/* 0273CB00 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0273CB00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273CB04 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0273CB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273CB08 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CB0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CB14: ; // 0x273cb14
|
|
/* 0273CB14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0273CB1C */ Gambit_fn_0273CA4C(cpu);
|
|
/* 0273CB20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB24 */ /* nop */
|
|
/* 0273CB28 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273CB2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB30 */ Gambit_fn_0273C9C4(cpu);
|
|
/* 0273CB34 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CB34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273CB38 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CB3C */ cpu->lr = cpu->r[0];
|
|
/* 0273CB40 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CB44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CB48 */ return;
|
|
}
|
|
|
|
// fn_0273CAD8 @ 0x273cad8
|
|
void Gambit_fn_0273CAD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0273CAD8: ; // 0x273cad8
|
|
/* 0273CAD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CAD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CAD8 */ cpu->r[1] = _t0;
|
|
/* 0273CADC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CADC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0273CAE0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CAE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0273CAE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273CAE8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CAE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273CAEC */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273CAEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0273CAF0 */ /* nop */
|
|
/* 0273CAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0273CAF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273CAFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CAFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273CAFC */ if (_t6) goto L_0273CB00; else goto L_0273CB14;
|
|
L_0273CB00: ; // 0x273cb00
|
|
/* 0273CB00 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0273CB00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273CB04 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0273CB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273CB08 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CB0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CB14: ; // 0x273cb14
|
|
/* 0273CB14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0273CB1C */ Gambit_fn_0273CA4C(cpu);
|
|
/* 0273CB20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB24 */ /* nop */
|
|
/* 0273CB28 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0273CB2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273CB30 */ Gambit_fn_0273C9C4(cpu);
|
|
/* 0273CB34 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CB34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273CB38 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CB38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CB3C */ cpu->lr = cpu->r[0];
|
|
/* 0273CB40 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CB44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CB48 */ return;
|
|
}
|
|
|
|
// fn_0273CB4C @ 0x273cb4c
|
|
void Gambit_fn_0273CB4C(CPUState* 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_0273CB4C: ; // 0x273cb4c
|
|
/* 0273CB4C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273CB4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0273CB50 */ /* nop */
|
|
/* 0273CB54 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0273CB54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273CB58 */ cpu->r[8] = cpu->r[0];
|
|
/* 0273CB5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0273CB60 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0273CB60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273CB64 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CB64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273CB64 */ if (_t4) goto L_0273CB68; else goto L_0273CB80;
|
|
L_0273CB68: ; // 0x273cb68
|
|
/* 0273CB68 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CB6C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0273CB70 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0273CB70 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0273CB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273CB78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CB78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273CB78 */ if (_t7) goto L_0273CB7C; else goto L_0273CB8C;
|
|
L_0273CB7C: ; // 0x273cb7c
|
|
/* 0273CB7C */ return;
|
|
L_0273CB80: ; // 0x273cb80
|
|
/* 0273CB80 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0273CB80 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0273CB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273CB88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CB88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273CB88 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273CB88 */ goto L_0273CB8C;
|
|
L_0273CB8C: ; // 0x273cb8c
|
|
/* 0273CB8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0273CB90 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0273CB90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CB94 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CB94 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273CB94 */ if (_t13) goto L_0273CB98; else goto L_0273CBA0;
|
|
L_0273CB98: ; // 0x273cb98
|
|
/* 0273CB98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CB9C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273CBA0: ; // 0x273cba0
|
|
/* 0273CBA0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0273CBA0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0273CBA4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0273CBA4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0273CBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CBAC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CBAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273CBB0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0273CBB4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273CBB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273CBB4 */ if (_t18) goto L_0273CBCC; else goto L_0273CBB8;
|
|
L_0273CBB8: ; // 0x273cbb8
|
|
/* 0273CBB8 */ /* nop */
|
|
/* 0273CBBC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0273CBBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273CBC0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0273CBC4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0273CBC8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CBC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0273CBCC: ; // 0x273cbcc
|
|
/* 0273CBCC */ cpu->ctr = cpu->r[11];
|
|
/* 0273CBD0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0273CBD4 @ 0x273cbd4
|
|
void Gambit_fn_0273CBD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273CBD4: ; // 0x273cbd4
|
|
/* 0273CBD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0273CBD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CBD8 */ cpu->r[1] = _t0;
|
|
/* 0273CBDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CBDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273CBE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273CBE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273CBE8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0273CBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273CBEC */ cpu->r[12] = 0x00000000u;
|
|
/* 0273CBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CBF4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273CBF4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0273CBF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CBF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273CBF8 */ if (_t6) goto L_0273CC20; else goto L_0273CBFC;
|
|
L_0273CBFC: ; // 0x273cbfc
|
|
/* 0273CBFC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273CBFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273CC00 */ /* nop */
|
|
/* 0273CC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273CC08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CC08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273CC08 */ if (_t9) goto L_0273CC0C; else goto L_0273CC20;
|
|
L_0273CC0C: ; // 0x273cc0c
|
|
/* 0273CC0C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0273CC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CC10 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273CC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CC14 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CC18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CC20: ; // 0x273cc20
|
|
/* 0273CC20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC24 */ Gambit_fn_0273CB4C(cpu);
|
|
/* 0273CC28 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC2C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273CC30 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273CC34 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273CC38 */ cpu->lr = cpu->r[0];
|
|
/* 0273CC3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CC40 */ return;
|
|
}
|
|
|
|
// fn_0273CBD8 @ 0x273cbd8
|
|
void Gambit_fn_0273CBD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273CBD8: ; // 0x273cbd8
|
|
/* 0273CBD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273CBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CBD8 */ cpu->r[1] = _t0;
|
|
/* 0273CBDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CBDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273CBE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273CBE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273CBE8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0273CBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0273CBEC */ cpu->r[12] = 0x00000000u;
|
|
/* 0273CBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CBF4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0273CBF4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0273CBF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CBF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273CBF8 */ if (_t6) goto L_0273CC20; else goto L_0273CBFC;
|
|
L_0273CBFC: ; // 0x273cbfc
|
|
/* 0273CBFC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273CBFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273CC00 */ /* nop */
|
|
/* 0273CC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0273CC08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CC08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273CC08 */ if (_t9) goto L_0273CC0C; else goto L_0273CC20;
|
|
L_0273CC0C: ; // 0x273cc0c
|
|
/* 0273CC0C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0273CC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CC10 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0273CC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CC14 */ cpu->ctr = cpu->r[0];
|
|
/* 0273CC18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0273CC20: ; // 0x273cc20
|
|
/* 0273CC20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC24 */ Gambit_fn_0273CB4C(cpu);
|
|
/* 0273CC28 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CC2C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0273CC30 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273CC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273CC34 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273CC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273CC38 */ cpu->lr = cpu->r[0];
|
|
/* 0273CC3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273CC40 */ return;
|
|
}
|
|
|
|
// fn_0273CC44 @ 0x273cc44
|
|
void Gambit_fn_0273CC44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0273CC44: ; // 0x273cc44
|
|
/* 0273CC44 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273CC44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CC44 */ cpu->r[1] = _t0;
|
|
/* 0273CC48 */ /* nop */
|
|
/* 0273CC4C */ cpu->r[0] = cpu->lr;
|
|
/* 0273CC50 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273CC50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273CC54 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273CC58 */ _t2 = cpu->r[26] + 0x000000E4u;
|
|
/* 0273CC58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273CC5C */ cpu->r[27] = cpu->r[5];
|
|
/* 0273CC60 */ cpu->r[31] = 0x00000001u;
|
|
/* 0273CC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0273CC68 */ _t3 = cpu->r[26] + 0x000000B8u;
|
|
/* 0273CC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273CC6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CC6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273CC6C */ if (_t5) goto L_0273CC70; else goto L_0273CC74;
|
|
L_0273CC70: ; // 0x273cc70
|
|
/* 0273CC70 */ cpu->r[31] = 0x00000000u;
|
|
L_0273CC74: ; // 0x273cc74
|
|
/* 0273CC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0273CC78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CC78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273CC78 */ if (_t7) goto L_0273CC80; else goto L_0273CC7C;
|
|
L_0273CC7C: ; // 0x273cc7c
|
|
/* 0273CC7C */ cpu->r[31] = 0x00000000u;
|
|
L_0273CC80: ; // 0x273cc80
|
|
/* 0273CC80 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273CC84 */ _t8 = cpu->r[3] + 0xFFFFAEA8u;
|
|
/* 0273CC84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273CC88 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0273CC88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0273CC8C */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0273CC8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273CC90 */ cpu->ctr = cpu->r[5];
|
|
/* 0273CC94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273CC98 */ _t11 = cpu->r[26] + 0x000000C0u;
|
|
/* 0273CC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273CC9C */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 0273CC9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273CCA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 0273CCA4 */ _t13 = cpu->r[26] + 0x000000C4u;
|
|
/* 0273CCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273CCA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CCA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273CCA8 */ if (_t15) goto L_0273CCB0; else goto L_0273CCAC;
|
|
L_0273CCAC: ; // 0x273ccac
|
|
/* 0273CCAC */ cpu->r[31] = 0x00000000u;
|
|
L_0273CCB0: ; // 0x273ccb0
|
|
/* 0273CCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CCB4 */ _t16 = cpu->r[26] + 0x000000CCu;
|
|
/* 0273CCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273CCB8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CCB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273CCB8 */ if (_t18) goto L_0273CCC0; else goto L_0273CCBC;
|
|
L_0273CCBC: ; // 0x273ccbc
|
|
/* 0273CCBC */ cpu->r[31] = 0x00000000u;
|
|
L_0273CCC0: ; // 0x273ccc0
|
|
/* 0273CCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273CCC4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CCC4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273CCC4 */ if (_t20) goto L_0273CCC8; else goto L_0273CCCC;
|
|
L_0273CCC8: ; // 0x273ccc8
|
|
/* 0273CCC8 */ cpu->r[31] = 0x00000000u;
|
|
L_0273CCCC: ; // 0x273cccc
|
|
/* 0273CCCC */ Gambit_fn_0200961C(cpu);
|
|
/* 0273CCD0 */ Gambit_fn_026FB1F4(cpu);
|
|
/* 0273CCD4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0273CCD8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0273CCDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0273CCE0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CCE0 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 0273CCE4 */ Gambit_fn_027F7864(cpu);
|
|
/* 0273CCE8 */ cpu->r[30] = cpu->r[29];
|
|
/* 0273CCEC */ cpu->r[28] = cpu->r[3];
|
|
/* 0273CCF0 */ cpu->r[24] = cpu->r[30];
|
|
/* 0273CCF4 */ cpu->r[23] = 0x00000004u;
|
|
L_0273CCF8: ; // 0x273ccf8
|
|
/* 0273CCF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0273CCFC */ cpu->r[3] = cpu->r[26];
|
|
/* 0273CD00 */ Gambit_fn_026F2928(cpu);
|
|
/* 0273CD04 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0273CD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273CD08 */ /* nop */
|
|
/* 0273CD0C */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 0273CD10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273CD14 */ cpu->r[29] = cpu->r[29] | cpu->r[10];
|
|
/* 0273CD18 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CD18 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273CD18 */ if (_t23) goto L_0273CD1C; else goto L_0273CCF8;
|
|
L_0273CD1C: ; // 0x273cd1c
|
|
/* 0273CD1C */ cpu->r[11] = cpu->r[25] + cpu->r[28];
|
|
/* 0273CD20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[11]);
|
|
/* 0273CD24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CD24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273CD24 */ if (_t25) goto L_0273CD2C; else goto L_0273CD28;
|
|
L_0273CD28: ; // 0x273cd28
|
|
/* 0273CD28 */ cpu->r[31] = 0x00000000u;
|
|
L_0273CD2C: ; // 0x273cd2c
|
|
/* 0273CD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273CD30 */ cpu->r[3] = cpu->r[31];
|
|
/* 0273CD34 */ /* nop */
|
|
/* 0273CD38 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 0273CD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273CD3C */ cpu->lr = cpu->r[0];
|
|
/* 0273CD40 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273CD44 */ return;
|
|
}
|
|
|
|
// fn_0273CD48 @ 0x273cd48
|
|
void Gambit_fn_0273CD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137;
|
|
|
|
L_0273CD48: ; // 0x273cd48
|
|
/* 0273CD48 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0273CD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273CD48 */ cpu->r[1] = _t0;
|
|
/* 0273CD4C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0273CD4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 0273CD50 */ /* nop */
|
|
/* 0273CD54 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 0273CD54 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0273CD58 */ /* nop */
|
|
/* 0273CD5C */ /* nop */
|
|
/* 0273CD60 */ cpu->r[0] = cpu->lr;
|
|
/* 0273CD64 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 0273CD64 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0273CD68 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0273CD68 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 0273CD6C */ /* nop */
|
|
/* 0273CD70 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 0273CD70 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 0273CD74 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 0273CD74 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 0273CD78 */ /* nop */
|
|
/* 0273CD7C */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 0273CD7C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0273CD80 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 0273CD84 */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 0273CD84 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 0273CD88 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0273CD8C */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273CD90 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0273CD90 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273CD94 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 0273CD98 */ _t10 = cpu->r[7] + 0x000007FCu;
|
|
/* 0273CD98 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0273CD98 */ cpu->r[7] = _t10;
|
|
/* 0273CD9C */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273CDA0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273CDA4 */ _t11 = cpu->r[5] + 0x00000804u;
|
|
/* 0273CDA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0273CDA4 */ cpu->r[5] = _t11;
|
|
/* 0273CDA8 */ cpu->r[10] = cpu->r[10] + 0x00000814u;
|
|
/* 0273CDAC */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 0273CDAC */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0273CDB0 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0273CDB4 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 0273CDB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 0273CDB8 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 0273CDBC */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 0273CDBC */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 0273CDC0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273CDC4 */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 0273CDC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273CDC8 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0273CDCC */ _t16 = cpu->r[12] + 0x0000080Cu;
|
|
/* 0273CDCC */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 0273CDCC */ cpu->r[12] = _t16;
|
|
/* 0273CDD0 */ cpu->r[11] = 0x00000002u;
|
|
/* 0273CDD4 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 0273CDD4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273CDD8 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0273CDD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273CDDC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CDDC */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 0273CDE0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0273CDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273CDE4 */ _t21 = cpu->r[31] + 0x00000828u;
|
|
/* 0273CDE4 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 0273CDE4 */ cpu->r[31] = _t21;
|
|
/* 0273CDE8 */ cpu->r[0] = 0x00000004u;
|
|
/* 0273CDEC */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CDEC */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 0273CDF0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273CDF4 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0273CDF4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273CDF8 */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 0273CDF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273CDF8 */ cpu->r[12] = _t24;
|
|
/* 0273CDFC */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 0273CDFC */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 0273CE00 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 0273CE00 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0273CE04 */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 0273CE04 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 0273CE08 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0273CE08 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 0273CE0C */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 0273CE0C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0273CE10 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 0273CE10 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 0273CE14 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273CE18 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 0273CE18 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 0273CE1C */ cpu->r[6] = 0x101F0000u;
|
|
/* 0273CE20 */ _t32 = cpu->r[7] + 0x00000824u;
|
|
/* 0273CE20 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0273CE24 */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 0273CE24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273CE24 */ cpu->r[6] = _t33;
|
|
/* 0273CE28 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 0273CE28 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 0273CE2C */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 0273CE2C */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 0273CE30 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273CE34 */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0273CE34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273CE38 */ _t37 = cpu->r[5] + 0x0000081Cu;
|
|
/* 0273CE38 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 0273CE38 */ cpu->r[5] = _t37;
|
|
/* 0273CE3C */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 0273CE3C */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 0273CE40 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 0273CE40 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 0273CE44 */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 0273CE44 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0273CE48 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0273CE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273CE4C */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 0273CE4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273CE50 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 0273CE50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0273CE54 */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0273CE54 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 0273CE58 */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 0273CE58 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 0273CE5C */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 0273CE5C */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 0273CE60 */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0273CE60 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 0273CE64 */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 0273CE64 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 0273CE68 */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CE68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273CE6C */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0273CE6C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 0273CE70 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273CE74 */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 0273CE74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273CE78 */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 0273CE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0273CE78 */ cpu->r[11] = _t52;
|
|
/* 0273CE7C */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 0273CE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273CE80 */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0273CE80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273CE84 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 0273CE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0273CE88 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 0273CE88 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0273CE8C */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 0273CE8C */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 0273CE90 */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 0273CE90 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 0273CE94 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273CE98 */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0273CE98 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 0273CE9C */ cpu->r[5] = 0x101F0000u;
|
|
/* 0273CEA0 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 0273CEA0 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 0273CEA4 */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 0273CEA8 */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 0273CEA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273CEA8 */ cpu->r[12] = _t61;
|
|
/* 0273CEAC */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 0273CEAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0273CEB0 */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 0273CEB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0273CEB4 */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 0273CEB4 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 0273CEB8 */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 0273CEB8 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 0273CEBC */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 0273CEBC */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 0273CEC0 */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 0273CEC0 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 0273CEC4 */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 0273CEC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0273CEC8 */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0273CEC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0273CECC */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 0273CECC */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 0273CED0 */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0273CED0 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 0273CED4 */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0273CED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0273CED8 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0273CED8 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 0273CEDC */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0273CEDC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 0273CEE0 */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 0273CEE0 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 0273CEE4 */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 0273CEE4 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 0273CEE8 */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 0273CEE8 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 0273CEEC */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 0273CEEC */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 0273CEF0 */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 0273CEF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0273CEF4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273CEF8 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0273CEF8 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 0273CEFC */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 0273CEFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0273CEFC */ cpu->r[10] = _t81;
|
|
/* 0273CF00 */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 0273CF00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0273CF04 */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 0273CF04 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 0273CF08 */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 0273CF08 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 0273CF0C */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 0273CF0C */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 0273CF10 */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 0273CF10 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 0273CF14 */ cpu->r[12] = 0x10100000u;
|
|
/* 0273CF18 */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 0273CF18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0273CF1C */ _t88 = cpu->r[12] + 0xFFFF825Cu;
|
|
/* 0273CF1C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0273CF20 */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 0273CF20 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 0273CF24 */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 0273CF24 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 0273CF28 */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 0273CF28 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 0273CF2C */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 0273CF2C */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 0273CF30 */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 0273CF30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0273CF34 */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 0273CF34 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 0273CF38 */ cpu->r[12] = 0x10100000u;
|
|
/* 0273CF3C */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 0273CF3C */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 0273CF40 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 0273CF44 */ _t96 = cpu->r[12] + 0xFFFF8254u;
|
|
/* 0273CF44 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0273CF48 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 0273CF48 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 0273CF4C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273CF50 */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 0273CF50 */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 0273CF54 */ _t99 = cpu->r[12] + 0xFFFF8250u;
|
|
/* 0273CF54 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0273CF58 */ cpu->r[11] = 0x10100000u;
|
|
/* 0273CF5C */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0273CF5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0273CF60 */ _t101 = cpu->r[11] + 0xFFFF8258u;
|
|
/* 0273CF60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 0273CF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 0273CF68 */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 0273CF68 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 0273CF6C */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CF6C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0273CF6C */ if (_t104) goto L_0273CF70; else goto L_0273CF80;
|
|
L_0273CF70: ; // 0x273cf70
|
|
/* 0273CF70 */ cpu->r[3] = 0x00000010u;
|
|
/* 0273CF74 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273CF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273CF7C */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CF7C */ _t106 = _t105 & 0x00000001u;
|
|
/* 0273CF7C */ if (_t106) goto L_0273CF90; else goto L_0273CF80;
|
|
L_0273CF80: ; // 0x273cf80
|
|
/* 0273CF80 */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 0273CF80 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 0273CF84 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 0273CF84 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 0273CF88 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 0273CF88 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 0273CF8C */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273CF8C */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_0273CF90: ; // 0x273cf90
|
|
/* 0273CF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 0273CF94 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 0273CF98 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CF98 */ _t112 = _t111 & 0x00000001u;
|
|
/* 0273CF98 */ if (_t112) goto L_0273CF9C; else goto L_0273CFAC;
|
|
L_0273CF9C: ; // 0x273cf9c
|
|
/* 0273CF9C */ cpu->r[3] = 0x00000010u;
|
|
/* 0273CFA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273CFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273CFA8 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273CFA8 */ _t114 = _t113 & 0x00000001u;
|
|
/* 0273CFA8 */ if (_t114) goto L_0273CFBC; else goto L_0273CFAC;
|
|
L_0273CFAC: ; // 0x273cfac
|
|
/* 0273CFAC */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 0273CFAC */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 0273CFB0 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 0273CFB0 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 0273CFB4 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 0273CFB4 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 0273CFB8 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273CFB8 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_0273CFBC: ; // 0x273cfbc
|
|
/* 0273CFBC */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273CFC0 */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 0273CFC4 */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 0273CFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0273CFC8 */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 0273CFC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0273CFCC */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 0273CFCC */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 0273CFD0 */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 0273CFD0 */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 0273CFD4 */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0273CFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0273CFD8 */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 0273CFD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0273CFDC */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 0273CFDC */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 0273CFE0 */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 0273CFE0 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 0273CFE4 */ /* nop */
|
|
/* 0273CFE8 */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 0273CFE8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 0273CFEC */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 0273CFEC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 0273CFF0 */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 0273CFF0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 0273CFF4 */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 0273CFF4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 0273CFF8 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 0273CFF8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 0273CFFC */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 0273CFFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 0273D000 */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 0273D000 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 0273D004 */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 0273D004 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 0273D008 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D008 */ _t136 = _t135 & 0x00000001u;
|
|
/* 0273D008 */ if (_t136) goto L_0273D00C; // else: addr-0 trap, fall-through
|
|
L_0273D00C: ; // 0x273d00c
|
|
/* 0273D00C */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0273D00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0273D010 */ cpu->lr = cpu->r[0];
|
|
/* 0273D014 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0273D018 */ return;
|
|
}
|
|
|
|
// fn_0273D01C @ 0x273d01c
|
|
void Gambit_fn_0273D01C(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_0273D01C: ; // 0x273d01c
|
|
/* 0273D01C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0273D020 */ goto L_0273E2EC;
|
|
L_0273E2EC: ; // 0x273e2ec
|
|
/* 0273E2EC */ cpu->r[0] = cpu->lr;
|
|
/* 0273E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E2F0 */ cpu->r[1] = _t0;
|
|
/* 0273E2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273E2F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273E2FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0273E2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E300 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273E304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273E308 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E308 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273E308 */ if (_t5) goto L_0273E384; else goto L_0273E30C;
|
|
L_0273E30C: ; // 0x273e30c
|
|
/* 0273E30C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273E310 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E314 */ cpu->r[12] = cpu->r[12] + 0xFFFF8674u;
|
|
/* 0273E318 */ cpu->r[0] = cpu->r[0] + 0xFFFF8654u;
|
|
/* 0273E31C */ cpu->r[11] = 0x10100000u;
|
|
/* 0273E320 */ _t6 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E320 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0273E324 */ cpu->r[11] = cpu->r[11] + 0xFFFF8664u;
|
|
/* 0273E328 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E328 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0273E32C */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E330 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E330 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0273E334 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 0273E338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E33C */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0273E33C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273E340 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E340 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273E340 */ if (_t11) goto L_0273E374; else goto L_0273E344;
|
|
L_0273E344: ; // 0x273e344
|
|
/* 0273E344 */ cpu->r[9] = 0x10010000u;
|
|
/* 0273E348 */ cpu->r[10] = 0x10010000u;
|
|
/* 0273E34C */ cpu->r[0] = 0x10010000u;
|
|
/* 0273E350 */ cpu->r[9] = cpu->r[9] + 0x00004554u;
|
|
/* 0273E354 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0273E358 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E358 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0273E35C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0273E360 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E364 */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E364 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0273E368 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273E36C */ _t14 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E36C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0273E370 */ Gambit_fn_02068798(cpu);
|
|
L_0273E374: ; // 0x273e374
|
|
/* 0273E374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273E374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273E378 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E378 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273E378 */ if (_t16) goto L_0273E384; else goto L_0273E37C;
|
|
L_0273E37C: ; // 0x273e37c
|
|
/* 0273E37C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E380 */ Gambit_fn_02801BB0(cpu);
|
|
L_0273E384: ; // 0x273e384
|
|
/* 0273E384 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273E388 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273E38C */ cpu->lr = cpu->r[0];
|
|
/* 0273E390 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273E394 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E398 */ return;
|
|
}
|
|
|
|
// fn_0273D024 @ 0x273d024
|
|
void Gambit_fn_0273D024(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_0273D024: ; // 0x273d024
|
|
/* 0273D024 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0273D028 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0273D02C @ 0x273d02c
|
|
void Gambit_fn_0273D02C(CPUState* cpu) {
|
|
L_0273D02C: ; // 0x273d02c
|
|
/* 0273D02C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0273D030 */ goto L_0273E39C;
|
|
L_0273E39C: ; // 0x273e39c
|
|
/* 0273E39C */ return;
|
|
}
|
|
|
|
// fn_0273D034 @ 0x273d034
|
|
void Gambit_fn_0273D034(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0273D034: ; // 0x273d034
|
|
/* 0273D034 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0273D038 */ goto L_0273E3A0;
|
|
L_0273E3A0: ; // 0x273e3a0
|
|
/* 0273E3A0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0273E3A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273E3A4 */ return;
|
|
}
|
|
|
|
// fn_0273D03C @ 0x273d03c
|
|
void Gambit_fn_0273D03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0273D03C: ; // 0x273d03c
|
|
/* 0273D03C */ cpu->r[0] = cpu->lr;
|
|
/* 0273D040 */ cpu->r[8] = 0x10100000u;
|
|
/* 0273D044 */ cpu->r[11] = 0x10100000u;
|
|
/* 0273D048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273D04C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0273D04C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0273D050 */ cpu->r[11] = cpu->r[11] + 0xFFFF83A4u;
|
|
/* 0273D054 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273D054 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0273D054 */ cpu->r[1] = _t1;
|
|
/* 0273D058 */ _t2 = cpu->r[3] + 0x00000220u;
|
|
/* 0273D058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273D05C */ cpu->r[8] = cpu->r[8] + 0xFFFF8270u;
|
|
/* 0273D060 */ _t3 = cpu->r[3] + 0x00000224u;
|
|
/* 0273D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273D064 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D064 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273D064 */ if (_t5) goto L_0273D0E8; else goto L_0273D068;
|
|
L_0273D068: ; // 0x273d068
|
|
/* 0273D068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273D06C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D06C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273D06C */ if (_t7) goto L_0273D0A8; else goto L_0273D070;
|
|
L_0273D070: ; // 0x273d070
|
|
/* 0273D070 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D074 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D074 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273D074 */ if (_t9) goto L_0273D078; else goto L_0273D080;
|
|
L_0273D078: ; // 0x273d078
|
|
/* 0273D078 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D07C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_0273D080: ; // 0x273d080
|
|
/* 0273D080 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273D080 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0273D084 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D088 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0273D088 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273D08C */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D08C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273D090 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0273D094 */ Gambit_fn_027EDD5C(cpu);
|
|
/* 0273D098 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273D09C */ cpu->lr = cpu->r[0];
|
|
/* 0273D0A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D0A4 */ return;
|
|
L_0273D0A8: ; // 0x273d0a8
|
|
/* 0273D0A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D0AC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D0AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273D0AC */ if (_t15) goto L_0273D0B0; else goto L_0273D0B8;
|
|
L_0273D0B0: ; // 0x273d0b0
|
|
/* 0273D0B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D0B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273D0B8: ; // 0x273d0b8
|
|
/* 0273D0B8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0273D0B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 0273D0BC */ cpu->r[11] = 0x10100000u;
|
|
/* 0273D0C0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0273D0C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0273D0C4 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D0C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273D0C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D0CC */ _t19 = cpu->r[11] + 0xFFFF83A0u;
|
|
/* 0273D0CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0273D0D0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273D0D4 */ Gambit_fn_027EDCF0(cpu);
|
|
/* 0273D0D8 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273D0DC */ cpu->lr = cpu->r[0];
|
|
/* 0273D0E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D0E4 */ return;
|
|
L_0273D0E8: ; // 0x273d0e8
|
|
/* 0273D0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D0EC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D0EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273D0EC */ if (_t22) goto L_0273D0F0; else goto L_0273D0F8;
|
|
L_0273D0F0: ; // 0x273d0f0
|
|
/* 0273D0F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D0F4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_0273D0F8: ; // 0x273d0f8
|
|
/* 0273D0F8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273D0F8 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0273D0FC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D100 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 0273D100 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0273D104 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273D108 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0273D10C */ Gambit_fn_027EDDEC(cpu);
|
|
/* 0273D110 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273D114 */ cpu->lr = cpu->r[0];
|
|
/* 0273D118 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D11C */ return;
|
|
}
|
|
|
|
// fn_0273D054 @ 0x273d054
|
|
void Gambit_fn_0273D054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0273D054: ; // 0x273d054
|
|
/* 0273D054 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273D054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D054 */ cpu->r[1] = _t0;
|
|
/* 0273D058 */ _t1 = cpu->r[3] + 0x00000220u;
|
|
/* 0273D058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273D05C */ cpu->r[8] = cpu->r[8] + 0xFFFF8270u;
|
|
/* 0273D060 */ _t2 = cpu->r[3] + 0x00000224u;
|
|
/* 0273D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273D064 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D064 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273D064 */ if (_t4) goto L_0273D0E8; else goto L_0273D068;
|
|
L_0273D068: ; // 0x273d068
|
|
/* 0273D068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0273D06C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D06C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273D06C */ if (_t6) goto L_0273D0A8; else goto L_0273D070;
|
|
L_0273D070: ; // 0x273d070
|
|
/* 0273D070 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D074 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D074 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0273D074 */ if (_t8) goto L_0273D078; else goto L_0273D080;
|
|
L_0273D078: ; // 0x273d078
|
|
/* 0273D078 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D07C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_0273D080: ; // 0x273d080
|
|
/* 0273D080 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273D080 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0273D084 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D088 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0273D088 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273D08C */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D08C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273D090 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0273D094 */ Gambit_fn_027EDD5C(cpu);
|
|
/* 0273D098 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273D09C */ cpu->lr = cpu->r[0];
|
|
/* 0273D0A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D0A4 */ return;
|
|
L_0273D0A8: ; // 0x273d0a8
|
|
/* 0273D0A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D0AC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D0AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273D0AC */ if (_t14) goto L_0273D0B0; else goto L_0273D0B8;
|
|
L_0273D0B0: ; // 0x273d0b0
|
|
/* 0273D0B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D0B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0273D0B8: ; // 0x273d0b8
|
|
/* 0273D0B8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0273D0B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0273D0BC */ cpu->r[11] = 0x10100000u;
|
|
/* 0273D0C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0273D0C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 0273D0C4 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D0C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273D0C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D0CC */ _t18 = cpu->r[11] + 0xFFFF83A0u;
|
|
/* 0273D0CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0273D0D0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273D0D4 */ Gambit_fn_027EDCF0(cpu);
|
|
/* 0273D0D8 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273D0DC */ cpu->lr = cpu->r[0];
|
|
/* 0273D0E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D0E4 */ return;
|
|
L_0273D0E8: ; // 0x273d0e8
|
|
/* 0273D0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0273D0EC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D0EC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273D0EC */ if (_t21) goto L_0273D0F0; else goto L_0273D0F8;
|
|
L_0273D0F0: ; // 0x273d0f0
|
|
/* 0273D0F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0273D0F4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_0273D0F8: ; // 0x273d0f8
|
|
/* 0273D0F8 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273D0F8 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 0273D0FC */ cpu->r[4] = 0x00000000u;
|
|
/* 0273D100 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0273D100 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 0273D104 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D104 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273D108 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0273D10C */ Gambit_fn_027EDDEC(cpu);
|
|
/* 0273D110 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273D114 */ cpu->lr = cpu->r[0];
|
|
/* 0273D118 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D11C */ return;
|
|
}
|
|
|
|
// fn_0273D120 @ 0x273d120
|
|
void Gambit_fn_0273D120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0273D120: ; // 0x273d120
|
|
/* 0273D120 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273D120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D120 */ cpu->r[1] = _t0;
|
|
/* 0273D124 */ /* nop */
|
|
/* 0273D128 */ cpu->r[0] = cpu->lr;
|
|
/* 0273D12C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D12C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D130 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D134 */ _t2 = cpu->r[29] + 0x0000021Cu;
|
|
/* 0273D134 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273D138 */ _t3 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273D13C */ _t4 = cpu->r[6] + 0x00000054u;
|
|
/* 0273D13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273D140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273D144 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D144 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273D144 */ if (_t6) goto L_0273D2AC; else goto L_0273D148;
|
|
L_0273D148: ; // 0x273d148
|
|
/* 0273D148 */ cpu->r[26] = 0x00000000u;
|
|
/* 0273D14C */ _t7 = cpu->r[29] + 0x00000248u;
|
|
/* 0273D14C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273D150 */ cpu->r[30] = cpu->r[26];
|
|
/* 0273D154 */ cpu->r[27] = 0x0000000Au;
|
|
/* 0273D158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Au);
|
|
/* 0273D15C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D15C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273D15C */ if (_t9) goto L_0273D160; else goto L_0273D164;
|
|
L_0273D160: ; // 0x273d160
|
|
/* 0273D160 */ cpu->r[31] = 0x0000000Au;
|
|
L_0273D164: ; // 0x273d164
|
|
/* 0273D164 */ _t10 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273D168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0273D16C */ _t11 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D16C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273D170 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D170 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273D170 */ if (_t13) goto L_0273D174; else goto L_0273D178;
|
|
L_0273D174: ; // 0x273d174
|
|
/* 0273D174 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_0273D178: ; // 0x273d178
|
|
/* 0273D178 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 0273D178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273D17C */ Gambit_fn_027EAE38(cpu);
|
|
/* 0273D180 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273D180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273D184 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0273D188 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0273D18C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D18C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273D18C */ if (_t16) goto L_0273D190; else goto L_0273D164;
|
|
L_0273D190: ; // 0x273d190
|
|
/* 0273D190 */ cpu->r[30] = cpu->r[31];
|
|
/* 0273D190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D194 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273D198 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D198 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273D198 */ if (_t18) goto L_0273D19C; else goto L_0273D210;
|
|
L_0273D19C: ; // 0x273d19c
|
|
/* 0273D19C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D1A0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273D1A4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D1A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273D1A4 */ if (_t20) goto L_0273D210; else goto L_0273D1A8;
|
|
L_0273D1A8: ; // 0x273d1a8
|
|
/* 0273D1A8 */ cpu->r[8] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273D1AC */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_0273D1B0: ; // 0x273d1b0
|
|
/* 0273D1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273D1B4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D1B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273D1B4 */ if (_t22) goto L_0273D1B8; else goto L_0273D1FC;
|
|
L_0273D1B8: ; // 0x273d1b8
|
|
/* 0273D1B8 */ _t23 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D1B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273D1BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0273D1C0 */ _t24 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D1C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273D1C4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273D1C4 */ if (_t26) goto L_0273D1C8; else goto L_0273D1DC;
|
|
L_0273D1C8: ; // 0x273d1c8
|
|
/* 0273D1C8 */ cpu->r[12] = cpu->r[9] + cpu->r[7];
|
|
/* 0273D1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273D1D0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0273D1D4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273D1D4 */ if (_t28) goto L_0273D1E8; else goto L_0273D1D8;
|
|
L_0273D1D8: ; // 0x273d1d8
|
|
/* 0273D1D8 */ goto L_0273D1EC;
|
|
L_0273D1DC: ; // 0x273d1dc
|
|
/* 0273D1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273D1E0 */ cpu->r[8] = cpu->r[9];
|
|
/* 0273D1E4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0273D1E4 */ if (_t30) goto L_0273D1E8; else goto L_0273D1D8;
|
|
L_0273D1E8: ; // 0x273d1e8
|
|
/* 0273D1E8 */ cpu->r[9] = cpu->r[9] + cpu->r[7];
|
|
L_0273D1EC: ; // 0x273d1ec
|
|
/* 0273D1EC */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 0273D1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273D1F0 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 0273D1F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273D1F4 */ Gambit_fn_027EADB0(cpu);
|
|
/* 0273D1F8 */ goto L_0273D19C;
|
|
L_0273D1FC: ; // 0x273d1fc
|
|
/* 0273D1FC */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 0273D200 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273D200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D204 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273D208 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273D20C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D20C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0273D20C */ if (_t34) goto L_0273D210; else goto L_0273D1B0;
|
|
L_0273D210: ; // 0x273d210
|
|
/* 0273D210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273D214 */ cpu->r[26] = 0x00000000u;
|
|
/* 0273D218 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D218 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0273D218 */ if (_t36) goto L_0273D21C; else goto L_0273D2A8;
|
|
L_0273D21C: ; // 0x273d21c
|
|
/* 0273D21C */ cpu->r[27] = 0x00000000u;
|
|
L_0273D220: ; // 0x273d220
|
|
/* 0273D220 */ _t37 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273D224 */ cpu->r[11] = cpu->r[28] + cpu->r[26];
|
|
/* 0273D228 */ _t38 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273D22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0273D230 */ _t39 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D230 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273D234 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D234 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273D234 */ if (_t41) goto L_0273D238; else goto L_0273D240;
|
|
L_0273D238: ; // 0x273d238
|
|
/* 0273D238 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000002Cu);
|
|
/* 0273D23C */ cpu->r[30] = cpu->r[30] + cpu->r[4];
|
|
L_0273D240: ; // 0x273d240
|
|
/* 0273D240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[5]);
|
|
/* 0273D244 */ _t42 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D244 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273D248 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D248 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0273D248 */ if (_t44) goto L_0273D24C; else goto L_0273D250;
|
|
L_0273D24C: ; // 0x273d24c
|
|
/* 0273D24C */ cpu->r[10] = cpu->r[10] + cpu->r[27];
|
|
L_0273D250: ; // 0x273d250
|
|
/* 0273D250 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 0273D250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273D254 */ cpu->r[4] = cpu->r[30];
|
|
/* 0273D258 */ Gambit_fn_020A8300(cpu);
|
|
/* 0273D25C */ _t46 = cpu->r[30] + 0x00000024u;
|
|
/* 0273D25C */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273D260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273D264 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D264 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0273D264 */ if (_t48) goto L_0273D284; else goto L_0273D268;
|
|
L_0273D268: ; // 0x273d268
|
|
/* 0273D268 */ _t49 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273D26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0273D270 */ _t50 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273D274 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D274 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273D274 */ if (_t52) goto L_0273D278; else goto L_0273D27C;
|
|
L_0273D278: ; // 0x273d278
|
|
/* 0273D278 */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
L_0273D27C: ; // 0x273d27c
|
|
/* 0273D27C */ _t53 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D27C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273D280 */ Gambit_fn_020E6DE4(cpu);
|
|
L_0273D284: ; // 0x273d284
|
|
/* 0273D284 */ _t54 = cpu->r[30] + 0x00000028u;
|
|
/* 0273D284 */ cpu->r[5] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0273D288 */ cpu->r[6] = 0x00000001u;
|
|
/* 0273D28C */ cpu->r[4] = cpu->r[26];
|
|
/* 0273D290 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D294 */ Gambit_fn_0273D03C(cpu);
|
|
/* 0273D298 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0273D298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273D29C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0273D2A0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 0273D2A4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2A4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0273D2A4 */ if (_t56) goto L_0273D2A8; else goto L_0273D220;
|
|
L_0273D2A8: ; // 0x273d2a8
|
|
/* 0273D2A8 */ _t57 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D2A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
L_0273D2AC: ; // 0x273d2ac
|
|
/* 0273D2AC */ /* nop */
|
|
/* 0273D2B0 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0273D2B4 */ cpu->lr = cpu->r[0];
|
|
/* 0273D2B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D2BC */ return;
|
|
}
|
|
|
|
// fn_0273D2C0 @ 0x273d2c0
|
|
void Gambit_fn_0273D2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0273D120: ; // 0x273d120
|
|
/* 0273D120 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273D120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D120 */ cpu->r[1] = _t0;
|
|
/* 0273D124 */ /* nop */
|
|
/* 0273D128 */ cpu->r[0] = cpu->lr;
|
|
/* 0273D12C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D12C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D130 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D134 */ _t2 = cpu->r[29] + 0x0000021Cu;
|
|
/* 0273D134 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273D138 */ _t3 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273D13C */ _t4 = cpu->r[6] + 0x00000054u;
|
|
/* 0273D13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0273D140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0273D144 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D144 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0273D144 */ if (_t6) goto L_0273D2AC; else goto L_0273D148;
|
|
L_0273D148: ; // 0x273d148
|
|
/* 0273D148 */ cpu->r[26] = 0x00000000u;
|
|
/* 0273D14C */ _t7 = cpu->r[29] + 0x00000248u;
|
|
/* 0273D14C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273D150 */ cpu->r[30] = cpu->r[26];
|
|
/* 0273D154 */ cpu->r[27] = 0x0000000Au;
|
|
/* 0273D158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x0000000Au);
|
|
/* 0273D15C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D15C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273D15C */ if (_t9) goto L_0273D160; else goto L_0273D164;
|
|
L_0273D160: ; // 0x273d160
|
|
/* 0273D160 */ cpu->r[31] = 0x0000000Au;
|
|
L_0273D164: ; // 0x273d164
|
|
/* 0273D164 */ _t10 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273D168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0273D16C */ _t11 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D16C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273D170 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D170 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273D170 */ if (_t13) goto L_0273D174; else goto L_0273D178;
|
|
L_0273D174: ; // 0x273d174
|
|
/* 0273D174 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_0273D178: ; // 0x273d178
|
|
/* 0273D178 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 0273D178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273D17C */ Gambit_fn_027EAE38(cpu);
|
|
/* 0273D180 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273D180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273D184 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0273D188 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0273D18C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D18C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273D18C */ if (_t16) goto L_0273D190; else goto L_0273D164;
|
|
L_0273D190: ; // 0x273d190
|
|
/* 0273D190 */ cpu->r[30] = cpu->r[31];
|
|
/* 0273D190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D194 */ cpu->r[27] = 0x00000000u;
|
|
/* 0273D198 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D198 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273D198 */ if (_t18) goto L_0273D19C; else goto L_0273D210;
|
|
L_0273D19C: ; // 0x273d19c
|
|
/* 0273D19C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D1A0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273D1A4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D1A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273D1A4 */ if (_t20) goto L_0273D210; else goto L_0273D1A8;
|
|
L_0273D1A8: ; // 0x273d1a8
|
|
/* 0273D1A8 */ cpu->r[8] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273D1AC */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_0273D1B0: ; // 0x273d1b0
|
|
/* 0273D1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273D1B4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D1B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0273D1B4 */ if (_t22) goto L_0273D1B8; else goto L_0273D1FC;
|
|
L_0273D1B8: ; // 0x273d1b8
|
|
/* 0273D1B8 */ _t23 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D1B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273D1BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0273D1C0 */ _t24 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D1C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273D1C4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273D1C4 */ if (_t26) goto L_0273D1C8; else goto L_0273D1DC;
|
|
L_0273D1C8: ; // 0x273d1c8
|
|
/* 0273D1C8 */ cpu->r[12] = cpu->r[9] + cpu->r[7];
|
|
/* 0273D1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273D1D0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0273D1D4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273D1D4 */ if (_t28) goto L_0273D1E8; else goto L_0273D1D8;
|
|
L_0273D1D8: ; // 0x273d1d8
|
|
/* 0273D1D8 */ goto L_0273D1EC;
|
|
L_0273D1DC: ; // 0x273d1dc
|
|
/* 0273D1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0273D1E0 */ cpu->r[8] = cpu->r[9];
|
|
/* 0273D1E4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D1E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0273D1E4 */ if (_t30) goto L_0273D1E8; else goto L_0273D1D8;
|
|
L_0273D1E8: ; // 0x273d1e8
|
|
/* 0273D1E8 */ cpu->r[9] = cpu->r[9] + cpu->r[7];
|
|
L_0273D1EC: ; // 0x273d1ec
|
|
/* 0273D1EC */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 0273D1EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273D1F0 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 0273D1F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273D1F4 */ Gambit_fn_027EADB0(cpu);
|
|
/* 0273D1F8 */ goto L_0273D19C;
|
|
L_0273D1FC: ; // 0x273d1fc
|
|
/* 0273D1FC */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 0273D200 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273D200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D204 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0273D208 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0273D20C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D20C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0273D20C */ if (_t34) goto L_0273D210; else goto L_0273D1B0;
|
|
L_0273D210: ; // 0x273d210
|
|
/* 0273D210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273D214 */ cpu->r[26] = 0x00000000u;
|
|
/* 0273D218 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D218 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0273D218 */ if (_t36) goto L_0273D21C; else goto L_0273D2A8;
|
|
L_0273D21C: ; // 0x273d21c
|
|
/* 0273D21C */ cpu->r[27] = 0x00000000u;
|
|
L_0273D220: ; // 0x273d220
|
|
/* 0273D220 */ _t37 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273D224 */ cpu->r[11] = cpu->r[28] + cpu->r[26];
|
|
/* 0273D228 */ _t38 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273D22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0273D230 */ _t39 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D230 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273D234 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D234 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273D234 */ if (_t41) goto L_0273D238; else goto L_0273D240;
|
|
L_0273D238: ; // 0x273d238
|
|
/* 0273D238 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000002Cu);
|
|
/* 0273D23C */ cpu->r[30] = cpu->r[30] + cpu->r[4];
|
|
L_0273D240: ; // 0x273d240
|
|
/* 0273D240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[5]);
|
|
/* 0273D244 */ _t42 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D244 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273D248 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D248 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0273D248 */ if (_t44) goto L_0273D24C; else goto L_0273D250;
|
|
L_0273D24C: ; // 0x273d24c
|
|
/* 0273D24C */ cpu->r[10] = cpu->r[10] + cpu->r[27];
|
|
L_0273D250: ; // 0x273d250
|
|
/* 0273D250 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 0273D250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273D254 */ cpu->r[4] = cpu->r[30];
|
|
/* 0273D258 */ Gambit_fn_020A8300(cpu);
|
|
/* 0273D25C */ _t46 = cpu->r[30] + 0x00000024u;
|
|
/* 0273D25C */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273D260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273D264 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D264 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0273D264 */ if (_t48) goto L_0273D284; else goto L_0273D268;
|
|
L_0273D268: ; // 0x273d268
|
|
/* 0273D268 */ _t49 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273D26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0273D270 */ _t50 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273D274 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D274 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273D274 */ if (_t52) goto L_0273D278; else goto L_0273D27C;
|
|
L_0273D278: ; // 0x273d278
|
|
/* 0273D278 */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
L_0273D27C: ; // 0x273d27c
|
|
/* 0273D27C */ _t53 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D27C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273D280 */ Gambit_fn_020E6DE4(cpu);
|
|
L_0273D284: ; // 0x273d284
|
|
/* 0273D284 */ _t54 = cpu->r[30] + 0x00000028u;
|
|
/* 0273D284 */ cpu->r[5] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0273D288 */ cpu->r[6] = 0x00000001u;
|
|
/* 0273D28C */ cpu->r[4] = cpu->r[26];
|
|
/* 0273D290 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D294 */ Gambit_fn_0273D03C(cpu);
|
|
/* 0273D298 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0273D298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0273D29C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0273D2A0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 0273D2A4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2A4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0273D2A4 */ if (_t56) goto L_0273D2A8; else goto L_0273D220;
|
|
L_0273D2A8: ; // 0x273d2a8
|
|
/* 0273D2A8 */ _t57 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D2A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
L_0273D2AC: ; // 0x273d2ac
|
|
/* 0273D2AC */ /* nop */
|
|
/* 0273D2B0 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 0273D2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0273D2B4 */ cpu->lr = cpu->r[0];
|
|
/* 0273D2B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273D2BC */ return;
|
|
L_0273D2C0: ; // 0x273d2c0
|
|
/* 0273D2C0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFDE8u;
|
|
/* 0273D2C4 */ goto L_0273D120;
|
|
}
|
|
|
|
// fn_0273D2C8 @ 0x273d2c8
|
|
void Gambit_fn_0273D2C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273D2C8: ; // 0x273d2c8
|
|
/* 0273D2C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0273D2CC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273D2CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D2CC */ cpu->r[1] = _t0;
|
|
/* 0273D2D0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273D2D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D2D4 */ /* nop */
|
|
/* 0273D2D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273D2DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273D2DC */ if (_t3) goto L_0273D2E0; else goto L_0273D2F0;
|
|
L_0273D2E0: ; // 0x273d2e0
|
|
/* 0273D2E0 */ cpu->r[3] = 0x00000250u;
|
|
/* 0273D2E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D2E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273D2EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273D2EC */ if (_t5) goto L_0273D6D4; else goto L_0273D2F0;
|
|
L_0273D2F0: ; // 0x273d2f0
|
|
/* 0273D2F0 */ cpu->r[4] = 0x10100000u;
|
|
/* 0273D2F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D2F8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0273D2FC */ cpu->r[4] = cpu->r[4] + 0xFFFF83B0u;
|
|
/* 0273D300 */ Gambit_fn_020B5C38(cpu);
|
|
/* 0273D304 */ cpu->r[6] = 0x10100000u;
|
|
/* 0273D308 */ cpu->r[9] = 0x10100000u;
|
|
/* 0273D30C */ cpu->r[6] = cpu->r[6] + 0xFFFF847Cu;
|
|
/* 0273D310 */ cpu->r[9] = cpu->r[9] + 0xFFFF8674u;
|
|
/* 0273D314 */ cpu->r[8] = 0x10100000u;
|
|
/* 0273D318 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 0273D318 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 0273D31C */ cpu->r[8] = cpu->r[8] + 0xFFFF8664u;
|
|
/* 0273D320 */ _t7 = cpu->r[29] + 0x000001C8u;
|
|
/* 0273D320 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0273D324 */ cpu->r[31] = 0x00000000u;
|
|
/* 0273D328 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D32C */ _t8 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0273D32C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0273D330 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 0273D334 */ _t9 = cpu->r[29] + 0x0000021Cu;
|
|
/* 0273D334 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0273D338 */ cpu->r[7] = 0x10100000u;
|
|
/* 0273D33C */ _t10 = cpu->r[29] + 0x00000218u;
|
|
/* 0273D33C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273D340 */ cpu->r[7] = cpu->r[7] + 0xFFFF8654u;
|
|
/* 0273D344 */ cpu->r[3] = cpu->r[29] + 0x00000220u;
|
|
/* 0273D344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D348 */ _t11 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0273D348 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0273D34C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D34C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273D34C */ if (_t13) goto L_0273D350; else goto L_0273D360;
|
|
L_0273D350: ; // 0x273d350
|
|
/* 0273D350 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D354 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D35C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D35C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273D35C */ if (_t15) goto L_0273D368; else goto L_0273D360;
|
|
L_0273D360: ; // 0x273d360
|
|
/* 0273D360 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D360 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 0273D364 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D364 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_0273D368: ; // 0x273d368
|
|
/* 0273D368 */ cpu->r[3] = cpu->r[29] + 0x00000228u;
|
|
/* 0273D368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D36C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D36C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273D36C */ if (_t19) goto L_0273D370; else goto L_0273D380;
|
|
L_0273D370: ; // 0x273d370
|
|
/* 0273D370 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D374 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D37C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D37C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273D37C */ if (_t21) goto L_0273D388; else goto L_0273D380;
|
|
L_0273D380: ; // 0x273d380
|
|
/* 0273D380 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D380 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 0273D384 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D384 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
L_0273D388: ; // 0x273d388
|
|
/* 0273D388 */ cpu->r[3] = cpu->r[29] + 0x00000230u;
|
|
/* 0273D388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D38C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D38C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273D38C */ if (_t25) goto L_0273D390; else goto L_0273D3A0;
|
|
L_0273D390: ; // 0x273d390
|
|
/* 0273D390 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D394 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D39C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D39C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273D39C */ if (_t27) goto L_0273D3A8; else goto L_0273D3A0;
|
|
L_0273D3A0: ; // 0x273d3a0
|
|
/* 0273D3A0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 0273D3A4 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
L_0273D3A8: ; // 0x273d3a8
|
|
/* 0273D3A8 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0273D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 0273D3AC */ if (_t31) goto L_0273D3B0; else goto L_0273D3C0;
|
|
L_0273D3B0: ; // 0x273d3b0
|
|
/* 0273D3B0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D3B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3BC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3BC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273D3BC */ if (_t33) goto L_0273D3C8; else goto L_0273D3C0;
|
|
L_0273D3C0: ; // 0x273d3c0
|
|
/* 0273D3C0 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 0273D3C4 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
L_0273D3C8: ; // 0x273d3c8
|
|
/* 0273D3C8 */ cpu->r[3] = cpu->r[29] + 0x00000240u;
|
|
/* 0273D3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3CC */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273D3CC */ if (_t37) goto L_0273D3D0; else goto L_0273D3E0;
|
|
L_0273D3D0: ; // 0x273d3d0
|
|
/* 0273D3D0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D3D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3DC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3DC */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273D3DC */ if (_t39) goto L_0273D3E8; else goto L_0273D3E0;
|
|
L_0273D3E0: ; // 0x273d3e0
|
|
/* 0273D3E0 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 0273D3E4 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3E4 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
L_0273D3E8: ; // 0x273d3e8
|
|
/* 0273D3E8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0273D3EC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273D3F0 */ _t42 = cpu->r[29] + 0x00000248u;
|
|
/* 0273D3F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 0273D3F4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0273D3F8 */ _t43 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D3F8 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 0273D3FC */ _t44 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0273D3FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273D3FC */ cpu->r[27] = _t44;
|
|
/* 0273D400 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D404 */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273D408 */ _t46 = cpu->r[12] + 0x00000034u;
|
|
/* 0273D408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273D40C */ cpu->ctr = cpu->r[0];
|
|
/* 0273D410 */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D414 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D420 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D420 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0273D420 */ if (_t48) goto L_0273D430; else goto L_0273D424;
|
|
L_0273D424: ; // 0x273d424
|
|
/* 0273D424 */ _t49 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D424 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 0273D428 */ cpu->r[6] = 0x0000000Au;
|
|
/* 0273D42C */ _t50 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D42C */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
L_0273D430: ; // 0x273d430
|
|
/* 0273D430 */ _t51 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273D434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273D438 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D438 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0273D438 */ if (_t53) goto L_0273D43C; else goto L_0273D458;
|
|
L_0273D43C: ; // 0x273d43c
|
|
/* 0273D43C */ cpu->r[12] = 0x00000000u;
|
|
/* 0273D440 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D444 */ cpu->r[0] = cpu->r[12];
|
|
L_0273D448: ; // 0x273d448
|
|
/* 0273D448 */ _t54 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D448 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273D44C */ _t55 = cpu->r[7] + cpu->r[12];
|
|
/* 0273D44C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 0273D450 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0273D454 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D454 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D454 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 0273D454 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273D454 */ if (_t58) goto L_0273D448; else goto L_0273D458;
|
|
L_0273D458: ; // 0x273d458
|
|
/* 0273D458 */ _t59 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0273D45C */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D460 */ _t60 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273D464 */ _t61 = cpu->r[8] + 0x00000034u;
|
|
/* 0273D464 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273D468 */ cpu->ctr = cpu->r[9];
|
|
/* 0273D46C */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D470 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D47C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D47C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0273D47C */ if (_t63) goto L_0273D48C; else goto L_0273D480;
|
|
L_0273D480: ; // 0x273d480
|
|
/* 0273D480 */ _t64 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D480 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 0273D484 */ cpu->r[10] = 0x0000000Au;
|
|
/* 0273D488 */ _t65 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D488 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
L_0273D48C: ; // 0x273d48c
|
|
/* 0273D48C */ _t66 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D48C */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0273D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273D494 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D494 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0273D494 */ if (_t68) goto L_0273D498; else goto L_0273D4B4;
|
|
L_0273D498: ; // 0x273d498
|
|
/* 0273D498 */ cpu->r[10] = 0x00000000u;
|
|
/* 0273D49C */ cpu->ctr = cpu->r[8];
|
|
/* 0273D4A0 */ cpu->r[0] = cpu->r[10];
|
|
L_0273D4A4: ; // 0x273d4a4
|
|
/* 0273D4A4 */ _t69 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0273D4A8 */ _t70 = cpu->r[11] + cpu->r[10];
|
|
/* 0273D4A8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0273D4AC */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 0273D4B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D4B0 */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D4B0 */ _t72 = _t71 >> (0x00000002u & 31u);
|
|
/* 0273D4B0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0273D4B0 */ if (_t73) goto L_0273D4A4; else goto L_0273D4B4;
|
|
L_0273D4B4: ; // 0x273d4b4
|
|
/* 0273D4B4 */ _t74 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D4B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0273D4B8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D4BC */ _t75 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0273D4C0 */ _t76 = cpu->r[12] + 0x00000034u;
|
|
/* 0273D4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0273D4C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D4C8 */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D4CC */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D4D8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D4D8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0273D4D8 */ if (_t78) goto L_0273D4E8; else goto L_0273D4DC;
|
|
L_0273D4DC: ; // 0x273d4dc
|
|
/* 0273D4DC */ _t79 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D4DC */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
|
|
/* 0273D4E0 */ cpu->r[6] = 0x0000000Au;
|
|
/* 0273D4E4 */ _t80 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D4E4 */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
L_0273D4E8: ; // 0x273d4e8
|
|
/* 0273D4E8 */ _t81 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D4E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0273D4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273D4F0 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D4F0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0273D4F0 */ if (_t83) goto L_0273D4F4; else goto L_0273D510;
|
|
L_0273D4F4: ; // 0x273d4f4
|
|
/* 0273D4F4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0273D4F8 */ cpu->ctr = cpu->r[4];
|
|
/* 0273D4FC */ cpu->r[9] = cpu->r[8];
|
|
L_0273D500: ; // 0x273d500
|
|
/* 0273D500 */ _t84 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D500 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0273D504 */ _t85 = cpu->r[7] + cpu->r[8];
|
|
/* 0273D504 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 0273D508 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 0273D50C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D50C */ _t86 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D50C */ _t87 = _t86 >> (0x00000002u & 31u);
|
|
/* 0273D50C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273D50C */ if (_t88) goto L_0273D500; else goto L_0273D510;
|
|
L_0273D510: ; // 0x273d510
|
|
/* 0273D510 */ _t89 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0273D514 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D518 */ _t90 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0273D51C */ _t91 = cpu->r[10] + 0x00000034u;
|
|
/* 0273D51C */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0273D520 */ cpu->ctr = cpu->r[11];
|
|
/* 0273D524 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D528 */ cpu->r[4] = 0x00001130u;
|
|
/* 0273D52C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D530 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273D534 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273D538 */ cpu->r[23] = 0x00000064u;
|
|
/* 0273D53C */ _t92 = cpu->r[31] + 0x0000739Au;
|
|
/* 0273D53C */ cpu->r[31] = rbrew_read16(cpu->mem, _t92);
|
|
/* 0273D540 */ cpu->r[24] = 0x00000000u;
|
|
/* 0273D544 */ cpu->r[25] = 0x0000000Bu;
|
|
L_0273D548: ; // 0x273d548
|
|
/* 0273D548 */ cpu->r[28] = cpu->r[30] + cpu->r[24];
|
|
/* 0273D548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D54C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D54C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0273D54C */ if (_t94) goto L_0273D5D4; else goto L_0273D550;
|
|
L_0273D550: ; // 0x273d550
|
|
/* 0273D550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D554 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D554 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0273D554 */ if (_t96) goto L_0273D558; else goto L_0273D568;
|
|
L_0273D558: ; // 0x273d558
|
|
/* 0273D558 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273D55C */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D560 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273D560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D564 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D564 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0273D564 */ if (_t98) goto L_0273D5D4; else goto L_0273D568;
|
|
L_0273D568: ; // 0x273d568
|
|
/* 0273D568 */ cpu->r[26] = cpu->r[28];
|
|
/* 0273D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273D56C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D56C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0273D56C */ if (_t100) goto L_0273D570; else goto L_0273D580;
|
|
L_0273D570: ; // 0x273d570
|
|
/* 0273D570 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273D574 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D578 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273D578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273D57C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D57C */ _t102 = _t101 & 0x00000001u;
|
|
/* 0273D57C */ if (_t102) goto L_0273D5C8; else goto L_0273D580;
|
|
L_0273D580: ; // 0x273d580
|
|
/* 0273D580 */ cpu->r[5] = cpu->r[26];
|
|
/* 0273D580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273D584 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D584 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0273D584 */ if (_t104) goto L_0273D588; else goto L_0273D598;
|
|
L_0273D588: ; // 0x273d588
|
|
/* 0273D588 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273D58C */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D590 */ cpu->r[5] = cpu->r[3];
|
|
/* 0273D590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273D594 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D594 */ _t106 = _t105 & 0x00000001u;
|
|
/* 0273D594 */ if (_t106) goto L_0273D5B4; else goto L_0273D598;
|
|
L_0273D598: ; // 0x273d598
|
|
/* 0273D598 */ cpu->r[4] = 0x10100000u;
|
|
/* 0273D59C */ _t107 = cpu->r[5] + 0x00000008u;
|
|
/* 0273D59C */ rbrew_write32(cpu->mem, _t107, cpu->r[25]);
|
|
/* 0273D5A0 */ cpu->r[12] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0273D5A4 */ cpu->r[4] = cpu->r[4] + 0xFFFF82E8u;
|
|
/* 0273D5A8 */ _t108 = cpu->r[5] + 0x00000000u;
|
|
/* 0273D5A8 */ rbrew_write32(cpu->mem, _t108, cpu->r[12]);
|
|
/* 0273D5AC */ _t109 = cpu->r[5] + 0x00000004u;
|
|
/* 0273D5AC */ rbrew_write32(cpu->mem, _t109, cpu->r[4]);
|
|
/* 0273D5B0 */ _t110 = cpu->r[26] + 0x00000020u;
|
|
/* 0273D5B0 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[31]);
|
|
L_0273D5B4: ; // 0x273d5b4
|
|
/* 0273D5B4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D5B8 */ _t111 = cpu->r[26] + 0x00000000u;
|
|
/* 0273D5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0273D5BC */ cpu->r[0] = cpu->r[0] + 0xFFFF8300u;
|
|
/* 0273D5C0 */ _t112 = cpu->r[26] + 0x00000004u;
|
|
/* 0273D5C0 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 0273D5C4 */ _t113 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D5C4 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[31]);
|
|
L_0273D5C8: ; // 0x273d5c8
|
|
/* 0273D5C8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D5CC */ cpu->r[0] = cpu->r[0] + 0xFFFF8330u;
|
|
/* 0273D5D0 */ _t114 = cpu->r[28] + 0x00000004u;
|
|
/* 0273D5D0 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
L_0273D5D4: ; // 0x273d5d4
|
|
/* 0273D5D4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0273D5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273D5D8 */ cpu->r[24] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0273D5DC */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D5DC */ _t116 = _t115 & 0x00000001u;
|
|
/* 0273D5DC */ if (_t116) goto L_0273D5E0; else goto L_0273D548;
|
|
L_0273D5E0: ; // 0x273d5e0
|
|
/* 0273D5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D5E4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D5E4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0273D5E4 */ if (_t118) goto L_0273D5E8; else goto L_0273D600;
|
|
L_0273D5E8: ; // 0x273d5e8
|
|
/* 0273D5E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D5EC */ cpu->r[8] = 0x00000064u;
|
|
/* 0273D5F0 */ _t119 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D5F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0273D5F4 */ cpu->r[0] = cpu->r[6];
|
|
/* 0273D5F8 */ cpu->r[10] = cpu->r[6];
|
|
/* 0273D5FC */ goto L_0273D618;
|
|
L_0273D600: ; // 0x273d600
|
|
/* 0273D600 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D604 */ _t120 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D604 */ rbrew_write32(cpu->mem, _t120, cpu->r[30]);
|
|
/* 0273D608 */ cpu->r[8] = 0x00000064u;
|
|
/* 0273D60C */ cpu->r[0] = cpu->r[6];
|
|
/* 0273D610 */ cpu->r[10] = cpu->r[6];
|
|
/* 0273D614 */ _t121 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D614 */ rbrew_write32(cpu->mem, _t121, cpu->r[8]);
|
|
L_0273D618: ; // 0x273d618
|
|
/* 0273D618 */ _t122 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0273D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 0273D620 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D620 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0273D620 */ if (_t124) goto L_0273D624; else goto L_0273D628;
|
|
L_0273D624: ; // 0x273d624
|
|
/* 0273D624 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
|
|
L_0273D628: ; // 0x273d628
|
|
/* 0273D628 */ _t125 = cpu->r[30] + 0x00000000u;
|
|
/* 0273D628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0273D62C */ _t126 = cpu->r[9] + 0x00000000u;
|
|
/* 0273D62C */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[31]);
|
|
/* 0273D630 */ _t127 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0273D634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 0273D638 */ _t128 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D638 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0273D63C */ _t129 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D63C */ _t130 = _t129 & 0x00000001u;
|
|
/* 0273D63C */ if (_t130) goto L_0273D640; else goto L_0273D644;
|
|
L_0273D640: ; // 0x273d640
|
|
/* 0273D640 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0273D644: ; // 0x273d644
|
|
/* 0273D644 */ _t131 = cpu->r[11] + 0x00000024u;
|
|
/* 0273D644 */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
/* 0273D648 */ _t132 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D648 */ cpu->r[5] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0273D64C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 0273D650 */ _t133 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0273D654 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D654 */ _t135 = _t134 & 0x00000001u;
|
|
/* 0273D654 */ if (_t135) goto L_0273D658; else goto L_0273D65C;
|
|
L_0273D658: ; // 0x273d658
|
|
/* 0273D658 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_0273D65C: ; // 0x273d65c
|
|
/* 0273D65C */ _t136 = cpu->r[12] + 0x00000028u;
|
|
/* 0273D65C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
/* 0273D660 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0273D660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273D664 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273D668 */ cpu->r[10] = cpu->r[10] + 0x0000002Cu;
|
|
/* 0273D66C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D66C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0273D66C */ if (_t138) goto L_0273D678; else goto L_0273D670;
|
|
L_0273D670: ; // 0x273d670
|
|
/* 0273D670 */ _t139 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D670 */ cpu->r[30] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0273D674 */ goto L_0273D618;
|
|
L_0273D678: ; // 0x273d678
|
|
/* 0273D678 */ _t140 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D678 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0273D67C */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D680 */ _t141 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0273D684 */ _t142 = cpu->r[9] + 0x00000034u;
|
|
/* 0273D684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0273D688 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D68C */ cpu->r[4] = 0x00000008u;
|
|
/* 0273D690 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D69C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D69C */ _t144 = _t143 & 0x00000001u;
|
|
/* 0273D69C */ if (_t144) goto L_0273D6AC; else goto L_0273D6A0;
|
|
L_0273D6A0: ; // 0x273d6a0
|
|
/* 0273D6A0 */ _t145 = cpu->r[29] + 0x00000244u;
|
|
/* 0273D6A0 */ rbrew_write32(cpu->mem, _t145, cpu->r[3]);
|
|
/* 0273D6A4 */ cpu->r[5] = 0x00000002u;
|
|
/* 0273D6A8 */ _t146 = cpu->r[29] + 0x00000240u;
|
|
/* 0273D6A8 */ rbrew_write32(cpu->mem, _t146, cpu->r[5]);
|
|
L_0273D6AC: ; // 0x273d6ac
|
|
/* 0273D6AC */ _t147 = cpu->r[29] + 0x00000240u;
|
|
/* 0273D6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0273D6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273D6B4 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D6B4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0273D6B4 */ if (_t149) goto L_0273D6B8; else goto L_0273D6D4;
|
|
L_0273D6B8: ; // 0x273d6b8
|
|
/* 0273D6B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D6BC */ cpu->ctr = cpu->r[0];
|
|
/* 0273D6C0 */ cpu->r[8] = cpu->r[6];
|
|
L_0273D6C4: ; // 0x273d6c4
|
|
/* 0273D6C4 */ _t150 = cpu->r[29] + 0x00000244u;
|
|
/* 0273D6C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0273D6C8 */ _t151 = cpu->r[7] + cpu->r[6];
|
|
/* 0273D6C8 */ rbrew_write32(cpu->mem, _t151, cpu->r[8]);
|
|
/* 0273D6CC */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 0273D6D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D6D0 */ _t152 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D6D0 */ _t153 = _t152 >> (0x00000002u & 31u);
|
|
/* 0273D6D0 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0273D6D0 */ if (_t154) goto L_0273D6C4; else goto L_0273D6D4;
|
|
L_0273D6D4: ; // 0x273d6d4
|
|
/* 0273D6D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D6D8 */ /* nop */
|
|
/* 0273D6DC */ _t155 = cpu->r[1] + 0x00000034u;
|
|
/* 0273D6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0273D6E0 */ cpu->lr = cpu->r[0];
|
|
/* 0273D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273D6E8 */ return;
|
|
}
|
|
|
|
// fn_0273D2CC @ 0x273d2cc
|
|
void Gambit_fn_0273D2CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273D2CC: ; // 0x273d2cc
|
|
/* 0273D2CC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273D2CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D2CC */ cpu->r[1] = _t0;
|
|
/* 0273D2D0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273D2D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D2D4 */ /* nop */
|
|
/* 0273D2D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273D2DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273D2DC */ if (_t3) goto L_0273D2E0; else goto L_0273D2F0;
|
|
L_0273D2E0: ; // 0x273d2e0
|
|
/* 0273D2E0 */ cpu->r[3] = 0x00000250u;
|
|
/* 0273D2E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D2E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0273D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273D2EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D2EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273D2EC */ if (_t5) goto L_0273D6D4; else goto L_0273D2F0;
|
|
L_0273D2F0: ; // 0x273d2f0
|
|
/* 0273D2F0 */ cpu->r[4] = 0x10100000u;
|
|
/* 0273D2F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D2F8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0273D2FC */ cpu->r[4] = cpu->r[4] + 0xFFFF83B0u;
|
|
/* 0273D300 */ Gambit_fn_020B5C38(cpu);
|
|
/* 0273D304 */ cpu->r[6] = 0x10100000u;
|
|
/* 0273D308 */ cpu->r[9] = 0x10100000u;
|
|
/* 0273D30C */ cpu->r[6] = cpu->r[6] + 0xFFFF847Cu;
|
|
/* 0273D310 */ cpu->r[9] = cpu->r[9] + 0xFFFF8674u;
|
|
/* 0273D314 */ cpu->r[8] = 0x10100000u;
|
|
/* 0273D318 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 0273D318 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 0273D31C */ cpu->r[8] = cpu->r[8] + 0xFFFF8664u;
|
|
/* 0273D320 */ _t7 = cpu->r[29] + 0x000001C8u;
|
|
/* 0273D320 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0273D324 */ cpu->r[31] = 0x00000000u;
|
|
/* 0273D328 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D32C */ _t8 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0273D32C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0273D330 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 0273D334 */ _t9 = cpu->r[29] + 0x0000021Cu;
|
|
/* 0273D334 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0273D338 */ cpu->r[7] = 0x10100000u;
|
|
/* 0273D33C */ _t10 = cpu->r[29] + 0x00000218u;
|
|
/* 0273D33C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0273D340 */ cpu->r[7] = cpu->r[7] + 0xFFFF8654u;
|
|
/* 0273D344 */ cpu->r[3] = cpu->r[29] + 0x00000220u;
|
|
/* 0273D344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D348 */ _t11 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0273D348 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0273D34C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D34C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273D34C */ if (_t13) goto L_0273D350; else goto L_0273D360;
|
|
L_0273D350: ; // 0x273d350
|
|
/* 0273D350 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D354 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D35C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D35C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273D35C */ if (_t15) goto L_0273D368; else goto L_0273D360;
|
|
L_0273D360: ; // 0x273d360
|
|
/* 0273D360 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D360 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 0273D364 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D364 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_0273D368: ; // 0x273d368
|
|
/* 0273D368 */ cpu->r[3] = cpu->r[29] + 0x00000228u;
|
|
/* 0273D368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D36C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D36C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273D36C */ if (_t19) goto L_0273D370; else goto L_0273D380;
|
|
L_0273D370: ; // 0x273d370
|
|
/* 0273D370 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D374 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D37C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D37C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273D37C */ if (_t21) goto L_0273D388; else goto L_0273D380;
|
|
L_0273D380: ; // 0x273d380
|
|
/* 0273D380 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D380 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 0273D384 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D384 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
L_0273D388: ; // 0x273d388
|
|
/* 0273D388 */ cpu->r[3] = cpu->r[29] + 0x00000230u;
|
|
/* 0273D388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D38C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D38C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273D38C */ if (_t25) goto L_0273D390; else goto L_0273D3A0;
|
|
L_0273D390: ; // 0x273d390
|
|
/* 0273D390 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D394 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D39C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D39C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0273D39C */ if (_t27) goto L_0273D3A8; else goto L_0273D3A0;
|
|
L_0273D3A0: ; // 0x273d3a0
|
|
/* 0273D3A0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 0273D3A4 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
L_0273D3A8: ; // 0x273d3a8
|
|
/* 0273D3A8 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0273D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 0273D3AC */ if (_t31) goto L_0273D3B0; else goto L_0273D3C0;
|
|
L_0273D3B0: ; // 0x273d3b0
|
|
/* 0273D3B0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D3B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3BC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3BC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273D3BC */ if (_t33) goto L_0273D3C8; else goto L_0273D3C0;
|
|
L_0273D3C0: ; // 0x273d3c0
|
|
/* 0273D3C0 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 0273D3C4 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
L_0273D3C8: ; // 0x273d3c8
|
|
/* 0273D3C8 */ cpu->r[3] = cpu->r[29] + 0x00000240u;
|
|
/* 0273D3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3CC */ _t37 = _t36 & 0x00000001u;
|
|
/* 0273D3CC */ if (_t37) goto L_0273D3D0; else goto L_0273D3E0;
|
|
L_0273D3D0: ; // 0x273d3d0
|
|
/* 0273D3D0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0273D3D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D3DC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D3DC */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273D3DC */ if (_t39) goto L_0273D3E8; else goto L_0273D3E0;
|
|
L_0273D3E0: ; // 0x273d3e0
|
|
/* 0273D3E0 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 0273D3E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 0273D3E4 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D3E4 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
L_0273D3E8: ; // 0x273d3e8
|
|
/* 0273D3E8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0273D3EC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273D3F0 */ _t42 = cpu->r[29] + 0x00000248u;
|
|
/* 0273D3F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 0273D3F4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0273D3F8 */ _t43 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0273D3F8 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 0273D3FC */ _t44 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0273D3FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273D3FC */ cpu->r[27] = _t44;
|
|
/* 0273D400 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D404 */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0273D408 */ _t46 = cpu->r[12] + 0x00000034u;
|
|
/* 0273D408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273D40C */ cpu->ctr = cpu->r[0];
|
|
/* 0273D410 */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D414 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D420 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D420 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0273D420 */ if (_t48) goto L_0273D430; else goto L_0273D424;
|
|
L_0273D424: ; // 0x273d424
|
|
/* 0273D424 */ _t49 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D424 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 0273D428 */ cpu->r[6] = 0x0000000Au;
|
|
/* 0273D42C */ _t50 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D42C */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
L_0273D430: ; // 0x273d430
|
|
/* 0273D430 */ _t51 = cpu->r[29] + 0x00000220u;
|
|
/* 0273D430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0273D434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273D438 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D438 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0273D438 */ if (_t53) goto L_0273D43C; else goto L_0273D458;
|
|
L_0273D43C: ; // 0x273d43c
|
|
/* 0273D43C */ cpu->r[12] = 0x00000000u;
|
|
/* 0273D440 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D444 */ cpu->r[0] = cpu->r[12];
|
|
L_0273D448: ; // 0x273d448
|
|
/* 0273D448 */ _t54 = cpu->r[29] + 0x00000224u;
|
|
/* 0273D448 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273D44C */ _t55 = cpu->r[7] + cpu->r[12];
|
|
/* 0273D44C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 0273D450 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0273D454 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D454 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D454 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 0273D454 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273D454 */ if (_t58) goto L_0273D448; else goto L_0273D458;
|
|
L_0273D458: ; // 0x273d458
|
|
/* 0273D458 */ _t59 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0273D45C */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D460 */ _t60 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0273D464 */ _t61 = cpu->r[8] + 0x00000034u;
|
|
/* 0273D464 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273D468 */ cpu->ctr = cpu->r[9];
|
|
/* 0273D46C */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D470 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D47C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D47C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0273D47C */ if (_t63) goto L_0273D48C; else goto L_0273D480;
|
|
L_0273D480: ; // 0x273d480
|
|
/* 0273D480 */ _t64 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D480 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 0273D484 */ cpu->r[10] = 0x0000000Au;
|
|
/* 0273D488 */ _t65 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D488 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
L_0273D48C: ; // 0x273d48c
|
|
/* 0273D48C */ _t66 = cpu->r[29] + 0x00000228u;
|
|
/* 0273D48C */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0273D490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273D494 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D494 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0273D494 */ if (_t68) goto L_0273D498; else goto L_0273D4B4;
|
|
L_0273D498: ; // 0x273d498
|
|
/* 0273D498 */ cpu->r[10] = 0x00000000u;
|
|
/* 0273D49C */ cpu->ctr = cpu->r[8];
|
|
/* 0273D4A0 */ cpu->r[0] = cpu->r[10];
|
|
L_0273D4A4: ; // 0x273d4a4
|
|
/* 0273D4A4 */ _t69 = cpu->r[29] + 0x0000022Cu;
|
|
/* 0273D4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0273D4A8 */ _t70 = cpu->r[11] + cpu->r[10];
|
|
/* 0273D4A8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0273D4AC */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 0273D4B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D4B0 */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D4B0 */ _t72 = _t71 >> (0x00000002u & 31u);
|
|
/* 0273D4B0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0273D4B0 */ if (_t73) goto L_0273D4A4; else goto L_0273D4B4;
|
|
L_0273D4B4: ; // 0x273d4b4
|
|
/* 0273D4B4 */ _t74 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D4B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0273D4B8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D4BC */ _t75 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0273D4C0 */ _t76 = cpu->r[12] + 0x00000034u;
|
|
/* 0273D4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0273D4C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D4C8 */ cpu->r[4] = 0x00000028u;
|
|
/* 0273D4CC */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D4D8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D4D8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0273D4D8 */ if (_t78) goto L_0273D4E8; else goto L_0273D4DC;
|
|
L_0273D4DC: ; // 0x273d4dc
|
|
/* 0273D4DC */ _t79 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D4DC */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
|
|
/* 0273D4E0 */ cpu->r[6] = 0x0000000Au;
|
|
/* 0273D4E4 */ _t80 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D4E4 */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
L_0273D4E8: ; // 0x273d4e8
|
|
/* 0273D4E8 */ _t81 = cpu->r[29] + 0x00000230u;
|
|
/* 0273D4E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0273D4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0273D4F0 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D4F0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0273D4F0 */ if (_t83) goto L_0273D4F4; else goto L_0273D510;
|
|
L_0273D4F4: ; // 0x273d4f4
|
|
/* 0273D4F4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0273D4F8 */ cpu->ctr = cpu->r[4];
|
|
/* 0273D4FC */ cpu->r[9] = cpu->r[8];
|
|
L_0273D500: ; // 0x273d500
|
|
/* 0273D500 */ _t84 = cpu->r[29] + 0x00000234u;
|
|
/* 0273D500 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0273D504 */ _t85 = cpu->r[7] + cpu->r[8];
|
|
/* 0273D504 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 0273D508 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 0273D50C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D50C */ _t86 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D50C */ _t87 = _t86 >> (0x00000002u & 31u);
|
|
/* 0273D50C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0273D50C */ if (_t88) goto L_0273D500; else goto L_0273D510;
|
|
L_0273D510: ; // 0x273d510
|
|
/* 0273D510 */ _t89 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0273D514 */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D518 */ _t90 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0273D51C */ _t91 = cpu->r[10] + 0x00000034u;
|
|
/* 0273D51C */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0273D520 */ cpu->ctr = cpu->r[11];
|
|
/* 0273D524 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D528 */ cpu->r[4] = 0x00001130u;
|
|
/* 0273D52C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D530 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273D534 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273D538 */ cpu->r[23] = 0x00000064u;
|
|
/* 0273D53C */ _t92 = cpu->r[31] + 0x0000739Au;
|
|
/* 0273D53C */ cpu->r[31] = rbrew_read16(cpu->mem, _t92);
|
|
/* 0273D540 */ cpu->r[24] = 0x00000000u;
|
|
/* 0273D544 */ cpu->r[25] = 0x0000000Bu;
|
|
L_0273D548: ; // 0x273d548
|
|
/* 0273D548 */ cpu->r[28] = cpu->r[30] + cpu->r[24];
|
|
/* 0273D548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D54C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D54C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0273D54C */ if (_t94) goto L_0273D5D4; else goto L_0273D550;
|
|
L_0273D550: ; // 0x273d550
|
|
/* 0273D550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D554 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D554 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0273D554 */ if (_t96) goto L_0273D558; else goto L_0273D568;
|
|
L_0273D558: ; // 0x273d558
|
|
/* 0273D558 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273D55C */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D560 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273D560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273D564 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D564 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0273D564 */ if (_t98) goto L_0273D5D4; else goto L_0273D568;
|
|
L_0273D568: ; // 0x273d568
|
|
/* 0273D568 */ cpu->r[26] = cpu->r[28];
|
|
/* 0273D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273D56C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D56C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0273D56C */ if (_t100) goto L_0273D570; else goto L_0273D580;
|
|
L_0273D570: ; // 0x273d570
|
|
/* 0273D570 */ cpu->r[3] = 0x00000024u;
|
|
/* 0273D574 */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D578 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273D578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0273D57C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D57C */ _t102 = _t101 & 0x00000001u;
|
|
/* 0273D57C */ if (_t102) goto L_0273D5C8; else goto L_0273D580;
|
|
L_0273D580: ; // 0x273d580
|
|
/* 0273D580 */ cpu->r[5] = cpu->r[26];
|
|
/* 0273D580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273D584 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D584 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0273D584 */ if (_t104) goto L_0273D588; else goto L_0273D598;
|
|
L_0273D588: ; // 0x273d588
|
|
/* 0273D588 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0273D58C */ Gambit_fn_02801A78(cpu);
|
|
/* 0273D590 */ cpu->r[5] = cpu->r[3];
|
|
/* 0273D590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0273D594 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D594 */ _t106 = _t105 & 0x00000001u;
|
|
/* 0273D594 */ if (_t106) goto L_0273D5B4; else goto L_0273D598;
|
|
L_0273D598: ; // 0x273d598
|
|
/* 0273D598 */ cpu->r[4] = 0x10100000u;
|
|
/* 0273D59C */ _t107 = cpu->r[5] + 0x00000008u;
|
|
/* 0273D59C */ rbrew_write32(cpu->mem, _t107, cpu->r[25]);
|
|
/* 0273D5A0 */ cpu->r[12] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0273D5A4 */ cpu->r[4] = cpu->r[4] + 0xFFFF82E8u;
|
|
/* 0273D5A8 */ _t108 = cpu->r[5] + 0x00000000u;
|
|
/* 0273D5A8 */ rbrew_write32(cpu->mem, _t108, cpu->r[12]);
|
|
/* 0273D5AC */ _t109 = cpu->r[5] + 0x00000004u;
|
|
/* 0273D5AC */ rbrew_write32(cpu->mem, _t109, cpu->r[4]);
|
|
/* 0273D5B0 */ _t110 = cpu->r[26] + 0x00000020u;
|
|
/* 0273D5B0 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[31]);
|
|
L_0273D5B4: ; // 0x273d5b4
|
|
/* 0273D5B4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D5B8 */ _t111 = cpu->r[26] + 0x00000000u;
|
|
/* 0273D5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0273D5BC */ cpu->r[0] = cpu->r[0] + 0xFFFF8300u;
|
|
/* 0273D5C0 */ _t112 = cpu->r[26] + 0x00000004u;
|
|
/* 0273D5C0 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 0273D5C4 */ _t113 = cpu->r[12] + 0x00000000u;
|
|
/* 0273D5C4 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[31]);
|
|
L_0273D5C8: ; // 0x273d5c8
|
|
/* 0273D5C8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D5CC */ cpu->r[0] = cpu->r[0] + 0xFFFF8330u;
|
|
/* 0273D5D0 */ _t114 = cpu->r[28] + 0x00000004u;
|
|
/* 0273D5D0 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
L_0273D5D4: ; // 0x273d5d4
|
|
/* 0273D5D4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0273D5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273D5D8 */ cpu->r[24] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0273D5DC */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D5DC */ _t116 = _t115 & 0x00000001u;
|
|
/* 0273D5DC */ if (_t116) goto L_0273D5E0; else goto L_0273D548;
|
|
L_0273D5E0: ; // 0x273d5e0
|
|
/* 0273D5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273D5E4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D5E4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0273D5E4 */ if (_t118) goto L_0273D5E8; else goto L_0273D600;
|
|
L_0273D5E8: ; // 0x273d5e8
|
|
/* 0273D5E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D5EC */ cpu->r[8] = 0x00000064u;
|
|
/* 0273D5F0 */ _t119 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D5F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0273D5F4 */ cpu->r[0] = cpu->r[6];
|
|
/* 0273D5F8 */ cpu->r[10] = cpu->r[6];
|
|
/* 0273D5FC */ goto L_0273D618;
|
|
L_0273D600: ; // 0x273d600
|
|
/* 0273D600 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D604 */ _t120 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D604 */ rbrew_write32(cpu->mem, _t120, cpu->r[30]);
|
|
/* 0273D608 */ cpu->r[8] = 0x00000064u;
|
|
/* 0273D60C */ cpu->r[0] = cpu->r[6];
|
|
/* 0273D610 */ cpu->r[10] = cpu->r[6];
|
|
/* 0273D614 */ _t121 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D614 */ rbrew_write32(cpu->mem, _t121, cpu->r[8]);
|
|
L_0273D618: ; // 0x273d618
|
|
/* 0273D618 */ _t122 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0273D61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 0273D620 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D620 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0273D620 */ if (_t124) goto L_0273D624; else goto L_0273D628;
|
|
L_0273D624: ; // 0x273d624
|
|
/* 0273D624 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
|
|
L_0273D628: ; // 0x273d628
|
|
/* 0273D628 */ _t125 = cpu->r[30] + 0x00000000u;
|
|
/* 0273D628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0273D62C */ _t126 = cpu->r[9] + 0x00000000u;
|
|
/* 0273D62C */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[31]);
|
|
/* 0273D630 */ _t127 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0273D634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 0273D638 */ _t128 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D638 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0273D63C */ _t129 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D63C */ _t130 = _t129 & 0x00000001u;
|
|
/* 0273D63C */ if (_t130) goto L_0273D640; else goto L_0273D644;
|
|
L_0273D640: ; // 0x273d640
|
|
/* 0273D640 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0273D644: ; // 0x273d644
|
|
/* 0273D644 */ _t131 = cpu->r[11] + 0x00000024u;
|
|
/* 0273D644 */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
/* 0273D648 */ _t132 = cpu->r[29] + 0x00000238u;
|
|
/* 0273D648 */ cpu->r[5] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0273D64C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 0273D650 */ _t133 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0273D654 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D654 */ _t135 = _t134 & 0x00000001u;
|
|
/* 0273D654 */ if (_t135) goto L_0273D658; else goto L_0273D65C;
|
|
L_0273D658: ; // 0x273d658
|
|
/* 0273D658 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_0273D65C: ; // 0x273d65c
|
|
/* 0273D65C */ _t136 = cpu->r[12] + 0x00000028u;
|
|
/* 0273D65C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
/* 0273D660 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0273D660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0273D664 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273D668 */ cpu->r[10] = cpu->r[10] + 0x0000002Cu;
|
|
/* 0273D66C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D66C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0273D66C */ if (_t138) goto L_0273D678; else goto L_0273D670;
|
|
L_0273D670: ; // 0x273d670
|
|
/* 0273D670 */ _t139 = cpu->r[29] + 0x0000023Cu;
|
|
/* 0273D670 */ cpu->r[30] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0273D674 */ goto L_0273D618;
|
|
L_0273D678: ; // 0x273d678
|
|
/* 0273D678 */ _t140 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D678 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0273D67C */ Gambit_fn_02826F20(cpu);
|
|
/* 0273D680 */ _t141 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0273D680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0273D684 */ _t142 = cpu->r[9] + 0x00000034u;
|
|
/* 0273D684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0273D688 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D68C */ cpu->r[4] = 0x00000008u;
|
|
/* 0273D690 */ cpu->r[5] = 0x00000004u;
|
|
/* 0273D694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D69C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D69C */ _t144 = _t143 & 0x00000001u;
|
|
/* 0273D69C */ if (_t144) goto L_0273D6AC; else goto L_0273D6A0;
|
|
L_0273D6A0: ; // 0x273d6a0
|
|
/* 0273D6A0 */ _t145 = cpu->r[29] + 0x00000244u;
|
|
/* 0273D6A0 */ rbrew_write32(cpu->mem, _t145, cpu->r[3]);
|
|
/* 0273D6A4 */ cpu->r[5] = 0x00000002u;
|
|
/* 0273D6A8 */ _t146 = cpu->r[29] + 0x00000240u;
|
|
/* 0273D6A8 */ rbrew_write32(cpu->mem, _t146, cpu->r[5]);
|
|
L_0273D6AC: ; // 0x273d6ac
|
|
/* 0273D6AC */ _t147 = cpu->r[29] + 0x00000240u;
|
|
/* 0273D6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0273D6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273D6B4 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D6B4 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0273D6B4 */ if (_t149) goto L_0273D6B8; else goto L_0273D6D4;
|
|
L_0273D6B8: ; // 0x273d6b8
|
|
/* 0273D6B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D6BC */ cpu->ctr = cpu->r[0];
|
|
/* 0273D6C0 */ cpu->r[8] = cpu->r[6];
|
|
L_0273D6C4: ; // 0x273d6c4
|
|
/* 0273D6C4 */ _t150 = cpu->r[29] + 0x00000244u;
|
|
/* 0273D6C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0273D6C8 */ _t151 = cpu->r[7] + cpu->r[6];
|
|
/* 0273D6C8 */ rbrew_write32(cpu->mem, _t151, cpu->r[8]);
|
|
/* 0273D6CC */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 0273D6D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273D6D0 */ _t152 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273D6D0 */ _t153 = _t152 >> (0x00000002u & 31u);
|
|
/* 0273D6D0 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0273D6D0 */ if (_t154) goto L_0273D6C4; else goto L_0273D6D4;
|
|
L_0273D6D4: ; // 0x273d6d4
|
|
/* 0273D6D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D6D8 */ /* nop */
|
|
/* 0273D6DC */ _t155 = cpu->r[1] + 0x00000034u;
|
|
/* 0273D6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0273D6E0 */ cpu->lr = cpu->r[0];
|
|
/* 0273D6E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273D6E8 */ return;
|
|
}
|
|
|
|
// fn_0273D6EC @ 0x273d6ec
|
|
void Gambit_fn_0273D6EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273D6EC: ; // 0x273d6ec
|
|
/* 0273D6EC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0273D6EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D6EC */ cpu->r[1] = _t0;
|
|
/* 0273D6F0 */ /* nop */
|
|
/* 0273D6F4 */ cpu->r[5] = 0x10100000u;
|
|
/* 0273D6F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0273D6FC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0273D6FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D700 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273D704 */ cpu->r[5] = cpu->r[5] + 0xFFFF8270u;
|
|
/* 0273D708 */ cpu->r[27] = cpu->r[4];
|
|
/* 0273D70C */ cpu->r[26] = cpu->r[3];
|
|
/* 0273D710 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273D710 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 0273D714 */ cpu->r[0] = cpu->r[0] + 0xFFFF83C4u;
|
|
/* 0273D718 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0273D71C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273D720 */ _t3 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0273D720 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273D724 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273D728 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0273D728 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273D72C */ Gambit_fn_028095AC(cpu);
|
|
/* 0273D730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273D734 */ cpu->r[30] = 0x00000000u;
|
|
/* 0273D738 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273D73C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D73C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0273D73C */ if (_t7) goto L_0273D744; else goto L_0273D740;
|
|
L_0273D740: ; // 0x273d740
|
|
/* 0273D740 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0273D740 */ cpu->r[30] = rbrew_read8(cpu->mem, _t8);
|
|
L_0273D744: ; // 0x273d744
|
|
/* 0273D744 */ cpu->r[24] = 0x00000000u;
|
|
/* 0273D748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 0273D74C */ _t9 = cpu->r[26] + 0x00000248u;
|
|
/* 0273D74C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273D750 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D750 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273D750 */ if (_t11) goto L_0273D754; else goto L_0273D894;
|
|
L_0273D754: ; // 0x273d754
|
|
/* 0273D754 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273D758 */ cpu->r[23] = 0x00000000u;
|
|
/* 0273D75C */ _t12 = cpu->r[31] + 0x0000739Au;
|
|
/* 0273D75C */ cpu->r[31] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0273D760 */ cpu->r[22] = cpu->r[23];
|
|
/* 0273D764 */ cpu->r[25] = cpu->r[23];
|
|
L_0273D768: ; // 0x273d768
|
|
/* 0273D768 */ _t13 = cpu->r[26] + 0x00000238u;
|
|
/* 0273D768 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273D76C */ _t14 = cpu->r[26] + 0x0000023Cu;
|
|
/* 0273D76C */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273D770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 0273D774 */ _t15 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273D778 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D778 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0273D778 */ if (_t17) goto L_0273D77C; else goto L_0273D780;
|
|
L_0273D77C: ; // 0x273d77c
|
|
/* 0273D77C */ cpu->r[28] = cpu->r[28] + cpu->r[23];
|
|
L_0273D780: ; // 0x273d780
|
|
/* 0273D780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[8]);
|
|
/* 0273D784 */ cpu->r[29] = 0x00000000u;
|
|
/* 0273D788 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D788 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0273D788 */ if (_t19) goto L_0273D78C; else goto L_0273D794;
|
|
L_0273D78C: ; // 0x273d78c
|
|
/* 0273D78C */ _t20 = cpu->r[27] + 0x00000008u;
|
|
/* 0273D78C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273D790 */ _t21 = cpu->r[9] + cpu->r[25];
|
|
/* 0273D790 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
L_0273D794: ; // 0x273d794
|
|
/* 0273D794 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 0273D794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273D798 */ _t23 = cpu->r[10] + 0x00000014u;
|
|
/* 0273D798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273D79C */ cpu->ctr = cpu->r[0];
|
|
/* 0273D7A0 */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 0273D7A0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273D7A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D7A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D7AC */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 0273D7AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273D7B0 */ _t26 = cpu->r[5] + 0x00000000u;
|
|
/* 0273D7B0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t26);
|
|
/* 0273D7B4 */ cpu->r[21] = 0x00000000u;
|
|
/* 0273D7B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0273D7BC */ cpu->r[8] = 0x00080000u;
|
|
/* 0273D7C0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D7C0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273D7C0 */ if (_t28) goto L_0273D7E8; else goto L_0273D7C4;
|
|
L_0273D7C4: ; // 0x273d7c4
|
|
/* 0273D7C4 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 0273D7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[8]);
|
|
/* 0273D7CC */ cpu->r[5] = cpu->r[5] + 0x00000002u;
|
|
/* 0273D7D0 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D7D0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0273D7D0 */ if (_t30) goto L_0273D7E4; else goto L_0273D7D4;
|
|
L_0273D7D4: ; // 0x273d7d4
|
|
/* 0273D7D4 */ _t31 = cpu->r[5] + 0x00000000u;
|
|
/* 0273D7D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 0273D7D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0273D7DC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D7DC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0273D7DC */ if (_t33) goto L_0273D7E0; else goto L_0273D7C4;
|
|
L_0273D7E0: ; // 0x273d7e0
|
|
/* 0273D7E0 */ goto L_0273D7E8;
|
|
L_0273D7E4: ; // 0x273d7e4
|
|
/* 0273D7E4 */ cpu->r[21] = 0x00000000u;
|
|
L_0273D7E8: ; // 0x273d7e8
|
|
/* 0273D7E8 */ _t34 = cpu->r[28] + 0x00000008u;
|
|
/* 0273D7E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273D7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[12]);
|
|
/* 0273D7F0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D7F0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0273D7F0 */ if (_t36) goto L_0273D7F8; else goto L_0273D7F4;
|
|
L_0273D7F4: ; // 0x273d7f4
|
|
/* 0273D7F4 */ cpu->r[21] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0273D7F8: ; // 0x273d7f8
|
|
/* 0273D7F8 */ _t37 = cpu->r[29] + 0x00000004u;
|
|
/* 0273D7F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273D7FC */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 0273D7FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273D800 */ cpu->ctr = cpu->r[4];
|
|
/* 0273D804 */ cpu->r[3] = cpu->r[29];
|
|
/* 0273D808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D80C */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 0273D80C */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0273D810 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D814 */ cpu->r[5] = rbrew_rlwinm(cpu->r[21], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0273D818 */ cpu->r[3] = cpu->r[20];
|
|
/* 0273D81C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273D820 */ cpu->r[6] = rbrew_rlwinm(cpu->r[21], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0273D824 */ _t40 = cpu->r[6] + cpu->r[20];
|
|
/* 0273D824 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[31]);
|
|
/* 0273D828 */ _t41 = cpu->r[26] + 0x00000238u;
|
|
/* 0273D828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273D82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 0273D830 */ _t42 = cpu->r[26] + 0x0000023Cu;
|
|
/* 0273D830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273D834 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D834 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0273D834 */ if (_t44) goto L_0273D838; else goto L_0273D83C;
|
|
L_0273D838: ; // 0x273d838
|
|
/* 0273D838 */ cpu->r[12] = cpu->r[12] + cpu->r[23];
|
|
L_0273D83C: ; // 0x273d83c
|
|
/* 0273D83C */ _t45 = cpu->r[12] + 0x00000024u;
|
|
/* 0273D83C */ rbrew_write32(cpu->mem, _t45, cpu->r[22]);
|
|
/* 0273D840 */ _t46 = cpu->r[26] + 0x00000238u;
|
|
/* 0273D840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273D844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[9]);
|
|
/* 0273D848 */ _t47 = cpu->r[26] + 0x0000023Cu;
|
|
/* 0273D848 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273D84C */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D84C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0273D84C */ if (_t49) goto L_0273D850; else goto L_0273D854;
|
|
L_0273D850: ; // 0x273d850
|
|
/* 0273D850 */ cpu->r[29] = cpu->r[29] + cpu->r[23];
|
|
L_0273D854: ; // 0x273d854
|
|
/* 0273D854 */ _t50 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273D858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 0273D85C */ cpu->r[3] = 0x00000000u;
|
|
/* 0273D860 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D860 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273D860 */ if (_t52) goto L_0273D864; else goto L_0273D86C;
|
|
L_0273D864: ; // 0x273d864
|
|
/* 0273D864 */ _t53 = cpu->r[27] + 0x00000008u;
|
|
/* 0273D864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273D868 */ _t54 = cpu->r[11] + cpu->r[25];
|
|
/* 0273D868 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
L_0273D86C: ; // 0x273d86c
|
|
/* 0273D86C */ cpu->r[4] = cpu->r[24];
|
|
/* 0273D870 */ cpu->r[5] = cpu->r[30];
|
|
/* 0273D874 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273D878 */ _t55 = cpu->r[29] + 0x00000028u;
|
|
/* 0273D878 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[3]);
|
|
/* 0273D87C */ _t56 = cpu->r[26] + 0x00000248u;
|
|
/* 0273D87C */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0273D880 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0273D884 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 0273D888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[4]);
|
|
/* 0273D88C */ cpu->r[23] = cpu->r[23] + 0x0000002Cu;
|
|
/* 0273D890 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D890 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0273D890 */ if (_t58) goto L_0273D768; else goto L_0273D894;
|
|
L_0273D894: ; // 0x273d894
|
|
/* 0273D894 */ /* nop */
|
|
/* 0273D898 */ _t59 = cpu->r[1] + 0x00000044u;
|
|
/* 0273D898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0273D89C */ cpu->lr = cpu->r[0];
|
|
/* 0273D8A0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0273D8A4 */ return;
|
|
}
|
|
|
|
// fn_0273D8A8 @ 0x273d8a8
|
|
void Gambit_fn_0273D8A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
|
|
|
|
L_0273D8A8: ; // 0x273d8a8
|
|
/* 0273D8A8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0273D8A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273D8A8 */ cpu->r[1] = _t0;
|
|
/* 0273D8AC */ /* nop */
|
|
/* 0273D8B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0273D8B4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0273D8B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273D8B8 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273D8BC */ _t2 = cpu->r[28] + 0x00000248u;
|
|
/* 0273D8BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273D8C0 */ cpu->r[24] = 0x00000000u;
|
|
/* 0273D8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 0273D8C8 */ cpu->r[26] = cpu->r[4];
|
|
/* 0273D8CC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D8CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0273D8CC */ if (_t4) goto L_0273D8D0; else goto L_0273D9F4;
|
|
L_0273D8D0: ; // 0x273d8d0
|
|
/* 0273D8D0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273D8D4 */ cpu->r[25] = 0x00000000u;
|
|
/* 0273D8D8 */ _t5 = cpu->r[31] + 0x0000739Au;
|
|
/* 0273D8D8 */ cpu->r[31] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0273D8DC */ cpu->r[23] = cpu->r[25];
|
|
L_0273D8E0: ; // 0x273d8e0
|
|
/* 0273D8E0 */ _t6 = cpu->r[28] + 0x00000238u;
|
|
/* 0273D8E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273D8E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[12]);
|
|
/* 0273D8E8 */ _t7 = cpu->r[28] + 0x0000023Cu;
|
|
/* 0273D8E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273D8EC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D8EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273D8EC */ if (_t9) goto L_0273D8F0; else goto L_0273D8F4;
|
|
L_0273D8F0: ; // 0x273d8f0
|
|
/* 0273D8F0 */ cpu->r[29] = cpu->r[29] + cpu->r[25];
|
|
L_0273D8F4: ; // 0x273d8f4
|
|
/* 0273D8F4 */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 0273D8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273D8F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 0273D8FC */ cpu->r[27] = 0x00000000u;
|
|
/* 0273D900 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D900 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0273D900 */ if (_t12) goto L_0273D904; else goto L_0273D90C;
|
|
L_0273D904: ; // 0x273d904
|
|
/* 0273D904 */ _t13 = cpu->r[26] + 0x00000008u;
|
|
/* 0273D904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273D908 */ _t14 = cpu->r[4] + cpu->r[23];
|
|
/* 0273D908 */ cpu->r[27] = rbrew_read32(cpu->mem, _t14);
|
|
L_0273D90C: ; // 0x273d90c
|
|
/* 0273D90C */ _t15 = cpu->r[27] + 0x00000004u;
|
|
/* 0273D90C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273D910 */ _t16 = cpu->r[5] + 0x00000014u;
|
|
/* 0273D910 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273D914 */ cpu->ctr = cpu->r[7];
|
|
/* 0273D918 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 0273D918 */ cpu->r[22] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273D91C */ cpu->r[3] = cpu->r[27];
|
|
/* 0273D920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D924 */ _t18 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D924 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273D928 */ _t19 = cpu->r[6] + 0x00000000u;
|
|
/* 0273D928 */ cpu->r[8] = rbrew_read16(cpu->mem, _t19);
|
|
/* 0273D92C */ cpu->r[30] = 0x00000000u;
|
|
/* 0273D930 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0273D934 */ cpu->r[7] = 0x00080000u;
|
|
/* 0273D938 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D938 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273D938 */ if (_t21) goto L_0273D960; else goto L_0273D93C;
|
|
L_0273D93C: ; // 0x273d93c
|
|
/* 0273D93C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273D940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0273D944 */ cpu->r[6] = cpu->r[6] + 0x00000002u;
|
|
/* 0273D948 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D948 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273D948 */ if (_t23) goto L_0273D95C; else goto L_0273D94C;
|
|
L_0273D94C: ; // 0x273d94c
|
|
/* 0273D94C */ _t24 = cpu->r[6] + 0x00000000u;
|
|
/* 0273D94C */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 0273D950 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0273D954 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273D954 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273D954 */ if (_t26) goto L_0273D958; else goto L_0273D93C;
|
|
L_0273D958: ; // 0x273d958
|
|
/* 0273D958 */ goto L_0273D960;
|
|
L_0273D95C: ; // 0x273d95c
|
|
/* 0273D95C */ cpu->r[30] = 0x00000000u;
|
|
L_0273D960: ; // 0x273d960
|
|
/* 0273D960 */ _t27 = cpu->r[29] + 0x00000008u;
|
|
/* 0273D960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273D964 */ _t28 = cpu->r[27] + 0x00000004u;
|
|
/* 0273D964 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0273D968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0273D96C */ _t29 = cpu->r[10] + 0x00000014u;
|
|
/* 0273D96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273D970 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D970 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0273D970 */ if (_t31) goto L_0273D978; else goto L_0273D974;
|
|
L_0273D974: ; // 0x273d974
|
|
/* 0273D974 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0273D978: ; // 0x273d978
|
|
/* 0273D978 */ cpu->ctr = cpu->r[0];
|
|
/* 0273D97C */ cpu->r[3] = cpu->r[27];
|
|
/* 0273D980 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273D984 */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 0273D984 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273D988 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273D98C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0273D990 */ cpu->r[3] = cpu->r[22];
|
|
/* 0273D994 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0273D998 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0273D99C */ _t33 = cpu->r[11] + cpu->r[22];
|
|
/* 0273D99C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[31]);
|
|
/* 0273D9A0 */ _t34 = cpu->r[28] + 0x00000238u;
|
|
/* 0273D9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273D9A4 */ _t35 = cpu->r[28] + 0x0000023Cu;
|
|
/* 0273D9A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273D9A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 0273D9AC */ _t36 = cpu->r[26] + 0x00000000u;
|
|
/* 0273D9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273D9B0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D9B0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0273D9B0 */ if (_t38) goto L_0273D9B4; else goto L_0273D9B8;
|
|
L_0273D9B4: ; // 0x273d9b4
|
|
/* 0273D9B4 */ cpu->r[30] = cpu->r[30] + cpu->r[25];
|
|
L_0273D9B8: ; // 0x273d9b8
|
|
/* 0273D9B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 0273D9BC */ cpu->r[3] = 0x00000000u;
|
|
/* 0273D9C0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D9C0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273D9C0 */ if (_t40) goto L_0273D9C4; else goto L_0273D9CC;
|
|
L_0273D9C4: ; // 0x273d9c4
|
|
/* 0273D9C4 */ _t41 = cpu->r[26] + 0x00000008u;
|
|
/* 0273D9C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0273D9C8 */ _t42 = cpu->r[5] + cpu->r[23];
|
|
/* 0273D9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
L_0273D9CC: ; // 0x273d9cc
|
|
/* 0273D9CC */ cpu->r[4] = cpu->r[24];
|
|
/* 0273D9D0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0273D9D4 */ Gambit_fn_0273CC44(cpu);
|
|
/* 0273D9D8 */ _t43 = cpu->r[30] + 0x00000028u;
|
|
/* 0273D9D8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[3]);
|
|
/* 0273D9DC */ _t44 = cpu->r[28] + 0x00000248u;
|
|
/* 0273D9DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0273D9E0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0273D9E4 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 0273D9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 0273D9EC */ cpu->r[25] = cpu->r[25] + 0x0000002Cu;
|
|
/* 0273D9F0 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273D9F0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0273D9F0 */ if (_t46) goto L_0273D8E0; else goto L_0273D9F4;
|
|
L_0273D9F4: ; // 0x273d9f4
|
|
/* 0273D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Au);
|
|
/* 0273D9F8 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273D9F8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0273D9F8 */ if (_t48) goto L_0273D9FC; else goto L_0273DA00;
|
|
L_0273D9FC: ; // 0x273d9fc
|
|
/* 0273D9FC */ cpu->r[30] = 0x0000000Au;
|
|
L_0273DA00: ; // 0x273da00
|
|
/* 0273DA00 */ _t49 = cpu->r[28] + 0x0000021Cu;
|
|
/* 0273DA00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0273DA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273DA08 */ _t50 = cpu->r[12] + 0x00000054u;
|
|
/* 0273DA08 */ cpu->r[26] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0273DA0C */ cpu->r[29] = 0x00000000u;
|
|
/* 0273DA10 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273DA10 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273DA10 */ if (_t52) goto L_0273DA14; else goto L_0273DA78;
|
|
L_0273DA14: ; // 0x273da14
|
|
/* 0273DA14 */ cpu->r[27] = 0x00000000u;
|
|
L_0273DA18: ; // 0x273da18
|
|
/* 0273DA18 */ _t53 = cpu->r[28] + 0x00000238u;
|
|
/* 0273DA18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273DA1C */ cpu->r[6] = cpu->r[26] + cpu->r[29];
|
|
/* 0273DA20 */ _t54 = cpu->r[28] + 0x0000023Cu;
|
|
/* 0273DA20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273DA24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0273DA28 */ _t55 = cpu->r[28] + 0x00000228u;
|
|
/* 0273DA28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0273DA2C */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DA2C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0273DA2C */ if (_t57) goto L_0273DA30; else goto L_0273DA38;
|
|
L_0273DA30: ; // 0x273da30
|
|
/* 0273DA30 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000002Cu);
|
|
/* 0273DA34 */ cpu->r[31] = cpu->r[31] + cpu->r[9];
|
|
L_0273DA38: ; // 0x273da38
|
|
/* 0273DA38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0273DA3C */ _t58 = cpu->r[28] + 0x0000022Cu;
|
|
/* 0273DA3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0273DA40 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DA40 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0273DA40 */ if (_t60) goto L_0273DA44; else goto L_0273DA48;
|
|
L_0273DA44: ; // 0x273da44
|
|
/* 0273DA44 */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
L_0273DA48: ; // 0x273da48
|
|
/* 0273DA48 */ _t61 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273DA4C */ cpu->r[4] = cpu->r[31];
|
|
/* 0273DA50 */ Gambit_fn_020A8300(cpu);
|
|
/* 0273DA54 */ _t62 = cpu->r[31] + 0x00000028u;
|
|
/* 0273DA54 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
|
|
/* 0273DA58 */ cpu->r[6] = 0x00000000u;
|
|
/* 0273DA5C */ cpu->r[4] = cpu->r[29];
|
|
/* 0273DA60 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273DA64 */ Gambit_fn_0273D03C(cpu);
|
|
/* 0273DA68 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0273DA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273DA6C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0273DA70 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 0273DA74 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DA74 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0273DA74 */ if (_t64) goto L_0273DA78; else goto L_0273DA18;
|
|
L_0273DA78: ; // 0x273da78
|
|
/* 0273DA78 */ /* nop */
|
|
/* 0273DA7C */ _t65 = cpu->r[1] + 0x00000034u;
|
|
/* 0273DA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0273DA80 */ cpu->lr = cpu->r[0];
|
|
/* 0273DA84 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0273DA88 */ return;
|
|
}
|
|
|
|
// fn_0273DAE8 @ 0x273dae8
|
|
void Gambit_fn_0273DAE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0273DAE8: ; // 0x273dae8
|
|
/* 0273DAE8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0273DAE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DAE8 */ cpu->r[1] = _t0;
|
|
/* 0273DAEC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0273DAEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0273DAF0 */ _t2 = cpu->r[12] + 0x0000011Cu;
|
|
/* 0273DAF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273DAF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0273DAF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273DAFC */ Gambit_fn_020DACF0(cpu);
|
|
/* 0273DB00 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273DB04 */ cpu->lr = cpu->r[0];
|
|
/* 0273DB08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0273DB0C */ return;
|
|
}
|
|
|
|
// fn_0273DB10 @ 0x273db10
|
|
void Gambit_fn_0273DB10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0273DB10: ; // 0x273db10
|
|
/* 0273DB10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0273DB10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DB10 */ cpu->r[1] = _t0;
|
|
/* 0273DB14 */ cpu->r[0] = cpu->lr;
|
|
/* 0273DB18 */ /* nop */
|
|
/* 0273DB1C */ cpu->r[31] = 0x00000000u;
|
|
/* 0273DB20 */ cpu->r[28] = cpu->r[31];
|
|
/* 0273DB24 */ cpu->r[30] = cpu->r[3];
|
|
/* 0273DB28 */ cpu->r[27] = 0x0000000Au;
|
|
/* 0273DB2C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0273DB2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273DB30 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
L_0273DB34: ; // 0x273db34
|
|
/* 0273DB34 */ _t2 = cpu->r[30] + 0x00000220u;
|
|
/* 0273DB34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273DB38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[7]);
|
|
/* 0273DB3C */ _t3 = cpu->r[30] + 0x00000224u;
|
|
/* 0273DB3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273DB40 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DB40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273DB40 */ if (_t5) goto L_0273DB44; else goto L_0273DB48;
|
|
L_0273DB44: ; // 0x273db44
|
|
/* 0273DB44 */ cpu->r[12] = cpu->r[12] + cpu->r[28];
|
|
L_0273DB48: ; // 0x273db48
|
|
/* 0273DB48 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DB48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273DB4C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0273DB4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273DB50 */ _t8 = cpu->r[8] + 0x00000084u;
|
|
/* 0273DB50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273DB54 */ cpu->ctr = cpu->r[10];
|
|
/* 0273DB58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273DB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273DB60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DB60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273DB60 */ if (_t10) goto L_0273DB70; else goto L_0273DB64;
|
|
L_0273DB64: ; // 0x273db64
|
|
/* 0273DB64 */ _t11 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0273DB64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273DB68 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 0273DB6C */ goto L_0273DB88;
|
|
L_0273DB70: ; // 0x273db70
|
|
/* 0273DB70 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273DB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273DB74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0273DB78 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0273DB7C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DB7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0273DB7C */ if (_t13) goto L_0273DB80; else goto L_0273DB34;
|
|
L_0273DB80: ; // 0x273db80
|
|
/* 0273DB80 */ _t14 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0273DB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273DB84 */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
L_0273DB88: ; // 0x273db88
|
|
/* 0273DB88 */ /* nop */
|
|
/* 0273DB8C */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0273DB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273DB90 */ cpu->lr = cpu->r[0];
|
|
/* 0273DB94 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0273DB98 */ return;
|
|
}
|
|
|
|
// fn_0273DB9C @ 0x273db9c
|
|
void Gambit_fn_0273DB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0273DB9C: ; // 0x273db9c
|
|
/* 0273DB9C */ cpu->r[0] = cpu->lr;
|
|
/* 0273DBA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273DBA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DBA0 */ cpu->r[1] = _t0;
|
|
/* 0273DBA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273DBA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273DBAC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273DBB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DBB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0273DBB4 */ cpu->r[30] = cpu->r[28];
|
|
/* 0273DBB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DBB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0273DBBC */ cpu->r[31] = cpu->r[3];
|
|
/* 0273DBC0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DBC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0273DBC4 */ cpu->r[29] = 0x0000000Au;
|
|
L_0273DBC8: ; // 0x273dbc8
|
|
/* 0273DBC8 */ _t6 = cpu->r[31] + 0x00000220u;
|
|
/* 0273DBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273DBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DBD0 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0273DBD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273DBD4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DBD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273DBD4 */ if (_t9) goto L_0273DBD8; else goto L_0273DBDC;
|
|
L_0273DBD8: ; // 0x273dbd8
|
|
/* 0273DBD8 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_0273DBDC: ; // 0x273dbdc
|
|
/* 0273DBDC */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DBDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273DBE0 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0273DBE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273DBE4 */ _t12 = cpu->r[10] + 0x00000084u;
|
|
/* 0273DBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273DBE8 */ cpu->ctr = cpu->r[0];
|
|
/* 0273DBEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273DBF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DBF4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273DBF4 */ if (_t14) goto L_0273DC3C; else goto L_0273DBF8;
|
|
L_0273DBF8: ; // 0x273dbf8
|
|
/* 0273DBF8 */ _t15 = cpu->r[31] + 0x00000220u;
|
|
/* 0273DBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273DBFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DC00 */ _t16 = cpu->r[31] + 0x00000224u;
|
|
/* 0273DC00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273DC04 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DC04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273DC04 */ if (_t18) goto L_0273DC08; else goto L_0273DC0C;
|
|
L_0273DC08: ; // 0x273dc08
|
|
/* 0273DC08 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_0273DC0C: ; // 0x273dc0c
|
|
/* 0273DC0C */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 0273DC0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273DC10 */ _t20 = cpu->r[8] + 0x00000160u;
|
|
/* 0273DC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273DC14 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0273DC18 */ _t21 = cpu->r[8] + 0x00000160u;
|
|
/* 0273DC18 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0273DC1C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DC1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273DC20 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DC20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273DC24 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273DC28 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DC28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273DC2C */ cpu->lr = cpu->r[0];
|
|
/* 0273DC30 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DC30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273DC34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273DC38 */ return;
|
|
L_0273DC3C: ; // 0x273dc3c
|
|
/* 0273DC3C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0273DC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273DC40 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0273DC44 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0273DC48 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DC48 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273DC48 */ if (_t28) goto L_0273DC4C; else goto L_0273DBC8;
|
|
L_0273DC4C: ; // 0x273dc4c
|
|
/* 0273DC4C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DC4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273DC50 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DC50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273DC54 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273DC58 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DC58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273DC5C */ cpu->lr = cpu->r[0];
|
|
/* 0273DC60 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273DC64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273DC68 */ return;
|
|
}
|
|
|
|
// fn_0273DBA0 @ 0x273dba0
|
|
void Gambit_fn_0273DBA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0273DBA0: ; // 0x273dba0
|
|
/* 0273DBA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273DBA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DBA0 */ cpu->r[1] = _t0;
|
|
/* 0273DBA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0273DBA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273DBAC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273DBB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DBB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0273DBB4 */ cpu->r[30] = cpu->r[28];
|
|
/* 0273DBB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DBB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0273DBBC */ cpu->r[31] = cpu->r[3];
|
|
/* 0273DBC0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DBC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0273DBC4 */ cpu->r[29] = 0x0000000Au;
|
|
L_0273DBC8: ; // 0x273dbc8
|
|
/* 0273DBC8 */ _t6 = cpu->r[31] + 0x00000220u;
|
|
/* 0273DBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273DBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DBD0 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 0273DBD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0273DBD4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DBD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273DBD4 */ if (_t9) goto L_0273DBD8; else goto L_0273DBDC;
|
|
L_0273DBD8: ; // 0x273dbd8
|
|
/* 0273DBD8 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_0273DBDC: ; // 0x273dbdc
|
|
/* 0273DBDC */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DBDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273DBE0 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0273DBE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0273DBE4 */ _t12 = cpu->r[10] + 0x00000084u;
|
|
/* 0273DBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273DBE8 */ cpu->ctr = cpu->r[0];
|
|
/* 0273DBEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273DBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273DBF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DBF4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273DBF4 */ if (_t14) goto L_0273DC3C; else goto L_0273DBF8;
|
|
L_0273DBF8: ; // 0x273dbf8
|
|
/* 0273DBF8 */ _t15 = cpu->r[31] + 0x00000220u;
|
|
/* 0273DBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273DBFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DC00 */ _t16 = cpu->r[31] + 0x00000224u;
|
|
/* 0273DC00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273DC04 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DC04 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0273DC04 */ if (_t18) goto L_0273DC08; else goto L_0273DC0C;
|
|
L_0273DC08: ; // 0x273dc08
|
|
/* 0273DC08 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_0273DC0C: ; // 0x273dc0c
|
|
/* 0273DC0C */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 0273DC0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273DC10 */ _t20 = cpu->r[8] + 0x00000160u;
|
|
/* 0273DC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0273DC14 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0273DC18 */ _t21 = cpu->r[8] + 0x00000160u;
|
|
/* 0273DC18 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0273DC1C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DC1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273DC20 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DC20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273DC24 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0273DC28 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DC28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0273DC2C */ cpu->lr = cpu->r[0];
|
|
/* 0273DC30 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DC30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273DC34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273DC38 */ return;
|
|
L_0273DC3C: ; // 0x273dc3c
|
|
/* 0273DC3C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0273DC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0273DC40 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0273DC44 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0273DC48 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DC48 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273DC48 */ if (_t28) goto L_0273DC4C; else goto L_0273DBC8;
|
|
L_0273DC4C: ; // 0x273dc4c
|
|
/* 0273DC4C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DC4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273DC50 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DC50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273DC54 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273DC58 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DC58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273DC5C */ cpu->lr = cpu->r[0];
|
|
/* 0273DC60 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273DC64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273DC68 */ return;
|
|
}
|
|
|
|
// fn_0273DC6C @ 0x273dc6c
|
|
void Gambit_fn_0273DC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273DC6C: ; // 0x273dc6c
|
|
/* 0273DC6C */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 0273DC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DC6C */ cpu->r[1] = _t0;
|
|
/* 0273DC70 */ /* nop */
|
|
/* 0273DC74 */ cpu->r[25] = 0x10100000u;
|
|
/* 0273DC78 */ cpu->r[24] = 0x00000000u;
|
|
/* 0273DC7C */ cpu->r[0] = cpu->lr;
|
|
/* 0273DC80 */ cpu->r[12] = 0x00000006u;
|
|
/* 0273DC84 */ cpu->r[25] = cpu->r[25] + 0xFFFF8270u;
|
|
/* 0273DC88 */ cpu->r[8] = 0x10100000u;
|
|
/* 0273DC8C */ cpu->r[10] = 0x10100000u;
|
|
/* 0273DC90 */ _t1 = cpu->r[1] + 0x000000D4u;
|
|
/* 0273DC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273DC94 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273DC98 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 0273DC98 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0273DC9C */ cpu->r[0] = cpu->r[0] + 0xFFFF83DCu;
|
|
/* 0273DCA0 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0273DCA0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[24]);
|
|
/* 0273DCA4 */ cpu->r[30] = 0x00000001u;
|
|
/* 0273DCA8 */ _t4 = cpu->r[1] + 0x00000048u;
|
|
/* 0273DCA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273DCAC */ cpu->r[8] = cpu->r[8] + 0xFFFF83E8u;
|
|
/* 0273DCB0 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 0273DCB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0273DCB4 */ cpu->r[7] = 0x10100000u;
|
|
/* 0273DCB8 */ _t6 = cpu->r[1] + 0x00000038u;
|
|
/* 0273DCB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0273DCBC */ _t7 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0273DCBC */ rbrew_write32(cpu->mem, _t7, cpu->r[25]);
|
|
/* 0273DCC0 */ cpu->r[0] = 0x00000014u;
|
|
/* 0273DCC4 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273DCC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[25]);
|
|
/* 0273DCC8 */ cpu->r[10] = cpu->r[10] + 0xFFFF83F8u;
|
|
/* 0273DCCC */ _t9 = cpu->r[1] + 0x00000058u;
|
|
/* 0273DCCC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273DCD0 */ cpu->r[7] = cpu->r[7] + 0xFFFF8378u;
|
|
/* 0273DCD4 */ _t10 = cpu->r[1] + 0x00000040u;
|
|
/* 0273DCD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0273DCD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 0273DCDC */ _t11 = cpu->r[1] + 0x00000044u;
|
|
/* 0273DCDC */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
/* 0273DCE0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0273DCE4 */ _t12 = cpu->r[1] + 0x00000060u;
|
|
/* 0273DCE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 0273DCE8 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 0273DCEC */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 0273DCEC */ rbrew_write32(cpu->mem, _t13, cpu->r[26]);
|
|
/* 0273DCF0 */ Gambit_fn_020E9170(cpu);
|
|
/* 0273DCF4 */ cpu->r[29] = cpu->r[1] + 0x00000014u;
|
|
/* 0273DCF8 */ cpu->r[6] = cpu->r[26] + 0x00000218u;
|
|
/* 0273DCFC */ cpu->r[23] = 0x10100000u;
|
|
/* 0273DD00 */ _t14 = cpu->r[26] + 0x0000021Cu;
|
|
/* 0273DD00 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0273DD04 */ cpu->r[20] = 0x101D0000u;
|
|
/* 0273DD08 */ cpu->r[18] = 0x00000020u;
|
|
/* 0273DD0C */ _t15 = cpu->r[3] + 0x000000A8u;
|
|
/* 0273DD0C */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 0273DD10 */ cpu->r[17] = 0x10100000u;
|
|
/* 0273DD14 */ _t16 = cpu->r[26] + 0x0000021Cu;
|
|
/* 0273DD14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273DD18 */ cpu->r[21] = 0x101D0000u;
|
|
/* 0273DD1C */ cpu->r[22] = cpu->r[24];
|
|
/* 0273DD20 */ cpu->r[31] = 0x10110000u;
|
|
/* 0273DD24 */ _t17 = cpu->r[5] + 0x000000B0u;
|
|
/* 0273DD24 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[24]);
|
|
/* 0273DD28 */ cpu->r[23] = cpu->r[23] + 0xFFFF82D0u;
|
|
/* 0273DD2C */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0273DD2C */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0273DD30 */ cpu->r[19] = 0x0000000Au;
|
|
L_0273DD34: ; // 0x273dd34
|
|
/* 0273DD34 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DD34 */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
|
|
/* 0273DD38 */ cpu->r[5] = cpu->r[24];
|
|
/* 0273DD3C */ _t20 = cpu->r[29] + 0x0000001Fu;
|
|
/* 0273DD3C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
|
|
/* 0273DD40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0273DD44 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DD44 */ rbrew_write32(cpu->mem, _t21, cpu->r[18]);
|
|
/* 0273DD48 */ cpu->r[4] = cpu->r[17] + 0xFFFF8404u;
|
|
/* 0273DD4C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DD4C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0273DD50 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 0273DD50 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 0273DD54 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0273DD54 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273DD54 */ if (_t25) goto L_0273DD58; // else: addr-0 trap, fall-through
|
|
L_0273DD58: ; // 0x273dd58
|
|
/* 0273DD58 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0273DD5C */ _t26 = cpu->r[26] + 0x00000220u;
|
|
/* 0273DD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0273DD60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 0273DD64 */ _t27 = cpu->r[26] + 0x00000224u;
|
|
/* 0273DD64 */ cpu->r[27] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0273DD68 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DD68 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0273DD68 */ if (_t29) goto L_0273DD6C; else goto L_0273DD70;
|
|
L_0273DD6C: ; // 0x273dd6c
|
|
/* 0273DD6C */ cpu->r[27] = cpu->r[27] + cpu->r[22];
|
|
L_0273DD70: ; // 0x273dd70
|
|
/* 0273DD70 */ cpu->r[3] = cpu->r[26];
|
|
/* 0273DD74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273DD78 */ Gambit_fn_026D86C0(cpu);
|
|
/* 0273DD7C */ _t30 = cpu->r[21] + 0xFFFFEDBCu;
|
|
/* 0273DD7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0273DD80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0273DD84 */ cpu->r[28] = cpu->r[3];
|
|
/* 0273DD88 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DD88 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0273DD88 */ if (_t32) goto L_0273DD8C; else goto L_0273DD9C;
|
|
L_0273DD8C: ; // 0x273dd8c
|
|
/* 0273DD8C */ cpu->r[11] = 0x10100000u;
|
|
/* 0273DD90 */ _t33 = cpu->r[21] + 0xFFFFEDBCu;
|
|
/* 0273DD90 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 0273DD94 */ cpu->r[11] = cpu->r[11] + 0xFFFF8358u;
|
|
/* 0273DD98 */ _t34 = cpu->r[20] + 0xFFFFEE20u;
|
|
/* 0273DD98 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
L_0273DD9C: ; // 0x273dd9c
|
|
/* 0273DD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0273DDA0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DDA0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0273DDA0 */ if (_t36) goto L_0273DDC4; else goto L_0273DDA4;
|
|
L_0273DDA4: ; // 0x273dda4
|
|
/* 0273DDA4 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 0273DDA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273DDA8 */ _t38 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0273DDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0273DDAC */ cpu->ctr = cpu->r[0];
|
|
/* 0273DDB0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0273DDB4 */ cpu->r[4] = cpu->r[20] + 0xFFFFEE20u;
|
|
/* 0273DDB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273DDC0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DDC0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0273DDC0 */ if (_t40) goto L_0273DDC4; else goto L_0273DDC8;
|
|
L_0273DDC4: ; // 0x273ddc4
|
|
/* 0273DDC4 */ cpu->r[28] = 0x00000000u;
|
|
L_0273DDC8: ; // 0x273ddc8
|
|
/* 0273DDC8 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 0273DDC8 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 0273DDCC */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 0273DDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0273DDD0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0273DDD4 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 0273DDD8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DDD8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0273DDD8 */ if (_t43) goto L_0273DDDC; else goto L_0273DD34;
|
|
L_0273DDDC: ; // 0x273dddc
|
|
/* 0273DDDC */ cpu->r[28] = 0x00000000u;
|
|
/* 0273DDE0 */ cpu->r[27] = 0x00000001u;
|
|
/* 0273DDE4 */ cpu->r[30] = 0x10100000u;
|
|
/* 0273DDE8 */ cpu->r[24] = cpu->r[28];
|
|
/* 0273DDEC */ cpu->r[23] = 0x00000002u;
|
|
/* 0273DDF0 */ cpu->r[30] = cpu->r[30] + 0xFFFF83E4u;
|
|
/* 0273DDF4 */ cpu->r[29] = 0x10100000u;
|
|
L_0273DDF8: ; // 0x273ddf8
|
|
/* 0273DDF8 */ cpu->r[4] = cpu->r[29] + 0xFFFF8410u;
|
|
/* 0273DDFC */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 0273DE00 */ cpu->r[5] = cpu->r[28];
|
|
/* 0273DE04 */ _t44 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0273DE04 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0273DE04 */ if (_t45) goto L_0273DE08; // else: addr-0 trap, fall-through
|
|
L_0273DE08: ; // 0x273de08
|
|
/* 0273DE08 */ Gambit_fn_0273E408(cpu);
|
|
/* 0273DE0C */ _t46 = cpu->r[26] + 0x00000240u;
|
|
/* 0273DE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0273DE10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DE14 */ _t47 = cpu->r[26] + 0x00000244u;
|
|
/* 0273DE14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0273DE18 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DE18 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0273DE18 */ if (_t49) goto L_0273DE1C; else goto L_0273DE20;
|
|
L_0273DE1C: ; // 0x273de1c
|
|
/* 0273DE1C */ cpu->r[31] = cpu->r[31] + cpu->r[24];
|
|
L_0273DE20: ; // 0x273de20
|
|
/* 0273DE20 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DE20 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]);
|
|
/* 0273DE24 */ cpu->r[3] = cpu->r[26];
|
|
/* 0273DE28 */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 0273DE2C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DE2C */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 0273DE30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273DE34 */ Gambit_fn_027EC4B4(cpu);
|
|
/* 0273DE38 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 0273DE38 */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
/* 0273DE3C */ _t53 = cpu->r[26] + 0x00000240u;
|
|
/* 0273DE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0273DE40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0273DE44 */ _t54 = cpu->r[26] + 0x00000244u;
|
|
/* 0273DE44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0273DE48 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DE48 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0273DE48 */ if (_t56) goto L_0273DE4C; else goto L_0273DE50;
|
|
L_0273DE4C: ; // 0x273de4c
|
|
/* 0273DE4C */ cpu->r[12] = cpu->r[12] + cpu->r[24];
|
|
L_0273DE50: ; // 0x273de50
|
|
/* 0273DE50 */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DE50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0273DE54 */ _t58 = cpu->r[9] + 0x000002F4u;
|
|
/* 0273DE54 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[27]);
|
|
/* 0273DE58 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0273DE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273DE5C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0273DE60 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 0273DE64 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DE64 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0273DE64 */ if (_t60) goto L_0273DE68; else goto L_0273DDF8;
|
|
L_0273DE68: ; // 0x273de68
|
|
/* 0273DE68 */ /* nop */
|
|
/* 0273DE6C */ _t61 = cpu->r[1] + 0x000000D4u;
|
|
/* 0273DE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273DE70 */ cpu->lr = cpu->r[0];
|
|
/* 0273DE74 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 0273DE78 */ return;
|
|
}
|
|
|
|
// fn_0273DE7C @ 0x273de7c
|
|
void Gambit_fn_0273DE7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0273DE7C: ; // 0x273de7c
|
|
/* 0273DE7C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0273DE7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DE7C */ cpu->r[1] = _t0;
|
|
/* 0273DE80 */ cpu->r[0] = cpu->lr;
|
|
/* 0273DE84 */ /* nop */
|
|
/* 0273DE88 */ cpu->r[30] = 0x10100000u;
|
|
/* 0273DE8C */ cpu->r[26] = 0x00000000u;
|
|
/* 0273DE90 */ cpu->r[25] = cpu->r[3];
|
|
/* 0273DE94 */ cpu->r[27] = 0x0000000Au;
|
|
/* 0273DE98 */ cpu->r[28] = cpu->r[26];
|
|
/* 0273DE9C */ cpu->r[30] = cpu->r[30] + 0xFFFF8430u;
|
|
/* 0273DEA0 */ cpu->r[31] = 0x10100000u;
|
|
/* 0273DEA4 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0273DEA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273DEA8 */ cpu->r[29] = 0x10100000u;
|
|
/* 0273DEAC */ cpu->r[31] = cpu->r[31] + 0xFFFF8420u;
|
|
/* 0273DEB0 */ cpu->r[29] = cpu->r[29] + 0xFFFF8270u;
|
|
L_0273DEB4: ; // 0x273deb4
|
|
/* 0273DEB4 */ _t2 = cpu->r[25] + 0x00000220u;
|
|
/* 0273DEB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0273DEB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0273DEBC */ _t3 = cpu->r[25] + 0x00000224u;
|
|
/* 0273DEBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273DEC0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DEC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273DEC0 */ if (_t5) goto L_0273DEC4; else goto L_0273DEC8;
|
|
L_0273DEC4: ; // 0x273dec4
|
|
/* 0273DEC4 */ cpu->r[12] = cpu->r[12] + cpu->r[28];
|
|
L_0273DEC8: ; // 0x273dec8
|
|
/* 0273DEC8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DEC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 0273DECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0273DED0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0273DED0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0273DED4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273DED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0273DED8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DED8 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0273DEDC */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0273DEDC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 0273DEE0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0273DEE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0273DEE4 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0273DEE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273DEE8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273DEEC */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0273DEF0 */ Gambit_fn_027ECE60(cpu);
|
|
/* 0273DEF4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0273DEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273DEF8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0273DEFC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0273DF00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273DF00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0273DF00 */ if (_t14) goto L_0273DF04; else goto L_0273DEB4;
|
|
L_0273DF04: ; // 0x273df04
|
|
/* 0273DF04 */ /* nop */
|
|
/* 0273DF08 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0273DF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0273DF0C */ cpu->lr = cpu->r[0];
|
|
/* 0273DF10 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0273DF14 */ return;
|
|
}
|
|
|
|
// fn_0273DF18 @ 0x273df18
|
|
void Gambit_fn_0273DF18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0273DF18: ; // 0x273df18
|
|
/* 0273DF18 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 0273DF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273DF18 */ cpu->r[1] = _t0;
|
|
/* 0273DF1C */ /* nop */
|
|
/* 0273DF20 */ cpu->r[0] = cpu->lr;
|
|
/* 0273DF24 */ cpu->r[18] = 0x00000000u;
|
|
/* 0273DF28 */ cpu->r[26] = 0x10100000u;
|
|
/* 0273DF2C */ cpu->r[21] = 0x10100000u;
|
|
/* 0273DF30 */ cpu->r[27] = 0x10100000u;
|
|
/* 0273DF34 */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 0273DF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273DF38 */ cpu->r[30] = 0x10110000u;
|
|
/* 0273DF3C */ cpu->r[22] = cpu->r[3];
|
|
/* 0273DF40 */ cpu->r[23] = 0x0000000Au;
|
|
/* 0273DF44 */ cpu->r[31] = cpu->r[1] + 0x00000048u;
|
|
/* 0273DF48 */ cpu->r[24] = cpu->r[18];
|
|
/* 0273DF4C */ cpu->r[25] = 0x00000020u;
|
|
/* 0273DF50 */ cpu->r[26] = cpu->r[26] + 0xFFFF8270u;
|
|
/* 0273DF54 */ cpu->r[21] = cpu->r[21] + 0xFFFF8460u;
|
|
/* 0273DF58 */ cpu->r[20] = 0x10100000u;
|
|
/* 0273DF5C */ cpu->r[27] = cpu->r[27] + 0xFFFF82D0u;
|
|
/* 0273DF60 */ cpu->r[19] = 0x10100000u;
|
|
/* 0273DF64 */ _t2 = cpu->r[30] + 0x00007399u;
|
|
/* 0273DF64 */ cpu->r[30] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0273DF68 */ cpu->r[29] = cpu->r[1] + 0x0000001Cu;
|
|
L_0273DF6C: ; // 0x273df6c
|
|
/* 0273DF6C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273DF6C */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 0273DF70 */ cpu->r[5] = cpu->r[18];
|
|
/* 0273DF74 */ _t4 = cpu->r[29] + 0x0000001Fu;
|
|
/* 0273DF74 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[30]);
|
|
/* 0273DF78 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273DF7C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0273DF7C */ rbrew_write32(cpu->mem, _t5, cpu->r[25]);
|
|
/* 0273DF80 */ cpu->r[4] = cpu->r[20] + 0xFFFF8454u;
|
|
/* 0273DF84 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0273DF84 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0273DF88 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 0273DF88 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 0273DF8C */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0273DF8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0273DF8C */ if (_t9) goto L_0273DF90; // else: addr-0 trap, fall-through
|
|
L_0273DF90: ; // 0x273df90
|
|
/* 0273DF90 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0273DF94 */ cpu->r[5] = cpu->r[18];
|
|
/* 0273DF98 */ _t10 = cpu->r[1] + 0x00000040u;
|
|
/* 0273DF98 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 0273DF9C */ _t11 = cpu->r[31] + 0x0000001Fu;
|
|
/* 0273DF9C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
|
|
/* 0273DFA0 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273DFA4 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0273DFA4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
/* 0273DFA8 */ _t13 = cpu->r[1] + 0x00000044u;
|
|
/* 0273DFA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[25]);
|
|
/* 0273DFAC */ cpu->r[4] = cpu->r[19] + 0xFFFF843Cu;
|
|
/* 0273DFB0 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273DFB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0273DFB4 */ _t15 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0273DFB4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273DFB4 */ if (_t16) goto L_0273DFB8; // else: addr-0 trap, fall-through
|
|
L_0273DFB8: ; // 0x273dfb8
|
|
/* 0273DFB8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0273DFBC */ _t17 = cpu->r[22] + 0x00000228u;
|
|
/* 0273DFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273DFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
|
|
/* 0273DFC4 */ _t18 = cpu->r[22] + 0x0000022Cu;
|
|
/* 0273DFC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273DFC8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DFC8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0273DFC8 */ if (_t20) goto L_0273DFCC; else goto L_0273DFD0;
|
|
L_0273DFCC: ; // 0x273dfcc
|
|
/* 0273DFCC */ cpu->r[28] = cpu->r[28] + cpu->r[24];
|
|
L_0273DFD0: ; // 0x273dfd0
|
|
/* 0273DFD0 */ cpu->r[4] = cpu->r[22];
|
|
/* 0273DFD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273DFD8 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273DFDC */ Gambit_fn_020A7150(cpu);
|
|
/* 0273DFE0 */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 0273DFE0 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 0273DFE4 */ _t22 = cpu->r[22] + 0x00000230u;
|
|
/* 0273DFE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0273DFE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[12]);
|
|
/* 0273DFEC */ _t23 = cpu->r[22] + 0x00000234u;
|
|
/* 0273DFEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0273DFF0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273DFF0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0273DFF0 */ if (_t25) goto L_0273DFF4; else goto L_0273DFF8;
|
|
L_0273DFF4: ; // 0x273dff4
|
|
/* 0273DFF4 */ cpu->r[28] = cpu->r[28] + cpu->r[24];
|
|
L_0273DFF8: ; // 0x273dff8
|
|
/* 0273DFF8 */ cpu->r[4] = cpu->r[22];
|
|
/* 0273DFFC */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0273E000 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E000 */ rbrew_write32(cpu->mem, _t26, cpu->r[21]);
|
|
/* 0273E004 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E008 */ cpu->r[3] = 0x00000000u;
|
|
/* 0273E00C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E00C */ rbrew_write32(cpu->mem, _t27, cpu->r[26]);
|
|
/* 0273E010 */ Gambit_fn_020E6D50(cpu);
|
|
/* 0273E014 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 0273E014 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0273E018 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0273E018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0273E01C */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 0273E020 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 0273E024 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E024 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0273E024 */ if (_t30) goto L_0273E028; else goto L_0273DF6C;
|
|
L_0273E028: ; // 0x273e028
|
|
/* 0273E028 */ /* nop */
|
|
/* 0273E02C */ _t31 = cpu->r[1] + 0x000000A4u;
|
|
/* 0273E02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0273E030 */ cpu->lr = cpu->r[0];
|
|
/* 0273E034 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0273E038 */ return;
|
|
}
|
|
|
|
// fn_0273E03C @ 0x273e03c
|
|
void Gambit_fn_0273E03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_0273E03C: ; // 0x273e03c
|
|
/* 0273E03C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0273E03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E03C */ cpu->r[1] = _t0;
|
|
/* 0273E040 */ /* nop */
|
|
/* 0273E044 */ cpu->r[0] = cpu->lr;
|
|
/* 0273E048 */ cpu->r[25] = 0x10100000u;
|
|
/* 0273E04C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273E04C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0273E050 */ cpu->r[25] = cpu->r[25] + 0xFFFF8270u;
|
|
/* 0273E054 */ cpu->r[9] = 0x10100000u;
|
|
/* 0273E058 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E058 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 0273E05C */ cpu->r[26] = cpu->r[4];
|
|
/* 0273E060 */ cpu->r[9] = cpu->r[9] + 0xFFFF8470u;
|
|
/* 0273E064 */ _t3 = cpu->r[26] + 0x00000088u;
|
|
/* 0273E064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273E068 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0273E068 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273E06C */ _t5 = cpu->r[10] + 0x00000014u;
|
|
/* 0273E06C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273E070 */ cpu->ctr = cpu->r[11];
|
|
/* 0273E074 */ cpu->r[3] = cpu->r[26] + 0x00000084u;
|
|
/* 0273E078 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273E07C */ cpu->r[31] = 0x10110000u;
|
|
/* 0273E080 */ _t6 = cpu->r[26] + 0x00000084u;
|
|
/* 0273E080 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273E084 */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 0273E084 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0273E088 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 0273E088 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0273E08C */ cpu->r[30] = 0x00000000u;
|
|
/* 0273E090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0273E094 */ cpu->r[6] = 0x00080000u;
|
|
/* 0273E098 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E098 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0273E098 */ if (_t10) goto L_0273E0C0; else goto L_0273E09C;
|
|
L_0273E09C: ; // 0x273e09c
|
|
/* 0273E09C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0273E0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0273E0A4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0273E0A8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273E0A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0273E0A8 */ if (_t12) goto L_0273E0BC; else goto L_0273E0AC;
|
|
L_0273E0AC: ; // 0x273e0ac
|
|
/* 0273E0AC */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 0273E0AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0273E0B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0273E0B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E0B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0273E0B4 */ if (_t15) goto L_0273E0B8; else goto L_0273E09C;
|
|
L_0273E0B8: ; // 0x273e0b8
|
|
/* 0273E0B8 */ goto L_0273E0C0;
|
|
L_0273E0BC: ; // 0x273e0bc
|
|
/* 0273E0BC */ cpu->r[30] = 0x00000000u;
|
|
L_0273E0C0: ; // 0x273e0c0
|
|
/* 0273E0C0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E0C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0273E0C4 */ _t17 = cpu->r[6] + 0x00000014u;
|
|
/* 0273E0C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273E0C8 */ cpu->ctr = cpu->r[7];
|
|
/* 0273E0CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E0D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273E0D4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0273E0D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273E0D8 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 0273E0D8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0273E0DC */ cpu->r[4] = 0x00080000u;
|
|
/* 0273E0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0273E0E4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0273E0E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E0E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0273E0E8 */ if (_t21) goto L_0273E110; else goto L_0273E0EC;
|
|
L_0273E0EC: ; // 0x273e0ec
|
|
/* 0273E0EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0273E0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 0273E0F4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0273E0F8 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273E0F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0273E0F8 */ if (_t23) goto L_0273E10C; else goto L_0273E0FC;
|
|
L_0273E0FC: ; // 0x273e0fc
|
|
/* 0273E0FC */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0273E0FC */ cpu->r[9] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0273E100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0273E104 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E104 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0273E104 */ if (_t26) goto L_0273E108; else goto L_0273E0EC;
|
|
L_0273E108: ; // 0x273e108
|
|
/* 0273E108 */ goto L_0273E110;
|
|
L_0273E10C: ; // 0x273e10c
|
|
/* 0273E10C */ cpu->r[29] = 0x00000000u;
|
|
L_0273E110: ; // 0x273e110
|
|
/* 0273E110 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0273E110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E114 */ cpu->r[28] = 0x00000000u;
|
|
/* 0273E118 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0273E118 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0273E118 */ if (_t28) goto L_0273E1DC; else goto L_0273E11C;
|
|
L_0273E11C: ; // 0x273e11c
|
|
/* 0273E11C */ _t29 = cpu->r[26] + 0x00000084u;
|
|
/* 0273E11C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0273E120 */ cpu->r[27] = cpu->r[29];
|
|
/* 0273E124 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E124 */ rbrew_write32(cpu->mem, _t30, cpu->r[25]);
|
|
/* 0273E128 */ cpu->r[0] = cpu->r[11] + cpu->r[28];
|
|
/* 0273E12C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0273E130 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E130 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0273E134 */ Gambit_fn_0273E3B0(cpu);
|
|
/* 0273E138 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0273E13C */ _t33 = cpu->r[12] + 0x00000014u;
|
|
/* 0273E13C */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0273E140 */ cpu->ctr = cpu->r[5];
|
|
/* 0273E144 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0273E148 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273E14C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E14C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0273E150 */ _t35 = cpu->r[7] + 0x00000014u;
|
|
/* 0273E150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0273E154 */ cpu->ctr = cpu->r[8];
|
|
/* 0273E158 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E158 */ cpu->r[24] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0273E15C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0273E164 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0273E164 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0273E168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[9]);
|
|
/* 0273E16C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E16C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0273E16C */ if (_t39) goto L_0273E1C0; else goto L_0273E170;
|
|
L_0273E170: ; // 0x273e170
|
|
/* 0273E170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0273E174 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273E174 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0273E174 */ if (_t41) goto L_0273E178; else goto L_0273E1C0;
|
|
L_0273E178: ; // 0x273e178
|
|
/* 0273E178 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 0273E178 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0273E17C */ cpu->ctr = cpu->r[27];
|
|
/* 0273E180 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
L_0273E184: ; // 0x273e184
|
|
/* 0273E184 */ _t44 = cpu->r[6] + 0x00000000u;
|
|
/* 0273E184 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0273E188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0273E18C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E18C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0273E18C */ if (_t46) goto L_0273E190; else goto L_0273E1A0;
|
|
L_0273E190: ; // 0x273e190
|
|
/* 0273E190 */ _t47 = cpu->r[4] + 0x00000000u;
|
|
/* 0273E190 */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0273E194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0273E198 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E198 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0273E198 */ if (_t49) goto L_0273E1C0; else goto L_0273E19C;
|
|
L_0273E19C: ; // 0x273e19c
|
|
/* 0273E19C */ goto L_0273E1D0;
|
|
L_0273E1A0: ; // 0x273e1a0
|
|
/* 0273E1A0 */ _t50 = cpu->r[4] + 0x00000000u;
|
|
/* 0273E1A0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0273E1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0273E1A8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E1A8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0273E1A8 */ if (_t52) goto L_0273E1D0; else goto L_0273E1AC;
|
|
L_0273E1AC: ; // 0x273e1ac
|
|
/* 0273E1AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0273E1B0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E1B0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0273E1B0 */ if (_t54) goto L_0273E1B4; else goto L_0273E1D0;
|
|
L_0273E1B4: ; // 0x273e1b4
|
|
/* 0273E1B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0273E1B8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0273E1BC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0273E1BC */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0273E1BC */ _t56 = _t55 >> (0x00000002u & 31u);
|
|
/* 0273E1BC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0273E1BC */ if (_t57) goto L_0273E184; else goto L_0273E1C0;
|
|
L_0273E1C0: ; // 0x273e1c0
|
|
/* 0273E1C0 */ _t58 = cpu->r[28] | cpu->r[28];
|
|
/* 0273E1C0 */ cpu->r[11] = ~_t58;
|
|
/* 0273E1C4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0273E1C8 */ cpu->r[3] = cpu->r[11] - cpu->r[0];
|
|
/* 0273E1CC */ goto L_0273E1E8;
|
|
L_0273E1D0: ; // 0x273e1d0
|
|
/* 0273E1D0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0273E1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 0273E1D8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0273E1D8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0273E1D8 */ if (_t60) goto L_0273E1DC; else goto L_0273E11C;
|
|
L_0273E1DC: ; // 0x273e1dc
|
|
/* 0273E1DC */ cpu->r[11] = 0x00000000u;
|
|
/* 0273E1E0 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0273E1E4 */ cpu->r[3] = ~cpu->r[0];
|
|
L_0273E1E8: ; // 0x273e1e8
|
|
/* 0273E1E8 */ /* nop */
|
|
/* 0273E1EC */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0273E1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0273E1F0 */ cpu->lr = cpu->r[0];
|
|
/* 0273E1F4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0273E1F8 */ return;
|
|
}
|
|
|
|
// fn_0273E1FC @ 0x273e1fc
|
|
void Gambit_fn_0273E1FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273E1FC: ; // 0x273e1fc
|
|
/* 0273E1FC */ cpu->r[0] = cpu->lr;
|
|
/* 0273E200 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273E200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E200 */ cpu->r[1] = _t0;
|
|
/* 0273E204 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E204 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273E208 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273E20C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E20C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273E210 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273E214 */ _t3 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273E218 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0273E218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273E21C */ Gambit_fn_020EA9C4(cpu);
|
|
/* 0273E220 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273E224 */ _t6 = cpu->r[31] + 0x00000248u;
|
|
/* 0273E224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273E228 */ Gambit_fn_020EB88C(cpu);
|
|
/* 0273E22C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273E230 */ _t7 = cpu->r[12] + 0xFFFF8478u;
|
|
/* 0273E230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0273E234 */ _t8 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273E238 */ _t9 = cpu->r[12] + 0x000000BCu;
|
|
/* 0273E238 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0273E23C */ _t10 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E23C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273E240 */ cpu->r[0] = 0x00000064u;
|
|
/* 0273E244 */ _t11 = cpu->r[12] + 0x000000C5u;
|
|
/* 0273E244 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0273E248 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273E24C */ cpu->lr = cpu->r[0];
|
|
/* 0273E250 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273E254 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E258 */ return;
|
|
}
|
|
|
|
// fn_0273E200 @ 0x273e200
|
|
void Gambit_fn_0273E200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273E200: ; // 0x273e200
|
|
/* 0273E200 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273E200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E200 */ cpu->r[1] = _t0;
|
|
/* 0273E204 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E204 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273E208 */ cpu->r[31] = cpu->r[3];
|
|
/* 0273E20C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E20C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0273E210 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0273E214 */ _t3 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0273E218 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0273E218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0273E21C */ Gambit_fn_020EA9C4(cpu);
|
|
/* 0273E220 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273E224 */ _t6 = cpu->r[31] + 0x00000248u;
|
|
/* 0273E224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0273E228 */ Gambit_fn_020EB88C(cpu);
|
|
/* 0273E22C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273E230 */ _t7 = cpu->r[12] + 0xFFFF8478u;
|
|
/* 0273E230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0273E234 */ _t8 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0273E238 */ _t9 = cpu->r[12] + 0x000000BCu;
|
|
/* 0273E238 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0273E23C */ _t10 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0273E23C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0273E240 */ cpu->r[0] = 0x00000064u;
|
|
/* 0273E244 */ _t11 = cpu->r[12] + 0x000000C5u;
|
|
/* 0273E244 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0273E248 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273E24C */ cpu->lr = cpu->r[0];
|
|
/* 0273E250 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0273E254 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E258 */ return;
|
|
}
|
|
|
|
// fn_0273E25C @ 0x273e25c
|
|
void Gambit_fn_0273E25C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_020EBE7C: ; // 0x20ebe7c
|
|
/* 020EBE7C */ cpu->r[0] = cpu->lr;
|
|
/* 020EBE80 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 020EBE80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 020EBE84 */ cpu->r[10] = cpu->r[3];
|
|
/* 020EBE88 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 020EBE88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 020EBE88 */ cpu->r[1] = _t1;
|
|
/* 020EBE8C */ Gambit_fn_020E9150(cpu);
|
|
/* 020EBE90 */ _t2 = cpu->r[10] + 0x0000000Cu;
|
|
/* 020EBE90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 020EBE94 */ _t3 = cpu->r[12] + 0x00000100u;
|
|
/* 020EBE94 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[3]);
|
|
/* 020EBE98 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020EBE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020EBE9C */ cpu->lr = cpu->r[0];
|
|
/* 020EBEA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 020EBEA4 */ return;
|
|
L_0273E25C: ; // 0x273e25c
|
|
/* 0273E25C */ _t5 = cpu->r[3] + 0x0000021Cu;
|
|
/* 0273E25C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0273E260 */ goto L_020EBE7C;
|
|
}
|
|
|
|
// fn_0273E264 @ 0x273e264
|
|
void Gambit_fn_0273E264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_020EB784: ; // 0x20eb784
|
|
/* 020EB784 */ cpu->r[0] = cpu->lr;
|
|
/* 020EB788 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020EB788 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020EB788 */ cpu->r[1] = _t0;
|
|
/* 020EB78C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020EB78C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020EB790 */ cpu->r[31] = cpu->r[3];
|
|
/* 020EB794 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020EB794 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020EB798 */ Gambit_fn_020E9150(cpu);
|
|
/* 020EB79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 020EB7A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020EB7A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 020EB7A0 */ if (_t4) goto L_020EB7DC; else goto L_020EB7A4;
|
|
L_020EB7A4: ; // 0x20eb7a4
|
|
/* 020EB7A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020EB7A8 */ Gambit_fn_020EAB2C(cpu);
|
|
/* 020EB7AC */ cpu->r[3] = cpu->r[31];
|
|
/* 020EB7B0 */ Gambit_fn_020EA798(cpu);
|
|
/* 020EB7B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020EB7B8 */ Gambit_fn_020EB2B8(cpu);
|
|
/* 020EB7BC */ _t5 = cpu->r[31] + 0x00000076u;
|
|
/* 020EB7BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 020EB7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020EB7C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020EB7C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020EB7C4 */ if (_t7) goto L_020EB7DC; else goto L_020EB7C8;
|
|
L_020EB7C8: ; // 0x20eb7c8
|
|
/* 020EB7C8 */ _t8 = cpu->r[31] + 0x00000075u;
|
|
/* 020EB7C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 020EB7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 020EB7D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020EB7D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 020EB7D0 */ if (_t10) goto L_020EB7DC; else goto L_020EB7D4;
|
|
L_020EB7D4: ; // 0x20eb7d4
|
|
/* 020EB7D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 020EB7D8 */ _t11 = cpu->r[31] + 0x00000075u;
|
|
/* 020EB7D8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_020EB7DC: ; // 0x20eb7dc
|
|
/* 020EB7DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020EB7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020EB7E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020EB7E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020EB7E4 */ cpu->lr = cpu->r[0];
|
|
/* 020EB7E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020EB7EC */ return;
|
|
L_0273E264: ; // 0x273e264
|
|
/* 0273E264 */ _t14 = cpu->r[3] + 0x0000021Cu;
|
|
/* 0273E264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0273E268 */ goto L_020EB784;
|
|
}
|
|
|
|
// fn_0273E26C @ 0x273e26c
|
|
void Gambit_fn_0273E26C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273E26C: ; // 0x273e26c
|
|
/* 0273E26C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0273E270 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273E270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E270 */ cpu->r[1] = _t0;
|
|
/* 0273E274 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273E278 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273E27C */ _t1 = cpu->r[10] + 0x00000918u;
|
|
/* 0273E27C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273E27C */ cpu->r[10] = _t1;
|
|
/* 0273E280 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273E284 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273E284 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273E288 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273E28C */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273E290 */ _t3 = cpu->r[7] + 0x00000928u;
|
|
/* 0273E290 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273E290 */ cpu->r[7] = _t3;
|
|
/* 0273E294 */ _t4 = cpu->r[8] + 0x00000920u;
|
|
/* 0273E294 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273E294 */ cpu->r[8] = _t4;
|
|
/* 0273E298 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273E29C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273E29C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273E2A0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273E2A4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273E2A8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273E2AC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273E2AC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273E2B0 */ _t8 = cpu->r[8] + 0x00000938u;
|
|
/* 0273E2B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273E2B0 */ cpu->r[8] = _t8;
|
|
/* 0273E2B4 */ _t9 = cpu->r[12] + 0x00000930u;
|
|
/* 0273E2B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273E2B4 */ cpu->r[12] = _t9;
|
|
/* 0273E2B8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273E2B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273E2BC */ cpu->r[0] = 0x00000004u;
|
|
/* 0273E2C0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273E2C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273E2C4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273E2C8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273E2CC */ _t13 = cpu->r[11] + 0x00000940u;
|
|
/* 0273E2CC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273E2D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273E2D4 */ return;
|
|
}
|
|
|
|
// fn_0273E270 @ 0x273e270
|
|
void Gambit_fn_0273E270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0273E270: ; // 0x273e270
|
|
/* 0273E270 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0273E270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E270 */ cpu->r[1] = _t0;
|
|
/* 0273E274 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0273E278 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0273E27C */ _t1 = cpu->r[10] + 0x00000918u;
|
|
/* 0273E27C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0273E27C */ cpu->r[10] = _t1;
|
|
/* 0273E280 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0273E284 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0273E284 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0273E288 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0273E28C */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273E290 */ _t3 = cpu->r[7] + 0x00000928u;
|
|
/* 0273E290 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0273E290 */ cpu->r[7] = _t3;
|
|
/* 0273E294 */ _t4 = cpu->r[8] + 0x00000920u;
|
|
/* 0273E294 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0273E294 */ cpu->r[8] = _t4;
|
|
/* 0273E298 */ cpu->r[0] = 0x00000002u;
|
|
/* 0273E29C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0273E29C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0273E2A0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0273E2A4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0273E2A8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0273E2AC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0273E2AC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0273E2B0 */ _t8 = cpu->r[8] + 0x00000938u;
|
|
/* 0273E2B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0273E2B0 */ cpu->r[8] = _t8;
|
|
/* 0273E2B4 */ _t9 = cpu->r[12] + 0x00000930u;
|
|
/* 0273E2B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0273E2B4 */ cpu->r[12] = _t9;
|
|
/* 0273E2B8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0273E2B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0273E2BC */ cpu->r[0] = 0x00000004u;
|
|
/* 0273E2C0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0273E2C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0273E2C4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0273E2C8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0273E2CC */ _t13 = cpu->r[11] + 0x00000940u;
|
|
/* 0273E2CC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0273E2D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0273E2D4 */ return;
|
|
}
|
|
|
|
// fn_0273E2D8 @ 0x273e2d8
|
|
void Gambit_fn_0273E2D8(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_0273E2D8: ; // 0x273e2d8
|
|
/* 0273E2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0273E2DC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E2DC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0273E2DC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273E2DC */ goto L_0273E2E0;
|
|
L_0273E2E0: ; // 0x273e2e0
|
|
/* 0273E2E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273E2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0273E2E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E2E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0273E2E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0273E2E4 */ goto L_0273E2E8;
|
|
L_0273E2E8: ; // 0x273e2e8
|
|
/* 0273E2E8 */ 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_0273E2EC @ 0x273e2ec
|
|
void Gambit_fn_0273E2EC(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_0273E2EC: ; // 0x273e2ec
|
|
/* 0273E2EC */ cpu->r[0] = cpu->lr;
|
|
/* 0273E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E2F0 */ cpu->r[1] = _t0;
|
|
/* 0273E2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273E2F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273E2FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0273E2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E300 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273E304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273E308 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E308 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273E308 */ if (_t5) goto L_0273E384; else goto L_0273E30C;
|
|
L_0273E30C: ; // 0x273e30c
|
|
/* 0273E30C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273E310 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E314 */ cpu->r[12] = cpu->r[12] + 0xFFFF8674u;
|
|
/* 0273E318 */ cpu->r[0] = cpu->r[0] + 0xFFFF8654u;
|
|
/* 0273E31C */ cpu->r[11] = 0x10100000u;
|
|
/* 0273E320 */ _t6 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E320 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0273E324 */ cpu->r[11] = cpu->r[11] + 0xFFFF8664u;
|
|
/* 0273E328 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E328 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0273E32C */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E330 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E330 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0273E334 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 0273E338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E33C */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0273E33C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273E340 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E340 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273E340 */ if (_t11) goto L_0273E374; else goto L_0273E344;
|
|
L_0273E344: ; // 0x273e344
|
|
/* 0273E344 */ cpu->r[9] = 0x10010000u;
|
|
/* 0273E348 */ cpu->r[10] = 0x10010000u;
|
|
/* 0273E34C */ cpu->r[0] = 0x10010000u;
|
|
/* 0273E350 */ cpu->r[9] = cpu->r[9] + 0x00004554u;
|
|
/* 0273E354 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0273E358 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E358 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0273E35C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0273E360 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E364 */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E364 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0273E368 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273E36C */ _t14 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E36C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0273E370 */ Gambit_fn_02068798(cpu);
|
|
L_0273E374: ; // 0x273e374
|
|
/* 0273E374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273E374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273E378 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E378 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273E378 */ if (_t16) goto L_0273E384; else goto L_0273E37C;
|
|
L_0273E37C: ; // 0x273e37c
|
|
/* 0273E37C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E380 */ Gambit_fn_02801BB0(cpu);
|
|
L_0273E384: ; // 0x273e384
|
|
/* 0273E384 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273E388 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273E38C */ cpu->lr = cpu->r[0];
|
|
/* 0273E390 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273E394 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E398 */ return;
|
|
}
|
|
|
|
// fn_0273E2F0 @ 0x273e2f0
|
|
void Gambit_fn_0273E2F0(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_0273E2F0: ; // 0x273e2f0
|
|
/* 0273E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0273E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0273E2F0 */ cpu->r[1] = _t0;
|
|
/* 0273E2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0273E2F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E2F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0273E2FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0273E2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E300 */ cpu->r[31] = cpu->r[4];
|
|
/* 0273E304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0273E308 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E308 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0273E308 */ if (_t5) goto L_0273E384; else goto L_0273E30C;
|
|
L_0273E30C: ; // 0x273e30c
|
|
/* 0273E30C */ cpu->r[12] = 0x10100000u;
|
|
/* 0273E310 */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E314 */ cpu->r[12] = cpu->r[12] + 0xFFFF8674u;
|
|
/* 0273E318 */ cpu->r[0] = cpu->r[0] + 0xFFFF8654u;
|
|
/* 0273E31C */ cpu->r[11] = 0x10100000u;
|
|
/* 0273E320 */ _t6 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E320 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0273E324 */ cpu->r[11] = cpu->r[11] + 0xFFFF8664u;
|
|
/* 0273E328 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E328 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0273E32C */ cpu->r[0] = 0x10100000u;
|
|
/* 0273E330 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E330 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0273E334 */ cpu->r[0] = cpu->r[0] + 0xFFFF86ECu;
|
|
/* 0273E338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0273E33C */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0273E33C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0273E340 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E340 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0273E340 */ if (_t11) goto L_0273E374; else goto L_0273E344;
|
|
L_0273E344: ; // 0x273e344
|
|
/* 0273E344 */ cpu->r[9] = 0x10010000u;
|
|
/* 0273E348 */ cpu->r[10] = 0x10010000u;
|
|
/* 0273E34C */ cpu->r[0] = 0x10010000u;
|
|
/* 0273E350 */ cpu->r[9] = cpu->r[9] + 0x00004554u;
|
|
/* 0273E354 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0273E358 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0273E358 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0273E35C */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0273E360 */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E364 */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0273E364 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 0273E368 */ cpu->r[4] = 0x00000000u;
|
|
/* 0273E36C */ _t14 = cpu->r[30] + 0x000001C8u;
|
|
/* 0273E36C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0273E370 */ Gambit_fn_02068798(cpu);
|
|
L_0273E374: ; // 0x273e374
|
|
/* 0273E374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0273E374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0273E378 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0273E378 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0273E378 */ if (_t16) goto L_0273E384; else goto L_0273E37C;
|
|
L_0273E37C: ; // 0x273e37c
|
|
/* 0273E37C */ cpu->r[3] = cpu->r[30];
|
|
/* 0273E380 */ Gambit_fn_02801BB0(cpu);
|
|
L_0273E384: ; // 0x273e384
|
|
/* 0273E384 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0273E384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0273E388 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0273E388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0273E38C */ cpu->lr = cpu->r[0];
|
|
/* 0273E390 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0273E390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0273E394 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0273E398 */ return;
|
|
}
|
|
|
|
// fn_0273E39C @ 0x273e39c
|
|
void Gambit_fn_0273E39C(CPUState* cpu) {
|
|
L_0273E39C: ; // 0x273e39c
|
|
/* 0273E39C */ return;
|
|
}
|
|
|
|
// fn_0273E3A0 @ 0x273e3a0
|
|
void Gambit_fn_0273E3A0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0273E3A0: ; // 0x273e3a0
|
|
/* 0273E3A0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0273E3A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273E3A4 */ return;
|
|
}
|
|
|
|
// fn_0273E3A8 @ 0x273e3a8
|
|
void Gambit_fn_0273E3A8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0273E3A8: ; // 0x273e3a8
|
|
/* 0273E3A8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0273E3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0273E3AC */ return;
|
|
}
|
|
|