mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
28710 lines
1.5 MiB
Plaintext
28710 lines
1.5 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_025703AC @ 0x25703ac
|
|
void Gambit_fn_025703AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_025703AC: ; // 0x25703ac
|
|
/* 025703AC */ cpu->r[10] = 0x101D0000u;
|
|
/* 025703B0 */ _t0 = cpu->r[10] + 0xFFFFEB0Cu;
|
|
/* 025703B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025703B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025703B8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025703BC */ cpu->r[10] = cpu->r[10] + 0x00000924u;
|
|
/* 025703C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025703C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025703C0 */ if (_t2) goto L_025703C4; else goto L_025703DC;
|
|
L_025703C4: ; // 0x25703c4
|
|
/* 025703C4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025703C8 */ cpu->r[9] = 0x00000001u;
|
|
/* 025703CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 025703D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE65Cu;
|
|
/* 025703D4 */ _t3 = cpu->r[11] + 0xFFFFEB0Cu;
|
|
/* 025703D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 025703D8 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 025703D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_025703DC: ; // 0x25703dc
|
|
/* 025703DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 025703E0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025703E0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025703E0 */ if (_t6) goto L_025703E4; else goto L_025703EC;
|
|
L_025703E4: ; // 0x25703e4
|
|
/* 025703E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 025703E8 */ return;
|
|
L_025703EC: ; // 0x25703ec
|
|
/* 025703EC */ cpu->r[9] = 0x101D0000u;
|
|
/* 025703F0 */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 025703F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025703F4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025703F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025703FC */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 02570400 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570400 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02570400 */ if (_t9) goto L_02570404; else goto L_0257041C;
|
|
L_02570404: ; // 0x2570404
|
|
/* 02570404 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02570408 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257040C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02570410 */ cpu->r[9] = cpu->r[9] + 0xFFFFE62Cu;
|
|
/* 02570414 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 02570414 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02570418 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02570418 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_0257041C: ; // 0x257041c
|
|
/* 0257041C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02570420 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570420 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02570420 */ if (_t13) goto L_02570424; else goto L_0257042C;
|
|
L_02570424: ; // 0x2570424
|
|
/* 02570424 */ cpu->r[0] = 0x00000001u;
|
|
/* 02570428 */ goto L_025704E4;
|
|
L_0257042C: ; // 0x257042c
|
|
/* 0257042C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02570430 */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02570430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02570434 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02570438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0257043C */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 02570440 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570440 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02570440 */ if (_t16) goto L_02570444; else goto L_0257045C;
|
|
L_02570444: ; // 0x2570444
|
|
/* 02570444 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02570448 */ cpu->r[10] = 0x00000001u;
|
|
/* 0257044C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02570450 */ cpu->r[11] = cpu->r[11] + 0xFFFFE61Cu;
|
|
/* 02570454 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02570454 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02570458 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02570458 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0257045C: ; // 0x257045c
|
|
/* 0257045C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02570460 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570460 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02570460 */ if (_t20) goto L_02570464; else goto L_0257046C;
|
|
L_02570464: ; // 0x2570464
|
|
/* 02570464 */ cpu->r[0] = 0x00000001u;
|
|
/* 02570468 */ goto L_025704E0;
|
|
L_0257046C: ; // 0x257046c
|
|
/* 0257046C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02570470 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02570470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02570470 */ cpu->r[9] = _t21;
|
|
/* 02570474 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02570478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257047C */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02570480 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570480 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02570480 */ if (_t23) goto L_02570484; else goto L_02570498;
|
|
L_02570484: ; // 0x2570484
|
|
/* 02570484 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02570488 */ cpu->r[11] = 0x00000001u;
|
|
/* 0257048C */ cpu->r[0] = cpu->r[0] + 0xFFFFE60Cu;
|
|
/* 02570490 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02570490 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02570494 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02570494 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02570498: ; // 0x2570498
|
|
/* 02570498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0257049C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257049C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0257049C */ if (_t27) goto L_025704A0; else goto L_025704A8;
|
|
L_025704A0: ; // 0x25704a0
|
|
/* 025704A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025704A4 */ goto L_025704E0;
|
|
L_025704A8: ; // 0x25704a8
|
|
/* 025704A8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025704AC */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 025704AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025704AC */ cpu->r[10] = _t28;
|
|
/* 025704B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025704B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025704B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 025704BC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025704BC */ _t30 = _t29 & 0x00000001u;
|
|
/* 025704BC */ if (_t30) goto L_025704C0; else goto L_025704D4;
|
|
L_025704C0: ; // 0x25704c0
|
|
/* 025704C0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025704C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025704C8 */ cpu->r[9] = cpu->r[9] + 0xFFFFE59Cu;
|
|
/* 025704CC */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 025704CC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 025704D0 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 025704D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_025704D4: ; // 0x25704d4
|
|
/* 025704D4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 025704D8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 025704DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_025704E0: ; // 0x25704e0
|
|
/* 025704E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_025704E4: ; // 0x25704e4
|
|
/* 025704E4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025704E8 */ return;
|
|
}
|
|
|
|
// fn_025704EC @ 0x25704ec
|
|
void Gambit_fn_025704EC(CPUState* cpu) {
|
|
L_025704EC: ; // 0x25704ec
|
|
/* 025704EC */ return;
|
|
}
|
|
|
|
// fn_025704F0 @ 0x25704f0
|
|
void Gambit_fn_025704F0(CPUState* cpu) {
|
|
L_025704F0: ; // 0x25704f0
|
|
/* 025704F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 025704F4 */ return;
|
|
}
|
|
|
|
// fn_025704F8 @ 0x25704f8
|
|
void Gambit_fn_025704F8(CPUState* cpu) {
|
|
L_025704F8: ; // 0x25704f8
|
|
/* 025704F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025704FC */ return;
|
|
}
|
|
|
|
// fn_02570500 @ 0x2570500
|
|
void Gambit_fn_02570500(CPUState* cpu) {
|
|
L_02570500: ; // 0x2570500
|
|
/* 02570500 */ cpu->r[3] = 0xFFFFFF9Cu;
|
|
/* 02570504 */ return;
|
|
}
|
|
|
|
// fn_02570508 @ 0x2570508
|
|
void Gambit_fn_02570508(CPUState* cpu) {
|
|
L_02570508: ; // 0x2570508
|
|
/* 02570508 */ return;
|
|
}
|
|
|
|
// fn_02570514 @ 0x2570514
|
|
void Gambit_fn_02570514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02061CF0: ; // 0x2061cf0
|
|
/* 02061CF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02061CF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02061CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061CF4 */ cpu->r[1] = _t0;
|
|
/* 02061CF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061CF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02061CFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02061D00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02061D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02061D04 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02061D04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02061D08 */ cpu->r[12] = 0x00000000u;
|
|
/* 02061D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061D10 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02061D10 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02061D14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061D14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02061D14 */ if (_t6) goto L_02061D3C; else goto L_02061D18;
|
|
L_02061D18: ; // 0x2061d18
|
|
/* 02061D18 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02061D18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02061D1C */ /* nop */
|
|
/* 02061D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02061D24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061D24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02061D24 */ if (_t9) goto L_02061D28; else goto L_02061D3C;
|
|
L_02061D28: ; // 0x2061d28
|
|
/* 02061D28 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02061D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02061D2C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02061D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02061D30 */ cpu->ctr = cpu->r[0];
|
|
/* 02061D34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02061D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02061D3C: ; // 0x2061d3c
|
|
/* 02061D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02061D40 */ Gambit_fn_02061C68(cpu);
|
|
/* 02061D44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02061D48 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02061D4C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02061D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02061D50 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061D50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02061D54 */ cpu->lr = cpu->r[0];
|
|
/* 02061D58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02061D5C */ return;
|
|
L_02570514: ; // 0x2570514
|
|
/* 02570514 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 02570518 */ goto L_02061CF0;
|
|
}
|
|
|
|
// fn_0257051C @ 0x257051c
|
|
void Gambit_fn_0257051C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0257051C: ; // 0x257051c
|
|
/* 0257051C */ cpu->r[0] = cpu->lr;
|
|
/* 02570520 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02570520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570520 */ cpu->r[1] = _t0;
|
|
/* 02570524 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02570528 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257052C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257052C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02570530 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02570530 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02570534 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02570538 */ /* nop */
|
|
/* 0257053C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02570540 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02570544 */ Gambit_fn_02061BE0(cpu);
|
|
/* 02570548 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02570548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257054C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257054C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02570550 */ cpu->lr = cpu->r[0];
|
|
/* 02570554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02570558 */ return;
|
|
}
|
|
|
|
// fn_02570520 @ 0x2570520
|
|
void Gambit_fn_02570520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02570520: ; // 0x2570520
|
|
/* 02570520 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02570520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570520 */ cpu->r[1] = _t0;
|
|
/* 02570524 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02570528 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257052C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257052C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02570530 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02570530 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02570534 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02570538 */ /* nop */
|
|
/* 0257053C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02570540 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02570544 */ Gambit_fn_02061BE0(cpu);
|
|
/* 02570548 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02570548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257054C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257054C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02570550 */ cpu->lr = cpu->r[0];
|
|
/* 02570554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02570558 */ return;
|
|
}
|
|
|
|
// fn_0257055C @ 0x257055c
|
|
void Gambit_fn_0257055C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0257055C: ; // 0x257055c
|
|
/* 0257055C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02570560 */ _t0 = cpu->r[12] + 0xFFFFEB10u;
|
|
/* 02570560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02570564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02570568 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0257056C */ cpu->r[12] = cpu->r[12] + 0x00000AACu;
|
|
/* 02570570 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570570 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02570570 */ if (_t2) goto L_02570574; else goto L_0257058C;
|
|
L_02570574: ; // 0x2570574
|
|
/* 02570574 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02570578 */ cpu->r[9] = 0x00000001u;
|
|
/* 0257057C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02570580 */ cpu->r[0] = cpu->r[0] + 0xFFFFE64Cu;
|
|
/* 02570584 */ _t3 = cpu->r[8] + 0xFFFFEB10u;
|
|
/* 02570584 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02570588 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02570588 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_0257058C: ; // 0x257058c
|
|
/* 0257058C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02570590 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570590 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02570590 */ if (_t6) goto L_02570594; else goto L_0257059C;
|
|
L_02570594: ; // 0x2570594
|
|
/* 02570594 */ cpu->r[3] = 0x00000001u;
|
|
/* 02570598 */ return;
|
|
L_0257059C: ; // 0x257059c
|
|
/* 0257059C */ cpu->r[11] = 0x101D0000u;
|
|
/* 025705A0 */ _t7 = cpu->r[11] + 0xFFFFE6D4u;
|
|
/* 025705A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025705A0 */ cpu->r[11] = _t7;
|
|
/* 025705A4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025705A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025705AC */ cpu->r[10] = cpu->r[10] + 0x000006A4u;
|
|
/* 025705B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025705B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025705B0 */ if (_t9) goto L_025705B4; else goto L_025705C8;
|
|
L_025705B4: ; // 0x25705b4
|
|
/* 025705B4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025705B8 */ cpu->r[9] = 0x00000001u;
|
|
/* 025705BC */ cpu->r[12] = cpu->r[12] + 0xFFFFE63Cu;
|
|
/* 025705C0 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 025705C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 025705C4 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 025705C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_025705C8: ; // 0x25705c8
|
|
/* 025705C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 025705CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025705CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025705CC */ if (_t13) goto L_025705D0; else goto L_025705D8;
|
|
L_025705D0: ; // 0x25705d0
|
|
/* 025705D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025705D4 */ goto L_02570610;
|
|
L_025705D8: ; // 0x25705d8
|
|
/* 025705D8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025705DC */ _t14 = cpu->r[8] + 0xFFFFDA34u;
|
|
/* 025705DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025705DC */ cpu->r[8] = _t14;
|
|
/* 025705E0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025705E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025705E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDE4u;
|
|
/* 025705EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025705EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025705EC */ if (_t16) goto L_025705F0; else goto L_02570604;
|
|
L_025705F0: ; // 0x25705f0
|
|
/* 025705F0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025705F4 */ cpu->r[9] = 0x00000001u;
|
|
/* 025705F8 */ cpu->r[10] = cpu->r[10] + 0xFFFFE59Cu;
|
|
/* 025705FC */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 025705FC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02570600 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02570600 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02570604: ; // 0x2570604
|
|
/* 02570604 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02570608 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0257060C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02570610: ; // 0x2570610
|
|
/* 02570610 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02570614 */ return;
|
|
}
|
|
|
|
// fn_02570618 @ 0x2570618
|
|
void Gambit_fn_02570618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02570618: ; // 0x2570618
|
|
/* 02570618 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02570618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570618 */ cpu->r[1] = _t0;
|
|
/* 0257061C */ /* nop */
|
|
/* 02570620 */ cpu->r[0] = cpu->lr;
|
|
/* 02570624 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02570624 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02570628 */ cpu->r[29] = cpu->r[6];
|
|
/* 0257062C */ cpu->r[28] = cpu->r[3];
|
|
/* 02570630 */ cpu->r[30] = cpu->r[5];
|
|
/* 02570634 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02570634 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02570638 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0257063C */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0257063C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02570640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570644 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02570644 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02570648 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570648 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02570648 */ if (_t6) goto L_0257068C; else goto L_0257064C;
|
|
L_0257064C: ; // 0x257064c
|
|
/* 0257064C */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0257064C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02570650 */ Gambit_fn_02826F20(cpu);
|
|
/* 02570654 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02570654 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02570658 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02570658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0257065C */ cpu->ctr = cpu->r[0];
|
|
/* 02570660 */ cpu->r[5] = 0x00000004u;
|
|
/* 02570664 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02570668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257066C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570670 */ cpu->r[0] = cpu->r[27];
|
|
/* 02570674 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570674 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02570674 */ if (_t11) goto L_0257067C; else goto L_02570678;
|
|
L_02570678: ; // 0x2570678
|
|
/* 02570678 */ cpu->r[0] = 0x00000001u;
|
|
L_0257067C: ; // 0x257067c
|
|
/* 0257067C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570680 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570680 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02570680 */ if (_t13) goto L_0257068C; else goto L_02570684;
|
|
L_02570684: ; // 0x2570684
|
|
/* 02570684 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02570684 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02570688 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02570688 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0257068C: ; // 0x257068c
|
|
/* 0257068C */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0257068C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02570690 */ cpu->r[0] = 0x00000000u;
|
|
/* 02570694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02570698 */ cpu->r[12] = cpu->r[0];
|
|
/* 0257069C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257069C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0257069C */ if (_t18) goto L_025706A0; else goto L_025706C4;
|
|
L_025706A0: ; // 0x25706a0
|
|
/* 025706A0 */ cpu->ctr = cpu->r[7];
|
|
/* 025706A4 */ cpu->r[10] = 0x00000000u;
|
|
L_025706A8: ; // 0x25706a8
|
|
/* 025706A8 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 025706A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025706AC */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 025706AC */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 025706B0 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 025706B4 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 025706B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 025706B8 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 025706BC */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 025706BC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 025706C0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025706C0 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025706C0 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 025706C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025706C0 */ if (_t25) goto L_025706A8; else goto L_025706C4;
|
|
L_025706C4: ; // 0x25706c4
|
|
/* 025706C4 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025706C4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 025706C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025706CC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025706CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 025706CC */ if (_t28) goto L_02570710; else goto L_025706D0;
|
|
L_025706D0: ; // 0x25706d0
|
|
/* 025706D0 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025706D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025706D4 */ Gambit_fn_02826F20(cpu);
|
|
/* 025706D8 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025706D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025706DC */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 025706DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025706E0 */ cpu->ctr = cpu->r[0];
|
|
/* 025706E4 */ cpu->r[5] = 0x00000004u;
|
|
/* 025706E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025706EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025706F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025706F4 */ cpu->r[11] = cpu->r[27];
|
|
/* 025706F8 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025706F8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025706F8 */ if (_t33) goto L_02570700; else goto L_025706FC;
|
|
L_025706FC: ; // 0x25706fc
|
|
/* 025706FC */ cpu->r[11] = 0x00000001u;
|
|
L_02570700: ; // 0x2570700
|
|
/* 02570700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570704 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570704 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02570704 */ if (_t35) goto L_02570710; else goto L_02570708;
|
|
L_02570708: ; // 0x2570708
|
|
/* 02570708 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02570708 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0257070C */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0257070C */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02570710: ; // 0x2570710
|
|
/* 02570710 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02570710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02570714 */ cpu->r[0] = 0x00000000u;
|
|
/* 02570718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0257071C */ cpu->r[12] = cpu->r[0];
|
|
/* 02570720 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570720 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02570720 */ if (_t40) goto L_02570724; else goto L_02570748;
|
|
L_02570724: ; // 0x2570724
|
|
/* 02570724 */ cpu->ctr = cpu->r[6];
|
|
/* 02570728 */ cpu->r[9] = 0x00000000u;
|
|
L_0257072C: ; // 0x257072c
|
|
/* 0257072C */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0257072C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02570730 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02570730 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02570734 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02570738 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02570738 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0257073C */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02570740 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02570740 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02570744 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02570744 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02570744 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02570744 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02570744 */ if (_t47) goto L_0257072C; else goto L_02570748;
|
|
L_02570748: ; // 0x2570748
|
|
/* 02570748 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02570748 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0257074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570750 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570750 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02570750 */ if (_t50) goto L_02570794; else goto L_02570754;
|
|
L_02570754: ; // 0x2570754
|
|
/* 02570754 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02570754 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02570758 */ Gambit_fn_02826F20(cpu);
|
|
/* 0257075C */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0257075C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02570760 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02570760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02570764 */ cpu->ctr = cpu->r[0];
|
|
/* 02570768 */ cpu->r[5] = 0x00000004u;
|
|
/* 0257076C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02570770 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570778 */ cpu->r[10] = cpu->r[27];
|
|
/* 0257077C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257077C */ _t55 = _t54 & 0x00000001u;
|
|
/* 0257077C */ if (_t55) goto L_02570784; else goto L_02570780;
|
|
L_02570780: ; // 0x2570780
|
|
/* 02570780 */ cpu->r[10] = 0x00000001u;
|
|
L_02570784: ; // 0x2570784
|
|
/* 02570784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570788 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570788 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02570788 */ if (_t57) goto L_02570794; else goto L_0257078C;
|
|
L_0257078C: ; // 0x257078c
|
|
/* 0257078C */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0257078C */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02570790 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02570790 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02570794: ; // 0x2570794
|
|
/* 02570794 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02570794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02570798 */ cpu->r[0] = 0x00000000u;
|
|
/* 0257079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025707A0 */ cpu->r[5] = cpu->r[0];
|
|
/* 025707A4 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025707A4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 025707A4 */ if (_t62) goto L_025707A8; else goto L_025707CC;
|
|
L_025707A8: ; // 0x25707a8
|
|
/* 025707A8 */ cpu->ctr = cpu->r[12];
|
|
/* 025707AC */ cpu->r[8] = 0x00000000u;
|
|
L_025707B0: ; // 0x25707b0
|
|
/* 025707B0 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 025707B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025707B4 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 025707B4 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 025707B8 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 025707BC */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 025707BC */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 025707C0 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 025707C4 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 025707C4 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 025707C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025707C8 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025707C8 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 025707C8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025707C8 */ if (_t69) goto L_025707B0; else goto L_025707CC;
|
|
L_025707CC: ; // 0x25707cc
|
|
/* 025707CC */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 025707CC */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 025707D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025707D4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025707D4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 025707D4 */ if (_t72) goto L_025708B0; else goto L_025707D8;
|
|
L_025707D8: ; // 0x25707d8
|
|
/* 025707D8 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025707D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025707DC */ Gambit_fn_02826F20(cpu);
|
|
/* 025707E0 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025707E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 025707E4 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 025707E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025707E8 */ cpu->ctr = cpu->r[12];
|
|
/* 025707EC */ cpu->r[5] = 0x00000004u;
|
|
/* 025707F0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 025707F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025707F8 */ cpu->r[24] = cpu->r[3];
|
|
/* 025707FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02570800 */ cpu->r[30] = cpu->r[25];
|
|
/* 02570804 */ cpu->r[7] = 0x00000000u;
|
|
/* 02570808 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570808 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02570808 */ if (_t77) goto L_02570810; else goto L_0257080C;
|
|
L_0257080C: ; // 0x257080c
|
|
/* 0257080C */ cpu->r[30] = 0x00000001u;
|
|
L_02570810: ; // 0x2570810
|
|
/* 02570810 */ cpu->r[31] = 0x10110000u;
|
|
/* 02570814 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02570818 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02570818 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0257081C */ cpu->r[23] = 0x00000018u;
|
|
L_02570820: ; // 0x2570820
|
|
/* 02570820 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02570820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570824 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570824 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02570824 */ if (_t80) goto L_02570894; else goto L_02570828;
|
|
L_02570828: ; // 0x2570828
|
|
/* 02570828 */ cpu->r[26] = cpu->r[27];
|
|
/* 02570828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0257082C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257082C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0257082C */ if (_t82) goto L_02570830; else goto L_02570840;
|
|
L_02570830: ; // 0x2570830
|
|
/* 02570830 */ cpu->r[3] = 0x00000024u;
|
|
/* 02570834 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570838 */ cpu->r[26] = cpu->r[3];
|
|
/* 02570838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0257083C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257083C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0257083C */ if (_t84) goto L_02570888; else goto L_02570840;
|
|
L_02570840: ; // 0x2570840
|
|
/* 02570840 */ cpu->r[11] = cpu->r[26];
|
|
/* 02570840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02570844 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570844 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02570844 */ if (_t86) goto L_02570848; else goto L_02570858;
|
|
L_02570848: ; // 0x2570848
|
|
/* 02570848 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0257084C */ Gambit_fn_02801A78(cpu);
|
|
/* 02570850 */ cpu->r[11] = cpu->r[3];
|
|
/* 02570850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02570854 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570854 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02570854 */ if (_t88) goto L_02570874; else goto L_02570858;
|
|
L_02570858: ; // 0x2570858
|
|
/* 02570858 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0257085C */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0257085C */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02570860 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02570864 */ cpu->r[5] = cpu->r[5] + 0xFFFFE5C4u;
|
|
/* 02570868 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02570868 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0257086C */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0257086C */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02570870 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02570870 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02570874: ; // 0x2570874
|
|
/* 02570874 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02570878 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02570878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0257087C */ cpu->r[6] = cpu->r[6] + 0xFFFFE5DCu;
|
|
/* 02570880 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02570880 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02570884 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02570884 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02570888: ; // 0x2570888
|
|
/* 02570888 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0257088C */ cpu->r[0] = cpu->r[0] + 0xFFFFE5F4u;
|
|
/* 02570890 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02570890 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02570894: ; // 0x2570894
|
|
/* 02570894 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02570894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02570898 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0257089C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257089C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0257089C */ if (_t98) goto L_025708A0; else goto L_02570820;
|
|
L_025708A0: ; // 0x25708a0
|
|
/* 025708A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 025708A4 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025708A4 */ _t100 = _t99 & 0x00000001u;
|
|
/* 025708A4 */ if (_t100) goto L_025708B0; else goto L_025708A8;
|
|
L_025708A8: ; // 0x25708a8
|
|
/* 025708A8 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 025708A8 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 025708AC */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 025708AC */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_025708B0: ; // 0x25708b0
|
|
/* 025708B0 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 025708B0 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 025708B4 */ /* nop */
|
|
/* 025708B8 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 025708B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025708BC */ cpu->lr = cpu->r[0];
|
|
/* 025708C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025708C4 */ return;
|
|
}
|
|
|
|
// fn_025708C8 @ 0x25708c8
|
|
void Gambit_fn_025708C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_025708C8: ; // 0x25708c8
|
|
/* 025708C8 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 025708C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025708CC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025708CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025708D0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025708D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025708D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 025708D8 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 025708D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025708DC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025708DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 025708DC */ if (_t5) goto L_025708E0; else goto L_025708E8;
|
|
L_025708E0: ; // 0x25708e0
|
|
/* 025708E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025708E4 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_025708E8: ; // 0x25708e8
|
|
/* 025708E8 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 025708E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025708EC */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 025708EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025708F0 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 025708F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 025708F4 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 025708F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 025708F8 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 025708F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025708FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02570900 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02570900 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02570904 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570904 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02570904 */ if (_t13) goto L_02570908; else goto L_02570910;
|
|
L_02570908: ; // 0x2570908
|
|
/* 02570908 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0257090C */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02570910: ; // 0x2570910
|
|
/* 02570910 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02570910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02570914 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02570914 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02570918 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02570918 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0257091C */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0257091C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02570920 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02570920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02570924 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02570924 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02570928 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02570928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0257092C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02570930 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02570930 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02570934 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570934 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02570934 */ if (_t23) goto L_02570938; else goto L_02570940;
|
|
L_02570938: ; // 0x2570938
|
|
/* 02570938 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0257093C */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02570940: ; // 0x2570940
|
|
/* 02570940 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02570940 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02570944 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02570944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02570948 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02570948 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0257094C */ return;
|
|
}
|
|
|
|
// fn_02570950 @ 0x2570950
|
|
void Gambit_fn_02570950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02570950: ; // 0x2570950
|
|
/* 02570950 */ cpu->r[0] = cpu->lr;
|
|
/* 02570954 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02570958 */ cpu->r[7] = 0x02570000u;
|
|
/* 0257095C */ cpu->r[6] = 0x02570000u;
|
|
/* 02570960 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02570964 */ cpu->r[7] = cpu->r[7] + 0x0000027Cu;
|
|
/* 02570968 */ cpu->r[6] = cpu->r[6] + 0x0000027Cu;
|
|
/* 0257096C */ cpu->r[10] = cpu->r[10] + 0x00006B9Cu;
|
|
/* 02570970 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02570970 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02570974 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02570978 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02570978 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02570978 */ cpu->r[1] = _t1;
|
|
/* 0257097C */ cpu->r[0] = cpu->r[0] + 0x00006B98u;
|
|
/* 02570980 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02570980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02570984 */ cpu->r[8] = 0x00000000u;
|
|
/* 02570988 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02570988 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0257098C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570990 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570990 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02570994 */ Gambit_fn_02791B10(cpu);
|
|
/* 02570998 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02570998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257099C */ cpu->lr = cpu->r[0];
|
|
/* 025709A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025709A4 */ return;
|
|
}
|
|
|
|
// fn_02570978 @ 0x2570978
|
|
void Gambit_fn_02570978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02570978: ; // 0x2570978
|
|
/* 02570978 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02570978 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570978 */ cpu->r[1] = _t0;
|
|
/* 0257097C */ cpu->r[0] = cpu->r[0] + 0x00006B98u;
|
|
/* 02570980 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02570980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02570984 */ cpu->r[8] = 0x00000000u;
|
|
/* 02570988 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02570988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0257098C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570990 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570990 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02570994 */ Gambit_fn_02791B10(cpu);
|
|
/* 02570998 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02570998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257099C */ cpu->lr = cpu->r[0];
|
|
/* 025709A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025709A4 */ return;
|
|
}
|
|
|
|
// fn_025709A8 @ 0x25709a8
|
|
void Gambit_fn_025709A8(CPUState* cpu) {
|
|
uint32_t _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_025709A8: ; // 0x25709a8
|
|
/* 025709A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025709A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025709A8 */ cpu->r[1] = _t0;
|
|
/* 025709AC */ cpu->r[0] = cpu->lr;
|
|
/* 025709B0 */ /* nop */
|
|
/* 025709B4 */ cpu->r[30] = cpu->r[5];
|
|
/* 025709B8 */ cpu->r[26] = cpu->r[3];
|
|
/* 025709BC */ cpu->r[27] = cpu->r[7];
|
|
/* 025709C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 025709C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025709C8 */ cpu->r[4] = cpu->r[27];
|
|
/* 025709CC */ cpu->r[31] = cpu->r[6];
|
|
/* 025709D0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025709D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025709D4 */ Gambit_fn_027DB318(cpu);
|
|
/* 025709D8 */ cpu->r[29] = cpu->r[3] + cpu->r[31];
|
|
/* 025709D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025709DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025709DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025709DC */ if (_t3) goto L_02570A7C; else goto L_025709E0;
|
|
L_025709E0: ; // 0x25709e0
|
|
/* 025709E0 */ cpu->r[5] = cpu->r[29];
|
|
/* 025709E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 025709E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 025709EC */ Gambit_fn_02570950(cpu);
|
|
/* 025709F0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025709F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025709F4 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 025709F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025709F8 */ cpu->r[30] = cpu->r[30] - cpu->r[28];
|
|
/* 025709FC */ cpu->r[31] = cpu->r[5] - cpu->r[28];
|
|
/* 02570A00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02570A04 */ cpu->r[25] = 0x00000000u;
|
|
/* 02570A08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570A08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02570A08 */ if (_t7) goto L_02570A7C; else goto L_02570A0C;
|
|
L_02570A0C: ; // 0x2570a0c
|
|
/* 02570A0C */ cpu->r[24] = 0x101C0000u;
|
|
L_02570A10: ; // 0x2570a10
|
|
/* 02570A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02570A14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570A14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02570A14 */ if (_t9) goto L_02570A2C; else goto L_02570A18;
|
|
L_02570A18: ; // 0x2570a18
|
|
/* 02570A18 */ cpu->ctr = cpu->r[27];
|
|
/* 02570A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02570A20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570A28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570A28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02570A28 */ if (_t11) goto L_02570A68; else goto L_02570A2C;
|
|
L_02570A2C: ; // 0x2570a2c
|
|
/* 02570A2C */ _t12 = cpu->r[24] + 0x00006B98u;
|
|
/* 02570A2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02570A30 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 02570A34 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 02570A34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02570A38 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02570A38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02570A3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02570A40 */ _t15 = cpu->r[10] + cpu->r[11];
|
|
/* 02570A40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02570A44 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02570A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02570A48 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02570A4C */ _t17 = cpu->r[9] + cpu->r[0];
|
|
/* 02570A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02570A50 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02570A50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02570A54 */ _t19 = cpu->r[8] + 0x0000034Cu;
|
|
/* 02570A54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02570A58 */ cpu->ctr = cpu->r[9];
|
|
/* 02570A5C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02570A60 */ cpu->r[4] = cpu->r[31];
|
|
/* 02570A64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02570A68: ; // 0x2570a68
|
|
/* 02570A68 */ cpu->r[12] = cpu->r[31] + cpu->r[28];
|
|
/* 02570A6C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02570A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02570A70 */ cpu->r[31] = cpu->r[0] - cpu->r[28];
|
|
/* 02570A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02570A78 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570A78 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02570A78 */ if (_t22) goto L_02570A7C; else goto L_02570A10;
|
|
L_02570A7C: ; // 0x2570a7c
|
|
/* 02570A7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02570A80 */ /* nop */
|
|
/* 02570A84 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02570A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02570A88 */ cpu->lr = cpu->r[0];
|
|
/* 02570A8C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02570A90 */ return;
|
|
}
|
|
|
|
// fn_02570A94 @ 0x2570a94
|
|
void Gambit_fn_02570A94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02570A94: ; // 0x2570a94
|
|
/* 02570A94 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02570A94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570A94 */ cpu->r[1] = _t0;
|
|
/* 02570A98 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02570A98 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02570A9C */ /* nop */
|
|
/* 02570AA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02570AA4 */ /* nop */
|
|
/* 02570AA8 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02570AA8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02570AAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02570AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02570AB0 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02570AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02570AB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570AB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02570AB4 */ if (_t5) goto L_02570AB8; else goto L_02570AC8;
|
|
L_02570AB8: ; // 0x2570ab8
|
|
/* 02570AB8 */ cpu->r[3] = 0x000002B8u;
|
|
/* 02570ABC */ Gambit_fn_02801A78(cpu);
|
|
/* 02570AC0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02570AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02570AC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570AC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02570AC4 */ if (_t7) goto L_02570FCC; else goto L_02570AC8;
|
|
L_02570AC8: ; // 0x2570ac8
|
|
/* 02570AC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02570ACC */ Gambit_fn_024F6F3C(cpu);
|
|
/* 02570AD0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02570AD4 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02570AD8 */ cpu->r[11] = cpu->r[11] + 0xFFFFEC98u;
|
|
/* 02570ADC */ _t8 = cpu->r[7] + 0xFFFFEC14u;
|
|
/* 02570ADC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02570AE0 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02570AE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02570AE4 */ cpu->r[3] = cpu->r[30] + 0x000001B4u;
|
|
/* 02570AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570AE8 */ _t10 = cpu->r[30] + 0x000001B0u;
|
|
/* 02570AE8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 02570AEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570AEC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02570AEC */ if (_t12) goto L_02570AF0; else goto L_02570B00;
|
|
L_02570AF0: ; // 0x2570af0
|
|
/* 02570AF0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02570AF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570AFC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570AFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02570AFC */ if (_t14) goto L_02570B24; else goto L_02570B00;
|
|
L_02570B00: ; // 0x2570b00
|
|
/* 02570B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02570B04 */ if (_t16) goto L_02570B08; else goto L_02570B18;
|
|
L_02570B08: ; // 0x2570b08
|
|
/* 02570B08 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02570B0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02570B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B14 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B14 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02570B14 */ if (_t18) goto L_02570B24; else goto L_02570B18;
|
|
L_02570B18: ; // 0x2570b18
|
|
/* 02570B18 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02570B18 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
|
|
/* 02570B1C */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02570B1C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 02570B20 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02570B20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
L_02570B24: ; // 0x2570b24
|
|
/* 02570B24 */ cpu->r[3] = cpu->r[30] + 0x000001C0u;
|
|
/* 02570B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B28 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B28 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02570B28 */ if (_t23) goto L_02570B2C; else goto L_02570B3C;
|
|
L_02570B2C: ; // 0x2570b2c
|
|
/* 02570B2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02570B30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B38 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B38 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02570B38 */ if (_t25) goto L_02570B60; else goto L_02570B3C;
|
|
L_02570B3C: ; // 0x2570b3c
|
|
/* 02570B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B40 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B40 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02570B40 */ if (_t27) goto L_02570B44; else goto L_02570B54;
|
|
L_02570B44: ; // 0x2570b44
|
|
/* 02570B44 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02570B48 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B50 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B50 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02570B50 */ if (_t29) goto L_02570B60; else goto L_02570B54;
|
|
L_02570B54: ; // 0x2570b54
|
|
/* 02570B54 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02570B54 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 02570B58 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02570B58 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 02570B5C */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02570B5C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
L_02570B60: ; // 0x2570b60
|
|
/* 02570B60 */ cpu->r[3] = cpu->r[30] + 0x000001CCu;
|
|
/* 02570B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B64 */ cpu->r[28] = 0x00000000u;
|
|
/* 02570B68 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B68 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02570B68 */ if (_t34) goto L_02570B6C; else goto L_02570B7C;
|
|
L_02570B6C: ; // 0x2570b6c
|
|
/* 02570B6C */ cpu->r[3] = 0x00000004u;
|
|
/* 02570B70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570B78 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B78 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02570B78 */ if (_t36) goto L_02570B80; else goto L_02570B7C;
|
|
L_02570B7C: ; // 0x2570b7c
|
|
/* 02570B7C */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02570B7C */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
L_02570B80: ; // 0x2570b80
|
|
/* 02570B80 */ cpu->r[31] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02570B84 */ _t38 = cpu->r[30] + 0x000001D0u;
|
|
/* 02570B84 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 02570B88 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B88 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02570B88 */ if (_t40) goto L_02570B8C; else goto L_02570B9C;
|
|
L_02570B8C: ; // 0x2570b8c
|
|
/* 02570B8C */ cpu->r[3] = 0x00000038u;
|
|
/* 02570B90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570B94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02570B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02570B98 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570B98 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02570B98 */ if (_t42) goto L_02570BCC; else goto L_02570B9C;
|
|
L_02570B9C: ; // 0x2570b9c
|
|
/* 02570B9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02570BA0 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02570BA4 */ cpu->r[12] = 0x10000000u;
|
|
/* 02570BA8 */ _t43 = cpu->r[31] + 0x00000030u;
|
|
/* 02570BA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 02570BAC */ cpu->r[12] = cpu->r[12] + 0x00006D74u;
|
|
/* 02570BB0 */ _t44 = cpu->r[31] + 0x00000034u;
|
|
/* 02570BB0 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 02570BB4 */ _t45 = cpu->r[31] + 0x00000004u;
|
|
/* 02570BB4 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 02570BB8 */ _t46 = cpu->r[31] + 0x00000024u;
|
|
/* 02570BB8 */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 02570BBC */ _t47 = cpu->r[31] + 0x00000028u;
|
|
/* 02570BBC */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 02570BC0 */ _t48 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02570BC0 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 02570BC4 */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02570BC4 */ rbrew_write32(cpu->mem, _t49, cpu->r[28]);
|
|
/* 02570BC8 */ _t50 = cpu->r[31] + 0x00000020u;
|
|
/* 02570BC8 */ rbrew_write32(cpu->mem, _t50, cpu->r[28]);
|
|
L_02570BCC: ; // 0x2570bcc
|
|
/* 02570BCC */ cpu->r[29] = cpu->r[30] + 0x00000210u;
|
|
/* 02570BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02570BD0 */ _t51 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02570BD0 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 02570BD4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570BD4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02570BD4 */ if (_t53) goto L_02570BD8; else goto L_02570BE8;
|
|
L_02570BD8: ; // 0x2570bd8
|
|
/* 02570BD8 */ cpu->r[3] = 0x00000098u;
|
|
/* 02570BDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02570BE0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02570BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02570BE4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570BE4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02570BE4 */ if (_t55) goto L_02570C60; else goto L_02570BE8;
|
|
L_02570BE8: ; // 0x2570be8
|
|
/* 02570BE8 */ cpu->r[31] = cpu->r[29];
|
|
/* 02570BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02570BEC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570BEC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02570BEC */ if (_t57) goto L_02570BF0; else goto L_02570C00;
|
|
L_02570BF0: ; // 0x2570bf0
|
|
/* 02570BF0 */ cpu->r[3] = 0x00000018u;
|
|
/* 02570BF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02570BF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02570BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02570BFC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570BFC */ _t59 = _t58 & 0x00000001u;
|
|
/* 02570BFC */ if (_t59) goto L_02570C30; else goto L_02570C00;
|
|
L_02570C00: ; // 0x2570c00
|
|
/* 02570C00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02570C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570C04 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570C04 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02570C04 */ if (_t61) goto L_02570C08; else goto L_02570C18;
|
|
L_02570C08: ; // 0x2570c08
|
|
/* 02570C08 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02570C0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02570C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02570C14 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570C14 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02570C14 */ if (_t63) goto L_02570C24; else goto L_02570C18;
|
|
L_02570C18: ; // 0x2570c18
|
|
/* 02570C18 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02570C18 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 02570C1C */ _t65 = cpu->r[3] + 0x00000008u;
|
|
/* 02570C1C */ rbrew_write32(cpu->mem, _t65, cpu->r[28]);
|
|
/* 02570C20 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 02570C20 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
L_02570C24: ; // 0x2570c24
|
|
/* 02570C24 */ _t67 = cpu->r[31] + 0x00000010u;
|
|
/* 02570C24 */ rbrew_write32(cpu->mem, _t67, cpu->r[28]);
|
|
/* 02570C28 */ _t68 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02570C28 */ rbrew_write32(cpu->mem, _t68, cpu->r[28]);
|
|
/* 02570C2C */ _t69 = cpu->r[31] + 0x00000014u;
|
|
/* 02570C2C */ rbrew_write32(cpu->mem, _t69, cpu->r[28]);
|
|
L_02570C30: ; // 0x2570c30
|
|
/* 02570C30 */ cpu->r[7] = 0x00000007u;
|
|
/* 02570C34 */ cpu->r[6] = cpu->r[29] + 0x00000018u;
|
|
/* 02570C38 */ cpu->ctr = cpu->r[7];
|
|
/* 02570C3C */ cpu->r[5] = cpu->r[6] + 0x00000010u;
|
|
/* 02570C40 */ _t70 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02570C40 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
L_02570C44: ; // 0x2570c44
|
|
/* 02570C44 */ _t71 = cpu->r[5] + 0xFFFFFFF0u;
|
|
/* 02570C44 */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
|
|
/* 02570C48 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
|
|
/* 02570C4C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02570C4C */ _t72 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02570C4C */ _t73 = _t72 >> (0x00000002u & 31u);
|
|
/* 02570C4C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02570C4C */ if (_t74) goto L_02570C44; else goto L_02570C50;
|
|
L_02570C50: ; // 0x2570c50
|
|
/* 02570C50 */ _t75 = cpu->r[6] + 0x00000070u;
|
|
/* 02570C50 */ rbrew_write32(cpu->mem, _t75, cpu->r[28]);
|
|
/* 02570C54 */ cpu->r[0] = 0x00000008u;
|
|
/* 02570C58 */ _t76 = cpu->r[29] + 0x00000010u;
|
|
/* 02570C58 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 02570C5C */ _t77 = cpu->r[29] + 0x00000014u;
|
|
/* 02570C5C */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
L_02570C60: ; // 0x2570c60
|
|
/* 02570C60 */ _t78 = cpu->r[30] + 0x000002A8u;
|
|
/* 02570C60 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[28]);
|
|
/* 02570C64 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02570C68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02570C6C */ _t79 = cpu->r[30] + 0x000002ACu;
|
|
/* 02570C6C */ rbrew_write32(cpu->mem, _t79, cpu->r[28]);
|
|
/* 02570C70 */ _t80 = cpu->r[11] + 0x00007230u;
|
|
/* 02570C70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02570C74 */ cpu->r[6] = 0x00000001u;
|
|
/* 02570C78 */ _t81 = cpu->r[12] + 0x00004FA8u;
|
|
/* 02570C78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02570C7C */ cpu->r[4] = cpu->r[30];
|
|
/* 02570C80 */ /* nop */
|
|
/* 02570C84 */ cpu->r[0] = 0x00000003u;
|
|
/* 02570C88 */ /* nop */
|
|
/* 02570C8C */ _t82 = cpu->r[30] + 0x000002B4u;
|
|
/* 02570C8C */ rbrew_write32(cpu->mem, _t82, cpu->r[28]);
|
|
/* 02570C90 */ cpu->r[9] = cpu->r[5] | cpu->r[8];
|
|
/* 02570C94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02570C98 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570C9C */ _t83 = cpu->r[30] + 0x000002B0u;
|
|
/* 02570C9C */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 02570CA0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02570CA4 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02570CA4 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[0]);
|
|
/* 02570CA8 */ Gambit_fn_02573990(cpu);
|
|
/* 02570CAC */ cpu->r[4] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570CB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02570CB4 */ Gambit_fn_02000834(cpu);
|
|
/* 02570CB8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02570CBC */ cpu->r[26] = 0x02570000u;
|
|
/* 02570CC0 */ cpu->r[10] = cpu->r[10] + 0xFFFFEC18u;
|
|
/* 02570CC4 */ cpu->r[25] = 0x100D0000u;
|
|
/* 02570CC8 */ cpu->r[26] = cpu->r[26] + 0x00003474u;
|
|
/* 02570CCC */ cpu->r[25] = cpu->r[25] + 0xFFFFEB48u;
|
|
/* 02570CD0 */ cpu->ctr = cpu->r[26];
|
|
/* 02570CD4 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 02570CD4 */ rbrew_write32(cpu->mem, _t85, cpu->r[25]);
|
|
/* 02570CD8 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570CD8 */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
/* 02570CDC */ _t87 = cpu->r[30] + 0x000001ECu;
|
|
/* 02570CDC */ cpu->r[24] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02570CE0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570CE4 */ _t88 = cpu->r[24] + 0x00000000u;
|
|
/* 02570CE4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02570CE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570CEC */ cpu->r[29] = 0x10110000u;
|
|
/* 02570CF0 */ _t89 = cpu->r[29] + 0x00007399u;
|
|
/* 02570CF0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02570CF4 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570CF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02570CF8 */ _t91 = cpu->r[10] + 0x00000000u;
|
|
/* 02570CF8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02570CFC */ cpu->r[31] = 0x00000000u;
|
|
/* 02570D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02570D04 */ cpu->r[0] = 0x00080000u;
|
|
/* 02570D08 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570D08 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02570D08 */ if (_t93) goto L_02570D30; else goto L_02570D0C;
|
|
L_02570D0C: ; // 0x2570d0c
|
|
/* 02570D0C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02570D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02570D14 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02570D18 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570D18 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02570D18 */ if (_t95) goto L_02570D2C; else goto L_02570D1C;
|
|
L_02570D1C: ; // 0x2570d1c
|
|
/* 02570D1C */ _t96 = cpu->r[10] + 0x00000000u;
|
|
/* 02570D1C */ cpu->r[7] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02570D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02570D24 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570D24 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02570D24 */ if (_t98) goto L_02570D28; else goto L_02570D0C;
|
|
L_02570D28: ; // 0x2570d28
|
|
/* 02570D28 */ goto L_02570D30;
|
|
L_02570D2C: ; // 0x2570d2c
|
|
/* 02570D2C */ cpu->r[31] = 0x00000000u;
|
|
L_02570D30: ; // 0x2570d30
|
|
/* 02570D30 */ _t99 = cpu->r[24] + 0x00000008u;
|
|
/* 02570D30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02570D34 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02570D34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02570D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02570D3C */ _t101 = cpu->r[8] + 0x00000014u;
|
|
/* 02570D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02570D40 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570D40 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02570D40 */ if (_t103) goto L_02570D48; else goto L_02570D44;
|
|
L_02570D44: ; // 0x2570d44
|
|
/* 02570D44 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02570D48: ; // 0x2570d48
|
|
/* 02570D48 */ cpu->ctr = cpu->r[0];
|
|
/* 02570D4C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570D50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570D54 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570D54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02570D58 */ cpu->r[6] = 0x00000000u;
|
|
/* 02570D5C */ cpu->r[5] = cpu->r[31];
|
|
/* 02570D60 */ cpu->r[3] = cpu->r[27];
|
|
/* 02570D64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02570D68 */ cpu->r[10] = 0x02570000u;
|
|
/* 02570D6C */ _t105 = cpu->r[27] + cpu->r[31];
|
|
/* 02570D6C */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[29]);
|
|
/* 02570D70 */ cpu->r[10] = cpu->r[10] + 0x00002F80u;
|
|
/* 02570D74 */ _t106 = cpu->r[1] + 0x00000014u;
|
|
/* 02570D74 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[28]);
|
|
/* 02570D78 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02570D7C */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 02570D7C */ rbrew_write32(cpu->mem, _t107, cpu->r[10]);
|
|
/* 02570D80 */ cpu->r[12] = 0x02570000u;
|
|
/* 02570D84 */ _t108 = cpu->r[1] + 0x00000026u;
|
|
/* 02570D84 */ rbrew_write16(cpu->mem, _t108, (uint16_t)cpu->r[28]);
|
|
/* 02570D88 */ cpu->r[12] = cpu->r[12] + 0x00003940u;
|
|
/* 02570D8C */ _t109 = cpu->r[1] + 0x00000016u;
|
|
/* 02570D8C */ rbrew_write16(cpu->mem, _t109, (uint16_t)cpu->r[8]);
|
|
/* 02570D90 */ cpu->r[11] = 0x00000000u;
|
|
/* 02570D94 */ _t110 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570D94 */ rbrew_write16(cpu->mem, _t110, (uint16_t)cpu->r[28]);
|
|
/* 02570D98 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02570D9C */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 02570D9C */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[11]);
|
|
/* 02570DA0 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570DA4 */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 02570DA4 */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[28]);
|
|
/* 02570DA8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02570DAC */ _t113 = cpu->r[1] + 0x00000020u;
|
|
/* 02570DAC */ rbrew_write32(cpu->mem, _t113, cpu->r[12]);
|
|
/* 02570DB0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02570DB4 */ _t114 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02570DB4 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[8]);
|
|
/* 02570DB8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570DBC */ _t115 = cpu->r[1] + 0x00000028u;
|
|
/* 02570DBC */ rbrew_write32(cpu->mem, _t115, cpu->r[28]);
|
|
/* 02570DC0 */ Gambit_fn_02573C40(cpu);
|
|
/* 02570DC4 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02570DC8 */ _t116 = cpu->r[1] + 0x00000010u;
|
|
/* 02570DC8 */ rbrew_write32(cpu->mem, _t116, cpu->r[25]);
|
|
/* 02570DCC */ cpu->r[5] = cpu->r[5] + 0xFFFFEC24u;
|
|
/* 02570DD0 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570DD0 */ rbrew_write32(cpu->mem, _t117, cpu->r[5]);
|
|
/* 02570DD4 */ _t118 = cpu->r[30] + 0x000001E8u;
|
|
/* 02570DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02570DD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02570DDC */ _t119 = cpu->r[30] + 0x000001ECu;
|
|
/* 02570DDC */ cpu->r[27] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02570DE0 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570DE0 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02570DE0 */ if (_t121) goto L_02570DE4; else goto L_02570DE8;
|
|
L_02570DE4: ; // 0x2570de4
|
|
/* 02570DE4 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
L_02570DE8: ; // 0x2570de8
|
|
/* 02570DE8 */ cpu->ctr = cpu->r[26];
|
|
/* 02570DEC */ _t122 = cpu->r[27] + 0x00000000u;
|
|
/* 02570DEC */ cpu->r[24] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02570DF0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570DF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570DF8 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570DF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02570DFC */ _t124 = cpu->r[6] + 0x00000000u;
|
|
/* 02570DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02570E00 */ cpu->r[31] = 0x00000000u;
|
|
/* 02570E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02570E08 */ cpu->r[7] = 0x00080000u;
|
|
/* 02570E0C */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570E0C */ _t126 = _t125 & 0x00000001u;
|
|
/* 02570E0C */ if (_t126) goto L_02570E34; else goto L_02570E10;
|
|
L_02570E10: ; // 0x2570e10
|
|
/* 02570E10 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02570E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02570E18 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02570E1C */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570E1C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02570E1C */ if (_t128) goto L_02570E30; else goto L_02570E20;
|
|
L_02570E20: ; // 0x2570e20
|
|
/* 02570E20 */ _t129 = cpu->r[6] + 0x00000000u;
|
|
/* 02570E20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t129);
|
|
/* 02570E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02570E28 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570E28 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02570E28 */ if (_t131) goto L_02570E2C; else goto L_02570E10;
|
|
L_02570E2C: ; // 0x2570e2c
|
|
/* 02570E2C */ goto L_02570E34;
|
|
L_02570E30: ; // 0x2570e30
|
|
/* 02570E30 */ cpu->r[31] = 0x00000000u;
|
|
L_02570E34: ; // 0x2570e34
|
|
/* 02570E34 */ _t132 = cpu->r[27] + 0x00000008u;
|
|
/* 02570E34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02570E38 */ _t133 = cpu->r[1] + 0x00000010u;
|
|
/* 02570E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02570E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02570E40 */ _t134 = cpu->r[12] + 0x00000014u;
|
|
/* 02570E40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02570E44 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570E44 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02570E44 */ if (_t136) goto L_02570E4C; else goto L_02570E48;
|
|
L_02570E48: ; // 0x2570e48
|
|
/* 02570E48 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02570E4C: ; // 0x2570e4c
|
|
/* 02570E4C */ cpu->ctr = cpu->r[5];
|
|
/* 02570E50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570E54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570E58 */ _t137 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570E58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02570E5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02570E60 */ cpu->r[5] = cpu->r[31];
|
|
/* 02570E64 */ cpu->r[3] = cpu->r[24];
|
|
/* 02570E68 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02570E6C */ _t138 = cpu->r[24] + cpu->r[31];
|
|
/* 02570E6C */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[29]);
|
|
/* 02570E70 */ cpu->r[0] = 0x00000001u;
|
|
/* 02570E74 */ _t139 = cpu->r[1] + 0x00000026u;
|
|
/* 02570E74 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[28]);
|
|
/* 02570E78 */ cpu->r[8] = 0x02570000u;
|
|
/* 02570E7C */ _t140 = cpu->r[1] + 0x00000008u;
|
|
/* 02570E7C */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[0]);
|
|
/* 02570E80 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02570E84 */ _t141 = cpu->r[1] + 0x00000014u;
|
|
/* 02570E84 */ rbrew_write16(cpu->mem, _t141, (uint16_t)cpu->r[28]);
|
|
/* 02570E88 */ cpu->r[11] = 0x02570000u;
|
|
/* 02570E8C */ _t142 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02570E8C */ rbrew_write16(cpu->mem, _t142, (uint16_t)cpu->r[6]);
|
|
/* 02570E90 */ _t143 = cpu->r[1] + 0x00000024u;
|
|
/* 02570E90 */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[28]);
|
|
/* 02570E94 */ cpu->r[8] = cpu->r[8] + 0x0000301Cu;
|
|
/* 02570E98 */ _t144 = cpu->r[1] + 0x00000016u;
|
|
/* 02570E98 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[6]);
|
|
/* 02570E9C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02570EA0 */ cpu->r[11] = cpu->r[11] + 0x000030DCu;
|
|
/* 02570EA4 */ _t145 = cpu->r[1] + 0x00000020u;
|
|
/* 02570EA4 */ rbrew_write32(cpu->mem, _t145, cpu->r[8]);
|
|
/* 02570EA8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02570EAC */ _t146 = cpu->r[1] + 0x00000018u;
|
|
/* 02570EAC */ rbrew_write32(cpu->mem, _t146, cpu->r[11]);
|
|
/* 02570EB0 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570EB4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570EB8 */ _t147 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570EB8 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[28]);
|
|
/* 02570EBC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02570EC0 */ _t148 = cpu->r[1] + 0x00000028u;
|
|
/* 02570EC0 */ rbrew_write32(cpu->mem, _t148, cpu->r[28]);
|
|
/* 02570EC4 */ Gambit_fn_02573C40(cpu);
|
|
/* 02570EC8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02570ECC */ _t149 = cpu->r[1] + 0x00000010u;
|
|
/* 02570ECC */ rbrew_write32(cpu->mem, _t149, cpu->r[25]);
|
|
/* 02570ED0 */ cpu->r[7] = cpu->r[7] + 0xFFFFEC38u;
|
|
/* 02570ED4 */ _t150 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570ED4 */ rbrew_write32(cpu->mem, _t150, cpu->r[7]);
|
|
/* 02570ED8 */ _t151 = cpu->r[30] + 0x000001E8u;
|
|
/* 02570ED8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02570EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 02570EE0 */ _t152 = cpu->r[30] + 0x000001ECu;
|
|
/* 02570EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02570EE4 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570EE4 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02570EE4 */ if (_t154) goto L_02570EE8; else goto L_02570EEC;
|
|
L_02570EE8: ; // 0x2570ee8
|
|
/* 02570EE8 */ cpu->r[31] = cpu->r[31] + 0x00000048u;
|
|
L_02570EEC: ; // 0x2570eec
|
|
/* 02570EEC */ cpu->ctr = cpu->r[26];
|
|
/* 02570EF0 */ _t155 = cpu->r[31] + 0x00000000u;
|
|
/* 02570EF0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02570EF4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570EF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570EFC */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570EFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02570F00 */ _t157 = cpu->r[9] + 0x00000000u;
|
|
/* 02570F00 */ cpu->r[10] = rbrew_read8(cpu->mem, _t157);
|
|
/* 02570F04 */ cpu->r[27] = 0x00000000u;
|
|
/* 02570F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 02570F0C */ cpu->r[11] = 0x00080000u;
|
|
/* 02570F10 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570F10 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02570F10 */ if (_t159) goto L_02570F38; else goto L_02570F14;
|
|
L_02570F14: ; // 0x2570f14
|
|
/* 02570F14 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02570F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 02570F1C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02570F20 */ _t160 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02570F20 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02570F20 */ if (_t161) goto L_02570F34; else goto L_02570F24;
|
|
L_02570F24: ; // 0x2570f24
|
|
/* 02570F24 */ _t162 = cpu->r[9] + 0x00000000u;
|
|
/* 02570F24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t162);
|
|
/* 02570F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02570F2C */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02570F2C */ _t164 = _t163 & 0x00000001u;
|
|
/* 02570F2C */ if (_t164) goto L_02570F30; else goto L_02570F14;
|
|
L_02570F30: ; // 0x2570f30
|
|
/* 02570F30 */ goto L_02570F38;
|
|
L_02570F34: ; // 0x2570f34
|
|
/* 02570F34 */ cpu->r[27] = 0x00000000u;
|
|
L_02570F38: ; // 0x2570f38
|
|
/* 02570F38 */ _t165 = cpu->r[31] + 0x00000008u;
|
|
/* 02570F38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02570F3C */ _t166 = cpu->r[1] + 0x00000010u;
|
|
/* 02570F3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02570F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]);
|
|
/* 02570F44 */ _t167 = cpu->r[5] + 0x00000014u;
|
|
/* 02570F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02570F48 */ _t168 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570F48 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02570F48 */ if (_t169) goto L_02570F50; else goto L_02570F4C;
|
|
L_02570F4C: ; // 0x2570f4c
|
|
/* 02570F4C */ cpu->r[27] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02570F50: ; // 0x2570f50
|
|
/* 02570F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02570F54 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570F58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02570F5C */ _t170 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02570F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02570F60 */ cpu->r[3] = cpu->r[25];
|
|
/* 02570F64 */ cpu->r[5] = cpu->r[27];
|
|
/* 02570F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02570F6C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02570F70 */ _t171 = cpu->r[25] + cpu->r[27];
|
|
/* 02570F70 */ rbrew_write8(cpu->mem, _t171, (uint8_t)cpu->r[29]);
|
|
/* 02570F74 */ cpu->r[0] = 0x00000002u;
|
|
/* 02570F78 */ _t172 = cpu->r[1] + 0x00000028u;
|
|
/* 02570F78 */ rbrew_write32(cpu->mem, _t172, cpu->r[28]);
|
|
/* 02570F7C */ _t173 = cpu->r[1] + 0x00000008u;
|
|
/* 02570F7C */ rbrew_write8(cpu->mem, _t173, (uint8_t)cpu->r[0]);
|
|
/* 02570F80 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02570F84 */ _t174 = cpu->r[1] + 0x00000024u;
|
|
/* 02570F84 */ rbrew_write16(cpu->mem, _t174, (uint16_t)cpu->r[28]);
|
|
/* 02570F88 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02570F8C */ _t175 = cpu->r[1] + 0x00000016u;
|
|
/* 02570F8C */ rbrew_write16(cpu->mem, _t175, (uint16_t)cpu->r[0]);
|
|
/* 02570F90 */ cpu->r[12] = 0x02570000u;
|
|
/* 02570F94 */ _t176 = cpu->r[1] + 0x00000026u;
|
|
/* 02570F94 */ rbrew_write16(cpu->mem, _t176, (uint16_t)cpu->r[28]);
|
|
/* 02570F98 */ cpu->r[12] = cpu->r[12] + 0x00003120u;
|
|
/* 02570F9C */ _t177 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02570F9C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[0]);
|
|
/* 02570FA0 */ cpu->r[0] = 0x02570000u;
|
|
/* 02570FA4 */ _t178 = cpu->r[1] + 0x00000020u;
|
|
/* 02570FA4 */ rbrew_write32(cpu->mem, _t178, cpu->r[12]);
|
|
/* 02570FA8 */ cpu->r[0] = cpu->r[0] + 0x00003944u;
|
|
/* 02570FAC */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02570FB0 */ _t179 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570FB0 */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[28]);
|
|
/* 02570FB4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02570FB8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02570FBC */ _t180 = cpu->r[1] + 0x00000018u;
|
|
/* 02570FBC */ rbrew_write32(cpu->mem, _t180, cpu->r[0]);
|
|
/* 02570FC0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570FC4 */ _t181 = cpu->r[1] + 0x00000014u;
|
|
/* 02570FC4 */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[28]);
|
|
/* 02570FC8 */ Gambit_fn_02573C40(cpu);
|
|
L_02570FCC: ; // 0x2570fcc
|
|
/* 02570FCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02570FD0 */ /* nop */
|
|
/* 02570FD4 */ _t182 = cpu->r[1] + 0x00000058u;
|
|
/* 02570FD4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 02570FD8 */ _t183 = cpu->r[1] + 0x00000050u;
|
|
/* 02570FD8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t183);
|
|
/* 02570FDC */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02570FDC */ _t185 = _t184 & 0x00000001u;
|
|
/* 02570FDC */ if (_t185) goto L_02570FE0; // else: addr-0 trap, fall-through
|
|
L_02570FE0: ; // 0x2570fe0
|
|
/* 02570FE0 */ _t186 = cpu->r[1] + 0x00000064u;
|
|
/* 02570FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02570FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02570FE8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02570FEC */ return;
|
|
}
|
|
|
|
// fn_02570FF0 @ 0x2570ff0
|
|
void Gambit_fn_02570FF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02570FF0: ; // 0x2570ff0
|
|
/* 02570FF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02570FF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02570FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570FF4 */ cpu->r[1] = _t0;
|
|
/* 02570FF8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02570FFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02571000 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02571004 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571008 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02571008 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0257100C */ _t3 = cpu->r[3] + 0x00001ED4u;
|
|
/* 0257100C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02571010 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02571014 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02571014 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02571018 */ Gambit_fn_0203B7EC(cpu);
|
|
/* 0257101C */ cpu->r[4] = cpu->r[3];
|
|
/* 02571020 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02571020 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02571024 */ Gambit_fn_023C9DD0(cpu);
|
|
/* 02571028 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257102C */ Gambit_fn_024F6654(cpu);
|
|
/* 02571030 */ _t6 = cpu->r[31] + 0x000001CCu;
|
|
/* 02571030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571034 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02571034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571038 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571038 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02571038 */ if (_t8) goto L_02571068; else goto L_0257103C;
|
|
L_0257103C: ; // 0x257103c
|
|
/* 0257103C */ cpu->r[4] = 0x100D0000u;
|
|
/* 02571040 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571044 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571048 */ cpu->r[4] = cpu->r[4] + 0xFFFFEC54u;
|
|
/* 0257104C */ cpu->r[6] = cpu->r[5];
|
|
/* 02571050 */ Gambit_fn_024F6694(cpu);
|
|
/* 02571054 */ cpu->r[3] = 0x00000010u;
|
|
/* 02571058 */ Gambit_fn_02801A78(cpu);
|
|
/* 0257105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571060 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571060 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02571060 */ if (_t10) goto L_025710CC; else goto L_02571064;
|
|
L_02571064: ; // 0x2571064
|
|
/* 02571064 */ goto L_025710C8;
|
|
L_02571068: ; // 0x2571068
|
|
/* 02571068 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257106C */ Gambit_fn_023BC070(cpu);
|
|
/* 02571070 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 02571070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02571074 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02571074 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571078 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571078 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0257107C */ _t14 = cpu->r[9] + 0x0000034Cu;
|
|
/* 0257107C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02571080 */ cpu->ctr = cpu->r[0];
|
|
/* 02571084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257108C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02571090 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571090 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[1]);
|
|
/* 02571094 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571098 */ _t16 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 02571098 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0257109C */ _t17 = cpu->r[12] + 0xFFFFEC50u;
|
|
/* 0257109C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025710A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025710A4 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 025710A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 025710A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 025710AC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 025710AC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025710B0 */ Gambit_fn_023BBCD8(cpu);
|
|
/* 025710B4 */ _t20 = cpu->r[31] + 0x000001D0u;
|
|
/* 025710B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 025710B8 */ cpu->r[3] = 0x00000010u;
|
|
/* 025710BC */ Gambit_fn_02801A78(cpu);
|
|
/* 025710C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025710C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025710C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 025710C4 */ if (_t22) goto L_025710CC; else goto L_025710C8;
|
|
L_025710C8: ; // 0x25710c8
|
|
/* 025710C8 */ Gambit_fn_02043B8C(cpu);
|
|
L_025710CC: ; // 0x25710cc
|
|
/* 025710CC */ _t23 = cpu->r[31] + 0x000002B4u;
|
|
/* 025710CC */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 025710D0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 025710D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025710D4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025710D8 */ cpu->lr = cpu->r[0];
|
|
/* 025710DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025710E0 */ return;
|
|
}
|
|
|
|
// fn_02570FF4 @ 0x2570ff4
|
|
void Gambit_fn_02570FF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02570FF4: ; // 0x2570ff4
|
|
/* 02570FF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02570FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02570FF4 */ cpu->r[1] = _t0;
|
|
/* 02570FF8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02570FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02570FFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02571000 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02571004 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571008 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02571008 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0257100C */ _t3 = cpu->r[3] + 0x00001ED4u;
|
|
/* 0257100C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02571010 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02571014 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02571014 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02571018 */ Gambit_fn_0203B7EC(cpu);
|
|
/* 0257101C */ cpu->r[4] = cpu->r[3];
|
|
/* 02571020 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02571020 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02571024 */ Gambit_fn_023C9DD0(cpu);
|
|
/* 02571028 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257102C */ Gambit_fn_024F6654(cpu);
|
|
/* 02571030 */ _t6 = cpu->r[31] + 0x000001CCu;
|
|
/* 02571030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571034 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02571034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571038 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571038 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02571038 */ if (_t8) goto L_02571068; else goto L_0257103C;
|
|
L_0257103C: ; // 0x257103c
|
|
/* 0257103C */ cpu->r[4] = 0x100D0000u;
|
|
/* 02571040 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571044 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571048 */ cpu->r[4] = cpu->r[4] + 0xFFFFEC54u;
|
|
/* 0257104C */ cpu->r[6] = cpu->r[5];
|
|
/* 02571050 */ Gambit_fn_024F6694(cpu);
|
|
/* 02571054 */ cpu->r[3] = 0x00000010u;
|
|
/* 02571058 */ Gambit_fn_02801A78(cpu);
|
|
/* 0257105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571060 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571060 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02571060 */ if (_t10) goto L_025710CC; else goto L_02571064;
|
|
L_02571064: ; // 0x2571064
|
|
/* 02571064 */ goto L_025710C8;
|
|
L_02571068: ; // 0x2571068
|
|
/* 02571068 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257106C */ Gambit_fn_023BC070(cpu);
|
|
/* 02571070 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 02571070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02571074 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02571074 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571078 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571078 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0257107C */ _t14 = cpu->r[9] + 0x0000034Cu;
|
|
/* 0257107C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02571080 */ cpu->ctr = cpu->r[0];
|
|
/* 02571084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257108C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02571090 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571090 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[1]);
|
|
/* 02571094 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571098 */ _t16 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 02571098 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0257109C */ _t17 = cpu->r[12] + 0xFFFFEC50u;
|
|
/* 0257109C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025710A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025710A4 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 025710A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 025710A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 025710AC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 025710AC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025710B0 */ Gambit_fn_023BBCD8(cpu);
|
|
/* 025710B4 */ _t20 = cpu->r[31] + 0x000001D0u;
|
|
/* 025710B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 025710B8 */ cpu->r[3] = 0x00000010u;
|
|
/* 025710BC */ Gambit_fn_02801A78(cpu);
|
|
/* 025710C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025710C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025710C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 025710C4 */ if (_t22) goto L_025710CC; else goto L_025710C8;
|
|
L_025710C8: ; // 0x25710c8
|
|
/* 025710C8 */ Gambit_fn_02043B8C(cpu);
|
|
L_025710CC: ; // 0x25710cc
|
|
/* 025710CC */ _t23 = cpu->r[31] + 0x000002B4u;
|
|
/* 025710CC */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 025710D0 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 025710D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025710D4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025710D8 */ cpu->lr = cpu->r[0];
|
|
/* 025710DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025710E0 */ return;
|
|
}
|
|
|
|
// fn_025710E4 @ 0x25710e4
|
|
void Gambit_fn_025710E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025710E4: ; // 0x25710e4
|
|
/* 025710E4 */ cpu->r[0] = cpu->lr;
|
|
/* 025710E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025710E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025710E8 */ cpu->r[1] = _t0;
|
|
/* 025710EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025710EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025710F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 025710F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025710F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025710F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025710F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025710FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 025710FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571100 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02571100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571104 */ _t7 = cpu->r[10] + 0x0000034Cu;
|
|
/* 02571104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571108 */ cpu->ctr = cpu->r[10];
|
|
/* 0257110C */ cpu->r[30] = cpu->r[3];
|
|
/* 02571110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571114 */ _t8 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571118 */ Gambit_fn_024F1978(cpu);
|
|
/* 0257111C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571120 */ _t9 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571124 */ cpu->r[31] = cpu->r[31] | 0x0000FFFFu;
|
|
/* 02571128 */ _t10 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 02571128 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0257112C */ cpu->r[0] = 0x00000008u;
|
|
/* 02571130 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02571134 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02571134 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02571138 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02571138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257113C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571140 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02571144 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571144 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02571148 */ Gambit_fn_02981258(cpu);
|
|
/* 0257114C */ _t14 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257114C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02571150 */ _t15 = cpu->r[30] + 0x000000CCu;
|
|
/* 02571150 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02571154 */ _t16 = cpu->r[30] + 0x00000070u;
|
|
/* 02571154 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02571158 */ _t17 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02571158 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0257115C */ _t18 = cpu->r[30] + 0x000000D4u;
|
|
/* 0257115C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02571160 */ _t19 = cpu->r[30] + 0x000000D8u;
|
|
/* 02571160 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02571164 */ _t20 = cpu->r[30] + 0x00000074u;
|
|
/* 02571164 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02571168 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02571168 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0257116C */ _t22 = cpu->r[30] + 0x000000C8u;
|
|
/* 0257116C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571170 */ _t23 = cpu->r[30] + 0x000000BCu;
|
|
/* 02571170 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02571174 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02571174 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02571178 */ _t25 = cpu->r[30] + 0x000000C4u;
|
|
/* 02571178 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257117C */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0257117C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02571180 */ _t27 = cpu->r[30] + 0x000000C0u;
|
|
/* 02571180 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02571184 */ _t28 = cpu->r[30] + 0x00000064u;
|
|
/* 02571184 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02571188 */ _t29 = cpu->r[30] + 0x000000B4u;
|
|
/* 02571188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257118C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257118C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571190 */ _t31 = cpu->r[30] + 0x00000054u;
|
|
/* 02571190 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571194 */ _t32 = cpu->r[30] + 0x000000DCu;
|
|
/* 02571194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571198 */ _t33 = cpu->r[30] + 0x000000B8u;
|
|
/* 02571198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0257119C */ _t34 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0257119C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 025711A0 */ _t35 = cpu->r[30] + 0x000001E2u;
|
|
/* 025711A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025711A4 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 025711A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025711A8 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711AC */ _t37 = cpu->r[30] + 0x00000058u;
|
|
/* 025711AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 025711B0 */ /* nop */
|
|
/* 025711B4 */ _t38 = cpu->r[30] + 0x00000080u;
|
|
/* 025711B4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 025711B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025711BC */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711C0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025711C4 */ _t39 = cpu->r[30] + 0x00000214u;
|
|
/* 025711C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 025711C8 */ cpu->r[28] = cpu->r[30] + 0x00000210u;
|
|
/* 025711CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 025711D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025711D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 025711D0 */ if (_t41) goto L_02571208; else goto L_025711D4;
|
|
L_025711D4: ; // 0x25711d4
|
|
/* 025711D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025711D8 */ _t42 = cpu->r[29] + 0x00000004u;
|
|
/* 025711D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025711DC */ Gambit_fn_02801EDC(cpu);
|
|
/* 025711E0 */ _t43 = cpu->r[28] + 0x00000008u;
|
|
/* 025711E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025711E4 */ _t44 = cpu->r[28] + 0x0000000Cu;
|
|
/* 025711E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025711E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 025711EC */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 025711EC */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 025711F0 */ cpu->r[11] = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ _t46 = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 025711F8 */ cpu->r[29] = cpu->r[31];
|
|
/* 025711FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02571200 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02571200 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02571204 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571204 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571204 */ if (_t49) goto L_02571208; else goto L_025711D4;
|
|
L_02571208: ; // 0x2571208
|
|
/* 02571208 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0257120C */ cpu->r[0] = 0x00000000u;
|
|
/* 02571210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571214 */ _t51 = cpu->r[30] + 0x000002A8u;
|
|
/* 02571214 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02571218 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571218 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02571218 */ if (_t53) goto L_02571220; else goto L_0257121C;
|
|
L_0257121C: ; // 0x257121c
|
|
/* 0257121C */ Gambit_fn_023BBFE4(cpu);
|
|
L_02571220: ; // 0x2571220
|
|
/* 02571220 */ _t54 = cpu->r[30] + 0x000001CCu;
|
|
/* 02571220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571224 */ _t55 = cpu->r[30] + 0x00000030u;
|
|
/* 02571224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02571228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257122C */ cpu->r[4] = 0x00000003u;
|
|
/* 02571230 */ cpu->r[5] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02571234 */ Gambit_fn_027B8224(cpu);
|
|
/* 02571238 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02571238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257123C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 0257123C */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571240 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02571244 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02571244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02571248 */ cpu->lr = cpu->r[0];
|
|
/* 0257124C */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257124C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571250 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02571254 */ return;
|
|
}
|
|
|
|
// fn_025710E8 @ 0x25710e8
|
|
void Gambit_fn_025710E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025710E8: ; // 0x25710e8
|
|
/* 025710E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025710E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025710E8 */ cpu->r[1] = _t0;
|
|
/* 025710EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025710EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025710F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 025710F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025710F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025710F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025710F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025710FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 025710FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571100 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02571100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571104 */ _t7 = cpu->r[10] + 0x0000034Cu;
|
|
/* 02571104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571108 */ cpu->ctr = cpu->r[10];
|
|
/* 0257110C */ cpu->r[30] = cpu->r[3];
|
|
/* 02571110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571114 */ _t8 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571118 */ Gambit_fn_024F1978(cpu);
|
|
/* 0257111C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571120 */ _t9 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571124 */ cpu->r[31] = cpu->r[31] | 0x0000FFFFu;
|
|
/* 02571128 */ _t10 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 02571128 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0257112C */ cpu->r[0] = 0x00000008u;
|
|
/* 02571130 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02571134 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02571134 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02571138 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02571138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257113C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571140 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02571144 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571144 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02571148 */ Gambit_fn_02981258(cpu);
|
|
/* 0257114C */ _t14 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257114C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02571150 */ _t15 = cpu->r[30] + 0x000000CCu;
|
|
/* 02571150 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02571154 */ _t16 = cpu->r[30] + 0x00000070u;
|
|
/* 02571154 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02571158 */ _t17 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02571158 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0257115C */ _t18 = cpu->r[30] + 0x000000D4u;
|
|
/* 0257115C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02571160 */ _t19 = cpu->r[30] + 0x000000D8u;
|
|
/* 02571160 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02571164 */ _t20 = cpu->r[30] + 0x00000074u;
|
|
/* 02571164 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02571168 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02571168 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0257116C */ _t22 = cpu->r[30] + 0x000000C8u;
|
|
/* 0257116C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571170 */ _t23 = cpu->r[30] + 0x000000BCu;
|
|
/* 02571170 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02571174 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02571174 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02571178 */ _t25 = cpu->r[30] + 0x000000C4u;
|
|
/* 02571178 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257117C */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0257117C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02571180 */ _t27 = cpu->r[30] + 0x000000C0u;
|
|
/* 02571180 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02571184 */ _t28 = cpu->r[30] + 0x00000064u;
|
|
/* 02571184 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02571188 */ _t29 = cpu->r[30] + 0x000000B4u;
|
|
/* 02571188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257118C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257118C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571190 */ _t31 = cpu->r[30] + 0x00000054u;
|
|
/* 02571190 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571194 */ _t32 = cpu->r[30] + 0x000000DCu;
|
|
/* 02571194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571198 */ _t33 = cpu->r[30] + 0x000000B8u;
|
|
/* 02571198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0257119C */ _t34 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0257119C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 025711A0 */ _t35 = cpu->r[30] + 0x000001E2u;
|
|
/* 025711A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025711A4 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 025711A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025711A8 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711AC */ _t37 = cpu->r[30] + 0x00000058u;
|
|
/* 025711AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 025711B0 */ /* nop */
|
|
/* 025711B4 */ _t38 = cpu->r[30] + 0x00000080u;
|
|
/* 025711B4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 025711B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025711BC */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711C0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025711C4 */ _t39 = cpu->r[30] + 0x00000214u;
|
|
/* 025711C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 025711C8 */ cpu->r[28] = cpu->r[30] + 0x00000210u;
|
|
/* 025711CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 025711D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025711D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 025711D0 */ if (_t41) goto L_02571208; else goto L_025711D4;
|
|
L_025711D4: ; // 0x25711d4
|
|
/* 025711D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025711D8 */ _t42 = cpu->r[29] + 0x00000004u;
|
|
/* 025711D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025711DC */ Gambit_fn_02801EDC(cpu);
|
|
/* 025711E0 */ _t43 = cpu->r[28] + 0x00000008u;
|
|
/* 025711E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025711E4 */ _t44 = cpu->r[28] + 0x0000000Cu;
|
|
/* 025711E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025711E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 025711EC */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 025711EC */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 025711F0 */ cpu->r[11] = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ _t46 = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 025711F8 */ cpu->r[29] = cpu->r[31];
|
|
/* 025711FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02571200 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02571200 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02571204 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571204 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571204 */ if (_t49) goto L_02571208; else goto L_025711D4;
|
|
L_02571208: ; // 0x2571208
|
|
/* 02571208 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0257120C */ cpu->r[0] = 0x00000000u;
|
|
/* 02571210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571214 */ _t51 = cpu->r[30] + 0x000002A8u;
|
|
/* 02571214 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02571218 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571218 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02571218 */ if (_t53) goto L_02571220; else goto L_0257121C;
|
|
L_0257121C: ; // 0x257121c
|
|
/* 0257121C */ Gambit_fn_023BBFE4(cpu);
|
|
L_02571220: ; // 0x2571220
|
|
/* 02571220 */ _t54 = cpu->r[30] + 0x000001CCu;
|
|
/* 02571220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571224 */ _t55 = cpu->r[30] + 0x00000030u;
|
|
/* 02571224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02571228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257122C */ cpu->r[4] = 0x00000003u;
|
|
/* 02571230 */ cpu->r[5] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02571234 */ Gambit_fn_027B8224(cpu);
|
|
/* 02571238 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02571238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257123C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 0257123C */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571240 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02571244 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02571244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02571248 */ cpu->lr = cpu->r[0];
|
|
/* 0257124C */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257124C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571250 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02571254 */ return;
|
|
}
|
|
|
|
// fn_02571258 @ 0x2571258
|
|
void Gambit_fn_02571258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02571258: ; // 0x2571258
|
|
/* 02571258 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02571258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571258 */ cpu->r[1] = _t0;
|
|
/* 0257125C */ /* nop */
|
|
/* 02571260 */ cpu->r[0] = cpu->lr;
|
|
/* 02571264 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02571264 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02571268 */ cpu->r[28] = cpu->r[3];
|
|
/* 0257126C */ _t2 = cpu->r[28] + 0x0000020Cu;
|
|
/* 0257126C */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02571270 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02571270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571274 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571274 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02571274 */ if (_t4) goto L_02571278; else goto L_0257128C;
|
|
L_02571278: ; // 0x2571278
|
|
/* 02571278 */ cpu->r[0] = 0x00000000u;
|
|
/* 0257127C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02571280 */ _t5 = cpu->r[28] + 0x0000020Cu;
|
|
/* 02571280 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571284 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02571284 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02571284 */ if (_t7) goto L_025712A0; else goto L_02571288;
|
|
L_02571288: ; // 0x2571288
|
|
/* 02571288 */ goto L_025712AC;
|
|
L_0257128C: ; // 0x257128c
|
|
/* 0257128C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571290 */ _t8 = cpu->r[28] + 0x0000020Cu;
|
|
/* 02571290 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02571294 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571294 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02571294 */ if (_t10) goto L_02571298; else goto L_025712AC;
|
|
L_02571298: ; // 0x2571298
|
|
/* 02571298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0257129C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257129C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0257129C */ if (_t12) goto L_025712A0; else goto L_025712AC;
|
|
L_025712A0: ; // 0x25712a0
|
|
/* 025712A0 */ cpu->r[3] = cpu->r[28] + 0x000001D4u;
|
|
/* 025712A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 025712A8 */ Gambit_fn_020622DC(cpu);
|
|
L_025712AC: ; // 0x25712ac
|
|
/* 025712AC */ _t13 = cpu->r[28] + 0x00000214u;
|
|
/* 025712AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025712B0 */ cpu->r[31] = cpu->r[28] + 0x00000208u;
|
|
/* 025712B4 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 025712B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 025712BC */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 025712BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025712C0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025712C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025712C0 */ if (_t16) goto L_02571338; else goto L_025712C4;
|
|
L_025712C4: ; // 0x25712c4
|
|
/* 025712C4 */ cpu->r[27] = 0x00000000u;
|
|
L_025712C8: ; // 0x25712c8
|
|
/* 025712C8 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 025712C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025712CC */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 025712CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025712D0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025712D0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 025712D0 */ if (_t19) goto L_025712D4; else goto L_025712FC;
|
|
L_025712D4: ; // 0x25712d4
|
|
/* 025712D4 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 025712D8 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 025712D8 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 025712DC */ Gambit_fn_02801EDC(cpu);
|
|
/* 025712E0 */ _t21 = cpu->r[28] + 0x00000218u;
|
|
/* 025712E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025712E4 */ _t22 = cpu->r[28] + 0x0000021Cu;
|
|
/* 025712E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025712E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 025712EC */ _t23 = cpu->r[28] + 0x00000218u;
|
|
/* 025712EC */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 025712F0 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 025712F0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 025712F4 */ _t25 = cpu->r[28] + 0x0000021Cu;
|
|
/* 025712F4 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 025712F8 */ goto L_02571328;
|
|
L_025712FC: ; // 0x25712fc
|
|
/* 025712FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571300 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02571300 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02571304 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571304 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02571304 */ if (_t28) goto L_02571308; else goto L_02571328;
|
|
L_02571308: ; // 0x2571308
|
|
/* 02571308 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 0257130C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02571310 */ _t29 = cpu->r[28] + 0x00000218u;
|
|
/* 02571310 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02571314 */ _t30 = cpu->r[28] + 0x0000021Cu;
|
|
/* 02571314 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02571318 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0257131C */ _t31 = cpu->r[28] + 0x00000218u;
|
|
/* 0257131C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02571320 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02571320 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02571324 */ _t33 = cpu->r[28] + 0x0000021Cu;
|
|
/* 02571324 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
L_02571328: ; // 0x2571328
|
|
/* 02571328 */ cpu->r[30] = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 0257132C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 02571330 */ _t34 = cpu->r[29] + 0x00000004u;
|
|
/* 02571330 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02571334 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571334 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02571334 */ if (_t36) goto L_02571338; else goto L_025712C8;
|
|
L_02571338: ; // 0x2571338
|
|
/* 02571338 */ /* nop */
|
|
/* 0257133C */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 0257133C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02571340 */ cpu->lr = cpu->r[0];
|
|
/* 02571344 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02571348 */ return;
|
|
}
|
|
|
|
// fn_0257134C @ 0x257134c
|
|
void Gambit_fn_0257134C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
double _ft20, _ft21;
|
|
|
|
L_0257134C: ; // 0x257134c
|
|
/* 0257134C */ cpu->r[0] = cpu->lr;
|
|
/* 02571350 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02571350 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571350 */ cpu->r[1] = _t0;
|
|
/* 02571354 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02571354 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02571358 */ /* nop */
|
|
/* 0257135C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0257135C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02571360 */ /* nop */
|
|
/* 02571364 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02571364 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02571368 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02571368 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0257136C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257136C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02571370 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02571370 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02571374 */ cpu->r[31] = cpu->r[3];
|
|
/* 02571378 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02571378 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0257137C */ _t8 = cpu->r[31] + 0x000000A8u;
|
|
/* 0257137C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02571380 */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02571380 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02571384 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02571388 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571388 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02571388 */ if (_t11) goto L_0257138C; else goto L_0257139C;
|
|
L_0257138C: ; // 0x257138c
|
|
/* 0257138C */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 0257138C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02571390 */ _t13 = cpu->r[31] + 0x000000B0u;
|
|
/* 02571390 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02571394 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02571398 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571398 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02571398 */ if (_t15) goto L_02571418; else goto L_0257139C;
|
|
L_0257139C: ; // 0x257139c
|
|
/* 0257139C */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713A0 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 025713A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025713A4 */ _t17 = cpu->r[12] + 0xFFFFEC60u;
|
|
/* 025713A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025713A8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713AC */ _t18 = cpu->r[12] + 0xFFFFEC4Cu;
|
|
/* 025713AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025713B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713B4 */ _t19 = cpu->r[12] + 0xFFFFEC64u;
|
|
/* 025713B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025713B8 */ cpu->r[11] = cpu->r[11] + 0x00000350u;
|
|
/* 025713BC */ _ft20 = sqrt(cpu->f[0]);
|
|
/* 025713BC */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 025713BC */ cpu->f[9] = _ft21 / _ft20;
|
|
/* 025713C0 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 025713C4 */ cpu->f[7] = cpu->f[9] * cpu->f[31];
|
|
/* 025713C8 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[13]));
|
|
/* 025713CC */ cpu->f[9] = cpu->f[12] * cpu->f[7];
|
|
/* 025713D0 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 025713D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025713D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025713D8 */ _t23 = cpu->r[31] + 0x000002ACu;
|
|
/* 025713D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025713DC */ cpu->r[3] = cpu->r[31];
|
|
/* 025713E0 */ cpu->f[30] = cpu->f[9] + cpu->f[9];
|
|
/* 025713E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025713E8 */ cpu->f[11] = cpu->f[1] * cpu->f[31];
|
|
/* 025713EC */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 025713EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025713F0 */ cpu->f[8] = cpu->f[11] * cpu->f[30];
|
|
/* 025713F4 */ _t25 = cpu->r[31] + 0x00000080u;
|
|
/* 025713F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025713F8 */ cpu->f[1] = cpu->f[10] - cpu->f[8];
|
|
/* 025713FC */ cpu->f[3] = cpu->f[7] - cpu->f[8];
|
|
/* 02571400 */ cpu->f[4] = cpu->f[7] + cpu->f[8];
|
|
/* 02571404 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571408 */ cpu->f[2] = cpu->f[10] + cpu->f[8];
|
|
/* 0257140C */ _t26 = cpu->r[11] + 0xFFFFEC14u;
|
|
/* 0257140C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02571410 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571414 */ Gambit_fn_02031EFC(cpu);
|
|
L_02571418: ; // 0x2571418
|
|
/* 02571418 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0257141C */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 0257141C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02571420 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02571420 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02571424 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02571424 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02571428 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02571428 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0257142C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0257142C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02571430 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571430 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02571430 */ if (_t34) goto L_02571434; // else: addr-0 trap, fall-through
|
|
L_02571434: ; // 0x2571434
|
|
/* 02571434 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02571434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02571438 */ cpu->lr = cpu->r[0];
|
|
/* 0257143C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02571440 */ return;
|
|
}
|
|
|
|
// fn_02571350 @ 0x2571350
|
|
void Gambit_fn_02571350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
double _ft20, _ft21;
|
|
|
|
L_02571350: ; // 0x2571350
|
|
/* 02571350 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02571350 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571350 */ cpu->r[1] = _t0;
|
|
/* 02571354 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02571354 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02571358 */ /* nop */
|
|
/* 0257135C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0257135C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02571360 */ /* nop */
|
|
/* 02571364 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02571364 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02571368 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02571368 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0257136C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257136C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02571370 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02571370 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02571374 */ cpu->r[31] = cpu->r[3];
|
|
/* 02571378 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02571378 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0257137C */ _t8 = cpu->r[31] + 0x000000A8u;
|
|
/* 0257137C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02571380 */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02571380 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02571384 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02571388 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571388 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02571388 */ if (_t11) goto L_0257138C; else goto L_0257139C;
|
|
L_0257138C: ; // 0x257138c
|
|
/* 0257138C */ _t12 = cpu->r[31] + 0x00000080u;
|
|
/* 0257138C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02571390 */ _t13 = cpu->r[31] + 0x000000B0u;
|
|
/* 02571390 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02571394 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02571398 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571398 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02571398 */ if (_t15) goto L_02571418; else goto L_0257139C;
|
|
L_0257139C: ; // 0x257139c
|
|
/* 0257139C */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713A0 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 025713A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025713A4 */ _t17 = cpu->r[12] + 0xFFFFEC60u;
|
|
/* 025713A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 025713A8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713AC */ _t18 = cpu->r[12] + 0xFFFFEC4Cu;
|
|
/* 025713AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025713B0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025713B4 */ _t19 = cpu->r[12] + 0xFFFFEC64u;
|
|
/* 025713B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 025713B8 */ cpu->r[11] = cpu->r[11] + 0x00000350u;
|
|
/* 025713BC */ _ft20 = sqrt(cpu->f[0]);
|
|
/* 025713BC */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 025713BC */ cpu->f[9] = _ft21 / _ft20;
|
|
/* 025713C0 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 025713C4 */ cpu->f[7] = cpu->f[9] * cpu->f[31];
|
|
/* 025713C8 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[13]));
|
|
/* 025713CC */ cpu->f[9] = cpu->f[12] * cpu->f[7];
|
|
/* 025713D0 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 025713D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025713D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025713D8 */ _t23 = cpu->r[31] + 0x000002ACu;
|
|
/* 025713D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025713DC */ cpu->r[3] = cpu->r[31];
|
|
/* 025713E0 */ cpu->f[30] = cpu->f[9] + cpu->f[9];
|
|
/* 025713E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025713E8 */ cpu->f[11] = cpu->f[1] * cpu->f[31];
|
|
/* 025713EC */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 025713EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025713F0 */ cpu->f[8] = cpu->f[11] * cpu->f[30];
|
|
/* 025713F4 */ _t25 = cpu->r[31] + 0x00000080u;
|
|
/* 025713F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025713F8 */ cpu->f[1] = cpu->f[10] - cpu->f[8];
|
|
/* 025713FC */ cpu->f[3] = cpu->f[7] - cpu->f[8];
|
|
/* 02571400 */ cpu->f[4] = cpu->f[7] + cpu->f[8];
|
|
/* 02571404 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571408 */ cpu->f[2] = cpu->f[10] + cpu->f[8];
|
|
/* 0257140C */ _t26 = cpu->r[11] + 0xFFFFEC14u;
|
|
/* 0257140C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02571410 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571414 */ Gambit_fn_02031EFC(cpu);
|
|
L_02571418: ; // 0x2571418
|
|
/* 02571418 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0257141C */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 0257141C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02571420 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02571420 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02571424 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02571424 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02571428 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02571428 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0257142C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0257142C */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02571430 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571430 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02571430 */ if (_t34) goto L_02571434; // else: addr-0 trap, fall-through
|
|
L_02571434: ; // 0x2571434
|
|
/* 02571434 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02571434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02571438 */ cpu->lr = cpu->r[0];
|
|
/* 0257143C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02571440 */ return;
|
|
}
|
|
|
|
// fn_02571444 @ 0x2571444
|
|
void Gambit_fn_02571444(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02571444: ; // 0x2571444
|
|
/* 02571444 */ _t0 = cpu->r[3] + 0x000002A8u;
|
|
/* 02571444 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02571448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257144C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257144C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257144C */ if (_t2) goto L_02571450; else goto L_0257145C;
|
|
L_02571450: ; // 0x2571450
|
|
/* 02571450 */ _t3 = cpu->r[3] + 0x000001A8u;
|
|
/* 02571450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02571454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571458 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571458 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02571458 */ if (_t5) goto L_02571464; else goto L_0257145C;
|
|
L_0257145C: ; // 0x257145c
|
|
/* 0257145C */ cpu->r[3] = 0x00000000u;
|
|
/* 02571460 */ return;
|
|
L_02571464: ; // 0x2571464
|
|
/* 02571464 */ cpu->r[3] = 0x00000001u;
|
|
/* 02571468 */ return;
|
|
}
|
|
|
|
// fn_0257146C @ 0x257146c
|
|
void Gambit_fn_0257146C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0257146C: ; // 0x257146c
|
|
/* 0257146C */ cpu->r[0] = cpu->lr;
|
|
/* 02571470 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02571470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571470 */ cpu->r[1] = _t0;
|
|
/* 02571474 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571474 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02571478 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257147C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257147C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571480 */ Gambit_fn_02571258(cpu);
|
|
/* 02571484 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571488 */ Gambit_fn_0257134C(cpu);
|
|
/* 0257148C */ cpu->r[3] = cpu->r[31];
|
|
/* 02571490 */ Gambit_fn_024F7158(cpu);
|
|
/* 02571494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571498 */ Gambit_fn_02571444(cpu);
|
|
/* 0257149C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025714A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025714A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025714A0 */ if (_t4) goto L_025714AC; else goto L_025714A4;
|
|
L_025714A4: ; // 0x25714a4
|
|
/* 025714A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025714A8 */ Gambit_fn_024F5A60(cpu);
|
|
L_025714AC: ; // 0x25714ac
|
|
/* 025714AC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025714AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025714B0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025714B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025714B4 */ cpu->lr = cpu->r[0];
|
|
/* 025714B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025714BC */ return;
|
|
}
|
|
|
|
// fn_02571470 @ 0x2571470
|
|
void Gambit_fn_02571470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02571470: ; // 0x2571470
|
|
/* 02571470 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02571470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571470 */ cpu->r[1] = _t0;
|
|
/* 02571474 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571474 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02571478 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257147C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257147C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571480 */ Gambit_fn_02571258(cpu);
|
|
/* 02571484 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571488 */ Gambit_fn_0257134C(cpu);
|
|
/* 0257148C */ cpu->r[3] = cpu->r[31];
|
|
/* 02571490 */ Gambit_fn_024F7158(cpu);
|
|
/* 02571494 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571498 */ Gambit_fn_02571444(cpu);
|
|
/* 0257149C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025714A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025714A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 025714A0 */ if (_t4) goto L_025714AC; else goto L_025714A4;
|
|
L_025714A4: ; // 0x25714a4
|
|
/* 025714A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025714A8 */ Gambit_fn_024F5A60(cpu);
|
|
L_025714AC: ; // 0x25714ac
|
|
/* 025714AC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025714AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025714B0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025714B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025714B4 */ cpu->lr = cpu->r[0];
|
|
/* 025714B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025714BC */ return;
|
|
}
|
|
|
|
// fn_025714C0 @ 0x25714c0
|
|
void Gambit_fn_025714C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025714C0: ; // 0x25714c0
|
|
/* 025714C0 */ cpu->r[0] = cpu->lr;
|
|
/* 025714C4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 025714C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025714C4 */ cpu->r[1] = _t0;
|
|
/* 025714C8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 025714C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025714CC */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 025714CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025714D0 */ /* nop */
|
|
/* 025714D4 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 025714D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 025714D8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025714D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025714DC */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 025714DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025714E0 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 025714E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025714E4 */ _t7 = cpu->r[12] + 0x00000354u;
|
|
/* 025714E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025714E8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025714EC */ cpu->ctr = cpu->r[8];
|
|
/* 025714F0 */ _t8 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 025714F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025714F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025714F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025714FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571500 */ cpu->f[12] = cpu->f[1] * cpu->f[31];
|
|
/* 02571504 */ /* nop */
|
|
/* 02571508 */ _t9 = cpu->r[30] + 0x00000080u;
|
|
/* 02571508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0257150C */ /* nop */
|
|
/* 02571510 */ _t10 = cpu->r[30] + 0x00000068u;
|
|
/* 02571510 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02571514 */ /* nop */
|
|
/* 02571518 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257151C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0257151C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571520 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02571520 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02571524 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02571528 */ /* nop */
|
|
/* 0257152C */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257152C */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02571530 */ /* nop */
|
|
/* 02571534 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02571534 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
|
|
/* 02571538 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02571538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0257153C */ /* nop */
|
|
/* 02571540 */ /* nop */
|
|
/* 02571544 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02571544 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02571548 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02571548 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257154C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0257154C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02571550 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02571550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02571554 */ cpu->f[11] = cpu->f[0] + cpu->f[11];
|
|
/* 02571558 */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02571558 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 0257155C */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 0257155C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571560 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02571560 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02571564 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02571564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02571568 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571568 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 0257156C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257156C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02571570 */ _t27 = cpu->r[31] + 0x00000004u;
|
|
/* 02571570 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 02571574 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02571574 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02571578 */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 02571578 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257157C */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 0257157C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571580 */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02571580 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571584 */ _t32 = cpu->r[30] + 0x00000054u;
|
|
/* 02571584 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571588 */ _t33 = cpu->r[31] + 0x00000010u;
|
|
/* 02571588 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]);
|
|
/* 0257158C */ _t34 = cpu->r[30] + 0x00000058u;
|
|
/* 0257158C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02571590 */ _t35 = cpu->r[31] + 0x00000014u;
|
|
/* 02571590 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02571594 */ _t36 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02571594 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02571598 */ _t37 = cpu->r[31] + 0x00000018u;
|
|
/* 02571598 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 0257159C */ _t38 = cpu->r[30] + 0x00000060u;
|
|
/* 0257159C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 025715A0 */ _t39 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025715A0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 025715A4 */ _t40 = cpu->r[30] + 0x00000064u;
|
|
/* 025715A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 025715A8 */ _t41 = cpu->r[31] + 0x00000020u;
|
|
/* 025715A8 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 025715AC */ _t42 = cpu->r[30] + 0x00000068u;
|
|
/* 025715AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025715B0 */ _t43 = cpu->r[31] + 0x00000024u;
|
|
/* 025715B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[11]);
|
|
/* 025715B4 */ _t44 = cpu->r[30] + 0x0000006Cu;
|
|
/* 025715B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 025715B8 */ _t45 = cpu->r[31] + 0x00000028u;
|
|
/* 025715B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 025715BC */ _t46 = cpu->r[30] + 0x00000070u;
|
|
/* 025715BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 025715C0 */ _t47 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025715C0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 025715C4 */ _t48 = cpu->r[30] + 0x00000074u;
|
|
/* 025715C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 025715C8 */ _t49 = cpu->r[31] + 0x00000030u;
|
|
/* 025715C8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 025715CC */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 025715CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025715D0 */ _t51 = cpu->r[9] + 0x00000354u;
|
|
/* 025715D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025715D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025715D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025715DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025715E0 */ cpu->f[13] = cpu->f[1] * cpu->f[31];
|
|
/* 025715E4 */ _t52 = cpu->r[31] + 0x00000034u;
|
|
/* 025715E4 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 025715E8 */ _t53 = cpu->r[30] + 0x00000004u;
|
|
/* 025715E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025715EC */ _t54 = cpu->r[7] + 0x00000354u;
|
|
/* 025715EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 025715F0 */ cpu->ctr = cpu->r[8];
|
|
/* 025715F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025715F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025715FC */ cpu->f[0] = cpu->f[1] * cpu->f[31];
|
|
/* 02571600 */ _t55 = cpu->r[31] + 0x00000038u;
|
|
/* 02571600 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 02571604 */ _t56 = cpu->r[30] + 0x00000004u;
|
|
/* 02571604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02571608 */ _t57 = cpu->r[12] + 0x00000354u;
|
|
/* 02571608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0257160C */ cpu->ctr = cpu->r[6];
|
|
/* 02571610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571618 */ cpu->f[13] = cpu->f[1] * cpu->f[31];
|
|
/* 0257161C */ _t58 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0257161C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02571620 */ _t59 = cpu->r[1] + 0x00000048u;
|
|
/* 02571620 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02571624 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02571624 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571628 */ _t61 = cpu->r[1] + 0x00000040u;
|
|
/* 02571628 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0257162C */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257162C */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02571630 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571630 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02571630 */ if (_t64) goto L_02571634; // else: addr-0 trap, fall-through
|
|
L_02571634: ; // 0x2571634
|
|
/* 02571634 */ _t65 = cpu->r[1] + 0x00000054u;
|
|
/* 02571634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02571638 */ cpu->lr = cpu->r[0];
|
|
/* 0257163C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02571640 */ return;
|
|
}
|
|
|
|
// fn_025714C4 @ 0x25714c4
|
|
void Gambit_fn_025714C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025714C4: ; // 0x25714c4
|
|
/* 025714C4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 025714C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025714C4 */ cpu->r[1] = _t0;
|
|
/* 025714C8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 025714C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025714CC */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 025714CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025714D0 */ /* nop */
|
|
/* 025714D4 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 025714D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 025714D8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025714D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025714DC */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 025714DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025714E0 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 025714E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025714E4 */ _t7 = cpu->r[12] + 0x00000354u;
|
|
/* 025714E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025714E8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025714EC */ cpu->ctr = cpu->r[8];
|
|
/* 025714F0 */ _t8 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 025714F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025714F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025714F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025714FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571500 */ cpu->f[12] = cpu->f[1] * cpu->f[31];
|
|
/* 02571504 */ /* nop */
|
|
/* 02571508 */ _t9 = cpu->r[30] + 0x00000080u;
|
|
/* 02571508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0257150C */ /* nop */
|
|
/* 02571510 */ _t10 = cpu->r[30] + 0x00000068u;
|
|
/* 02571510 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02571514 */ /* nop */
|
|
/* 02571518 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257151C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0257151C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571520 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02571520 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02571524 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02571528 */ /* nop */
|
|
/* 0257152C */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257152C */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02571530 */ /* nop */
|
|
/* 02571534 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02571534 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
|
|
/* 02571538 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02571538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0257153C */ /* nop */
|
|
/* 02571540 */ /* nop */
|
|
/* 02571544 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02571544 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02571548 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02571548 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257154C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0257154C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02571550 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02571550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02571554 */ cpu->f[11] = cpu->f[0] + cpu->f[11];
|
|
/* 02571558 */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02571558 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 0257155C */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 0257155C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571560 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02571560 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02571564 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02571564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02571568 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571568 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 0257156C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257156C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02571570 */ _t27 = cpu->r[31] + 0x00000004u;
|
|
/* 02571570 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 02571574 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02571574 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02571578 */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 02571578 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257157C */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 0257157C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571580 */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02571580 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571584 */ _t32 = cpu->r[30] + 0x00000054u;
|
|
/* 02571584 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571588 */ _t33 = cpu->r[31] + 0x00000010u;
|
|
/* 02571588 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]);
|
|
/* 0257158C */ _t34 = cpu->r[30] + 0x00000058u;
|
|
/* 0257158C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02571590 */ _t35 = cpu->r[31] + 0x00000014u;
|
|
/* 02571590 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02571594 */ _t36 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02571594 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02571598 */ _t37 = cpu->r[31] + 0x00000018u;
|
|
/* 02571598 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 0257159C */ _t38 = cpu->r[30] + 0x00000060u;
|
|
/* 0257159C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 025715A0 */ _t39 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025715A0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 025715A4 */ _t40 = cpu->r[30] + 0x00000064u;
|
|
/* 025715A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 025715A8 */ _t41 = cpu->r[31] + 0x00000020u;
|
|
/* 025715A8 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 025715AC */ _t42 = cpu->r[30] + 0x00000068u;
|
|
/* 025715AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025715B0 */ _t43 = cpu->r[31] + 0x00000024u;
|
|
/* 025715B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[11]);
|
|
/* 025715B4 */ _t44 = cpu->r[30] + 0x0000006Cu;
|
|
/* 025715B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 025715B8 */ _t45 = cpu->r[31] + 0x00000028u;
|
|
/* 025715B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 025715BC */ _t46 = cpu->r[30] + 0x00000070u;
|
|
/* 025715BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 025715C0 */ _t47 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025715C0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 025715C4 */ _t48 = cpu->r[30] + 0x00000074u;
|
|
/* 025715C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 025715C8 */ _t49 = cpu->r[31] + 0x00000030u;
|
|
/* 025715C8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 025715CC */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 025715CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025715D0 */ _t51 = cpu->r[9] + 0x00000354u;
|
|
/* 025715D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025715D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025715D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025715DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025715E0 */ cpu->f[13] = cpu->f[1] * cpu->f[31];
|
|
/* 025715E4 */ _t52 = cpu->r[31] + 0x00000034u;
|
|
/* 025715E4 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 025715E8 */ _t53 = cpu->r[30] + 0x00000004u;
|
|
/* 025715E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025715EC */ _t54 = cpu->r[7] + 0x00000354u;
|
|
/* 025715EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 025715F0 */ cpu->ctr = cpu->r[8];
|
|
/* 025715F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025715F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025715FC */ cpu->f[0] = cpu->f[1] * cpu->f[31];
|
|
/* 02571600 */ _t55 = cpu->r[31] + 0x00000038u;
|
|
/* 02571600 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 02571604 */ _t56 = cpu->r[30] + 0x00000004u;
|
|
/* 02571604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02571608 */ _t57 = cpu->r[12] + 0x00000354u;
|
|
/* 02571608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0257160C */ cpu->ctr = cpu->r[6];
|
|
/* 02571610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571618 */ cpu->f[13] = cpu->f[1] * cpu->f[31];
|
|
/* 0257161C */ _t58 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0257161C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02571620 */ _t59 = cpu->r[1] + 0x00000048u;
|
|
/* 02571620 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02571624 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02571624 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571628 */ _t61 = cpu->r[1] + 0x00000040u;
|
|
/* 02571628 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0257162C */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257162C */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02571630 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571630 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02571630 */ if (_t64) goto L_02571634; // else: addr-0 trap, fall-through
|
|
L_02571634: ; // 0x2571634
|
|
/* 02571634 */ _t65 = cpu->r[1] + 0x00000054u;
|
|
/* 02571634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02571638 */ cpu->lr = cpu->r[0];
|
|
/* 0257163C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02571640 */ return;
|
|
}
|
|
|
|
// fn_02571644 @ 0x2571644
|
|
void Gambit_fn_02571644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_02571644: ; // 0x2571644
|
|
/* 02571644 */ cpu->r[0] = cpu->lr;
|
|
/* 02571648 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02571648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571648 */ cpu->r[1] = _t0;
|
|
/* 0257164C */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 0257164C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02571650 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 02571650 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02571654 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 02571654 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02571658 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02571658 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0257165C */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0257165C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571660 */ cpu->r[29] = cpu->r[4];
|
|
/* 02571664 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571668 */ _t6 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02571668 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0257166C */ _t7 = cpu->r[12] + 0xFFFFEC68u;
|
|
/* 0257166C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02571670 */ cpu->f[9] = cpu->f[7];
|
|
/* 02571674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 02571678 */ cpu->r[30] = cpu->r[5];
|
|
/* 0257167C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257167C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0257167C */ if (_t9) goto L_02571744; else goto L_02571680;
|
|
L_02571680: ; // 0x2571680
|
|
/* 02571680 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02571684 */ _t10 = cpu->r[6] + 0xFFFFEC6Cu;
|
|
/* 02571684 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02571688 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 0257168C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257168C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0257168C */ if (_t12) goto L_02571744; else goto L_02571690;
|
|
L_02571690: ; // 0x2571690
|
|
/* 02571690 */ /* nop */
|
|
/* 02571694 */ cpu->r[11] = 0x43300000u;
|
|
/* 02571698 */ /* nop */
|
|
/* 0257169C */ cpu->r[31] = 0x00000020u;
|
|
/* 025716A0 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 025716A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025716A4 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025716A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025716A8 */ /* nop */
|
|
/* 025716AC */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 025716AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025716B0 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 025716B4 */ _t16 = cpu->r[1] + 0x00000038u;
|
|
/* 025716B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 025716B8 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 025716BC */ _t17 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025716BC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 025716C0 */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025716C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025716C4 */ /* nop */
|
|
/* 025716C8 */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025716C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025716CC */ _t20 = cpu->r[1] + 0x00000054u;
|
|
/* 025716CC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[8]);
|
|
/* 025716D0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025716D4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 025716D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 025716D8 */ _t22 = cpu->r[11] + 0xFFFFEC70u;
|
|
/* 025716D8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 025716DC */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 025716DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 025716E0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025716E4 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 025716E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025716E8 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 025716EC */ _t25 = cpu->r[9] + 0xFFFFEC5Cu;
|
|
/* 025716EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025716F0 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 025716F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025716F4 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 025716F8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 025716F8 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 025716FC */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 025716FC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02571700 */ cpu->f[9] = cpu->f[13] / cpu->f[8];
|
|
/* 02571704 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02571704 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02571708 */ _t30 = cpu->r[1] + 0x00000054u;
|
|
/* 02571708 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0257170C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257170C */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 02571710 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571710 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02571714 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02571714 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02571718 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02571718 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0257171C */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02571720 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571720 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02571724 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 02571728 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02571728 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[11]);
|
|
/* 0257172C */ cpu->r[28] = 0x10110000u;
|
|
/* 02571730 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02571734 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02571734 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02571738 */ cpu->r[28] = cpu->r[28] + 0xFFFFEF4Cu;
|
|
/* 0257173C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257173C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02571740 */ goto L_025718AC;
|
|
L_02571744: ; // 0x2571744
|
|
/* 02571744 */ _t39 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02571744 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02571748 */ _t40 = cpu->r[29] + 0x00000018u;
|
|
/* 02571748 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0257174C */ /* nop */
|
|
/* 02571750 */ cpu->f[13] = cpu->f[9] - cpu->f[11];
|
|
/* 02571754 */ /* nop */
|
|
/* 02571758 */ /* nop */
|
|
/* 0257175C */ /* nop */
|
|
/* 02571760 */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02571760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02571764 */ _t42 = cpu->r[1] + 0x00000048u;
|
|
/* 02571764 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02571768 */ _t43 = cpu->r[1] + 0x00000048u;
|
|
/* 02571768 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0257176C */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 0257176C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02571770 */ _t45 = cpu->r[1] + 0x00000074u;
|
|
/* 02571770 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02571774 */ _t46 = cpu->r[1] + 0x00000078u;
|
|
/* 02571774 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02571778 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0257177C */ _t47 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0257177C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02571780 */ Gambit_fn_02C69350(cpu);
|
|
/* 02571784 */ _t48 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02571784 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02571788 */ cpu->f[10] = cpu->f[1] / cpu->f[7];
|
|
/* 0257178C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02571790 */ cpu->r[0] = cpu->r[1] + 0x00000038u;
|
|
/* 02571794 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571798 */ /* nop */
|
|
/* 0257179C */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 0257179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025717A0 */ cpu->r[7] = 0x43300000u;
|
|
/* 025717A4 */ _t50 = cpu->r[12] + 0xFFFFEC70u;
|
|
/* 025717A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 025717A8 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 025717AC */ _t51 = cpu->r[1] + 0x00000038u;
|
|
/* 025717AC */ rbrew_write32(cpu->mem, _t51, cpu->r[7]);
|
|
/* 025717B0 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025717B0 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 025717B4 */ _t53 = cpu->r[1] + 0x00000038u;
|
|
/* 025717B4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 025717B8 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 025717BC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 025717C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
|
|
/* 025717C4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025717C4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 025717C4 */ if (_t55) goto L_025717DC; else goto L_025717C8;
|
|
L_025717C8: ; // 0x25717c8
|
|
/* 025717C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025717CC */ _t56 = cpu->r[12] + 0xFFFFEC14u;
|
|
/* 025717CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 025717D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 025717D4 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025717D4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 025717D4 */ if (_t58) goto L_025717DC; else goto L_025717D8;
|
|
L_025717D8: ; // 0x25717d8
|
|
/* 025717D8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_025717DC: ; // 0x25717dc
|
|
/* 025717DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000020u);
|
|
/* 025717E0 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025717E0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 025717E0 */ if (_t60) goto L_025717E4; else goto L_025717E8;
|
|
L_025717E4: ; // 0x25717e4
|
|
/* 025717E4 */ cpu->r[31] = 0x00000020u;
|
|
L_025717E8: ; // 0x25717e8
|
|
/* 025717E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025717EC */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025717EC */ _t62 = _t61 & 0x00000001u;
|
|
/* 025717EC */ if (_t62) goto L_025717F4; else goto L_025717F0;
|
|
L_025717F0: ; // 0x25717f0
|
|
/* 025717F0 */ cpu->r[31] = 0x00000001u;
|
|
L_025717F4: ; // 0x25717f4
|
|
/* 025717F4 */ _t63 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025717F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 025717F8 */ cpu->r[11] = 0x43300000u;
|
|
/* 025717FC */ _t64 = cpu->r[29] + 0x00000008u;
|
|
/* 025717FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02571800 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02571804 */ /* nop */
|
|
/* 02571808 */ /* nop */
|
|
/* 0257180C */ _t65 = cpu->r[29] + 0x00000018u;
|
|
/* 0257180C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02571810 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02571810 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 02571814 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571818 */ /* nop */
|
|
/* 0257181C */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257181C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02571820 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 02571820 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02571824 */ _t69 = cpu->r[11] + 0xFFFFEC70u;
|
|
/* 02571824 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02571828 */ _t70 = cpu->r[29] + 0x00000004u;
|
|
/* 02571828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0257182C */ /* nop */
|
|
/* 02571830 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02571830 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02571834 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 02571838 */ _t72 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02571838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0257183C */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 0257183C */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 02571840 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02571844 */ _t74 = cpu->r[1] + 0x00000054u;
|
|
/* 02571844 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[8]);
|
|
/* 02571848 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257184C */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 0257184C */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02571850 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02571854 */ _t76 = cpu->r[9] + 0xFFFFEC5Cu;
|
|
/* 02571854 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02571858 */ _t77 = cpu->r[1] + 0x00000050u;
|
|
/* 02571858 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0257185C */ cpu->f[9] = cpu->f[13] / cpu->f[8];
|
|
/* 02571860 */ _t78 = cpu->r[1] + 0x00000018u;
|
|
/* 02571860 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 02571864 */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 02571864 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02571868 */ _t80 = cpu->r[1] + 0x00000054u;
|
|
/* 02571868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0257186C */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257186C */ rbrew_write32(cpu->mem, _t81, cpu->r[7]);
|
|
/* 02571870 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571870 */ rbrew_write32(cpu->mem, _t82, cpu->r[8]);
|
|
/* 02571874 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02571874 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02571878 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 02571878 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0257187C */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02571880 */ _t85 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571880 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02571884 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 02571888 */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 02571888 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 0257188C */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02571890 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 02571890 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[12]);
|
|
/* 02571894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02571898 */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571898 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[13]);
|
|
/* 0257189C */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257189C */ _t90 = _t89 & 0x00000001u;
|
|
/* 0257189C */ if (_t90) goto L_025718A4; else goto L_025718A0;
|
|
L_025718A0: ; // 0x25718a0
|
|
/* 025718A0 */ cpu->r[31] = 0x00000001u;
|
|
L_025718A4: ; // 0x25718a4
|
|
/* 025718A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 025718A8 */ cpu->r[28] = cpu->r[28] + 0xFFFFEF4Cu;
|
|
L_025718AC: ; // 0x25718ac
|
|
/* 025718AC */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 025718AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 025718B0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 025718B4 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025718B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 025718B8 */ _t93 = cpu->r[1] + 0x00000024u;
|
|
/* 025718B8 */ rbrew_write32(cpu->mem, _t93, cpu->r[11]);
|
|
/* 025718BC */ _t94 = cpu->r[1] + 0x00000028u;
|
|
/* 025718BC */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 025718C0 */ _t95 = cpu->r[1] + 0x00000030u;
|
|
/* 025718C0 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[7]);
|
|
/* 025718C4 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 025718C8 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 025718C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 025718CC */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 025718CC */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 025718D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 025718D4 */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025718D4 */ rbrew_write32(cpu->mem, _t98, cpu->r[6]);
|
|
/* 025718D8 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 025718DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025718E0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025718E0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 025718E0 */ if (_t100) goto L_02571908; else goto L_025718E4;
|
|
L_025718E4: ; // 0x25718e4
|
|
/* 025718E4 */ _t101 = cpu->r[1] + 0x00000080u;
|
|
/* 025718E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
|
|
/* 025718E8 */ _t102 = cpu->r[1] + 0x00000084u;
|
|
/* 025718E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 025718EC */ _t103 = cpu->r[1] + 0x00000094u;
|
|
/* 025718EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 025718F0 */ _t104 = cpu->r[1] + 0x00000088u;
|
|
/* 025718F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025718F4 */ cpu->lr = cpu->r[0];
|
|
/* 025718F8 */ _t105 = cpu->r[1] + 0x0000008Cu;
|
|
/* 025718F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 025718FC */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02571900 */ cpu->r[3] = 0x00000001u;
|
|
/* 02571904 */ return;
|
|
L_02571908: ; // 0x2571908
|
|
/* 02571908 */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 02571908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0257190C */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257190C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02571910 */ /* nop */
|
|
/* 02571914 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 02571918 */ /* nop */
|
|
/* 0257191C */ /* nop */
|
|
/* 02571920 */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 02571920 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[13]);
|
|
/* 02571924 */ /* nop */
|
|
/* 02571928 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02571928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0257192C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257192C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0257192C */ if (_t110) goto L_02571970; else goto L_02571930;
|
|
L_02571930: ; // 0x2571930
|
|
/* 02571930 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 02571930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02571934 */ cpu->r[4] = cpu->r[30];
|
|
/* 02571938 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0257193C */ _t113 = cpu->r[1] + 0x00000024u;
|
|
/* 0257193C */ rbrew_write32(cpu->mem, _t113, cpu->r[11]);
|
|
/* 02571940 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 02571940 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 02571944 */ _t115 = cpu->r[1] + 0x00000010u;
|
|
/* 02571944 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02571948 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0257194C */ _t116 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0257194C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02571950 */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02571950 */ rbrew_write32(cpu->mem, _t117, cpu->r[28]);
|
|
/* 02571954 */ _t118 = cpu->r[1] + 0x00000030u;
|
|
/* 02571954 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[7]);
|
|
/* 02571958 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 0257195C */ _t119 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257195C */ rbrew_write32(cpu->mem, _t119, cpu->r[6]);
|
|
/* 02571960 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02571964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571968 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571968 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02571968 */ if (_t121) goto L_02571908; else goto L_0257196C;
|
|
L_0257196C: ; // 0x257196c
|
|
/* 0257196C */ goto L_025718E4;
|
|
L_02571970: ; // 0x2571970
|
|
/* 02571970 */ _t122 = cpu->r[1] + 0x00000080u;
|
|
/* 02571970 */ cpu->r[28] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02571974 */ _t123 = cpu->r[1] + 0x00000084u;
|
|
/* 02571974 */ cpu->r[29] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02571978 */ _t124 = cpu->r[1] + 0x00000094u;
|
|
/* 02571978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0257197C */ _t125 = cpu->r[1] + 0x00000088u;
|
|
/* 0257197C */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02571980 */ cpu->lr = cpu->r[0];
|
|
/* 02571984 */ _t126 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02571984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02571988 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0257198C */ cpu->r[3] = 0x00000000u;
|
|
/* 02571990 */ return;
|
|
}
|
|
|
|
// fn_02571648 @ 0x2571648
|
|
void Gambit_fn_02571648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_02571648: ; // 0x2571648
|
|
/* 02571648 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02571648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571648 */ cpu->r[1] = _t0;
|
|
/* 0257164C */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 0257164C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02571650 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 02571650 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02571654 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 02571654 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02571658 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02571658 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0257165C */ _t5 = cpu->r[1] + 0x00000094u;
|
|
/* 0257165C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571660 */ cpu->r[29] = cpu->r[4];
|
|
/* 02571664 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571668 */ _t6 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02571668 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0257166C */ _t7 = cpu->r[12] + 0xFFFFEC68u;
|
|
/* 0257166C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02571670 */ cpu->f[9] = cpu->f[7];
|
|
/* 02571674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 02571678 */ cpu->r[30] = cpu->r[5];
|
|
/* 0257167C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257167C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0257167C */ if (_t9) goto L_02571744; else goto L_02571680;
|
|
L_02571680: ; // 0x2571680
|
|
/* 02571680 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02571684 */ _t10 = cpu->r[6] + 0xFFFFEC6Cu;
|
|
/* 02571684 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02571688 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 0257168C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257168C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0257168C */ if (_t12) goto L_02571744; else goto L_02571690;
|
|
L_02571690: ; // 0x2571690
|
|
/* 02571690 */ /* nop */
|
|
/* 02571694 */ cpu->r[11] = 0x43300000u;
|
|
/* 02571698 */ /* nop */
|
|
/* 0257169C */ cpu->r[31] = 0x00000020u;
|
|
/* 025716A0 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 025716A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025716A4 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025716A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025716A8 */ /* nop */
|
|
/* 025716AC */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 025716AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025716B0 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 025716B4 */ _t16 = cpu->r[1] + 0x00000038u;
|
|
/* 025716B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 025716B8 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 025716BC */ _t17 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025716BC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 025716C0 */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025716C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025716C4 */ /* nop */
|
|
/* 025716C8 */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025716C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025716CC */ _t20 = cpu->r[1] + 0x00000054u;
|
|
/* 025716CC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[8]);
|
|
/* 025716D0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025716D4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 025716D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 025716D8 */ _t22 = cpu->r[11] + 0xFFFFEC70u;
|
|
/* 025716D8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 025716DC */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 025716DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 025716E0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025716E4 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 025716E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025716E8 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 025716EC */ _t25 = cpu->r[9] + 0xFFFFEC5Cu;
|
|
/* 025716EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025716F0 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 025716F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025716F4 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 025716F8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 025716F8 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 025716FC */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 025716FC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02571700 */ cpu->f[9] = cpu->f[13] / cpu->f[8];
|
|
/* 02571704 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02571704 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02571708 */ _t30 = cpu->r[1] + 0x00000054u;
|
|
/* 02571708 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0257170C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257170C */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 02571710 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571710 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02571714 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02571714 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02571718 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02571718 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0257171C */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02571720 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571720 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02571724 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 02571728 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02571728 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[11]);
|
|
/* 0257172C */ cpu->r[28] = 0x10110000u;
|
|
/* 02571730 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02571734 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02571734 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02571738 */ cpu->r[28] = cpu->r[28] + 0xFFFFEF4Cu;
|
|
/* 0257173C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257173C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02571740 */ goto L_025718AC;
|
|
L_02571744: ; // 0x2571744
|
|
/* 02571744 */ _t39 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02571744 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02571748 */ _t40 = cpu->r[29] + 0x00000018u;
|
|
/* 02571748 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0257174C */ /* nop */
|
|
/* 02571750 */ cpu->f[13] = cpu->f[9] - cpu->f[11];
|
|
/* 02571754 */ /* nop */
|
|
/* 02571758 */ /* nop */
|
|
/* 0257175C */ /* nop */
|
|
/* 02571760 */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02571760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02571764 */ _t42 = cpu->r[1] + 0x00000048u;
|
|
/* 02571764 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02571768 */ _t43 = cpu->r[1] + 0x00000048u;
|
|
/* 02571768 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0257176C */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 0257176C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02571770 */ _t45 = cpu->r[1] + 0x00000074u;
|
|
/* 02571770 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02571774 */ _t46 = cpu->r[1] + 0x00000078u;
|
|
/* 02571774 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02571778 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 0257177C */ _t47 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0257177C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02571780 */ Gambit_fn_02C69350(cpu);
|
|
/* 02571784 */ _t48 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02571784 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02571788 */ cpu->f[10] = cpu->f[1] / cpu->f[7];
|
|
/* 0257178C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02571790 */ cpu->r[0] = cpu->r[1] + 0x00000038u;
|
|
/* 02571794 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02571798 */ /* nop */
|
|
/* 0257179C */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 0257179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025717A0 */ cpu->r[7] = 0x43300000u;
|
|
/* 025717A4 */ _t50 = cpu->r[12] + 0xFFFFEC70u;
|
|
/* 025717A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 025717A8 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 025717AC */ _t51 = cpu->r[1] + 0x00000038u;
|
|
/* 025717AC */ rbrew_write32(cpu->mem, _t51, cpu->r[7]);
|
|
/* 025717B0 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025717B0 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 025717B4 */ _t53 = cpu->r[1] + 0x00000038u;
|
|
/* 025717B4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 025717B8 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 025717BC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 025717C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
|
|
/* 025717C4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025717C4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 025717C4 */ if (_t55) goto L_025717DC; else goto L_025717C8;
|
|
L_025717C8: ; // 0x25717c8
|
|
/* 025717C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025717CC */ _t56 = cpu->r[12] + 0xFFFFEC14u;
|
|
/* 025717CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 025717D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 025717D4 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025717D4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 025717D4 */ if (_t58) goto L_025717DC; else goto L_025717D8;
|
|
L_025717D8: ; // 0x25717d8
|
|
/* 025717D8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_025717DC: ; // 0x25717dc
|
|
/* 025717DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000020u);
|
|
/* 025717E0 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025717E0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 025717E0 */ if (_t60) goto L_025717E4; else goto L_025717E8;
|
|
L_025717E4: ; // 0x25717e4
|
|
/* 025717E4 */ cpu->r[31] = 0x00000020u;
|
|
L_025717E8: ; // 0x25717e8
|
|
/* 025717E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025717EC */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025717EC */ _t62 = _t61 & 0x00000001u;
|
|
/* 025717EC */ if (_t62) goto L_025717F4; else goto L_025717F0;
|
|
L_025717F0: ; // 0x25717f0
|
|
/* 025717F0 */ cpu->r[31] = 0x00000001u;
|
|
L_025717F4: ; // 0x25717f4
|
|
/* 025717F4 */ _t63 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025717F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 025717F8 */ cpu->r[11] = 0x43300000u;
|
|
/* 025717FC */ _t64 = cpu->r[29] + 0x00000008u;
|
|
/* 025717FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02571800 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02571804 */ /* nop */
|
|
/* 02571808 */ /* nop */
|
|
/* 0257180C */ _t65 = cpu->r[29] + 0x00000018u;
|
|
/* 0257180C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02571810 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02571810 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 02571814 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571818 */ /* nop */
|
|
/* 0257181C */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257181C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02571820 */ _t68 = cpu->r[1] + 0x00000038u;
|
|
/* 02571820 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02571824 */ _t69 = cpu->r[11] + 0xFFFFEC70u;
|
|
/* 02571824 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02571828 */ _t70 = cpu->r[29] + 0x00000004u;
|
|
/* 02571828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0257182C */ /* nop */
|
|
/* 02571830 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02571830 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02571834 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 02571838 */ _t72 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02571838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0257183C */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 0257183C */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 02571840 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02571844 */ _t74 = cpu->r[1] + 0x00000054u;
|
|
/* 02571844 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[8]);
|
|
/* 02571848 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257184C */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 0257184C */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 02571850 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02571854 */ _t76 = cpu->r[9] + 0xFFFFEC5Cu;
|
|
/* 02571854 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02571858 */ _t77 = cpu->r[1] + 0x00000050u;
|
|
/* 02571858 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0257185C */ cpu->f[9] = cpu->f[13] / cpu->f[8];
|
|
/* 02571860 */ _t78 = cpu->r[1] + 0x00000018u;
|
|
/* 02571860 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 02571864 */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 02571864 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02571868 */ _t80 = cpu->r[1] + 0x00000054u;
|
|
/* 02571868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0257186C */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257186C */ rbrew_write32(cpu->mem, _t81, cpu->r[7]);
|
|
/* 02571870 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571870 */ rbrew_write32(cpu->mem, _t82, cpu->r[8]);
|
|
/* 02571874 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02571874 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02571878 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 02571878 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0257187C */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02571880 */ _t85 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571880 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02571884 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 02571888 */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 02571888 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 0257188C */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02571890 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 02571890 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[12]);
|
|
/* 02571894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02571898 */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571898 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[13]);
|
|
/* 0257189C */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257189C */ _t90 = _t89 & 0x00000001u;
|
|
/* 0257189C */ if (_t90) goto L_025718A4; else goto L_025718A0;
|
|
L_025718A0: ; // 0x25718a0
|
|
/* 025718A0 */ cpu->r[31] = 0x00000001u;
|
|
L_025718A4: ; // 0x25718a4
|
|
/* 025718A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 025718A8 */ cpu->r[28] = cpu->r[28] + 0xFFFFEF4Cu;
|
|
L_025718AC: ; // 0x25718ac
|
|
/* 025718AC */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 025718AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 025718B0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 025718B4 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025718B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 025718B8 */ _t93 = cpu->r[1] + 0x00000024u;
|
|
/* 025718B8 */ rbrew_write32(cpu->mem, _t93, cpu->r[11]);
|
|
/* 025718BC */ _t94 = cpu->r[1] + 0x00000028u;
|
|
/* 025718BC */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 025718C0 */ _t95 = cpu->r[1] + 0x00000030u;
|
|
/* 025718C0 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[7]);
|
|
/* 025718C4 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 025718C8 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 025718C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 025718CC */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 025718CC */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 025718D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 025718D4 */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025718D4 */ rbrew_write32(cpu->mem, _t98, cpu->r[6]);
|
|
/* 025718D8 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 025718DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025718E0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025718E0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 025718E0 */ if (_t100) goto L_02571908; else goto L_025718E4;
|
|
L_025718E4: ; // 0x25718e4
|
|
/* 025718E4 */ _t101 = cpu->r[1] + 0x00000080u;
|
|
/* 025718E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t101);
|
|
/* 025718E8 */ _t102 = cpu->r[1] + 0x00000084u;
|
|
/* 025718E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 025718EC */ _t103 = cpu->r[1] + 0x00000094u;
|
|
/* 025718EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 025718F0 */ _t104 = cpu->r[1] + 0x00000088u;
|
|
/* 025718F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025718F4 */ cpu->lr = cpu->r[0];
|
|
/* 025718F8 */ _t105 = cpu->r[1] + 0x0000008Cu;
|
|
/* 025718F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 025718FC */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02571900 */ cpu->r[3] = 0x00000001u;
|
|
/* 02571904 */ return;
|
|
L_02571908: ; // 0x2571908
|
|
/* 02571908 */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 02571908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0257190C */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257190C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02571910 */ /* nop */
|
|
/* 02571914 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
|
|
/* 02571918 */ /* nop */
|
|
/* 0257191C */ /* nop */
|
|
/* 02571920 */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 02571920 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[13]);
|
|
/* 02571924 */ /* nop */
|
|
/* 02571928 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02571928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0257192C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257192C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0257192C */ if (_t110) goto L_02571970; else goto L_02571930;
|
|
L_02571930: ; // 0x2571930
|
|
/* 02571930 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 02571930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02571934 */ cpu->r[4] = cpu->r[30];
|
|
/* 02571938 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0257193C */ _t113 = cpu->r[1] + 0x00000024u;
|
|
/* 0257193C */ rbrew_write32(cpu->mem, _t113, cpu->r[11]);
|
|
/* 02571940 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 02571940 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 02571944 */ _t115 = cpu->r[1] + 0x00000010u;
|
|
/* 02571944 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02571948 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0257194C */ _t116 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0257194C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02571950 */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02571950 */ rbrew_write32(cpu->mem, _t117, cpu->r[28]);
|
|
/* 02571954 */ _t118 = cpu->r[1] + 0x00000030u;
|
|
/* 02571954 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[7]);
|
|
/* 02571958 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 0257195C */ _t119 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257195C */ rbrew_write32(cpu->mem, _t119, cpu->r[6]);
|
|
/* 02571960 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02571964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571968 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571968 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02571968 */ if (_t121) goto L_02571908; else goto L_0257196C;
|
|
L_0257196C: ; // 0x257196c
|
|
/* 0257196C */ goto L_025718E4;
|
|
L_02571970: ; // 0x2571970
|
|
/* 02571970 */ _t122 = cpu->r[1] + 0x00000080u;
|
|
/* 02571970 */ cpu->r[28] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02571974 */ _t123 = cpu->r[1] + 0x00000084u;
|
|
/* 02571974 */ cpu->r[29] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02571978 */ _t124 = cpu->r[1] + 0x00000094u;
|
|
/* 02571978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0257197C */ _t125 = cpu->r[1] + 0x00000088u;
|
|
/* 0257197C */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02571980 */ cpu->lr = cpu->r[0];
|
|
/* 02571984 */ _t126 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02571984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02571988 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0257198C */ cpu->r[3] = 0x00000000u;
|
|
/* 02571990 */ return;
|
|
}
|
|
|
|
// fn_02571994 @ 0x2571994
|
|
void Gambit_fn_02571994(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02571994: ; // 0x2571994
|
|
/* 02571994 */ cpu->r[0] = cpu->lr;
|
|
/* 02571998 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02571998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571998 */ cpu->r[1] = _t0;
|
|
/* 0257199C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0257199C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025719A0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 025719A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025719A4 */ /* nop */
|
|
/* 025719A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 025719A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025719AC */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 025719AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025719B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025719B4 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025719B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025719B8 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 025719B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025719BC */ cpu->r[29] = cpu->r[4];
|
|
/* 025719C0 */ _t7 = cpu->r[30] + 0x000001CCu;
|
|
/* 025719C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025719C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025719C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025719C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025719C8 */ if (_t9) goto L_025719D8; else goto L_025719CC;
|
|
L_025719CC: ; // 0x25719cc
|
|
/* 025719CC */ _t10 = cpu->r[29] + 0x0000002Cu;
|
|
/* 025719CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025719D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 025719D4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719D4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025719D4 */ if (_t12) goto L_02571B4C; else goto L_025719D8;
|
|
L_025719D8: ; // 0x25719d8
|
|
/* 025719D8 */ _t13 = cpu->r[30] + 0x0000019Cu;
|
|
/* 025719D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025719DC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025719E0 */ _t14 = cpu->r[11] + 0xFFFFEC14u;
|
|
/* 025719E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025719E4 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 025719E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025719E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 025719EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 025719EC */ if (_t17) goto L_02571B4C; else goto L_025719F0;
|
|
L_025719F0: ; // 0x25719f0
|
|
/* 025719F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025719F4 */ _t18 = cpu->r[12] + 0xFFFFFB94u;
|
|
/* 025719F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025719F4 */ cpu->r[12] = _t18;
|
|
/* 025719F8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 025719FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02571A00 */ cpu->r[4] = cpu->r[4] + 0xFFFFFB98u;
|
|
/* 02571A04 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A04 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02571A04 */ if (_t20) goto L_02571A08; else goto L_02571A1C;
|
|
L_02571A08: ; // 0x2571a08
|
|
/* 02571A08 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02571A0C */ cpu->r[9] = 0x00000001u;
|
|
/* 02571A10 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBF8u;
|
|
/* 02571A14 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02571A14 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02571A18 */ _t22 = cpu->r[4] + 0x00000000u;
|
|
/* 02571A18 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02571A1C: ; // 0x2571a1c
|
|
/* 02571A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02571A20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02571A20 */ if (_t24) goto L_02571A48; else goto L_02571A24;
|
|
L_02571A24: ; // 0x2571a24
|
|
/* 02571A24 */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 02571A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02571A28 */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02571A28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02571A2C */ cpu->ctr = cpu->r[8];
|
|
/* 02571A30 */ cpu->r[3] = cpu->r[29];
|
|
/* 02571A34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571A3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02571A3C */ if (_t28) goto L_02571A48; else goto L_02571A40;
|
|
L_02571A40: ; // 0x2571a40
|
|
/* 02571A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02571A44 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A44 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02571A44 */ if (_t30) goto L_02571A48; else goto L_02571A88;
|
|
L_02571A48: ; // 0x2571a48
|
|
/* 02571A48 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02571A4C */ _t31 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02571A50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02571A54 */ cpu->r[6] = cpu->r[30] + 0x00000078u;
|
|
/* 02571A58 */ cpu->r[8] = 0x00000000u;
|
|
/* 02571A5C */ cpu->r[5] = cpu->r[30];
|
|
/* 02571A60 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571A64 */ cpu->r[9] = cpu->r[8];
|
|
/* 02571A68 */ cpu->r[10] = cpu->r[8];
|
|
/* 02571A6C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571A6C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02571A70 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02571A74 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02571A78 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02571A7C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02571A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02571A80 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A80 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02571A80 */ if (_t34) goto L_02571B4C; else goto L_02571A84;
|
|
L_02571A84: ; // 0x2571a84
|
|
/* 02571A84 */ goto L_02571B08;
|
|
L_02571A88: ; // 0x2571a88
|
|
/* 02571A88 */ _t35 = cpu->r[30] + 0x00000080u;
|
|
/* 02571A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02571A8C */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 02571A8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02571A90 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02571A90 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02571A94 */ _t38 = cpu->r[30] + 0x00000078u;
|
|
/* 02571A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02571A98 */ _t39 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02571A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02571A9C */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02571A9C */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 02571AA0 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AA0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02571AA4 */ _t42 = cpu->r[7] + 0x00000354u;
|
|
/* 02571AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02571AA8 */ cpu->ctr = cpu->r[10];
|
|
/* 02571AAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02571AB0 */ cpu->r[31] = cpu->r[30] + 0x00000078u;
|
|
/* 02571AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571AB8 */ _t43 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02571ABC */ cpu->r[7] = 0x100D0000u;
|
|
/* 02571AC0 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02571AC4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02571AC8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02571ACC */ _t45 = cpu->r[7] + 0xFFFFEC4Cu;
|
|
/* 02571ACC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02571AD0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02571AD4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02571AD8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02571ADC */ cpu->f[12] = fma(cpu->f[1], cpu->f[0], cpu->f[12]);
|
|
/* 02571AE0 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02571AE0 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02571AE4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02571AE8 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 02571AEC */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02571AF0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AF0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02571AF4 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02571AF8 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02571AFC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02571B00 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02571B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02571B04 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B04 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571B04 */ if (_t49) goto L_02571B4C; else goto L_02571B08;
|
|
L_02571B08: ; // 0x2571b08
|
|
/* 02571B08 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571B08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02571B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571B10 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B10 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02571B10 */ if (_t52) goto L_02571B2C; else goto L_02571B14;
|
|
L_02571B14: ; // 0x2571b14
|
|
/* 02571B14 */ _t53 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02571B18 */ _t54 = cpu->r[11] + 0x00000018u;
|
|
/* 02571B18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571B1C */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02571B1C */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02571B20 */ _t56 = cpu->r[11] + 0x00000010u;
|
|
/* 02571B20 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02571B24 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02571B28 */ Gambit_fn_023BC044(cpu);
|
|
L_02571B2C: ; // 0x2571b2c
|
|
/* 02571B2C */ _t57 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571B30 */ _t58 = cpu->r[12] + 0x00000004u;
|
|
/* 02571B30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02571B34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02571B38 */ cpu->r[4] = 0x00000001u;
|
|
/* 02571B3C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B3C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02571B3C */ if (_t60) goto L_02571B40; else goto L_02571B44;
|
|
L_02571B40: ; // 0x2571b40
|
|
/* 02571B40 */ cpu->r[4] = 0x00000002u;
|
|
L_02571B44: ; // 0x2571b44
|
|
/* 02571B44 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02571B48 */ Gambit_fn_020622DC(cpu);
|
|
L_02571B4C: ; // 0x2571b4c
|
|
/* 02571B4C */ _t61 = cpu->r[1] + 0x00000024u;
|
|
/* 02571B4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02571B50 */ _t62 = cpu->r[1] + 0x00000038u;
|
|
/* 02571B50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02571B54 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02571B54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02571B58 */ _t64 = cpu->r[1] + 0x00000030u;
|
|
/* 02571B58 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02571B5C */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571B5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02571B60 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571B60 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02571B60 */ if (_t67) goto L_02571B64; // else: addr-0 trap, fall-through
|
|
L_02571B64: ; // 0x2571b64
|
|
/* 02571B64 */ _t68 = cpu->r[1] + 0x00000044u;
|
|
/* 02571B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02571B68 */ cpu->lr = cpu->r[0];
|
|
/* 02571B6C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02571B70 */ return;
|
|
}
|
|
|
|
// fn_02571998 @ 0x2571998
|
|
void Gambit_fn_02571998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02571998: ; // 0x2571998
|
|
/* 02571998 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02571998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571998 */ cpu->r[1] = _t0;
|
|
/* 0257199C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 0257199C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025719A0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 025719A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025719A4 */ /* nop */
|
|
/* 025719A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 025719A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025719AC */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 025719AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025719B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025719B4 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025719B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025719B8 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 025719B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025719BC */ cpu->r[29] = cpu->r[4];
|
|
/* 025719C0 */ _t7 = cpu->r[30] + 0x000001CCu;
|
|
/* 025719C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025719C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025719C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025719C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025719C8 */ if (_t9) goto L_025719D8; else goto L_025719CC;
|
|
L_025719CC: ; // 0x25719cc
|
|
/* 025719CC */ _t10 = cpu->r[29] + 0x0000002Cu;
|
|
/* 025719CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025719D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 025719D4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719D4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025719D4 */ if (_t12) goto L_02571B4C; else goto L_025719D8;
|
|
L_025719D8: ; // 0x25719d8
|
|
/* 025719D8 */ _t13 = cpu->r[30] + 0x0000019Cu;
|
|
/* 025719D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025719DC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025719E0 */ _t14 = cpu->r[11] + 0xFFFFEC14u;
|
|
/* 025719E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025719E4 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 025719E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 025719E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 025719EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025719EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 025719EC */ if (_t17) goto L_02571B4C; else goto L_025719F0;
|
|
L_025719F0: ; // 0x25719f0
|
|
/* 025719F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025719F4 */ _t18 = cpu->r[12] + 0xFFFFFB94u;
|
|
/* 025719F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025719F4 */ cpu->r[12] = _t18;
|
|
/* 025719F8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 025719FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02571A00 */ cpu->r[4] = cpu->r[4] + 0xFFFFFB98u;
|
|
/* 02571A04 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A04 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02571A04 */ if (_t20) goto L_02571A08; else goto L_02571A1C;
|
|
L_02571A08: ; // 0x2571a08
|
|
/* 02571A08 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02571A0C */ cpu->r[9] = 0x00000001u;
|
|
/* 02571A10 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBF8u;
|
|
/* 02571A14 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02571A14 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02571A18 */ _t22 = cpu->r[4] + 0x00000000u;
|
|
/* 02571A18 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02571A1C: ; // 0x2571a1c
|
|
/* 02571A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02571A20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02571A20 */ if (_t24) goto L_02571A48; else goto L_02571A24;
|
|
L_02571A24: ; // 0x2571a24
|
|
/* 02571A24 */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 02571A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02571A28 */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02571A28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02571A2C */ cpu->ctr = cpu->r[8];
|
|
/* 02571A30 */ cpu->r[3] = cpu->r[29];
|
|
/* 02571A34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571A3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02571A3C */ if (_t28) goto L_02571A48; else goto L_02571A40;
|
|
L_02571A40: ; // 0x2571a40
|
|
/* 02571A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02571A44 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A44 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02571A44 */ if (_t30) goto L_02571A48; else goto L_02571A88;
|
|
L_02571A48: ; // 0x2571a48
|
|
/* 02571A48 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02571A4C */ _t31 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02571A50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02571A54 */ cpu->r[6] = cpu->r[30] + 0x00000078u;
|
|
/* 02571A58 */ cpu->r[8] = 0x00000000u;
|
|
/* 02571A5C */ cpu->r[5] = cpu->r[30];
|
|
/* 02571A60 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571A64 */ cpu->r[9] = cpu->r[8];
|
|
/* 02571A68 */ cpu->r[10] = cpu->r[8];
|
|
/* 02571A6C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571A6C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02571A70 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02571A74 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02571A78 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02571A7C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02571A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02571A80 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571A80 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02571A80 */ if (_t34) goto L_02571B4C; else goto L_02571A84;
|
|
L_02571A84: ; // 0x2571a84
|
|
/* 02571A84 */ goto L_02571B08;
|
|
L_02571A88: ; // 0x2571a88
|
|
/* 02571A88 */ _t35 = cpu->r[30] + 0x00000080u;
|
|
/* 02571A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02571A8C */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 02571A8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02571A90 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02571A90 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02571A94 */ _t38 = cpu->r[30] + 0x00000078u;
|
|
/* 02571A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02571A98 */ _t39 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02571A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02571A9C */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02571A9C */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 02571AA0 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AA0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02571AA4 */ _t42 = cpu->r[7] + 0x00000354u;
|
|
/* 02571AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02571AA8 */ cpu->ctr = cpu->r[10];
|
|
/* 02571AAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02571AB0 */ cpu->r[31] = cpu->r[30] + 0x00000078u;
|
|
/* 02571AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571AB8 */ _t43 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02571ABC */ cpu->r[7] = 0x100D0000u;
|
|
/* 02571AC0 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02571AC4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02571AC8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02571ACC */ _t45 = cpu->r[7] + 0xFFFFEC4Cu;
|
|
/* 02571ACC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02571AD0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02571AD4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02571AD8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02571ADC */ cpu->f[12] = fma(cpu->f[1], cpu->f[0], cpu->f[12]);
|
|
/* 02571AE0 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02571AE0 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02571AE4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02571AE8 */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 02571AEC */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02571AF0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571AF0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02571AF4 */ Gambit_fn_024F19BC(cpu);
|
|
/* 02571AF8 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02571AFC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02571B00 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02571B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02571B04 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B04 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571B04 */ if (_t49) goto L_02571B4C; else goto L_02571B08;
|
|
L_02571B08: ; // 0x2571b08
|
|
/* 02571B08 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571B08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02571B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571B10 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B10 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02571B10 */ if (_t52) goto L_02571B2C; else goto L_02571B14;
|
|
L_02571B14: ; // 0x2571b14
|
|
/* 02571B14 */ _t53 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02571B18 */ _t54 = cpu->r[11] + 0x00000018u;
|
|
/* 02571B18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571B1C */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02571B1C */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02571B20 */ _t56 = cpu->r[11] + 0x00000010u;
|
|
/* 02571B20 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02571B24 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02571B28 */ Gambit_fn_023BC044(cpu);
|
|
L_02571B2C: ; // 0x2571b2c
|
|
/* 02571B2C */ _t57 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571B30 */ _t58 = cpu->r[12] + 0x00000004u;
|
|
/* 02571B30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02571B34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 02571B38 */ cpu->r[4] = 0x00000001u;
|
|
/* 02571B3C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571B3C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02571B3C */ if (_t60) goto L_02571B40; else goto L_02571B44;
|
|
L_02571B40: ; // 0x2571b40
|
|
/* 02571B40 */ cpu->r[4] = 0x00000002u;
|
|
L_02571B44: ; // 0x2571b44
|
|
/* 02571B44 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02571B48 */ Gambit_fn_020622DC(cpu);
|
|
L_02571B4C: ; // 0x2571b4c
|
|
/* 02571B4C */ _t61 = cpu->r[1] + 0x00000024u;
|
|
/* 02571B4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02571B50 */ _t62 = cpu->r[1] + 0x00000038u;
|
|
/* 02571B50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02571B54 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02571B54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02571B58 */ _t64 = cpu->r[1] + 0x00000030u;
|
|
/* 02571B58 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02571B5C */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571B5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02571B60 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571B60 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02571B60 */ if (_t67) goto L_02571B64; // else: addr-0 trap, fall-through
|
|
L_02571B64: ; // 0x2571b64
|
|
/* 02571B64 */ _t68 = cpu->r[1] + 0x00000044u;
|
|
/* 02571B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02571B68 */ cpu->lr = cpu->r[0];
|
|
/* 02571B6C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02571B70 */ return;
|
|
}
|
|
|
|
// fn_02571B74 @ 0x2571b74
|
|
void Gambit_fn_02571B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87;
|
|
|
|
L_02571B74: ; // 0x2571b74
|
|
/* 02571B74 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02571B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571B74 */ cpu->r[1] = _t0;
|
|
/* 02571B78 */ /* nop */
|
|
/* 02571B7C */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 02571B7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02571B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02571B84 */ _t2 = cpu->r[1] + 0x000000B4u;
|
|
/* 02571B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571B88 */ /* nop */
|
|
/* 02571B8C */ _t3 = cpu->r[1] + 0x000000A8u;
|
|
/* 02571B8C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02571B90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02571B94 */ _t4 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02571B98 */ _t5 = cpu->r[30] + 0x000002B0u;
|
|
/* 02571B98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02571B9C */ Gambit_fn_02032EA4(cpu);
|
|
/* 02571BA0 */ _t6 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571BA4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02571BA8 */ _t7 = cpu->r[29] + 0x00004FA8u;
|
|
/* 02571BA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571BA8 */ cpu->r[29] = _t7;
|
|
/* 02571BAC */ _t8 = cpu->r[12] + 0x00000118u;
|
|
/* 02571BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571BB0 */ /* nop */
|
|
/* 02571BB4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02571BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02571BB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571BB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02571BB8 */ if (_t10) goto L_02571D98; else goto L_02571BBC;
|
|
L_02571BBC: ; // 0x2571bbc
|
|
/* 02571BBC */ cpu->r[31] = 0x101F0000u;
|
|
/* 02571BC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 02571BC4 */ _t11 = cpu->r[31] + 0x00003840u;
|
|
/* 02571BC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02571BC4 */ cpu->r[31] = _t11;
|
|
/* 02571BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFACu;
|
|
/* 02571BCC */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02571BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571BD0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02571BD4 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02571BD8 */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02571BDC */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02571BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02571BE0 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 02571BE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02571BE4 */ cpu->r[7] = 0x00000003u;
|
|
/* 02571BE8 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02571BEC */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02571BEC */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02571BF0 */ cpu->ctr = cpu->r[7];
|
|
/* 02571BF4 */ _t17 = cpu->r[1] + 0x00000048u;
|
|
/* 02571BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02571BF8: ; // 0x2571bf8
|
|
/* 02571BF8 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 02571BF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02571BFC */ _t19 = cpu->r[6] + 0x00000004u;
|
|
/* 02571BFC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02571C00 */ _t20 = cpu->r[5] + 0x00000008u;
|
|
/* 02571C00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02571C04 */ _t21 = cpu->r[6] + 0x00000008u;
|
|
/* 02571C04 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02571C08 */ _t22 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02571C08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02571C08 */ cpu->r[5] = _t22;
|
|
/* 02571C0C */ _t23 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02571C0C */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02571C0C */ cpu->r[6] = _t23;
|
|
/* 02571C10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02571C10 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02571C10 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02571C10 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02571C10 */ if (_t26) goto L_02571BF8; else goto L_02571C14;
|
|
L_02571C14: ; // 0x2571c14
|
|
/* 02571C14 */ _t27 = cpu->r[31] + 0x00000000u;
|
|
/* 02571C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02571C18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571C1C */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02571C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02571C20 */ _t29 = cpu->r[1] + 0x00000070u;
|
|
/* 02571C20 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02571C24 */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02571C24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02571C28 */ _t31 = cpu->r[1] + 0x00000074u;
|
|
/* 02571C28 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02571C2C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571C30 */ _t32 = cpu->r[1] + 0x00000078u;
|
|
/* 02571C30 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 02571C34 */ Gambit_fn_025714C0(cpu);
|
|
/* 02571C38 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02571C3C */ cpu->r[25] = 0x101D0000u;
|
|
/* 02571C40 */ cpu->r[26] = 0x10110000u;
|
|
/* 02571C44 */ _t33 = cpu->r[6] + 0xFFFFEC14u;
|
|
/* 02571C44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02571C48 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02571C4C */ cpu->r[27] = 0x10110000u;
|
|
/* 02571C50 */ cpu->r[26] = cpu->r[26] + 0xFFFFEF4Cu;
|
|
/* 02571C54 */ cpu->r[28] = 0x00000001u;
|
|
/* 02571C58 */ cpu->r[27] = cpu->r[27] + 0xFFFFEF7Cu;
|
|
/* 02571C5C */ goto L_02571D78;
|
|
L_02571C60: ; // 0x2571c60
|
|
/* 02571C60 */ _t34 = cpu->r[24] + 0xFFFFE604u;
|
|
/* 02571C60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02571C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02571C68 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571C68 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02571C68 */ if (_t36) goto L_02571C6C; else goto L_02571C7C;
|
|
L_02571C6C: ; // 0x2571c6c
|
|
/* 02571C6C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02571C70 */ _t37 = cpu->r[24] + 0xFFFFE604u;
|
|
/* 02571C70 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
/* 02571C74 */ cpu->r[7] = cpu->r[7] + 0xFFFFEBF8u;
|
|
/* 02571C78 */ _t38 = cpu->r[25] + 0xFFFFFF88u;
|
|
/* 02571C78 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
L_02571C7C: ; // 0x2571c7c
|
|
/* 02571C7C */ _t39 = cpu->r[23] + 0x00000004u;
|
|
/* 02571C7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02571C80 */ _t40 = cpu->r[8] + 0x00000014u;
|
|
/* 02571C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02571C84 */ cpu->ctr = cpu->r[0];
|
|
/* 02571C88 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571C8C */ cpu->r[4] = cpu->r[25] + 0xFFFFFF88u;
|
|
/* 02571C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571C98 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571C98 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02571C98 */ if (_t42) goto L_02571D78; else goto L_02571C9C;
|
|
L_02571C9C: ; // 0x2571c9c
|
|
/* 02571C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02571CA0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CA0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02571CA0 */ if (_t44) goto L_02571D78; else goto L_02571CA4;
|
|
L_02571CA4: ; // 0x2571ca4
|
|
/* 02571CA4 */ _t45 = cpu->r[23] + 0x0000002Cu;
|
|
/* 02571CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02571CA8 */ _t46 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02571CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02571CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02571CB0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CB0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02571CB0 */ if (_t48) goto L_02571D78; else goto L_02571CB4;
|
|
L_02571CB4: ; // 0x2571cb4
|
|
/* 02571CB4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571CB8 */ Gambit_fn_021BC86C(cpu);
|
|
/* 02571CBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02571CC0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571CC0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02571CC0 */ if (_t50) goto L_02571D24; else goto L_02571CC4;
|
|
L_02571CC4: ; // 0x2571cc4
|
|
/* 02571CC4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CC4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02571CC4 */ if (_t52) goto L_02571CC8; else goto L_02571D6C;
|
|
L_02571CC8: ; // 0x2571cc8
|
|
/* 02571CC8 */ _t53 = cpu->r[31] + 0x00000000u;
|
|
/* 02571CC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02571CCC */ _t54 = cpu->r[31] + 0x00000008u;
|
|
/* 02571CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571CD0 */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 02571CD0 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 02571CD4 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02571CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02571CD8 */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 02571CD8 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02571CDC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571CDC */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02571CE0 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571CE0 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02571CE4 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02571CE4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
/* 02571CE8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571CEC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02571CEC */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 02571CF0 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571CF0 */ rbrew_write32(cpu->mem, _t62, cpu->r[27]);
|
|
/* 02571CF4 */ cpu->r[5] = cpu->r[30] + 0x00000078u;
|
|
/* 02571CF8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571CFC */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02571CFC */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02571D00 */ Gambit_fn_021BC88C(cpu);
|
|
/* 02571D04 */ cpu->r[6] = 0x00000000u;
|
|
/* 02571D08 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571D0C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571D10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571D14 */ Gambit_fn_02571644(cpu);
|
|
/* 02571D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571D1C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D1C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02571D1C */ if (_t65) goto L_02571D78; else goto L_02571D20;
|
|
L_02571D20: ; // 0x2571d20
|
|
/* 02571D20 */ goto L_02571D6C;
|
|
L_02571D24: ; // 0x2571d24
|
|
/* 02571D24 */ _t66 = cpu->r[31] + 0x00000000u;
|
|
/* 02571D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02571D28 */ _t67 = cpu->r[31] + 0x00000008u;
|
|
/* 02571D28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02571D2C */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571D2C */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 02571D30 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02571D30 */ rbrew_write32(cpu->mem, _t69, cpu->r[7]);
|
|
/* 02571D34 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02571D34 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[31]);
|
|
/* 02571D38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571D3C */ _t71 = cpu->r[31] + 0x00000004u;
|
|
/* 02571D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02571D40 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02571D40 */ rbrew_write32(cpu->mem, _t72, cpu->r[26]);
|
|
/* 02571D44 */ cpu->r[5] = cpu->r[30] + 0x00000078u;
|
|
/* 02571D48 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571D4C */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02571D4C */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
/* 02571D50 */ Gambit_fn_021BC87C(cpu);
|
|
/* 02571D54 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571D58 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571D5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02571D60 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02571D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571D68 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D68 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02571D68 */ if (_t75) goto L_02571D78; else goto L_02571D6C;
|
|
L_02571D6C: ; // 0x2571d6c
|
|
/* 02571D6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02571D70 */ cpu->r[4] = cpu->r[23];
|
|
/* 02571D74 */ Gambit_fn_02571994(cpu);
|
|
L_02571D78: ; // 0x2571d78
|
|
/* 02571D78 */ _t76 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02571D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02571D80 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D80 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02571D80 */ if (_t78) goto L_02571D98; else goto L_02571D84;
|
|
L_02571D84: ; // 0x2571d84
|
|
/* 02571D84 */ _t79 = cpu->r[29] + 0x00000000u;
|
|
/* 02571D84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02571D88 */ _t80 = cpu->r[4] + 0x00000108u;
|
|
/* 02571D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02571D8C */ Gambit_fn_02031DAC(cpu);
|
|
/* 02571D90 */ cpu->r[23] = cpu->r[3];
|
|
/* 02571D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02571D94 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D94 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02571D94 */ if (_t82) goto L_02571D98; else goto L_02571C60;
|
|
L_02571D98: ; // 0x2571d98
|
|
/* 02571D98 */ /* nop */
|
|
/* 02571D9C */ _t83 = cpu->r[1] + 0x000000A8u;
|
|
/* 02571D9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02571DA0 */ _t84 = cpu->r[1] + 0x000000A0u;
|
|
/* 02571DA0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 02571DA4 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571DA4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02571DA4 */ if (_t86) goto L_02571DA8; // else: addr-0 trap, fall-through
|
|
L_02571DA8: ; // 0x2571da8
|
|
/* 02571DA8 */ _t87 = cpu->r[1] + 0x000000B4u;
|
|
/* 02571DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02571DAC */ cpu->lr = cpu->r[0];
|
|
/* 02571DB0 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02571DB4 */ return;
|
|
}
|
|
|
|
// fn_02571DB8 @ 0x2571db8
|
|
void Gambit_fn_02571DB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87;
|
|
|
|
L_02571B74: ; // 0x2571b74
|
|
/* 02571B74 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02571B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571B74 */ cpu->r[1] = _t0;
|
|
/* 02571B78 */ /* nop */
|
|
/* 02571B7C */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 02571B7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02571B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02571B84 */ _t2 = cpu->r[1] + 0x000000B4u;
|
|
/* 02571B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571B88 */ /* nop */
|
|
/* 02571B8C */ _t3 = cpu->r[1] + 0x000000A8u;
|
|
/* 02571B8C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02571B90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02571B94 */ _t4 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02571B98 */ _t5 = cpu->r[30] + 0x000002B0u;
|
|
/* 02571B98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02571B9C */ Gambit_fn_02032EA4(cpu);
|
|
/* 02571BA0 */ _t6 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571BA4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02571BA8 */ _t7 = cpu->r[29] + 0x00004FA8u;
|
|
/* 02571BA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571BA8 */ cpu->r[29] = _t7;
|
|
/* 02571BAC */ _t8 = cpu->r[12] + 0x00000118u;
|
|
/* 02571BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571BB0 */ /* nop */
|
|
/* 02571BB4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02571BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02571BB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571BB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02571BB8 */ if (_t10) goto L_02571D98; else goto L_02571BBC;
|
|
L_02571BBC: ; // 0x2571bbc
|
|
/* 02571BBC */ cpu->r[31] = 0x101F0000u;
|
|
/* 02571BC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 02571BC4 */ _t11 = cpu->r[31] + 0x00003840u;
|
|
/* 02571BC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02571BC4 */ cpu->r[31] = _t11;
|
|
/* 02571BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFACu;
|
|
/* 02571BCC */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02571BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571BD0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02571BD4 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02571BD8 */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02571BDC */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02571BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02571BE0 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 02571BE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02571BE4 */ cpu->r[7] = 0x00000003u;
|
|
/* 02571BE8 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02571BEC */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02571BEC */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02571BF0 */ cpu->ctr = cpu->r[7];
|
|
/* 02571BF4 */ _t17 = cpu->r[1] + 0x00000048u;
|
|
/* 02571BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_02571BF8: ; // 0x2571bf8
|
|
/* 02571BF8 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 02571BF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02571BFC */ _t19 = cpu->r[6] + 0x00000004u;
|
|
/* 02571BFC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02571C00 */ _t20 = cpu->r[5] + 0x00000008u;
|
|
/* 02571C00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02571C04 */ _t21 = cpu->r[6] + 0x00000008u;
|
|
/* 02571C04 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02571C08 */ _t22 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02571C08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02571C08 */ cpu->r[5] = _t22;
|
|
/* 02571C0C */ _t23 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02571C0C */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02571C0C */ cpu->r[6] = _t23;
|
|
/* 02571C10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02571C10 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02571C10 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02571C10 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02571C10 */ if (_t26) goto L_02571BF8; else goto L_02571C14;
|
|
L_02571C14: ; // 0x2571c14
|
|
/* 02571C14 */ _t27 = cpu->r[31] + 0x00000000u;
|
|
/* 02571C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02571C18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571C1C */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02571C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02571C20 */ _t29 = cpu->r[1] + 0x00000070u;
|
|
/* 02571C20 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02571C24 */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02571C24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02571C28 */ _t31 = cpu->r[1] + 0x00000074u;
|
|
/* 02571C28 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02571C2C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571C30 */ _t32 = cpu->r[1] + 0x00000078u;
|
|
/* 02571C30 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 02571C34 */ Gambit_fn_025714C0(cpu);
|
|
/* 02571C38 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02571C3C */ cpu->r[25] = 0x101D0000u;
|
|
/* 02571C40 */ cpu->r[26] = 0x10110000u;
|
|
/* 02571C44 */ _t33 = cpu->r[6] + 0xFFFFEC14u;
|
|
/* 02571C44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02571C48 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02571C4C */ cpu->r[27] = 0x10110000u;
|
|
/* 02571C50 */ cpu->r[26] = cpu->r[26] + 0xFFFFEF4Cu;
|
|
/* 02571C54 */ cpu->r[28] = 0x00000001u;
|
|
/* 02571C58 */ cpu->r[27] = cpu->r[27] + 0xFFFFEF7Cu;
|
|
/* 02571C5C */ goto L_02571D78;
|
|
L_02571C60: ; // 0x2571c60
|
|
/* 02571C60 */ _t34 = cpu->r[24] + 0xFFFFE604u;
|
|
/* 02571C60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02571C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02571C68 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571C68 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02571C68 */ if (_t36) goto L_02571C6C; else goto L_02571C7C;
|
|
L_02571C6C: ; // 0x2571c6c
|
|
/* 02571C6C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02571C70 */ _t37 = cpu->r[24] + 0xFFFFE604u;
|
|
/* 02571C70 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
/* 02571C74 */ cpu->r[7] = cpu->r[7] + 0xFFFFEBF8u;
|
|
/* 02571C78 */ _t38 = cpu->r[25] + 0xFFFFFF88u;
|
|
/* 02571C78 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
L_02571C7C: ; // 0x2571c7c
|
|
/* 02571C7C */ _t39 = cpu->r[23] + 0x00000004u;
|
|
/* 02571C7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02571C80 */ _t40 = cpu->r[8] + 0x00000014u;
|
|
/* 02571C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02571C84 */ cpu->ctr = cpu->r[0];
|
|
/* 02571C88 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571C8C */ cpu->r[4] = cpu->r[25] + 0xFFFFFF88u;
|
|
/* 02571C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571C98 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571C98 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02571C98 */ if (_t42) goto L_02571D78; else goto L_02571C9C;
|
|
L_02571C9C: ; // 0x2571c9c
|
|
/* 02571C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02571CA0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CA0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02571CA0 */ if (_t44) goto L_02571D78; else goto L_02571CA4;
|
|
L_02571CA4: ; // 0x2571ca4
|
|
/* 02571CA4 */ _t45 = cpu->r[23] + 0x0000002Cu;
|
|
/* 02571CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02571CA8 */ _t46 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02571CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02571CAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02571CB0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CB0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02571CB0 */ if (_t48) goto L_02571D78; else goto L_02571CB4;
|
|
L_02571CB4: ; // 0x2571cb4
|
|
/* 02571CB4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571CB8 */ Gambit_fn_021BC86C(cpu);
|
|
/* 02571CBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02571CC0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571CC0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02571CC0 */ if (_t50) goto L_02571D24; else goto L_02571CC4;
|
|
L_02571CC4: ; // 0x2571cc4
|
|
/* 02571CC4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571CC4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02571CC4 */ if (_t52) goto L_02571CC8; else goto L_02571D6C;
|
|
L_02571CC8: ; // 0x2571cc8
|
|
/* 02571CC8 */ _t53 = cpu->r[31] + 0x00000000u;
|
|
/* 02571CC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02571CCC */ _t54 = cpu->r[31] + 0x00000008u;
|
|
/* 02571CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571CD0 */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 02571CD0 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 02571CD4 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02571CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02571CD8 */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 02571CD8 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02571CDC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571CDC */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02571CE0 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571CE0 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02571CE4 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02571CE4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
/* 02571CE8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571CEC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02571CEC */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 02571CF0 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571CF0 */ rbrew_write32(cpu->mem, _t62, cpu->r[27]);
|
|
/* 02571CF4 */ cpu->r[5] = cpu->r[30] + 0x00000078u;
|
|
/* 02571CF8 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571CFC */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02571CFC */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02571D00 */ Gambit_fn_021BC88C(cpu);
|
|
/* 02571D04 */ cpu->r[6] = 0x00000000u;
|
|
/* 02571D08 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571D0C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571D10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02571D14 */ Gambit_fn_02571644(cpu);
|
|
/* 02571D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571D1C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D1C */ _t65 = _t64 & 0x00000001u;
|
|
/* 02571D1C */ if (_t65) goto L_02571D78; else goto L_02571D20;
|
|
L_02571D20: ; // 0x2571d20
|
|
/* 02571D20 */ goto L_02571D6C;
|
|
L_02571D24: ; // 0x2571d24
|
|
/* 02571D24 */ _t66 = cpu->r[31] + 0x00000000u;
|
|
/* 02571D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02571D28 */ _t67 = cpu->r[31] + 0x00000008u;
|
|
/* 02571D28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02571D2C */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571D2C */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 02571D30 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02571D30 */ rbrew_write32(cpu->mem, _t69, cpu->r[7]);
|
|
/* 02571D34 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02571D34 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[31]);
|
|
/* 02571D38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571D3C */ _t71 = cpu->r[31] + 0x00000004u;
|
|
/* 02571D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02571D40 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02571D40 */ rbrew_write32(cpu->mem, _t72, cpu->r[26]);
|
|
/* 02571D44 */ cpu->r[5] = cpu->r[30] + 0x00000078u;
|
|
/* 02571D48 */ cpu->r[3] = cpu->r[23];
|
|
/* 02571D4C */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02571D4C */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
/* 02571D50 */ Gambit_fn_021BC87C(cpu);
|
|
/* 02571D54 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571D58 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571D5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02571D60 */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02571D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571D68 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D68 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02571D68 */ if (_t75) goto L_02571D78; else goto L_02571D6C;
|
|
L_02571D6C: ; // 0x2571d6c
|
|
/* 02571D6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02571D70 */ cpu->r[4] = cpu->r[23];
|
|
/* 02571D74 */ Gambit_fn_02571994(cpu);
|
|
L_02571D78: ; // 0x2571d78
|
|
/* 02571D78 */ _t76 = cpu->r[30] + 0x000002ACu;
|
|
/* 02571D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02571D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02571D80 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D80 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02571D80 */ if (_t78) goto L_02571D98; else goto L_02571D84;
|
|
L_02571D84: ; // 0x2571d84
|
|
/* 02571D84 */ _t79 = cpu->r[29] + 0x00000000u;
|
|
/* 02571D84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02571D88 */ _t80 = cpu->r[4] + 0x00000108u;
|
|
/* 02571D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02571D8C */ Gambit_fn_02031DAC(cpu);
|
|
/* 02571D90 */ cpu->r[23] = cpu->r[3];
|
|
/* 02571D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02571D94 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571D94 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02571D94 */ if (_t82) goto L_02571D98; else goto L_02571C60;
|
|
L_02571D98: ; // 0x2571d98
|
|
/* 02571D98 */ /* nop */
|
|
/* 02571D9C */ _t83 = cpu->r[1] + 0x000000A8u;
|
|
/* 02571D9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02571DA0 */ _t84 = cpu->r[1] + 0x000000A0u;
|
|
/* 02571DA0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 02571DA4 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02571DA4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02571DA4 */ if (_t86) goto L_02571DA8; // else: addr-0 trap, fall-through
|
|
L_02571DA8: ; // 0x2571da8
|
|
/* 02571DA8 */ _t87 = cpu->r[1] + 0x000000B4u;
|
|
/* 02571DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02571DAC */ cpu->lr = cpu->r[0];
|
|
/* 02571DB0 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02571DB4 */ return;
|
|
L_02571DB8: ; // 0x2571db8
|
|
/* 02571DB8 */ goto L_02571B74;
|
|
}
|
|
|
|
// fn_02571DBC @ 0x2571dbc
|
|
void Gambit_fn_02571DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02571DBC: ; // 0x2571dbc
|
|
/* 02571DBC */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02571DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571DBC */ cpu->r[1] = _t0;
|
|
/* 02571DC0 */ /* nop */
|
|
/* 02571DC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02571DC8 */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 02571DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02571DCC */ cpu->r[29] = cpu->r[3];
|
|
/* 02571DD0 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02571DD4 */ Gambit_fn_02043AC4(cpu);
|
|
/* 02571DD8 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 02571DD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02571DDC */ _t3 = cpu->r[10] + 0x0000029Cu;
|
|
/* 02571DDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02571DE0 */ cpu->ctr = cpu->r[8];
|
|
/* 02571DE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02571DE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571DEC */ /* nop */
|
|
/* 02571DF0 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02571DF4 */ _t4 = cpu->r[29] + 0x00000068u;
|
|
/* 02571DF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02571DF8 */ /* nop */
|
|
/* 02571DFC */ _t5 = cpu->r[8] + 0xFFFFEC78u;
|
|
/* 02571DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02571E00 */ /* nop */
|
|
/* 02571E04 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02571E04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571E08 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02571E08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571E0C */ cpu->f[9] = cpu->f[10] * cpu->f[1];
|
|
/* 02571E10 */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 02571E10 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02571E14 */ _t9 = cpu->r[1] + 0x00000074u;
|
|
/* 02571E14 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02571E18 */ /* nop */
|
|
/* 02571E1C */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02571E1C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[9]);
|
|
/* 02571E20 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02571E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02571E24 */ /* nop */
|
|
/* 02571E28 */ /* nop */
|
|
/* 02571E2C */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02571E2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02571E30 */ _t13 = cpu->r[1] + 0x00000078u;
|
|
/* 02571E30 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02571E34 */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 02571E34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02571E38 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 02571E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02571E3C */ /* nop */
|
|
/* 02571E40 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
|
|
/* 02571E44 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571E44 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 02571E48 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02571E48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02571E4C */ _t18 = cpu->r[29] + 0x00000080u;
|
|
/* 02571E4C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02571E50 */ _t19 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02571E50 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02571E54 */ _t20 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02571E54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02571E58 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02571E5C */ _t21 = cpu->r[1] + 0x00000064u;
|
|
/* 02571E5C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02571E60 */ cpu->f[0] = cpu->f[7] + cpu->f[8];
|
|
/* 02571E64 */ _t22 = cpu->r[1] + 0x00000068u;
|
|
/* 02571E64 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02571E68 */ /* nop */
|
|
/* 02571E6C */ _t23 = cpu->r[10] + 0xFFFF958Cu;
|
|
/* 02571E6C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02571E70 */ /* nop */
|
|
/* 02571E74 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02571E74 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02571E78 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02571E78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02571E7C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02571E80 */ /* nop */
|
|
/* 02571E84 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02571E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02571E88 */ cpu->r[8] = 0x0000000Fu;
|
|
/* 02571E8C */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 02571E8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02571E90 */ _t28 = cpu->r[3] + 0x00001EF8u;
|
|
/* 02571E90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02571E94 */ cpu->r[5] = 0x00000000u;
|
|
/* 02571E98 */ _t29 = cpu->r[1] + 0x00000080u;
|
|
/* 02571E98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02571E9C */ cpu->r[7] = 0x00080000u;
|
|
/* 02571EA0 */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02571EA0 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02571EA4 */ _t31 = cpu->r[1] + 0x00000058u;
|
|
/* 02571EA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02571EA8 */ cpu->r[4] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02571EAC */ cpu->r[6] = cpu->r[5];
|
|
/* 02571EB0 */ _t32 = cpu->r[1] + 0x00000084u;
|
|
/* 02571EB0 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02571EB4 */ cpu->r[0] = cpu->r[1] + 0x00000054u;
|
|
/* 02571EB8 */ cpu->r[10] = cpu->r[6];
|
|
/* 02571EBC */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02571EBC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02571EC0 */ Gambit_fn_0204A4DC(cpu);
|
|
/* 02571EC4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02571EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02571EC8 */ _t34 = cpu->r[1] + 0x00000054u;
|
|
/* 02571EC8 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02571ECC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571ECC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02571ECC */ if (_t36) goto L_02571F64; else goto L_02571ED0;
|
|
L_02571ED0: ; // 0x2571ed0
|
|
/* 02571ED0 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 02571ED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02571ED4 */ _t38 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02571ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02571ED8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02571ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02571EDC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571EDC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02571EDC */ if (_t40) goto L_02571F64; else goto L_02571EE0;
|
|
L_02571EE0: ; // 0x2571ee0
|
|
/* 02571EE0 */ _t41 = cpu->r[31] + 0x00000164u;
|
|
/* 02571EE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02571EE4 */ cpu->r[0] = 0x101E0000u;
|
|
/* 02571EE8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9484u;
|
|
/* 02571EEC */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02571EF0 */ _t42 = cpu->r[12] + cpu->r[0];
|
|
/* 02571EF0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02571EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02571EF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02571EFC */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02571EFC */ _t44 = _t43 & 0x00000001u;
|
|
/* 02571EFC */ if (_t44) goto L_02571F00; else goto L_02571F64;
|
|
L_02571F00: ; // 0x2571f00
|
|
/* 02571F00 */ cpu->r[28] = 0x00000001u;
|
|
/* 02571F04 */ cpu->r[27] = 0x00000000u;
|
|
L_02571F08: ; // 0x2571f08
|
|
/* 02571F08 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02571F08 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02571F0C */ cpu->r[9] = cpu->r[1] + 0x00000014u;
|
|
/* 02571F10 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02571F14 */ cpu->r[7] = cpu->r[1] + 0x00000048u;
|
|
/* 02571F18 */ cpu->r[6] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02571F1C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571F20 */ cpu->r[4] = cpu->r[30];
|
|
/* 02571F24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571F28 */ cpu->r[10] = 0x00000000u;
|
|
/* 02571F2C */ Gambit_fn_02040F70(cpu);
|
|
/* 02571F30 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02571F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02571F34 */ _t47 = cpu->r[11] + 0x000001ACu;
|
|
/* 02571F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02571F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02571F3C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571F3C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571F3C */ if (_t49) goto L_02571F40; else goto L_02571F58;
|
|
L_02571F40: ; // 0x2571f40
|
|
/* 02571F40 */ _t50 = cpu->r[29] + 0x000002A8u;
|
|
/* 02571F40 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[28]);
|
|
/* 02571F44 */ /* nop */
|
|
/* 02571F48 */ _t51 = cpu->r[1] + 0x000000A4u;
|
|
/* 02571F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02571F4C */ cpu->lr = cpu->r[0];
|
|
/* 02571F50 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02571F54 */ return;
|
|
L_02571F58: ; // 0x2571f58
|
|
/* 02571F58 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02571F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02571F5C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02571F60 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571F60 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02571F60 */ if (_t53) goto L_02571F64; else goto L_02571F08;
|
|
L_02571F64: ; // 0x2571f64
|
|
/* 02571F64 */ /* nop */
|
|
/* 02571F68 */ _t54 = cpu->r[1] + 0x000000A4u;
|
|
/* 02571F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571F6C */ cpu->lr = cpu->r[0];
|
|
/* 02571F70 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02571F74 */ return;
|
|
}
|
|
|
|
// fn_02571F78 @ 0x2571f78
|
|
void Gambit_fn_02571F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02571F78: ; // 0x2571f78
|
|
/* 02571F78 */ cpu->r[0] = cpu->lr;
|
|
/* 02571F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02571F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571F7C */ cpu->r[1] = _t0;
|
|
/* 02571F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02571F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02571F88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02571F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571F8C */ Gambit_fn_02571444(cpu);
|
|
/* 02571F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571F94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571F94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02571F94 */ if (_t4) goto L_02571FA0; else goto L_02571F98;
|
|
L_02571F98: ; // 0x2571f98
|
|
/* 02571F98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571F9C */ Gambit_fn_024F5B90(cpu);
|
|
L_02571FA0: ; // 0x2571fa0
|
|
/* 02571FA0 */ _t5 = cpu->r[31] + 0x000002A8u;
|
|
/* 02571FA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02571FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571FA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571FA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02571FA8 */ if (_t7) goto L_02571FAC; else goto L_02571FB4;
|
|
L_02571FAC: ; // 0x2571fac
|
|
/* 02571FAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FB0 */ Gambit_fn_02571DBC(cpu);
|
|
L_02571FB4: ; // 0x2571fb4
|
|
/* 02571FB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FB8 */ Gambit_fn_024F606C(cpu);
|
|
/* 02571FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FC0 */ Gambit_fn_024F607C(cpu);
|
|
/* 02571FC4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02571FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571FC8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571FCC */ cpu->lr = cpu->r[0];
|
|
/* 02571FD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02571FD4 */ return;
|
|
}
|
|
|
|
// fn_02571F7C @ 0x2571f7c
|
|
void Gambit_fn_02571F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02571F7C: ; // 0x2571f7c
|
|
/* 02571F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02571F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571F7C */ cpu->r[1] = _t0;
|
|
/* 02571F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02571F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02571F88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02571F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02571F8C */ Gambit_fn_02571444(cpu);
|
|
/* 02571F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571F94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571F94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02571F94 */ if (_t4) goto L_02571FA0; else goto L_02571F98;
|
|
L_02571F98: ; // 0x2571f98
|
|
/* 02571F98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571F9C */ Gambit_fn_024F5B90(cpu);
|
|
L_02571FA0: ; // 0x2571fa0
|
|
/* 02571FA0 */ _t5 = cpu->r[31] + 0x000002A8u;
|
|
/* 02571FA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02571FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02571FA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571FA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02571FA8 */ if (_t7) goto L_02571FAC; else goto L_02571FB4;
|
|
L_02571FAC: ; // 0x2571fac
|
|
/* 02571FAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FB0 */ Gambit_fn_02571DBC(cpu);
|
|
L_02571FB4: ; // 0x2571fb4
|
|
/* 02571FB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FB8 */ Gambit_fn_024F606C(cpu);
|
|
/* 02571FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02571FC0 */ Gambit_fn_024F607C(cpu);
|
|
/* 02571FC4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02571FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571FC8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571FCC */ cpu->lr = cpu->r[0];
|
|
/* 02571FD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02571FD4 */ return;
|
|
}
|
|
|
|
// fn_02571FD8 @ 0x2571fd8
|
|
void Gambit_fn_02571FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
double _ft12, _ft13;
|
|
|
|
L_02571FD8: ; // 0x2571fd8
|
|
/* 02571FD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02571FDC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02571FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571FDC */ cpu->r[1] = _t0;
|
|
/* 02571FE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02571FE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02571FE4 */ /* nop */
|
|
/* 02571FE8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02571FE8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02571FEC */ /* nop */
|
|
/* 02571FF0 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02571FF0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02571FF4 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02571FF4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02571FF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02571FFC */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02571FFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02572000 */ cpu->r[31] = cpu->r[3];
|
|
/* 02572004 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02572004 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02572008 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257200C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0257200C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02572010 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02572014 */ _t9 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 02572014 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02572018 */ cpu->r[9] = cpu->r[12] + 0x00000350u;
|
|
/* 0257201C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572020 */ _t10 = cpu->r[8] + 0xFFFFEC60u;
|
|
/* 02572020 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02572024 */ _t11 = cpu->r[12] + 0xFFFFEC64u;
|
|
/* 02572024 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572028 */ _ft12 = sqrt(cpu->f[0]);
|
|
/* 02572028 */ _ft13 = (double)(int32_t)0x00000001u;
|
|
/* 02572028 */ cpu->f[10] = _ft13 / _ft12;
|
|
/* 0257202C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02572030 */ cpu->f[12] = cpu->f[10] * cpu->f[31];
|
|
/* 02572034 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[0], -(cpu->f[13]));
|
|
/* 02572038 */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 0257203C */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 0257203C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02572040 */ cpu->ctr = cpu->r[0];
|
|
/* 02572044 */ _t15 = cpu->r[31] + 0x000002B0u;
|
|
/* 02572044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572048 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257204C */ cpu->f[30] = cpu->f[10] + cpu->f[10];
|
|
/* 02572050 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572054 */ cpu->f[0] = cpu->f[1] * cpu->f[31];
|
|
/* 02572058 */ _t16 = cpu->r[31] + 0x00000080u;
|
|
/* 02572058 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0257205C */ _t17 = cpu->r[31] + 0x00000078u;
|
|
/* 0257205C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02572060 */ cpu->f[7] = cpu->f[0] * cpu->f[30];
|
|
/* 02572064 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02572068 */ cpu->f[1] = cpu->f[9] - cpu->f[7];
|
|
/* 0257206C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572070 */ cpu->f[4] = cpu->f[8] + cpu->f[7];
|
|
/* 02572074 */ _t18 = cpu->r[3] + 0x00001D14u;
|
|
/* 02572074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02572078 */ cpu->f[3] = cpu->f[8] - cpu->f[7];
|
|
/* 0257207C */ _t19 = cpu->r[4] + 0x00006648u;
|
|
/* 0257207C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02572080 */ cpu->f[2] = cpu->f[9] + cpu->f[7];
|
|
/* 02572084 */ _t20 = cpu->r[3] + 0x00005444u;
|
|
/* 02572084 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02572088 */ cpu->r[5] = cpu->r[31];
|
|
/* 0257208C */ cpu->r[6] = cpu->r[30];
|
|
/* 02572090 */ Gambit_fn_02031B20(cpu);
|
|
/* 02572094 */ _t21 = cpu->r[31] + 0x000002ACu;
|
|
/* 02572094 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02572098 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02572098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257209C */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0257209C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025720A0 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 025720A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025720A4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 025720A4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 025720A8 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 025720A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 025720AC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025720AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025720B0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025720B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 025720B0 */ if (_t29) goto L_025720B4; // else: addr-0 trap, fall-through
|
|
L_025720B4: ; // 0x25720b4
|
|
/* 025720B4 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 025720B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025720B8 */ cpu->lr = cpu->r[0];
|
|
/* 025720BC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025720C0 */ return;
|
|
}
|
|
|
|
// fn_02571FDC @ 0x2571fdc
|
|
void Gambit_fn_02571FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
double _ft12, _ft13;
|
|
|
|
L_02571FDC: ; // 0x2571fdc
|
|
/* 02571FDC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02571FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02571FDC */ cpu->r[1] = _t0;
|
|
/* 02571FE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02571FE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02571FE4 */ /* nop */
|
|
/* 02571FE8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02571FE8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02571FEC */ /* nop */
|
|
/* 02571FF0 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02571FF0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02571FF4 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02571FF4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02571FF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02571FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02571FFC */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02571FFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02572000 */ cpu->r[31] = cpu->r[3];
|
|
/* 02572004 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02572004 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02572008 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257200C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0257200C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02572010 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02572014 */ _t9 = cpu->r[10] + 0xFFFFEC4Cu;
|
|
/* 02572014 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02572018 */ cpu->r[9] = cpu->r[12] + 0x00000350u;
|
|
/* 0257201C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572020 */ _t10 = cpu->r[8] + 0xFFFFEC60u;
|
|
/* 02572020 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02572024 */ _t11 = cpu->r[12] + 0xFFFFEC64u;
|
|
/* 02572024 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572028 */ _ft12 = sqrt(cpu->f[0]);
|
|
/* 02572028 */ _ft13 = (double)(int32_t)0x00000001u;
|
|
/* 02572028 */ cpu->f[10] = _ft13 / _ft12;
|
|
/* 0257202C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02572030 */ cpu->f[12] = cpu->f[10] * cpu->f[31];
|
|
/* 02572034 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[0], -(cpu->f[13]));
|
|
/* 02572038 */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 0257203C */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 0257203C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02572040 */ cpu->ctr = cpu->r[0];
|
|
/* 02572044 */ _t15 = cpu->r[31] + 0x000002B0u;
|
|
/* 02572044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572048 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257204C */ cpu->f[30] = cpu->f[10] + cpu->f[10];
|
|
/* 02572050 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572054 */ cpu->f[0] = cpu->f[1] * cpu->f[31];
|
|
/* 02572058 */ _t16 = cpu->r[31] + 0x00000080u;
|
|
/* 02572058 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0257205C */ _t17 = cpu->r[31] + 0x00000078u;
|
|
/* 0257205C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02572060 */ cpu->f[7] = cpu->f[0] * cpu->f[30];
|
|
/* 02572064 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02572068 */ cpu->f[1] = cpu->f[9] - cpu->f[7];
|
|
/* 0257206C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572070 */ cpu->f[4] = cpu->f[8] + cpu->f[7];
|
|
/* 02572074 */ _t18 = cpu->r[3] + 0x00001D14u;
|
|
/* 02572074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02572078 */ cpu->f[3] = cpu->f[8] - cpu->f[7];
|
|
/* 0257207C */ _t19 = cpu->r[4] + 0x00006648u;
|
|
/* 0257207C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02572080 */ cpu->f[2] = cpu->f[9] + cpu->f[7];
|
|
/* 02572084 */ _t20 = cpu->r[3] + 0x00005444u;
|
|
/* 02572084 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02572088 */ cpu->r[5] = cpu->r[31];
|
|
/* 0257208C */ cpu->r[6] = cpu->r[30];
|
|
/* 02572090 */ Gambit_fn_02031B20(cpu);
|
|
/* 02572094 */ _t21 = cpu->r[31] + 0x000002ACu;
|
|
/* 02572094 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02572098 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02572098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257209C */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 0257209C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025720A0 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 025720A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025720A4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 025720A4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 025720A8 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 025720A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 025720AC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025720AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025720B0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025720B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 025720B0 */ if (_t29) goto L_025720B4; // else: addr-0 trap, fall-through
|
|
L_025720B4: ; // 0x25720b4
|
|
/* 025720B4 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 025720B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025720B8 */ cpu->lr = cpu->r[0];
|
|
/* 025720BC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025720C0 */ return;
|
|
}
|
|
|
|
// fn_025720C4 @ 0x25720c4
|
|
void Gambit_fn_025720C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025720C4: ; // 0x25720c4
|
|
/* 025720C4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025720C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025720C4 */ cpu->r[1] = _t0;
|
|
/* 025720C8 */ /* nop */
|
|
/* 025720CC */ cpu->r[0] = cpu->lr;
|
|
/* 025720D0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 025720D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025720D4 */ cpu->r[28] = 0x101C0000u;
|
|
/* 025720D8 */ _t2 = cpu->r[28] + 0x00006000u;
|
|
/* 025720D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025720D8 */ cpu->r[28] = _t2;
|
|
/* 025720DC */ cpu->r[29] = cpu->r[3];
|
|
/* 025720E0 */ _t3 = cpu->r[6] + 0x00000274u;
|
|
/* 025720E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025720E4 */ _t4 = cpu->r[11] + 0x00000030u;
|
|
/* 025720E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025720E8 */ _t5 = cpu->r[7] + 0x00000170u;
|
|
/* 025720E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025720EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025720F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025720F0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025720F0 */ if (_t7) goto L_025721A8; else goto L_025720F4;
|
|
L_025720F4: ; // 0x25720f4
|
|
/* 025720F4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025720F8 */ _t8 = cpu->r[12] + 0x00005040u;
|
|
/* 025720F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025720FC */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 02572100 */ _t9 = cpu->r[10] + 0x00000104u;
|
|
/* 02572100 */ cpu->r[4] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02572104 */ _t10 = cpu->r[11] + 0x00000030u;
|
|
/* 02572104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572108 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0257210C */ _t11 = cpu->r[12] + cpu->r[6];
|
|
/* 0257210C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02572110 */ _t12 = cpu->r[7] + 0x00000008u;
|
|
/* 02572110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02572114 */ _t13 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02572114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02572118 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02572118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0257211C */ cpu->r[30] = cpu->r[11] - cpu->r[31];
|
|
/* 02572120 */ cpu->r[27] = cpu->r[8] - cpu->r[31];
|
|
/* 02572124 */ goto L_02572134;
|
|
L_02572128: ; // 0x2572128
|
|
/* 02572128 */ cpu->r[8] = cpu->r[27] + cpu->r[31];
|
|
/* 0257212C */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 0257212C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572130 */ cpu->r[27] = cpu->r[9] - cpu->r[31];
|
|
L_02572134: ; // 0x2572134
|
|
/* 02572134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 02572138 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572138 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02572138 */ if (_t17) goto L_02572150; else goto L_0257213C;
|
|
L_0257213C: ; // 0x257213c
|
|
/* 0257213C */ _t18 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0257213C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02572140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 02572144 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572144 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02572144 */ if (_t20) goto L_02572150; else goto L_02572148;
|
|
L_02572148: ; // 0x2572148
|
|
/* 02572148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000003u);
|
|
/* 0257214C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257214C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0257214C */ if (_t22) goto L_02572150; else goto L_02572128;
|
|
L_02572150: ; // 0x2572150
|
|
/* 02572150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 02572154 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572154 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02572154 */ if (_t24) goto L_025721A4; else goto L_02572158;
|
|
L_02572158: ; // 0x2572158
|
|
/* 02572158 */ _t25 = cpu->r[29] + 0x00000134u;
|
|
/* 02572158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0257215C */ _t26 = cpu->r[27] + 0x00000258u;
|
|
/* 0257215C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02572164 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572164 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02572164 */ if (_t28) goto L_02572168; else goto L_02572170;
|
|
L_02572168: ; // 0x2572168
|
|
/* 02572168 */ cpu->r[3] = cpu->r[27];
|
|
/* 0257216C */ Gambit_fn_021C1AE4(cpu);
|
|
L_02572170: ; // 0x2572170
|
|
/* 02572170 */ cpu->r[5] = cpu->r[27] + cpu->r[31];
|
|
/* 02572174 */ _t29 = cpu->r[5] + 0x00000004u;
|
|
/* 02572174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02572178 */ cpu->r[27] = cpu->r[10] - cpu->r[31];
|
|
/* 0257217C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 02572180 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572180 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02572180 */ if (_t31) goto L_025721A4; else goto L_02572184;
|
|
L_02572184: ; // 0x2572184
|
|
/* 02572184 */ _t32 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02572184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02572188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0257218C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257218C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0257218C */ if (_t34) goto L_0257219C; else goto L_02572190;
|
|
L_02572190: ; // 0x2572190
|
|
/* 02572190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02572194 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572194 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02572194 */ if (_t36) goto L_02572198; else goto L_02572170;
|
|
L_02572198: ; // 0x2572198
|
|
/* 02572198 */ goto L_02572150;
|
|
L_0257219C: ; // 0x257219c
|
|
/* 0257219C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 025721A0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025721A0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 025721A0 */ if (_t38) goto L_025721A4; else goto L_02572158;
|
|
L_025721A4: ; // 0x25721a4
|
|
/* 025721A4 */ _t39 = cpu->r[28] + 0x00000000u;
|
|
/* 025721A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
L_025721A8: ; // 0x25721a8
|
|
/* 025721A8 */ _t40 = cpu->r[6] + 0x00000264u;
|
|
/* 025721A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025721AC */ _t41 = cpu->r[9] + 0x00000030u;
|
|
/* 025721AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025721B0 */ _t42 = cpu->r[12] + 0x0000004Cu;
|
|
/* 025721B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025721B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025721B8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025721B8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 025721B8 */ if (_t44) goto L_02572278; else goto L_025721BC;
|
|
L_025721BC: ; // 0x25721bc
|
|
/* 025721BC */ cpu->r[10] = 0x101C0000u;
|
|
/* 025721C0 */ _t45 = cpu->r[10] + 0x0000696Cu;
|
|
/* 025721C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025721C4 */ cpu->r[6] = cpu->r[9] + cpu->r[10];
|
|
/* 025721C8 */ _t46 = cpu->r[6] + 0x00000104u;
|
|
/* 025721C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t46);
|
|
/* 025721CC */ _t47 = cpu->r[9] + 0x00000030u;
|
|
/* 025721CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025721D0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025721D4 */ _t48 = cpu->r[7] + cpu->r[0];
|
|
/* 025721D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025721D8 */ _t49 = cpu->r[12] + 0x00000008u;
|
|
/* 025721D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025721DC */ _t50 = cpu->r[4] + 0x0000000Cu;
|
|
/* 025721DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025721E0 */ _t51 = cpu->r[4] + 0x00000004u;
|
|
/* 025721E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025721E4 */ cpu->r[31] = cpu->r[4] - cpu->r[30];
|
|
/* 025721E8 */ cpu->r[27] = cpu->r[5] - cpu->r[30];
|
|
/* 025721EC */ goto L_025721FC;
|
|
L_025721F0: ; // 0x25721f0
|
|
/* 025721F0 */ cpu->r[9] = cpu->r[27] + cpu->r[30];
|
|
/* 025721F4 */ _t52 = cpu->r[9] + 0x00000004u;
|
|
/* 025721F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025721F8 */ cpu->r[27] = cpu->r[8] - cpu->r[30];
|
|
L_025721FC: ; // 0x25721fc
|
|
/* 025721FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 02572200 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572200 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02572200 */ if (_t54) goto L_02572218; else goto L_02572204;
|
|
L_02572204: ; // 0x2572204
|
|
/* 02572204 */ _t55 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02572204 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02572208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 0257220C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257220C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0257220C */ if (_t57) goto L_02572218; else goto L_02572210;
|
|
L_02572210: ; // 0x2572210
|
|
/* 02572210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02572214 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572214 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02572214 */ if (_t59) goto L_02572218; else goto L_025721F0;
|
|
L_02572218: ; // 0x2572218
|
|
/* 02572218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 0257221C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257221C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0257221C */ if (_t61) goto L_02572270; else goto L_02572220;
|
|
L_02572220: ; // 0x2572220
|
|
/* 02572220 */ cpu->r[3] = cpu->r[27];
|
|
/* 02572224 */ Gambit_fn_0253D8D8(cpu);
|
|
/* 02572228 */ _t62 = cpu->r[29] + 0x00000134u;
|
|
/* 02572228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0257222C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02572230 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572230 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02572230 */ if (_t64) goto L_02572234; else goto L_0257223C;
|
|
L_02572234: ; // 0x2572234
|
|
/* 02572234 */ cpu->r[3] = cpu->r[27];
|
|
/* 02572238 */ Gambit_fn_02790488(cpu);
|
|
L_0257223C: ; // 0x257223c
|
|
/* 0257223C */ cpu->r[6] = cpu->r[27] + cpu->r[30];
|
|
/* 02572240 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02572240 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02572244 */ cpu->r[27] = cpu->r[4] - cpu->r[30];
|
|
/* 02572248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 0257224C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257224C */ _t67 = _t66 & 0x00000001u;
|
|
/* 0257224C */ if (_t67) goto L_02572270; else goto L_02572250;
|
|
L_02572250: ; // 0x2572250
|
|
/* 02572250 */ _t68 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02572250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02572254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02572258 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572258 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02572258 */ if (_t70) goto L_02572268; else goto L_0257225C;
|
|
L_0257225C: ; // 0x257225c
|
|
/* 0257225C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02572260 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572260 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02572260 */ if (_t72) goto L_02572264; else goto L_0257223C;
|
|
L_02572264: ; // 0x2572264
|
|
/* 02572264 */ goto L_02572218;
|
|
L_02572268: ; // 0x2572268
|
|
/* 02572268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 0257226C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257226C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0257226C */ if (_t74) goto L_02572270; else goto L_02572220;
|
|
L_02572270: ; // 0x2572270
|
|
/* 02572270 */ _t75 = cpu->r[28] + 0x00000000u;
|
|
/* 02572270 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02572274 */ _t76 = cpu->r[6] + 0x00000264u;
|
|
/* 02572274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
L_02572278: ; // 0x2572278
|
|
/* 02572278 */ _t77 = cpu->r[9] + 0x00000030u;
|
|
/* 02572278 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0257227C */ _t78 = cpu->r[5] + 0x00000054u;
|
|
/* 0257227C */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02572280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02572284 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572284 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02572284 */ if (_t80) goto L_0257233C; else goto L_02572288;
|
|
L_02572288: ; // 0x2572288
|
|
/* 02572288 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0257228C */ _t81 = cpu->r[11] + 0x000069F0u;
|
|
/* 0257228C */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02572290 */ cpu->r[8] = cpu->r[9] + cpu->r[11];
|
|
/* 02572294 */ _t82 = cpu->r[8] + 0x00000104u;
|
|
/* 02572294 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02572298 */ _t83 = cpu->r[9] + 0x00000030u;
|
|
/* 02572298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0257229C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025722A0 */ _t84 = cpu->r[9] + cpu->r[0];
|
|
/* 025722A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 025722A4 */ _t85 = cpu->r[12] + 0x00000008u;
|
|
/* 025722A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 025722A8 */ _t86 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025722A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 025722AC */ _t87 = cpu->r[7] + 0x00000004u;
|
|
/* 025722AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t87);
|
|
/* 025722B0 */ cpu->r[31] = cpu->r[7] - cpu->r[30];
|
|
/* 025722B4 */ cpu->r[28] = cpu->r[4] - cpu->r[30];
|
|
/* 025722B8 */ goto L_025722C8;
|
|
L_025722BC: ; // 0x25722bc
|
|
/* 025722BC */ cpu->r[4] = cpu->r[28] + cpu->r[30];
|
|
/* 025722C0 */ _t88 = cpu->r[4] + 0x00000004u;
|
|
/* 025722C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
|
|
/* 025722C4 */ cpu->r[28] = cpu->r[5] - cpu->r[30];
|
|
L_025722C8: ; // 0x25722c8
|
|
/* 025722C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 025722CC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025722CC */ _t90 = _t89 & 0x00000001u;
|
|
/* 025722CC */ if (_t90) goto L_025722E4; else goto L_025722D0;
|
|
L_025722D0: ; // 0x25722d0
|
|
/* 025722D0 */ _t91 = cpu->r[28] + 0x0000001Cu;
|
|
/* 025722D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 025722D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 025722D8 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025722D8 */ _t93 = _t92 & 0x00000001u;
|
|
/* 025722D8 */ if (_t93) goto L_025722E4; else goto L_025722DC;
|
|
L_025722DC: ; // 0x25722dc
|
|
/* 025722DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 025722E0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025722E0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 025722E0 */ if (_t95) goto L_025722E4; else goto L_025722BC;
|
|
L_025722E4: ; // 0x25722e4
|
|
/* 025722E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 025722E8 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025722E8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 025722E8 */ if (_t97) goto L_0257233C; else goto L_025722EC;
|
|
L_025722EC: ; // 0x25722ec
|
|
/* 025722EC */ cpu->r[3] = cpu->r[28];
|
|
/* 025722F0 */ Gambit_fn_025506C8(cpu);
|
|
/* 025722F4 */ _t98 = cpu->r[29] + 0x00000134u;
|
|
/* 025722F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 025722F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[3]);
|
|
/* 025722FC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025722FC */ _t100 = _t99 & 0x00000001u;
|
|
/* 025722FC */ if (_t100) goto L_02572300; else goto L_02572308;
|
|
L_02572300: ; // 0x2572300
|
|
/* 02572300 */ cpu->r[3] = cpu->r[28];
|
|
/* 02572304 */ Gambit_fn_02790488(cpu);
|
|
L_02572308: ; // 0x2572308
|
|
/* 02572308 */ cpu->r[6] = cpu->r[28] + cpu->r[30];
|
|
/* 0257230C */ _t101 = cpu->r[6] + 0x00000004u;
|
|
/* 0257230C */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02572310 */ cpu->r[28] = cpu->r[0] - cpu->r[30];
|
|
/* 02572314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02572318 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572318 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02572318 */ if (_t103) goto L_0257233C; else goto L_0257231C;
|
|
L_0257231C: ; // 0x257231c
|
|
/* 0257231C */ _t104 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0257231C */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02572320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 02572324 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572324 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02572324 */ if (_t106) goto L_02572334; else goto L_02572328;
|
|
L_02572328: ; // 0x2572328
|
|
/* 02572328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 0257232C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257232C */ _t108 = _t107 & 0x00000001u;
|
|
/* 0257232C */ if (_t108) goto L_02572330; else goto L_02572308;
|
|
L_02572330: ; // 0x2572330
|
|
/* 02572330 */ goto L_025722E4;
|
|
L_02572334: ; // 0x2572334
|
|
/* 02572334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02572338 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572338 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02572338 */ if (_t110) goto L_0257233C; else goto L_025722EC;
|
|
L_0257233C: ; // 0x257233c
|
|
/* 0257233C */ /* nop */
|
|
/* 02572340 */ _t111 = cpu->r[1] + 0x00000024u;
|
|
/* 02572340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02572344 */ cpu->lr = cpu->r[0];
|
|
/* 02572348 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0257234C */ return;
|
|
}
|
|
|
|
// fn_02572350 @ 0x2572350
|
|
void Gambit_fn_02572350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02572350: ; // 0x2572350
|
|
/* 02572350 */ cpu->r[0] = cpu->lr;
|
|
/* 02572354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02572354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572354 */ cpu->r[1] = _t0;
|
|
/* 02572358 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257235C */ cpu->r[31] = cpu->r[3];
|
|
/* 02572360 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572364 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02572364 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02572368 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02572368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257236C */ cpu->r[4] = cpu->r[31] + 0x000002ACu;
|
|
/* 02572370 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02572374 */ cpu->r[0] = 0x00000000u;
|
|
/* 02572378 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257237C */ _t4 = cpu->r[31] + 0x000002ACu;
|
|
/* 0257237C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02572380 */ Gambit_fn_02019890(cpu);
|
|
/* 02572384 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02572384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 0257238C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257238C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0257238C */ if (_t7) goto L_02572390; else goto L_02572398;
|
|
L_02572390: ; // 0x2572390
|
|
/* 02572390 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572394 */ Gambit_fn_025720C4(cpu);
|
|
L_02572398: ; // 0x2572398
|
|
/* 02572398 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02572398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0257239C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257239C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025723A0 */ cpu->lr = cpu->r[0];
|
|
/* 025723A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025723A8 */ return;
|
|
}
|
|
|
|
// fn_02572354 @ 0x2572354
|
|
void Gambit_fn_02572354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02572354: ; // 0x2572354
|
|
/* 02572354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02572354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572354 */ cpu->r[1] = _t0;
|
|
/* 02572358 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257235C */ cpu->r[31] = cpu->r[3];
|
|
/* 02572360 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572364 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02572364 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02572368 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02572368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257236C */ cpu->r[4] = cpu->r[31] + 0x000002ACu;
|
|
/* 02572370 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02572374 */ cpu->r[0] = 0x00000000u;
|
|
/* 02572378 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257237C */ _t4 = cpu->r[31] + 0x000002ACu;
|
|
/* 0257237C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02572380 */ Gambit_fn_02019890(cpu);
|
|
/* 02572384 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02572384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 0257238C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257238C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0257238C */ if (_t7) goto L_02572390; else goto L_02572398;
|
|
L_02572390: ; // 0x2572390
|
|
/* 02572390 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572394 */ Gambit_fn_025720C4(cpu);
|
|
L_02572398: ; // 0x2572398
|
|
/* 02572398 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02572398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0257239C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257239C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025723A0 */ cpu->lr = cpu->r[0];
|
|
/* 025723A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025723A8 */ return;
|
|
}
|
|
|
|
// fn_025723AC @ 0x25723ac
|
|
void Gambit_fn_025723AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025723AC: ; // 0x25723ac
|
|
/* 025723AC */ cpu->r[0] = cpu->lr;
|
|
/* 025723B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025723B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025723B0 */ cpu->r[1] = _t0;
|
|
/* 025723B4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 025723B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025723B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025723BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025723BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025723C0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025723C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025723C8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 025723C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025723CC */ Gambit_fn_024F6710(cpu);
|
|
/* 025723D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025723D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025723D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025723DC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025723E0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 025723E0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 025723E4 */ Gambit_fn_024F4798(cpu);
|
|
/* 025723E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 025723EC */ _t5 = cpu->r[3] + 0xFFFF9918u;
|
|
/* 025723EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025723F0 */ Gambit_fn_02830138(cpu);
|
|
/* 025723F4 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025723F8 */ cpu->r[12] = 0x43300000u;
|
|
/* 025723FC */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02572400 */ _t6 = cpu->r[8] + 0xFFFFEC70u;
|
|
/* 02572400 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02572404 */ cpu->r[9] = cpu->r[7] ^ 0x80000000u;
|
|
/* 02572408 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02572408 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0257240C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0257240C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02572410 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02572410 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02572414 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02572418 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0257241C */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02572420 */ _t10 = cpu->r[5] + 0xFFFFEC7Cu;
|
|
/* 02572420 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02572424 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02572428 */ cpu->r[3] = cpu->r[30] + 0x000000B4u;
|
|
/* 0257242C */ Gambit_fn_0204E43C(cpu);
|
|
/* 02572430 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 02572430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572434 */ _t12 = cpu->r[30] + 0x000000BCu;
|
|
/* 02572434 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572438 */ _t13 = cpu->r[30] + 0x00000058u;
|
|
/* 02572438 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 0257243C */ _t14 = cpu->r[30] + 0x000000C4u;
|
|
/* 0257243C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02572440 */ _t15 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02572440 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02572444 */ _t16 = cpu->r[30] + 0x00000064u;
|
|
/* 02572444 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02572448 */ _t17 = cpu->r[30] + 0x000000C8u;
|
|
/* 02572448 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0257244C */ _t18 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257244C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02572450 */ _t19 = cpu->r[30] + 0x00000068u;
|
|
/* 02572450 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02572454 */ _t20 = cpu->r[30] + 0x00000070u;
|
|
/* 02572454 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02572458 */ _t21 = cpu->r[30] + 0x000000D4u;
|
|
/* 02572458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0257245C */ _t22 = cpu->r[30] + 0x000000DCu;
|
|
/* 0257245C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02572460 */ _t23 = cpu->r[30] + 0x00000074u;
|
|
/* 02572460 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02572464 */ _t24 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02572464 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02572468 */ _t25 = cpu->r[30] + 0x000000E0u;
|
|
/* 02572468 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257246C */ _t26 = cpu->r[30] + 0x000000B4u;
|
|
/* 0257246C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02572470 */ _t27 = cpu->r[30] + 0x00000080u;
|
|
/* 02572470 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02572474 */ _t28 = cpu->r[30] + 0x000000C0u;
|
|
/* 02572474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02572478 */ _t29 = cpu->r[30] + 0x00000054u;
|
|
/* 02572478 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 0257247C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257247C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02572480 */ _t31 = cpu->r[30] + 0x000000D8u;
|
|
/* 02572480 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02572484 */ _t32 = cpu->r[30] + 0x000000CCu;
|
|
/* 02572484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02572488 */ _t33 = cpu->r[30] + 0x00000050u;
|
|
/* 02572488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0257248C */ _t34 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0257248C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 02572490 */ _t35 = cpu->r[30] + 0x00000078u;
|
|
/* 02572490 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02572494 */ _t36 = cpu->r[12] + 0x00004714u;
|
|
/* 02572494 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0257249C */ _t37 = cpu->r[30] + 0x000001CCu;
|
|
/* 0257249C */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025724A0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025724A0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 025724A0 */ if (_t39) goto L_02572504; else goto L_025724A4;
|
|
L_025724A4: ; // 0x25724a4
|
|
/* 025724A4 */ cpu->r[0] = cpu->r[11] | 0x00000001u;
|
|
/* 025724A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025724AC */ _t40 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724AC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 025724B0 */ Gambit_fn_02019890(cpu);
|
|
/* 025724B4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025724B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025724B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000006u);
|
|
/* 025724BC */ _t42 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025724C0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025724C0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 025724C0 */ if (_t44) goto L_025724C4; else goto L_025724E4;
|
|
L_025724C4: ; // 0x25724c4
|
|
/* 025724C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 025724C8 */ _t45 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724C8 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 025724CC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 025724CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025724D0 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 025724D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025724D4 */ cpu->lr = cpu->r[0];
|
|
/* 025724D8 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025724D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025724DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025724E0 */ return;
|
|
L_025724E4: ; // 0x25724e4
|
|
/* 025724E4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 025724E8 */ _t49 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724E8 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 025724EC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 025724EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025724F0 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 025724F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025724F4 */ cpu->lr = cpu->r[0];
|
|
/* 025724F8 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025724F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025724FC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572500 */ return;
|
|
L_02572504: ; // 0x2572504
|
|
/* 02572504 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02572508 */ _t53 = cpu->r[30] + 0x000001CCu;
|
|
/* 02572508 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0257250C */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 0257250C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02572510 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02572510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02572514 */ cpu->lr = cpu->r[0];
|
|
/* 02572518 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257251C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572520 */ return;
|
|
}
|
|
|
|
// fn_025723B0 @ 0x25723b0
|
|
void Gambit_fn_025723B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025723B0: ; // 0x25723b0
|
|
/* 025723B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025723B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025723B0 */ cpu->r[1] = _t0;
|
|
/* 025723B4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 025723B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025723B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025723BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025723BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025723C0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025723C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025723C8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 025723C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025723CC */ Gambit_fn_024F6710(cpu);
|
|
/* 025723D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025723D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025723D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 025723DC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025723E0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 025723E0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 025723E4 */ Gambit_fn_024F4798(cpu);
|
|
/* 025723E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 025723EC */ _t5 = cpu->r[3] + 0xFFFF9918u;
|
|
/* 025723EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025723F0 */ Gambit_fn_02830138(cpu);
|
|
/* 025723F4 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025723F8 */ cpu->r[12] = 0x43300000u;
|
|
/* 025723FC */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02572400 */ _t6 = cpu->r[8] + 0xFFFFEC70u;
|
|
/* 02572400 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02572404 */ cpu->r[9] = cpu->r[7] ^ 0x80000000u;
|
|
/* 02572408 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02572408 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0257240C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0257240C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02572410 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02572410 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02572414 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02572418 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0257241C */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02572420 */ _t10 = cpu->r[5] + 0xFFFFEC7Cu;
|
|
/* 02572420 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02572424 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02572428 */ cpu->r[3] = cpu->r[30] + 0x000000B4u;
|
|
/* 0257242C */ Gambit_fn_0204E43C(cpu);
|
|
/* 02572430 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 02572430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572434 */ _t12 = cpu->r[30] + 0x000000BCu;
|
|
/* 02572434 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572438 */ _t13 = cpu->r[30] + 0x00000058u;
|
|
/* 02572438 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 0257243C */ _t14 = cpu->r[30] + 0x000000C4u;
|
|
/* 0257243C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02572440 */ _t15 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02572440 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02572444 */ _t16 = cpu->r[30] + 0x00000064u;
|
|
/* 02572444 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02572448 */ _t17 = cpu->r[30] + 0x000000C8u;
|
|
/* 02572448 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0257244C */ _t18 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257244C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02572450 */ _t19 = cpu->r[30] + 0x00000068u;
|
|
/* 02572450 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02572454 */ _t20 = cpu->r[30] + 0x00000070u;
|
|
/* 02572454 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02572458 */ _t21 = cpu->r[30] + 0x000000D4u;
|
|
/* 02572458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0257245C */ _t22 = cpu->r[30] + 0x000000DCu;
|
|
/* 0257245C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02572460 */ _t23 = cpu->r[30] + 0x00000074u;
|
|
/* 02572460 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02572464 */ _t24 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02572464 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02572468 */ _t25 = cpu->r[30] + 0x000000E0u;
|
|
/* 02572468 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257246C */ _t26 = cpu->r[30] + 0x000000B4u;
|
|
/* 0257246C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02572470 */ _t27 = cpu->r[30] + 0x00000080u;
|
|
/* 02572470 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02572474 */ _t28 = cpu->r[30] + 0x000000C0u;
|
|
/* 02572474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02572478 */ _t29 = cpu->r[30] + 0x00000054u;
|
|
/* 02572478 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 0257247C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257247C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02572480 */ _t31 = cpu->r[30] + 0x000000D8u;
|
|
/* 02572480 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02572484 */ _t32 = cpu->r[30] + 0x000000CCu;
|
|
/* 02572484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02572488 */ _t33 = cpu->r[30] + 0x00000050u;
|
|
/* 02572488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0257248C */ _t34 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0257248C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 02572490 */ _t35 = cpu->r[30] + 0x00000078u;
|
|
/* 02572490 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02572494 */ _t36 = cpu->r[12] + 0x00004714u;
|
|
/* 02572494 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0257249C */ _t37 = cpu->r[30] + 0x000001CCu;
|
|
/* 0257249C */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025724A0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025724A0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 025724A0 */ if (_t39) goto L_02572504; else goto L_025724A4;
|
|
L_025724A4: ; // 0x25724a4
|
|
/* 025724A4 */ cpu->r[0] = cpu->r[11] | 0x00000001u;
|
|
/* 025724A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025724AC */ _t40 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724AC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 025724B0 */ Gambit_fn_02019890(cpu);
|
|
/* 025724B4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025724B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025724B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000006u);
|
|
/* 025724BC */ _t42 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025724C0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025724C0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 025724C0 */ if (_t44) goto L_025724C4; else goto L_025724E4;
|
|
L_025724C4: ; // 0x25724c4
|
|
/* 025724C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 025724C8 */ _t45 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724C8 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 025724CC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 025724CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025724D0 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 025724D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025724D4 */ cpu->lr = cpu->r[0];
|
|
/* 025724D8 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025724D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025724DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025724E0 */ return;
|
|
L_025724E4: ; // 0x25724e4
|
|
/* 025724E4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 025724E8 */ _t49 = cpu->r[30] + 0x000001CCu;
|
|
/* 025724E8 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 025724EC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 025724EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025724F0 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 025724F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025724F4 */ cpu->lr = cpu->r[0];
|
|
/* 025724F8 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025724F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025724FC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572500 */ return;
|
|
L_02572504: ; // 0x2572504
|
|
/* 02572504 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02572508 */ _t53 = cpu->r[30] + 0x000001CCu;
|
|
/* 02572508 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0257250C */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 0257250C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02572510 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02572510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02572514 */ cpu->lr = cpu->r[0];
|
|
/* 02572518 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257251C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572520 */ return;
|
|
}
|
|
|
|
// fn_02572524 @ 0x2572524
|
|
void Gambit_fn_02572524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02572524: ; // 0x2572524
|
|
/* 02572524 */ _t0 = cpu->r[3] + 0x0000020Cu;
|
|
/* 02572524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02572528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257252C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257252C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257252C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0257252C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257252C */ goto L_02572530;
|
|
L_02572530: ; // 0x2572530
|
|
/* 02572530 */ cpu->r[0] = 0x00000003u;
|
|
/* 02572534 */ _t4 = cpu->r[3] + 0x0000020Cu;
|
|
/* 02572534 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02572538 */ return;
|
|
}
|
|
|
|
// fn_0257253C @ 0x257253c
|
|
void Gambit_fn_0257253C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0257253C: ; // 0x257253c
|
|
/* 0257253C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0257253C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02572540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02572540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02572544 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572544 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02572544 */ if (_t2) goto L_02572578; else goto L_02572548;
|
|
L_02572548: ; // 0x2572548
|
|
/* 02572548 */ _t3 = cpu->r[3] + 0x0000019Cu;
|
|
/* 02572548 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257254C */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0257254C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02572550 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02572550 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02572554 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572558 */ cpu->f[13] = cpu->f[0] / cpu->f[13];
|
|
/* 0257255C */ _t6 = cpu->r[12] + 0xFFFFEC5Cu;
|
|
/* 0257255C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02572560 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572564 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02572568 */ _t7 = cpu->r[12] + 0xFFFFEC14u;
|
|
/* 02572568 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0257256C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 0257256C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02572570 */ _t9 = cpu->r[5] + 0x00000000u;
|
|
/* 02572570 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02572574 */ return;
|
|
L_02572578: ; // 0x2572578
|
|
/* 02572578 */ _t10 = cpu->r[3] + 0x000001D0u;
|
|
/* 02572578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0257257C */ _t11 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0257257C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572580 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 02572580 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02572584 */ _t13 = cpu->r[11] + 0x00000020u;
|
|
/* 02572584 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02572588 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02572588 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 0257258C */ return;
|
|
}
|
|
|
|
// fn_02572590 @ 0x2572590
|
|
void Gambit_fn_02572590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02061E60: ; // 0x2061e60
|
|
/* 02061E60 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02061E60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061E60 */ cpu->r[1] = _t0;
|
|
/* 02061E64 */ /* nop */
|
|
/* 02061E68 */ cpu->r[0] = cpu->lr;
|
|
/* 02061E6C */ cpu->r[23] = cpu->r[3];
|
|
/* 02061E70 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02061E70 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02061E74 */ Gambit_fn_02062AF0(cpu);
|
|
/* 02061E78 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02061E7C */ _t2 = cpu->r[7] + 0xFFFFC8C4u;
|
|
/* 02061E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02061E7C */ cpu->r[7] = _t2;
|
|
/* 02061E80 */ cpu->r[31] = 0x101E0000u;
|
|
/* 02061E84 */ cpu->r[22] = cpu->r[3];
|
|
/* 02061E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061E8C */ cpu->r[31] = cpu->r[31] + 0xFFFFC854u;
|
|
/* 02061E90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061E90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02061E90 */ if (_t4) goto L_02061E94; else goto L_02061EDC;
|
|
L_02061E94: ; // 0x2061e94
|
|
/* 02061E94 */ cpu->r[12] = 0x00000001u;
|
|
/* 02061E98 */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 02061E9C */ cpu->r[4] = 0x10000000u;
|
|
/* 02061EA0 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02061EA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02061EA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02061EA8 */ cpu->r[5] = 0x00000002u;
|
|
/* 02061EAC */ cpu->r[4] = cpu->r[4] + 0x00006D6Cu;
|
|
/* 02061EB0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02061EB4 */ Gambit_fn_028A6750(cpu);
|
|
/* 02061EB8 */ cpu->r[6] = 0x02060000u;
|
|
/* 02061EBC */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02061EC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02061EC4 */ cpu->r[6] = cpu->r[6] + 0x00002000u;
|
|
/* 02061EC8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02061ECC */ Gambit_fn_02C82E00(cpu);
|
|
/* 02061ED0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02061ED4 */ cpu->r[3] = cpu->r[3] + 0x00002FA8u;
|
|
/* 02061ED8 */ Gambit_fn_02C83090(cpu);
|
|
L_02061EDC: ; // 0x2061edc
|
|
/* 02061EDC */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02061EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02061EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061EE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061EE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02061EE4 */ if (_t8) goto L_02061EE8; else goto L_02061FDC;
|
|
L_02061EE8: ; // 0x2061ee8
|
|
/* 02061EE8 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02061EEC */ cpu->r[30] = 0x00000000u;
|
|
/* 02061EF0 */ cpu->r[19] = 0x101D0000u;
|
|
/* 02061EF4 */ cpu->r[20] = 0x101D0000u;
|
|
/* 02061EF8 */ cpu->r[21] = 0x00000001u;
|
|
/* 02061EFC */ cpu->r[27] = cpu->r[30];
|
|
/* 02061F00 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02061F04 */ cpu->r[26] = cpu->r[26] + 0xFFFFEB14u;
|
|
/* 02061F08 */ cpu->r[24] = 0x101D0000u;
|
|
L_02061F0C: ; // 0x2061f0c
|
|
/* 02061F0C */ _t9 = cpu->r[24] + 0xFFFFEB24u;
|
|
/* 02061F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02061F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061F14 */ cpu->r[29] = cpu->r[30];
|
|
/* 02061F18 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061F18 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02061F18 */ if (_t11) goto L_02061F1C; else goto L_02061F34;
|
|
L_02061F1C: ; // 0x2061f1c
|
|
/* 02061F1C */ cpu->r[4] = 0x101C0000u;
|
|
/* 02061F20 */ cpu->r[3] = cpu->r[25] + 0x00003945u;
|
|
/* 02061F24 */ cpu->r[5] = 0x0000000Eu;
|
|
/* 02061F28 */ cpu->r[4] = cpu->r[4] + 0x00002F98u;
|
|
/* 02061F2C */ _t12 = cpu->r[24] + 0xFFFFEB24u;
|
|
/* 02061F2C */ rbrew_write32(cpu->mem, _t12, cpu->r[21]);
|
|
/* 02061F30 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02061F34: ; // 0x2061f34
|
|
/* 02061F34 */ _t13 = cpu->r[20] + 0xFFFFEB20u;
|
|
/* 02061F34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02061F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02061F3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061F3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02061F3C */ if (_t15) goto L_02061F40; else goto L_02061F48;
|
|
L_02061F40: ; // 0x2061f40
|
|
/* 02061F40 */ _t16 = cpu->r[19] + 0xFFFFEB1Cu;
|
|
/* 02061F40 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02061F44 */ _t17 = cpu->r[20] + 0xFFFFEB20u;
|
|
/* 02061F44 */ rbrew_write32(cpu->mem, _t17, cpu->r[21]);
|
|
L_02061F48: ; // 0x2061f48
|
|
/* 02061F48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 02061F4C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02061F4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02061F4C */ if (_t19) goto L_02061F74; else goto L_02061F50;
|
|
L_02061F50: ; // 0x2061f50
|
|
/* 02061F50 */ cpu->r[4] = cpu->r[30];
|
|
/* 02061F54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02061F58 */ cpu->r[5] = 0x00000000u;
|
|
/* 02061F5C */ Gambit_fn_028A6634(cpu);
|
|
/* 02061F60 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02061F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 02061F68 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02061F68 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02061F68 */ if (_t21) goto L_02061FDC; else goto L_02061F6C;
|
|
L_02061F6C: ; // 0x2061f6c
|
|
/* 02061F6C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02061F6C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02061F6C */ if (_t23) goto L_02061F0C; else goto L_02061F70;
|
|
L_02061F70: ; // 0x2061f70
|
|
/* 02061F70 */ goto L_02061FDC;
|
|
L_02061F74: ; // 0x2061f74
|
|
/* 02061F74 */ _t24 = cpu->r[19] + 0xFFFFEB1Cu;
|
|
/* 02061F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02061F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061F7C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061F7C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02061F7C */ if (_t26) goto L_02061F80; else goto L_02061FB8;
|
|
L_02061F80: ; // 0x2061f80
|
|
/* 02061F80 */ Gambit_fn_0282A450(cpu);
|
|
/* 02061F84 */ cpu->r[28] = cpu->r[3];
|
|
/* 02061F88 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02061F8C */ _t27 = cpu->r[19] + 0xFFFFEB1Cu;
|
|
/* 02061F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02061F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061F94 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061F94 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02061F94 */ if (_t29) goto L_02061F98; else goto L_02061FAC;
|
|
L_02061F98: ; // 0x2061f98
|
|
/* 02061F98 */ cpu->r[5] = 0x00000002u;
|
|
/* 02061F9C */ cpu->r[4] = cpu->r[25] + 0x00003945u;
|
|
/* 02061FA0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02061FA4 */ Gambit_fn_0282A374(cpu);
|
|
/* 02061FA8 */ _t30 = cpu->r[19] + 0xFFFFEB1Cu;
|
|
/* 02061FA8 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
L_02061FAC: ; // 0x2061fac
|
|
/* 02061FAC */ cpu->r[3] = cpu->r[28];
|
|
/* 02061FB0 */ Gambit_fn_02837030(cpu);
|
|
/* 02061FB4 */ _t31 = cpu->r[19] + 0xFFFFEB1Cu;
|
|
/* 02061FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
L_02061FB8: ; // 0x2061fb8
|
|
/* 02061FB8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02061FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02061FC0 */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 02061FC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02061FC4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02061FC8 */ Gambit_fn_028A6634(cpu);
|
|
/* 02061FCC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02061FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 02061FD4 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02061FD4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02061FD4 */ if (_t34) goto L_02061FDC; else goto L_02061FD8;
|
|
L_02061FD8: ; // 0x2061fd8
|
|
/* 02061FD8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02061FD8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02061FD8 */ if (_t36) goto L_02061F0C; else goto L_02061FDC;
|
|
L_02061FDC: ; // 0x2061fdc
|
|
/* 02061FDC */ cpu->r[3] = cpu->r[23];
|
|
/* 02061FE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02061FE4 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02061FE8 */ cpu->r[3] = cpu->r[22] + 0x00000001u;
|
|
/* 02061FEC */ /* nop */
|
|
/* 02061FF0 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 02061FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02061FF4 */ cpu->lr = cpu->r[0];
|
|
/* 02061FF8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02061FFC */ return;
|
|
L_02572590: ; // 0x2572590
|
|
/* 02572590 */ _t38 = cpu->r[3] + 0x00000030u;
|
|
/* 02572590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02572594 */ cpu->r[4] = 0x00000000u;
|
|
/* 02572598 */ goto L_02061E60;
|
|
}
|
|
|
|
// fn_0257259C @ 0x257259c
|
|
void Gambit_fn_0257259C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0257259C: ; // 0x257259c
|
|
/* 0257259C */ _t0 = cpu->r[3] + 0x000001E0u;
|
|
/* 0257259C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025725A0 */ /* nop */
|
|
/* 025725A4 */ cpu->r[12] = cpu->r[0] ^ 0x00000002u;
|
|
/* 025725A8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025725AC */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 025725B0 */ return;
|
|
}
|
|
|
|
// fn_025725B4 @ 0x25725b4
|
|
void Gambit_fn_025725B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
|
|
|
|
L_025725B4: ; // 0x25725b4
|
|
/* 025725B4 */ cpu->r[0] = cpu->lr;
|
|
/* 025725B8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 025725B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025725B8 */ cpu->r[1] = _t0;
|
|
/* 025725BC */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 025725BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025725C0 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025725C4 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 025725C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025725C8 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 025725C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 025725CC */ /* nop */
|
|
/* 025725D0 */ _t4 = cpu->r[6] + 0xFFFFEC80u;
|
|
/* 025725D0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025725D4 */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 025725D4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 025725D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025725DC */ _t6 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025725DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025725E0 */ /* nop */
|
|
/* 025725E4 */ _t7 = cpu->r[31] + 0x00000068u;
|
|
/* 025725E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025725E8 */ /* nop */
|
|
/* 025725EC */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 025725EC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025725F0 */ /* nop */
|
|
/* 025725F4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025725F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025725F8 */ cpu->f[9] = -cpu->f[8];
|
|
/* 025725FC */ /* nop */
|
|
/* 02572600 */ cpu->f[13] = cpu->f[0] * cpu->f[2];
|
|
/* 02572604 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02572604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572608 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02572608 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[9]);
|
|
/* 0257260C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0257260C */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02572610 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572610 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02572614 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02572618 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02572618 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0257261C */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257261C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02572620 */ /* nop */
|
|
/* 02572624 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02572624 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02572628 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02572628 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257262C */ /* nop */
|
|
/* 02572630 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 02572630 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02572634 */ /* nop */
|
|
/* 02572638 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02572638 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0257263C */ cpu->f[9] = -cpu->f[0];
|
|
/* 02572640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02572640 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 02572644 */ cpu->f[13] = cpu->f[10] + cpu->f[12];
|
|
/* 02572648 */ _t22 = cpu->r[31] + 0x00000134u;
|
|
/* 02572648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257264C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02572650 */ _t23 = cpu->r[31] + 0x00000064u;
|
|
/* 02572650 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02572654 */ _t24 = cpu->r[5] + 0xFFFFEC84u;
|
|
/* 02572654 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02572658 */ cpu->f[12] = -cpu->f[10];
|
|
/* 0257265C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0257265C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[9]);
|
|
/* 02572660 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02572660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572664 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02572664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02572668 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572668 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 0257266C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257266C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02572670 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02572670 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02572674 */ _t31 = cpu->r[1] + 0x00000028u;
|
|
/* 02572674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572678 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572678 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 0257267C */ cpu->r[12] = cpu->r[1] + 0x00000044u;
|
|
/* 02572680 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 02572680 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 02572684 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 02572688 */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02572688 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0257268C */ cpu->r[0] = 0x00000000u;
|
|
/* 02572690 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 02572690 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02572694 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572698 */ cpu->r[4] = cpu->r[12];
|
|
/* 0257269C */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 0257269C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 025726A0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 025726A4 */ _t37 = cpu->r[10] + 0x000001C8u;
|
|
/* 025726A4 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
/* 025726A8 */ _t38 = cpu->r[31] + 0x000002B4u;
|
|
/* 025726A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025726AC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025726B0 */ _t39 = cpu->r[12] + 0xFFFF958Cu;
|
|
/* 025726B0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 025726B4 */ cpu->f[1] = cpu->f[31];
|
|
/* 025726B8 */ _t40 = cpu->r[30] + 0x00000004u;
|
|
/* 025726B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025726BC */ cpu->r[7] = 0x0000000Fu;
|
|
/* 025726C0 */ _t41 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 025726C0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 025726C4 */ cpu->r[9] = cpu->r[30];
|
|
/* 025726C8 */ cpu->r[5] = cpu->r[6];
|
|
/* 025726CC */ _t42 = cpu->r[3] + 0x00001EF8u;
|
|
/* 025726CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025726D0 */ cpu->r[6] = 0x00000001u;
|
|
/* 025726D4 */ Gambit_fn_0204A864(cpu);
|
|
/* 025726D8 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 025726D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 025726DC */ _t44 = cpu->r[31] + 0x00000134u;
|
|
/* 025726DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025726E0 */ cpu->r[7] = 0x00000001u;
|
|
/* 025726E4 */ _t45 = cpu->r[10] + 0x000001C8u;
|
|
/* 025726E4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[7]);
|
|
/* 025726E8 */ _t46 = cpu->r[31] + 0x000002B4u;
|
|
/* 025726E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025726EC */ _t47 = cpu->r[5] + 0x00000000u;
|
|
/* 025726EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025726F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025726F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025726F4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025726F4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 025726F4 */ if (_t49) goto L_02572708; else goto L_025726F8;
|
|
L_025726F8: ; // 0x25726f8
|
|
/* 025726F8 */ _t50 = cpu->r[5] + 0x00000004u;
|
|
/* 025726F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025726FC */ _t51 = cpu->r[11] + 0x0000015Cu;
|
|
/* 025726FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02572700 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02572700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02572704 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572704 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02572704 */ if (_t53) goto L_02572708; else goto L_02572730;
|
|
L_02572708: ; // 0x2572708
|
|
/* 02572708 */ _t54 = cpu->r[1] + 0x00000050u;
|
|
/* 02572708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0257270C */ cpu->f[1] = cpu->f[31];
|
|
/* 02572710 */ _t55 = cpu->r[1] + 0x00000060u;
|
|
/* 02572710 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02572714 */ _t56 = cpu->r[1] + 0x00000054u;
|
|
/* 02572714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02572718 */ _t57 = cpu->r[1] + 0x00000058u;
|
|
/* 02572718 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 0257271C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257271C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0257271C */ if (_t59) goto L_02572720; // else: addr-0 trap, fall-through
|
|
L_02572720: ; // 0x2572720
|
|
/* 02572720 */ _t60 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02572720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02572724 */ cpu->lr = cpu->r[0];
|
|
/* 02572728 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0257272C */ return;
|
|
L_02572730: ; // 0x2572730
|
|
/* 02572730 */ _t61 = cpu->r[5] + 0x00000004u;
|
|
/* 02572730 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02572734 */ _t62 = cpu->r[11] + 0x00000168u;
|
|
/* 02572734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02572738 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x00000004u);
|
|
/* 02572738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257273C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257273C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0257273C */ if (_t64) goto L_02572748; else goto L_02572740;
|
|
L_02572740: ; // 0x2572740
|
|
/* 02572740 */ _t65 = cpu->r[11] + 0x00000044u;
|
|
/* 02572740 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02572744 */ goto L_02572750;
|
|
L_02572748: ; // 0x2572748
|
|
/* 02572748 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257274C */ _t66 = cpu->r[9] + 0xFFFFEC14u;
|
|
/* 0257274C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t66);
|
|
L_02572750: ; // 0x2572750
|
|
/* 02572750 */ _t67 = cpu->r[1] + 0x00000060u;
|
|
/* 02572750 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02572754 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02572754 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02572758 */ _t69 = cpu->r[1] + 0x00000058u;
|
|
/* 02572758 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0257275C */ _t70 = cpu->r[1] + 0x00000050u;
|
|
/* 0257275C */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02572760 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572760 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02572760 */ if (_t72) goto L_02572764; // else: addr-0 trap, fall-through
|
|
L_02572764: ; // 0x2572764
|
|
/* 02572764 */ _t73 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02572764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02572768 */ cpu->lr = cpu->r[0];
|
|
/* 0257276C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02572770 */ return;
|
|
}
|
|
|
|
// fn_025725B8 @ 0x25725b8
|
|
void Gambit_fn_025725B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
|
|
|
|
L_025725B8: ; // 0x25725b8
|
|
/* 025725B8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 025725B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025725B8 */ cpu->r[1] = _t0;
|
|
/* 025725BC */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 025725BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025725C0 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025725C4 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 025725C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025725C8 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 025725C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 025725CC */ /* nop */
|
|
/* 025725D0 */ _t4 = cpu->r[6] + 0xFFFFEC80u;
|
|
/* 025725D0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025725D4 */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 025725D4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 025725D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025725DC */ _t6 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025725DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025725E0 */ /* nop */
|
|
/* 025725E4 */ _t7 = cpu->r[31] + 0x00000068u;
|
|
/* 025725E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025725E8 */ /* nop */
|
|
/* 025725EC */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 025725EC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025725F0 */ /* nop */
|
|
/* 025725F4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025725F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025725F8 */ cpu->f[9] = -cpu->f[8];
|
|
/* 025725FC */ /* nop */
|
|
/* 02572600 */ cpu->f[13] = cpu->f[0] * cpu->f[2];
|
|
/* 02572604 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02572604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572608 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02572608 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[9]);
|
|
/* 0257260C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0257260C */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02572610 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572610 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02572614 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02572618 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02572618 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0257261C */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257261C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02572620 */ /* nop */
|
|
/* 02572624 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02572624 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02572628 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02572628 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257262C */ /* nop */
|
|
/* 02572630 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 02572630 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02572634 */ /* nop */
|
|
/* 02572638 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02572638 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0257263C */ cpu->f[9] = -cpu->f[0];
|
|
/* 02572640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02572640 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 02572644 */ cpu->f[13] = cpu->f[10] + cpu->f[12];
|
|
/* 02572648 */ _t22 = cpu->r[31] + 0x00000134u;
|
|
/* 02572648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257264C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02572650 */ _t23 = cpu->r[31] + 0x00000064u;
|
|
/* 02572650 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02572654 */ _t24 = cpu->r[5] + 0xFFFFEC84u;
|
|
/* 02572654 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02572658 */ cpu->f[12] = -cpu->f[10];
|
|
/* 0257265C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0257265C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[9]);
|
|
/* 02572660 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02572660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572664 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02572664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02572668 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572668 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 0257266C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257266C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02572670 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02572670 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02572674 */ _t31 = cpu->r[1] + 0x00000028u;
|
|
/* 02572674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572678 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572678 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 0257267C */ cpu->r[12] = cpu->r[1] + 0x00000044u;
|
|
/* 02572680 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 02572680 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 02572684 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 02572688 */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02572688 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0257268C */ cpu->r[0] = 0x00000000u;
|
|
/* 02572690 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 02572690 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02572694 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02572698 */ cpu->r[4] = cpu->r[12];
|
|
/* 0257269C */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 0257269C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 025726A0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 025726A4 */ _t37 = cpu->r[10] + 0x000001C8u;
|
|
/* 025726A4 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
/* 025726A8 */ _t38 = cpu->r[31] + 0x000002B4u;
|
|
/* 025726A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025726AC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025726B0 */ _t39 = cpu->r[12] + 0xFFFF958Cu;
|
|
/* 025726B0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 025726B4 */ cpu->f[1] = cpu->f[31];
|
|
/* 025726B8 */ _t40 = cpu->r[30] + 0x00000004u;
|
|
/* 025726B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025726BC */ cpu->r[7] = 0x0000000Fu;
|
|
/* 025726C0 */ _t41 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 025726C0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 025726C4 */ cpu->r[9] = cpu->r[30];
|
|
/* 025726C8 */ cpu->r[5] = cpu->r[6];
|
|
/* 025726CC */ _t42 = cpu->r[3] + 0x00001EF8u;
|
|
/* 025726CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025726D0 */ cpu->r[6] = 0x00000001u;
|
|
/* 025726D4 */ Gambit_fn_0204A864(cpu);
|
|
/* 025726D8 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 025726D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 025726DC */ _t44 = cpu->r[31] + 0x00000134u;
|
|
/* 025726DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025726E0 */ cpu->r[7] = 0x00000001u;
|
|
/* 025726E4 */ _t45 = cpu->r[10] + 0x000001C8u;
|
|
/* 025726E4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[7]);
|
|
/* 025726E8 */ _t46 = cpu->r[31] + 0x000002B4u;
|
|
/* 025726E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025726EC */ _t47 = cpu->r[5] + 0x00000000u;
|
|
/* 025726EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025726F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025726F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025726F4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025726F4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 025726F4 */ if (_t49) goto L_02572708; else goto L_025726F8;
|
|
L_025726F8: ; // 0x25726f8
|
|
/* 025726F8 */ _t50 = cpu->r[5] + 0x00000004u;
|
|
/* 025726F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025726FC */ _t51 = cpu->r[11] + 0x0000015Cu;
|
|
/* 025726FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02572700 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02572700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02572704 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572704 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02572704 */ if (_t53) goto L_02572708; else goto L_02572730;
|
|
L_02572708: ; // 0x2572708
|
|
/* 02572708 */ _t54 = cpu->r[1] + 0x00000050u;
|
|
/* 02572708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0257270C */ cpu->f[1] = cpu->f[31];
|
|
/* 02572710 */ _t55 = cpu->r[1] + 0x00000060u;
|
|
/* 02572710 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02572714 */ _t56 = cpu->r[1] + 0x00000054u;
|
|
/* 02572714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02572718 */ _t57 = cpu->r[1] + 0x00000058u;
|
|
/* 02572718 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 0257271C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257271C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0257271C */ if (_t59) goto L_02572720; // else: addr-0 trap, fall-through
|
|
L_02572720: ; // 0x2572720
|
|
/* 02572720 */ _t60 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02572720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02572724 */ cpu->lr = cpu->r[0];
|
|
/* 02572728 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0257272C */ return;
|
|
L_02572730: ; // 0x2572730
|
|
/* 02572730 */ _t61 = cpu->r[5] + 0x00000004u;
|
|
/* 02572730 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02572734 */ _t62 = cpu->r[11] + 0x00000168u;
|
|
/* 02572734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02572738 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x00000004u);
|
|
/* 02572738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257273C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257273C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0257273C */ if (_t64) goto L_02572748; else goto L_02572740;
|
|
L_02572740: ; // 0x2572740
|
|
/* 02572740 */ _t65 = cpu->r[11] + 0x00000044u;
|
|
/* 02572740 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02572744 */ goto L_02572750;
|
|
L_02572748: ; // 0x2572748
|
|
/* 02572748 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257274C */ _t66 = cpu->r[9] + 0xFFFFEC14u;
|
|
/* 0257274C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t66);
|
|
L_02572750: ; // 0x2572750
|
|
/* 02572750 */ _t67 = cpu->r[1] + 0x00000060u;
|
|
/* 02572750 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02572754 */ _t68 = cpu->r[1] + 0x00000054u;
|
|
/* 02572754 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02572758 */ _t69 = cpu->r[1] + 0x00000058u;
|
|
/* 02572758 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0257275C */ _t70 = cpu->r[1] + 0x00000050u;
|
|
/* 0257275C */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02572760 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572760 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02572760 */ if (_t72) goto L_02572764; // else: addr-0 trap, fall-through
|
|
L_02572764: ; // 0x2572764
|
|
/* 02572764 */ _t73 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02572764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02572768 */ cpu->lr = cpu->r[0];
|
|
/* 0257276C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02572770 */ return;
|
|
}
|
|
|
|
// fn_02572774 @ 0x2572774
|
|
void Gambit_fn_02572774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_02572774: ; // 0x2572774
|
|
/* 02572774 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02572774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572774 */ cpu->r[1] = _t0;
|
|
/* 02572778 */ _t1 = cpu->r[1] + 0x000000D8u;
|
|
/* 02572778 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 0257277C */ cpu->r[0] = cpu->lr;
|
|
/* 02572780 */ _t2 = cpu->r[1] + 0x000000D4u;
|
|
/* 02572780 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02572784 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572788 */ _t3 = cpu->r[1] + 0x000000E8u;
|
|
/* 02572788 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0257278C */ _t4 = cpu->r[1] + 0x000000F8u;
|
|
/* 0257278C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02572790 */ /* nop */
|
|
/* 02572794 */ _t5 = cpu->r[1] + 0x000000D0u;
|
|
/* 02572794 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02572798 */ /* nop */
|
|
/* 0257279C */ _t6 = cpu->r[1] + 0x000000F0u;
|
|
/* 0257279C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 025727A0 */ /* nop */
|
|
/* 025727A4 */ _t7 = cpu->r[1] + 0x000000CCu;
|
|
/* 025727A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 025727A8 */ _t8 = cpu->r[1] + 0x0000010Cu;
|
|
/* 025727A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025727AC */ cpu->r[30] = cpu->r[3];
|
|
/* 025727B0 */ _t9 = cpu->r[1] + 0x000000E0u;
|
|
/* 025727B0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 025727B4 */ _t10 = cpu->r[1] + 0x00000100u;
|
|
/* 025727B4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 025727B8 */ Gambit_fn_024F49F8(cpu);
|
|
/* 025727BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025727C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025727C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025727C0 */ if (_t12) goto L_02572A60; else goto L_025727C4;
|
|
L_025727C4: ; // 0x25727c4
|
|
/* 025727C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025727C8 */ Gambit_fn_025725B4(cpu);
|
|
/* 025727CC */ cpu->r[29] = 0x101F0000u;
|
|
/* 025727D0 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025727D4 */ _t13 = cpu->r[29] + 0x00003840u;
|
|
/* 025727D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025727D4 */ cpu->r[29] = _t13;
|
|
/* 025727D8 */ cpu->r[6] = 0x10110000u;
|
|
/* 025727DC */ _t14 = cpu->r[10] + 0xFFFFEC14u;
|
|
/* 025727DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025727E0 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF4Cu;
|
|
/* 025727E4 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 025727E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 025727E8 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 025727E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025727EC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 025727EC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 025727F0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 025727F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 025727F4 */ cpu->f[29] = cpu->f[1];
|
|
/* 025727F8 */ _t19 = cpu->r[29] + 0x00000008u;
|
|
/* 025727F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025727FC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025727FC */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02572800 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572804 */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02572804 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 02572808 */ Gambit_fn_025C65F0(cpu);
|
|
/* 0257280C */ /* nop */
|
|
/* 02572810 */ _t22 = cpu->r[31] + 0x00000234u;
|
|
/* 02572810 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02572814 */ /* nop */
|
|
/* 02572818 */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02572818 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0257281C */ _t24 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0257281C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02572820 */ cpu->f[11] = cpu->f[12] * cpu->f[1];
|
|
/* 02572824 */ /* nop */
|
|
/* 02572828 */ _t25 = cpu->r[1] + 0x00000084u;
|
|
/* 02572828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0257282C */ _t26 = cpu->r[1] + 0x00000080u;
|
|
/* 0257282C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572830 */ _t27 = cpu->r[1] + 0x00000088u;
|
|
/* 02572830 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02572834 */ _t28 = cpu->r[1] + 0x00000088u;
|
|
/* 02572834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02572838 */ _t29 = cpu->r[1] + 0x00000038u;
|
|
/* 02572838 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 0257283C */ /* nop */
|
|
/* 02572840 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02572840 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02572844 */ /* nop */
|
|
/* 02572848 */ cpu->r[8] = 0x10110000u;
|
|
/* 0257284C */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 0257284C */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02572850 */ /* nop */
|
|
/* 02572854 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572854 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02572858 */ _t33 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572858 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0257285C */ cpu->r[8] = cpu->r[8] + 0xFFFFEFACu;
|
|
/* 02572860 */ /* nop */
|
|
/* 02572864 */ _t34 = cpu->r[1] + 0x00000090u;
|
|
/* 02572864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02572868 */ cpu->f[11] = cpu->f[13] + cpu->f[0];
|
|
/* 0257286C */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 0257286C */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02572870 */ _t36 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02572870 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572874 */ _t37 = cpu->r[29] + 0x00000008u;
|
|
/* 02572874 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02572878 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572878 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0257287C */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0257287C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02572880 */ _t40 = cpu->r[1] + 0x00000094u;
|
|
/* 02572880 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02572884 */ _t41 = cpu->r[29] + 0x00000000u;
|
|
/* 02572884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02572888 */ _t42 = cpu->r[1] + 0x00000094u;
|
|
/* 02572888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0257288C */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 0257288C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02572890 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02572890 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02572894 */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 02572894 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02572898 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 02572898 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 0257289C */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 0257289C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 025728A0 */ cpu->r[11] = cpu->r[1] + 0x0000004Cu;
|
|
/* 025728A4 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 025728A4 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 025728A8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 025728AC */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 025728AC */ rbrew_write_f32(cpu->mem, _t49, cpu->f[13]);
|
|
/* 025728B0 */ cpu->r[9] = cpu->r[9] + 0x000037D8u;
|
|
/* 025728B4 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 025728B4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[1]);
|
|
/* 025728B8 */ cpu->r[12] = 0x00000003u;
|
|
/* 025728BC */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025728BC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 025728C0 */ cpu->ctr = cpu->r[12];
|
|
/* 025728C4 */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025728C4 */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
L_025728C8: ; // 0x25728c8
|
|
/* 025728C8 */ _t53 = cpu->r[9] + 0x00000004u;
|
|
/* 025728C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025728CC */ _t54 = cpu->r[11] + 0x00000004u;
|
|
/* 025728CC */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 025728D0 */ _t55 = cpu->r[9] + 0x00000008u;
|
|
/* 025728D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 025728D4 */ _t56 = cpu->r[11] + 0x00000008u;
|
|
/* 025728D4 */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 025728D8 */ _t57 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025728D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 025728D8 */ cpu->r[9] = _t57;
|
|
/* 025728DC */ _t58 = cpu->r[11] + 0x0000000Cu;
|
|
/* 025728DC */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 025728DC */ cpu->r[11] = _t58;
|
|
/* 025728E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025728E0 */ _t59 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025728E0 */ _t60 = _t59 >> (0x00000002u & 31u);
|
|
/* 025728E0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 025728E0 */ if (_t61) goto L_025728C8; else goto L_025728E4;
|
|
L_025728E4: ; // 0x25728e4
|
|
/* 025728E4 */ _t62 = cpu->r[29] + 0x00000000u;
|
|
/* 025728E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 025728E8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025728EC */ /* nop */
|
|
/* 025728F0 */ _t63 = cpu->r[7] + 0xFFFFEC4Cu;
|
|
/* 025728F0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 025728F4 */ _t64 = cpu->r[29] + 0x00000008u;
|
|
/* 025728F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 025728F8 */ /* nop */
|
|
/* 025728FC */ cpu->f[29] = cpu->f[29] * cpu->f[30];
|
|
/* 02572900 */ _t65 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02572900 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02572904 */ _t66 = cpu->r[30] + 0x00000068u;
|
|
/* 02572904 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02572908 */ /* nop */
|
|
/* 0257290C */ _t67 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0257290C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02572910 */ /* nop */
|
|
/* 02572914 */ _t68 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02572914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02572918 */ _t69 = cpu->r[1] + 0x00000074u;
|
|
/* 02572918 */ rbrew_write32(cpu->mem, _t69, cpu->r[8]);
|
|
/* 0257291C */ _t70 = cpu->r[29] + 0x00000004u;
|
|
/* 0257291C */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02572920 */ _t71 = cpu->r[1] + 0x00000098u;
|
|
/* 02572920 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02572924 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572924 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 02572928 */ _t73 = cpu->r[1] + 0x00000028u;
|
|
/* 02572928 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
/* 0257292C */ cpu->f[13] = cpu->f[0] * cpu->f[29];
|
|
/* 02572930 */ /* nop */
|
|
/* 02572934 */ _t74 = cpu->r[1] + 0x00000058u;
|
|
/* 02572934 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[12]);
|
|
/* 02572938 */ /* nop */
|
|
/* 0257293C */ _t75 = cpu->r[1] + 0x000000A0u;
|
|
/* 0257293C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[13]);
|
|
/* 02572940 */ _t76 = cpu->r[1] + 0x000000A0u;
|
|
/* 02572940 */ cpu->r[5] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02572944 */ /* nop */
|
|
/* 02572948 */ _t77 = cpu->r[1] + 0x000000A4u;
|
|
/* 02572948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0257294C */ _t78 = cpu->r[1] + 0x00000030u;
|
|
/* 0257294C */ rbrew_write32(cpu->mem, _t78, cpu->r[5]);
|
|
/* 02572950 */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 02572950 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02572954 */ _t80 = cpu->r[1] + 0x000000A8u;
|
|
/* 02572954 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02572958 */ _t81 = cpu->r[30] + 0x00000080u;
|
|
/* 02572958 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0257295C */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 0257295C */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02572960 */ _t83 = cpu->r[1] + 0x00000034u;
|
|
/* 02572960 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02572964 */ cpu->f[9] = cpu->f[11] - cpu->f[8];
|
|
/* 02572968 */ _t84 = cpu->r[1] + 0x00000038u;
|
|
/* 02572968 */ rbrew_write32(cpu->mem, _t84, cpu->r[5]);
|
|
/* 0257296C */ _t85 = cpu->r[1] + 0x000000ACu;
|
|
/* 0257296C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[9]);
|
|
/* 02572970 */ _t86 = cpu->r[1] + 0x000000ACu;
|
|
/* 02572970 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02572974 */ _t87 = cpu->r[1] + 0x00000038u;
|
|
/* 02572974 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02572978 */ _t88 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572978 */ rbrew_write32(cpu->mem, _t88, cpu->r[6]);
|
|
/* 0257297C */ _t89 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257297C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02572980 */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 02572980 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 02572984 */ _t91 = cpu->r[30] + 0x00000060u;
|
|
/* 02572984 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02572988 */ _t92 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02572988 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[9]);
|
|
/* 0257298C */ _t93 = cpu->r[30] + 0x00000058u;
|
|
/* 0257298C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02572990 */ _t94 = cpu->r[30] + 0x00000074u;
|
|
/* 02572990 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02572994 */ _t95 = cpu->r[1] + 0x00000054u;
|
|
/* 02572994 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[10]);
|
|
/* 02572998 */ _t96 = cpu->r[1] + 0x00000070u;
|
|
/* 02572998 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[12]);
|
|
/* 0257299C */ _t97 = cpu->r[30] + 0x00000064u;
|
|
/* 0257299C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 025729A0 */ _t98 = cpu->r[1] + 0x0000005Cu;
|
|
/* 025729A0 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[8]);
|
|
/* 025729A4 */ _t99 = cpu->r[1] + 0x00000060u;
|
|
/* 025729A4 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[9]);
|
|
/* 025729A8 */ _t100 = cpu->r[30] + 0x00000054u;
|
|
/* 025729A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 025729AC */ _t101 = cpu->r[30] + 0x00000070u;
|
|
/* 025729AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 025729B0 */ _t102 = cpu->r[1] + 0x00000050u;
|
|
/* 025729B0 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[8]);
|
|
/* 025729B4 */ _t103 = cpu->r[30] + 0x0000006Cu;
|
|
/* 025729B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 025729B8 */ _t104 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025729B8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[11]);
|
|
/* 025729BC */ _t105 = cpu->r[1] + 0x00000068u;
|
|
/* 025729BC */ rbrew_write_f32(cpu->mem, _t105, cpu->f[10]);
|
|
/* 025729C0 */ _t106 = cpu->r[1] + 0x00000044u;
|
|
/* 025729C0 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[13]);
|
|
/* 025729C4 */ _t107 = cpu->r[30] + 0x00000004u;
|
|
/* 025729C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 025729C8 */ _t108 = cpu->r[1] + 0x00000078u;
|
|
/* 025729C8 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 025729CC */ _t109 = cpu->r[1] + 0x00000064u;
|
|
/* 025729CC */ rbrew_write_f32(cpu->mem, _t109, cpu->f[0]);
|
|
/* 025729D0 */ _t110 = cpu->r[6] + 0x00000354u;
|
|
/* 025729D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 025729D4 */ cpu->r[7] = cpu->r[1] + 0x00000074u;
|
|
/* 025729D8 */ cpu->ctr = cpu->r[9];
|
|
/* 025729DC */ cpu->r[29] = cpu->r[7];
|
|
/* 025729E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025729E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025729E8 */ cpu->f[11] = cpu->f[1] * cpu->f[30];
|
|
/* 025729EC */ _t111 = cpu->r[30] + 0x00000004u;
|
|
/* 025729EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
|
|
/* 025729F0 */ _t112 = cpu->r[1] + 0x00000078u;
|
|
/* 025729F0 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[29]);
|
|
/* 025729F4 */ _t113 = cpu->r[29] + 0x00000000u;
|
|
/* 025729F4 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[11]);
|
|
/* 025729F8 */ _t114 = cpu->r[12] + 0x00000354u;
|
|
/* 025729F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 025729FC */ cpu->ctr = cpu->r[5];
|
|
/* 02572A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02572A04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572A08 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02572A0C */ cpu->r[5] = cpu->r[1] + 0x000000B0u;
|
|
/* 02572A10 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02572A14 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02572A18 */ _t115 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02572A18 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[12]);
|
|
/* 02572A1C */ Gambit_fn_027DEBF0(cpu);
|
|
/* 02572A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02572A24 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572A24 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02572A24 */ if (_t117) goto L_02572A60; else goto L_02572A28;
|
|
L_02572A28: ; // 0x2572a28
|
|
/* 02572A28 */ /* nop */
|
|
/* 02572A2C */ _t118 = cpu->r[1] + 0x000000BCu;
|
|
/* 02572A2C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02572A30 */ _t119 = cpu->r[1] + 0x000000B8u;
|
|
/* 02572A30 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02572A34 */ /* nop */
|
|
/* 02572A38 */ /* nop */
|
|
/* 02572A3C */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572A3C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02572A40 */ cpu->f[8] = cpu->f[9] * cpu->f[8];
|
|
/* 02572A44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[10]);
|
|
/* 02572A48 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 02572A48 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[8]);
|
|
/* 02572A4C */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572A4C */ _t123 = _t122 & 0x00000001u;
|
|
/* 02572A4C */ if (_t123) goto L_02572A50; else goto L_02572A54;
|
|
L_02572A50: ; // 0x2572a50
|
|
/* 02572A50 */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572A50 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[31]);
|
|
L_02572A54: ; // 0x2572a54
|
|
/* 02572A54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572A58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02572A5C */ Gambit_fn_025C6600(cpu);
|
|
L_02572A60: ; // 0x2572a60
|
|
/* 02572A60 */ _t125 = cpu->r[1] + 0x000000CCu;
|
|
/* 02572A60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02572A64 */ _t126 = cpu->r[1] + 0x00000100u;
|
|
/* 02572A64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 02572A68 */ _t127 = cpu->r[1] + 0x000000E0u;
|
|
/* 02572A68 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02572A6C */ _t128 = cpu->r[1] + 0x000000F8u;
|
|
/* 02572A6C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 02572A70 */ _t129 = cpu->r[1] + 0x000000F0u;
|
|
/* 02572A70 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02572A74 */ _t130 = cpu->r[1] + 0x000000D8u;
|
|
/* 02572A74 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02572A78 */ _t131 = cpu->r[1] + 0x000000E8u;
|
|
/* 02572A78 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t131);
|
|
/* 02572A7C */ _t132 = cpu->r[1] + 0x000000D4u;
|
|
/* 02572A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02572A80 */ _t133 = cpu->r[1] + 0x000000D0u;
|
|
/* 02572A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02572A84 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572A84 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02572A84 */ if (_t135) goto L_02572A88; // else: addr-0 trap, fall-through
|
|
L_02572A88: ; // 0x2572a88
|
|
/* 02572A88 */ _t136 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02572A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02572A8C */ cpu->lr = cpu->r[0];
|
|
/* 02572A90 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02572A94 */ return;
|
|
}
|
|
|
|
// fn_02572A98 @ 0x2572a98
|
|
void Gambit_fn_02572A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02572A98: ; // 0x2572a98
|
|
/* 02572A98 */ cpu->r[0] = cpu->lr;
|
|
/* 02572A9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02572A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572A9C */ cpu->r[1] = _t0;
|
|
/* 02572AA0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02572AA0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02572AA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572AA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02572AA8 */ /* nop */
|
|
/* 02572AAC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02572AAC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02572AB0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02572AB0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02572AB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572AB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572ABC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02572ABC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02572AC0 */ Gambit_fn_02571994(cpu);
|
|
/* 02572AC4 */ _t6 = cpu->r[30] + 0x000001E0u;
|
|
/* 02572AC4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02572AC8 */ /* nop */
|
|
/* 02572ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02572AD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572AD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02572AD0 */ if (_t8) goto L_02572B7C; else goto L_02572AD4;
|
|
L_02572AD4: ; // 0x2572ad4
|
|
/* 02572AD4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02572AD8 */ _t9 = cpu->r[11] + 0xFFFFFD8Cu;
|
|
/* 02572AD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02572AD8 */ cpu->r[11] = _t9;
|
|
/* 02572ADC */ cpu->r[4] = 0x101D0000u;
|
|
/* 02572AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02572AE4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFD88u;
|
|
/* 02572AE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572AE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02572AE8 */ if (_t11) goto L_02572AEC; else goto L_02572B00;
|
|
L_02572AEC: ; // 0x2572aec
|
|
/* 02572AEC */ cpu->r[8] = 0x100D0000u;
|
|
/* 02572AF0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02572AF4 */ cpu->r[8] = cpu->r[8] + 0xFFFFEBF8u;
|
|
/* 02572AF8 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02572AF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02572AFC */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02572AFC */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_02572B00: ; // 0x2572b00
|
|
/* 02572B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572B04 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B04 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02572B04 */ if (_t15) goto L_02572B7C; else goto L_02572B08;
|
|
L_02572B08: ; // 0x2572b08
|
|
/* 02572B08 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02572B08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572B0C */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 02572B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02572B10 */ cpu->ctr = cpu->r[0];
|
|
/* 02572B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02572B20 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B20 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02572B20 */ if (_t19) goto L_02572B7C; else goto L_02572B24;
|
|
L_02572B24: ; // 0x2572b24
|
|
/* 02572B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572B28 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B28 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02572B28 */ if (_t21) goto L_02572B7C; else goto L_02572B2C;
|
|
L_02572B2C: ; // 0x2572b2c
|
|
/* 02572B2C */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02572B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572B30 */ _t23 = cpu->r[8] + 0x00000354u;
|
|
/* 02572B30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02572B34 */ cpu->ctr = cpu->r[9];
|
|
/* 02572B38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02572B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572B40 */ _t24 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02572B40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02572B44 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02572B48 */ cpu->f[13] = cpu->f[13] + cpu->f[1];
|
|
/* 02572B4C */ _t25 = cpu->r[10] + 0xFFFFEC5Cu;
|
|
/* 02572B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02572B50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B54 */ cpu->f[31] = cpu->f[13] - cpu->f[0];
|
|
/* 02572B58 */ Gambit_fn_0221B06C(cpu);
|
|
/* 02572B5C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 02572B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02572B60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 02572B64 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572B64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02572B64 */ if (_t28) goto L_02572B68; else goto L_02572B7C;
|
|
L_02572B68: ; // 0x2572b68
|
|
/* 02572B68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02572B6C */ cpu->r[5] = cpu->r[30];
|
|
/* 02572B70 */ cpu->r[4] = cpu->r[30] + 0x00000078u;
|
|
/* 02572B74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B78 */ Gambit_fn_0221AE00(cpu);
|
|
L_02572B7C: ; // 0x2572b7c
|
|
/* 02572B7C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02572B7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02572B80 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572B80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572B84 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02572B84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02572B88 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02572B88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02572B8C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572B8C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02572B8C */ if (_t34) goto L_02572B90; // else: addr-0 trap, fall-through
|
|
L_02572B90: ; // 0x2572b90
|
|
/* 02572B90 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02572B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02572B94 */ cpu->lr = cpu->r[0];
|
|
/* 02572B98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572B9C */ return;
|
|
}
|
|
|
|
// fn_02572A9C @ 0x2572a9c
|
|
void Gambit_fn_02572A9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02572A9C: ; // 0x2572a9c
|
|
/* 02572A9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02572A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572A9C */ cpu->r[1] = _t0;
|
|
/* 02572AA0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02572AA0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02572AA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572AA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02572AA8 */ /* nop */
|
|
/* 02572AAC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02572AAC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02572AB0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02572AB0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02572AB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572AB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572ABC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02572ABC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02572AC0 */ Gambit_fn_02571994(cpu);
|
|
/* 02572AC4 */ _t6 = cpu->r[30] + 0x000001E0u;
|
|
/* 02572AC4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02572AC8 */ /* nop */
|
|
/* 02572ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02572AD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572AD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02572AD0 */ if (_t8) goto L_02572B7C; else goto L_02572AD4;
|
|
L_02572AD4: ; // 0x2572ad4
|
|
/* 02572AD4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02572AD8 */ _t9 = cpu->r[11] + 0xFFFFFD8Cu;
|
|
/* 02572AD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02572AD8 */ cpu->r[11] = _t9;
|
|
/* 02572ADC */ cpu->r[4] = 0x101D0000u;
|
|
/* 02572AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02572AE4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFD88u;
|
|
/* 02572AE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572AE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02572AE8 */ if (_t11) goto L_02572AEC; else goto L_02572B00;
|
|
L_02572AEC: ; // 0x2572aec
|
|
/* 02572AEC */ cpu->r[8] = 0x100D0000u;
|
|
/* 02572AF0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02572AF4 */ cpu->r[8] = cpu->r[8] + 0xFFFFEBF8u;
|
|
/* 02572AF8 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02572AF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02572AFC */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02572AFC */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_02572B00: ; // 0x2572b00
|
|
/* 02572B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572B04 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B04 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02572B04 */ if (_t15) goto L_02572B7C; else goto L_02572B08;
|
|
L_02572B08: ; // 0x2572b08
|
|
/* 02572B08 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02572B08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572B0C */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 02572B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02572B10 */ cpu->ctr = cpu->r[0];
|
|
/* 02572B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02572B20 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B20 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02572B20 */ if (_t19) goto L_02572B7C; else goto L_02572B24;
|
|
L_02572B24: ; // 0x2572b24
|
|
/* 02572B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572B28 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572B28 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02572B28 */ if (_t21) goto L_02572B7C; else goto L_02572B2C;
|
|
L_02572B2C: ; // 0x2572b2c
|
|
/* 02572B2C */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02572B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572B30 */ _t23 = cpu->r[8] + 0x00000354u;
|
|
/* 02572B30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02572B34 */ cpu->ctr = cpu->r[9];
|
|
/* 02572B38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02572B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572B40 */ _t24 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02572B40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02572B44 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02572B48 */ cpu->f[13] = cpu->f[13] + cpu->f[1];
|
|
/* 02572B4C */ _t25 = cpu->r[10] + 0xFFFFEC5Cu;
|
|
/* 02572B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02572B50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B54 */ cpu->f[31] = cpu->f[13] - cpu->f[0];
|
|
/* 02572B58 */ Gambit_fn_0221B06C(cpu);
|
|
/* 02572B5C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 02572B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02572B60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 02572B64 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572B64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02572B64 */ if (_t28) goto L_02572B68; else goto L_02572B7C;
|
|
L_02572B68: ; // 0x2572b68
|
|
/* 02572B68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02572B6C */ cpu->r[5] = cpu->r[30];
|
|
/* 02572B70 */ cpu->r[4] = cpu->r[30] + 0x00000078u;
|
|
/* 02572B74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572B78 */ Gambit_fn_0221AE00(cpu);
|
|
L_02572B7C: ; // 0x2572b7c
|
|
/* 02572B7C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02572B7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02572B80 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572B80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572B84 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02572B84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02572B88 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02572B88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02572B8C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572B8C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02572B8C */ if (_t34) goto L_02572B90; // else: addr-0 trap, fall-through
|
|
L_02572B90: ; // 0x2572b90
|
|
/* 02572B90 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02572B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02572B94 */ cpu->lr = cpu->r[0];
|
|
/* 02572B98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02572B9C */ return;
|
|
}
|
|
|
|
// fn_02572BA0 @ 0x2572ba0
|
|
void Gambit_fn_02572BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572BA0: ; // 0x2572ba0
|
|
/* 02572BA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02572BA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02572BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572BA4 */ cpu->r[1] = _t0;
|
|
/* 02572BA8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02572BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02572BAC */ cpu->r[30] = cpu->r[4];
|
|
/* 02572BB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02572BB4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02572BB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02572BB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02572BBC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02572BC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572BC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02572BC4 */ _t5 = cpu->r[11] + 0xFFFFEB28u;
|
|
/* 02572BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572BC4 */ cpu->r[11] = _t5;
|
|
/* 02572BC8 */ cpu->r[4] = cpu->r[4] + 0x00000074u;
|
|
/* 02572BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02572BD0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02572BD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572BD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02572BD4 */ if (_t7) goto L_02572BD8; else goto L_02572BEC;
|
|
L_02572BD8: ; // 0x2572bd8
|
|
/* 02572BD8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02572BDC */ cpu->r[6] = 0x00000001u;
|
|
/* 02572BE0 */ cpu->r[7] = cpu->r[7] + 0xFFFFEBE8u;
|
|
/* 02572BE4 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02572BE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02572BE8 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02572BE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
L_02572BEC: ; // 0x2572bec
|
|
/* 02572BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02572BF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572BF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02572BF0 */ if (_t11) goto L_02572CF8; else goto L_02572BF4;
|
|
L_02572BF4: ; // 0x2572bf4
|
|
/* 02572BF4 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02572BF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02572BF8 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 02572BF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02572BFC */ cpu->ctr = cpu->r[10];
|
|
/* 02572C00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02572C04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02572C0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02572C0C */ if (_t15) goto L_02572CF8; else goto L_02572C10;
|
|
L_02572C10: ; // 0x2572c10
|
|
/* 02572C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02572C14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C14 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02572C14 */ if (_t17) goto L_02572CF8; else goto L_02572C18;
|
|
L_02572C18: ; // 0x2572c18
|
|
/* 02572C18 */ _t18 = cpu->r[29] + 0x00000214u;
|
|
/* 02572C18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02572C1C */ cpu->r[10] = cpu->r[29] + 0x00000208u;
|
|
/* 02572C20 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFF8u;
|
|
/* 02572C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02572C28 */ cpu->r[7] = 0x00000000u;
|
|
/* 02572C2C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02572C2C */ if (_t20) goto L_02572C60; else goto L_02572C30;
|
|
L_02572C30: ; // 0x2572c30
|
|
/* 02572C30 */ cpu->r[6] = 0x00000006u;
|
|
L_02572C34: ; // 0x2572c34
|
|
/* 02572C34 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02572C34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02572C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02572C3C */ _t22 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02572C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572C40 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C40 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02572C40 */ if (_t24) goto L_02572C44; else goto L_02572C4C;
|
|
L_02572C44: ; // 0x2572c44
|
|
/* 02572C44 */ cpu->r[7] = 0x00000001u;
|
|
/* 02572C48 */ _t25 = cpu->r[8] + 0x00000004u;
|
|
/* 02572C48 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_02572C4C: ; // 0x2572c4c
|
|
/* 02572C4C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02572C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02572C54 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02572C54 */ if (_t27) goto L_02572C58; else goto L_02572C34;
|
|
L_02572C58: ; // 0x2572c58
|
|
/* 02572C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02572C5C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C5C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02572C5C */ if (_t29) goto L_02572C60; else goto L_02572CF8;
|
|
L_02572C60: ; // 0x2572c60
|
|
/* 02572C60 */ _t30 = cpu->r[29] + 0x00000218u;
|
|
/* 02572C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572C64 */ _t31 = cpu->r[29] + 0x00000224u;
|
|
/* 02572C64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02572C6C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572C6C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02572C6C */ if (_t33) goto L_02572C84; else goto L_02572C70;
|
|
L_02572C70: ; // 0x2572c70
|
|
/* 02572C70 */ cpu->r[31] = 0x00000000u;
|
|
/* 02572C74 */ cpu->r[0] = 0x00000006u;
|
|
/* 02572C78 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02572C78 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02572C7C */ _t35 = cpu->r[31] + 0x00000004u;
|
|
/* 02572C7C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02572C80 */ goto L_02572CF8;
|
|
L_02572C84: ; // 0x2572c84
|
|
/* 02572C84 */ _t36 = cpu->r[29] + 0x0000021Cu;
|
|
/* 02572C84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572C8C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C8C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02572C8C */ if (_t38) goto L_02572C98; else goto L_02572C90;
|
|
L_02572C90: ; // 0x2572c90
|
|
/* 02572C90 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02572C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02572C94 */ _t40 = cpu->r[29] + 0x0000021Cu;
|
|
/* 02572C94 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
L_02572C98: ; // 0x2572c98
|
|
/* 02572C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572C9C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C9C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02572C9C */ if (_t42) goto L_02572CD0; else goto L_02572CA0;
|
|
L_02572CA0: ; // 0x2572ca0
|
|
/* 02572CA0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02572CA4 */ _t43 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02572CA4 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 02572CA8 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02572CAC */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 02572CAC */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02572CB0 */ _t45 = cpu->r[31] + 0x00000000u;
|
|
/* 02572CB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02572CB4 */ cpu->r[3] = cpu->r[29] + 0x00000210u;
|
|
/* 02572CB8 */ _t46 = cpu->r[31] + 0x00000008u;
|
|
/* 02572CB8 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 02572CBC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02572CC0 */ _t47 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02572CC4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02572CC8 */ _t48 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CC8 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 02572CCC */ goto L_02572CEC;
|
|
L_02572CD0: ; // 0x2572cd0
|
|
/* 02572CD0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02572CD4 */ cpu->r[3] = cpu->r[29] + 0x00000210u;
|
|
/* 02572CD8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02572CDC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02572CE0 */ _t49 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02572CE4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02572CE8 */ _t50 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CE8 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
L_02572CEC: ; // 0x2572cec
|
|
/* 02572CEC */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02572CEC */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 02572CF0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02572CF4 */ _t52 = cpu->r[31] + 0x00000004u;
|
|
/* 02572CF4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
L_02572CF8: ; // 0x2572cf8
|
|
/* 02572CF8 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572CF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02572CFC */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02572D00 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02572D00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02572D04 */ cpu->lr = cpu->r[0];
|
|
/* 02572D08 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02572D08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02572D0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02572D10 */ return;
|
|
}
|
|
|
|
// fn_02572BA4 @ 0x2572ba4
|
|
void Gambit_fn_02572BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572BA4: ; // 0x2572ba4
|
|
/* 02572BA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02572BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572BA4 */ cpu->r[1] = _t0;
|
|
/* 02572BA8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02572BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02572BAC */ cpu->r[30] = cpu->r[4];
|
|
/* 02572BB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02572BB4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02572BB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02572BB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02572BBC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02572BC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572BC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02572BC4 */ _t5 = cpu->r[11] + 0xFFFFEB28u;
|
|
/* 02572BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572BC4 */ cpu->r[11] = _t5;
|
|
/* 02572BC8 */ cpu->r[4] = cpu->r[4] + 0x00000074u;
|
|
/* 02572BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02572BD0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02572BD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572BD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02572BD4 */ if (_t7) goto L_02572BD8; else goto L_02572BEC;
|
|
L_02572BD8: ; // 0x2572bd8
|
|
/* 02572BD8 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02572BDC */ cpu->r[6] = 0x00000001u;
|
|
/* 02572BE0 */ cpu->r[7] = cpu->r[7] + 0xFFFFEBE8u;
|
|
/* 02572BE4 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02572BE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02572BE8 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02572BE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
L_02572BEC: ; // 0x2572bec
|
|
/* 02572BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02572BF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572BF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02572BF0 */ if (_t11) goto L_02572CF8; else goto L_02572BF4;
|
|
L_02572BF4: ; // 0x2572bf4
|
|
/* 02572BF4 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02572BF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02572BF8 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 02572BF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02572BFC */ cpu->ctr = cpu->r[10];
|
|
/* 02572C00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02572C04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02572C0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02572C0C */ if (_t15) goto L_02572CF8; else goto L_02572C10;
|
|
L_02572C10: ; // 0x2572c10
|
|
/* 02572C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02572C14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C14 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02572C14 */ if (_t17) goto L_02572CF8; else goto L_02572C18;
|
|
L_02572C18: ; // 0x2572c18
|
|
/* 02572C18 */ _t18 = cpu->r[29] + 0x00000214u;
|
|
/* 02572C18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02572C1C */ cpu->r[10] = cpu->r[29] + 0x00000208u;
|
|
/* 02572C20 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFF8u;
|
|
/* 02572C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02572C28 */ cpu->r[7] = 0x00000000u;
|
|
/* 02572C2C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02572C2C */ if (_t20) goto L_02572C60; else goto L_02572C30;
|
|
L_02572C30: ; // 0x2572c30
|
|
/* 02572C30 */ cpu->r[6] = 0x00000006u;
|
|
L_02572C34: ; // 0x2572c34
|
|
/* 02572C34 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02572C34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02572C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02572C3C */ _t22 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02572C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572C40 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C40 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02572C40 */ if (_t24) goto L_02572C44; else goto L_02572C4C;
|
|
L_02572C44: ; // 0x2572c44
|
|
/* 02572C44 */ cpu->r[7] = 0x00000001u;
|
|
/* 02572C48 */ _t25 = cpu->r[8] + 0x00000004u;
|
|
/* 02572C48 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_02572C4C: ; // 0x2572c4c
|
|
/* 02572C4C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02572C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02572C54 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C54 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02572C54 */ if (_t27) goto L_02572C58; else goto L_02572C34;
|
|
L_02572C58: ; // 0x2572c58
|
|
/* 02572C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02572C5C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C5C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02572C5C */ if (_t29) goto L_02572C60; else goto L_02572CF8;
|
|
L_02572C60: ; // 0x2572c60
|
|
/* 02572C60 */ _t30 = cpu->r[29] + 0x00000218u;
|
|
/* 02572C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572C64 */ _t31 = cpu->r[29] + 0x00000224u;
|
|
/* 02572C64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02572C6C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572C6C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02572C6C */ if (_t33) goto L_02572C84; else goto L_02572C70;
|
|
L_02572C70: ; // 0x2572c70
|
|
/* 02572C70 */ cpu->r[31] = 0x00000000u;
|
|
/* 02572C74 */ cpu->r[0] = 0x00000006u;
|
|
/* 02572C78 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02572C78 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02572C7C */ _t35 = cpu->r[31] + 0x00000004u;
|
|
/* 02572C7C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02572C80 */ goto L_02572CF8;
|
|
L_02572C84: ; // 0x2572c84
|
|
/* 02572C84 */ _t36 = cpu->r[29] + 0x0000021Cu;
|
|
/* 02572C84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572C8C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C8C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02572C8C */ if (_t38) goto L_02572C98; else goto L_02572C90;
|
|
L_02572C90: ; // 0x2572c90
|
|
/* 02572C90 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02572C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02572C94 */ _t40 = cpu->r[29] + 0x0000021Cu;
|
|
/* 02572C94 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
L_02572C98: ; // 0x2572c98
|
|
/* 02572C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572C9C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572C9C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02572C9C */ if (_t42) goto L_02572CD0; else goto L_02572CA0;
|
|
L_02572CA0: ; // 0x2572ca0
|
|
/* 02572CA0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02572CA4 */ _t43 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02572CA4 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 02572CA8 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02572CAC */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 02572CAC */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02572CB0 */ _t45 = cpu->r[31] + 0x00000000u;
|
|
/* 02572CB0 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02572CB4 */ cpu->r[3] = cpu->r[29] + 0x00000210u;
|
|
/* 02572CB8 */ _t46 = cpu->r[31] + 0x00000008u;
|
|
/* 02572CB8 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 02572CBC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02572CC0 */ _t47 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02572CC4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02572CC8 */ _t48 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CC8 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 02572CCC */ goto L_02572CEC;
|
|
L_02572CD0: ; // 0x2572cd0
|
|
/* 02572CD0 */ cpu->r[4] = 0x00000008u;
|
|
/* 02572CD4 */ cpu->r[3] = cpu->r[29] + 0x00000210u;
|
|
/* 02572CD8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02572CDC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02572CE0 */ _t49 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02572CE4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02572CE8 */ _t50 = cpu->r[29] + 0x00000218u;
|
|
/* 02572CE8 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
L_02572CEC: ; // 0x2572cec
|
|
/* 02572CEC */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02572CEC */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 02572CF0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02572CF4 */ _t52 = cpu->r[31] + 0x00000004u;
|
|
/* 02572CF4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
L_02572CF8: ; // 0x2572cf8
|
|
/* 02572CF8 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572CF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02572CFC */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02572D00 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02572D00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02572D04 */ cpu->lr = cpu->r[0];
|
|
/* 02572D08 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02572D08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02572D0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02572D10 */ return;
|
|
}
|
|
|
|
// fn_02572D14 @ 0x2572d14
|
|
void Gambit_fn_02572D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572D14: ; // 0x2572d14
|
|
/* 02572D14 */ cpu->r[0] = cpu->lr;
|
|
/* 02572D18 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02572D18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572D18 */ cpu->r[1] = _t0;
|
|
/* 02572D1C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02572D1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02572D20 */ /* nop */
|
|
/* 02572D24 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02572D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02572D28 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572D28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02572D2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02572D30 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02572D30 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02572D34 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02572D34 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02572D38 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572D38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02572D3C */ _t7 = cpu->r[30] + 0x000001CCu;
|
|
/* 02572D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02572D40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02572D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02572D44 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572D48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02572D48 */ if (_t9) goto L_02572D4C; else goto L_02572DF8;
|
|
L_02572D4C: ; // 0x2572d4c
|
|
/* 02572D4C */ _t10 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572D4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572D50 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02572D54 */ _t11 = cpu->r[10] + 0xFFFFEC14u;
|
|
/* 02572D54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572D58 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02572D58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572D5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02572D60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02572D60 */ if (_t14) goto L_02572DF8; else goto L_02572D64;
|
|
L_02572D64: ; // 0x2572d64
|
|
/* 02572D64 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02572D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572D68 */ _t16 = cpu->r[12] + 0x000002B4u;
|
|
/* 02572D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572D6C */ cpu->ctr = cpu->r[0];
|
|
/* 02572D70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572D78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02572D7C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572D7C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02572D7C */ if (_t18) goto L_02572D80; else goto L_02572DF8;
|
|
L_02572D80: ; // 0x2572d80
|
|
/* 02572D80 */ _t19 = cpu->r[30] + 0x000001D0u;
|
|
/* 02572D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02572D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02572D88 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D88 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02572D88 */ if (_t21) goto L_02572DB4; else goto L_02572D8C;
|
|
L_02572D8C: ; // 0x2572d8c
|
|
/* 02572D8C */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02572D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572D90 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02572D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02572D94 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02572D94 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02572D98 */ _t25 = cpu->r[12] + 0x000002B4u;
|
|
/* 02572D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02572D9C */ cpu->ctr = cpu->r[0];
|
|
/* 02572DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572DA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572DA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02572DAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02572DB0 */ Gambit_fn_023BC044(cpu);
|
|
L_02572DB4: ; // 0x2572db4
|
|
/* 02572DB4 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02572DB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572DB8 */ _t27 = cpu->r[10] + 0x000002B4u;
|
|
/* 02572DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02572DBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02572DC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02572DC4 */ _t28 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572DC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02572DC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572DCC */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 02572DCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02572DD0 */ cpu->f[0] = cpu->f[0] - cpu->f[1];
|
|
/* 02572DD4 */ /* nop */
|
|
/* 02572DD8 */ _t30 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572DD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02572DE0 */ _t31 = cpu->r[8] + 0x00000004u;
|
|
/* 02572DE0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02572DE4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02572DE8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572DE8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02572DE8 */ if (_t33) goto L_02572DEC; else goto L_02572DF0;
|
|
L_02572DEC: ; // 0x2572dec
|
|
/* 02572DEC */ cpu->r[4] = 0x00000002u;
|
|
L_02572DF0: ; // 0x2572df0
|
|
/* 02572DF0 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02572DF4 */ Gambit_fn_020622DC(cpu);
|
|
L_02572DF8: ; // 0x2572df8
|
|
/* 02572DF8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02572DFC */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02572DFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02572E00 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02572E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572E04 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02572E04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02572E08 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02572E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02572E0C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572E0C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02572E0C */ if (_t40) goto L_02572E10; // else: addr-0 trap, fall-through
|
|
L_02572E10: ; // 0x2572e10
|
|
/* 02572E10 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02572E14 */ cpu->lr = cpu->r[0];
|
|
/* 02572E18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02572E1C */ return;
|
|
}
|
|
|
|
// fn_02572D18 @ 0x2572d18
|
|
void Gambit_fn_02572D18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572D18: ; // 0x2572d18
|
|
/* 02572D18 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02572D18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572D18 */ cpu->r[1] = _t0;
|
|
/* 02572D1C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02572D1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02572D20 */ /* nop */
|
|
/* 02572D24 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02572D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02572D28 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572D28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02572D2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02572D30 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02572D30 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02572D34 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02572D34 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02572D38 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572D38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02572D3C */ _t7 = cpu->r[30] + 0x000001CCu;
|
|
/* 02572D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02572D40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02572D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02572D44 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572D48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02572D48 */ if (_t9) goto L_02572D4C; else goto L_02572DF8;
|
|
L_02572D4C: ; // 0x2572d4c
|
|
/* 02572D4C */ _t10 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572D4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572D50 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02572D54 */ _t11 = cpu->r[10] + 0xFFFFEC14u;
|
|
/* 02572D54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02572D58 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02572D58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572D5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02572D60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02572D60 */ if (_t14) goto L_02572DF8; else goto L_02572D64;
|
|
L_02572D64: ; // 0x2572d64
|
|
/* 02572D64 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02572D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572D68 */ _t16 = cpu->r[12] + 0x000002B4u;
|
|
/* 02572D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572D6C */ cpu->ctr = cpu->r[0];
|
|
/* 02572D70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572D78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 02572D7C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572D7C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02572D7C */ if (_t18) goto L_02572D80; else goto L_02572DF8;
|
|
L_02572D80: ; // 0x2572d80
|
|
/* 02572D80 */ _t19 = cpu->r[30] + 0x000001D0u;
|
|
/* 02572D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02572D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02572D88 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572D88 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02572D88 */ if (_t21) goto L_02572DB4; else goto L_02572D8C;
|
|
L_02572D8C: ; // 0x2572d8c
|
|
/* 02572D8C */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02572D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02572D90 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02572D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02572D94 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02572D94 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02572D98 */ _t25 = cpu->r[12] + 0x000002B4u;
|
|
/* 02572D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02572D9C */ cpu->ctr = cpu->r[0];
|
|
/* 02572DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572DA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572DA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02572DAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02572DB0 */ Gambit_fn_023BC044(cpu);
|
|
L_02572DB4: ; // 0x2572db4
|
|
/* 02572DB4 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02572DB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02572DB8 */ _t27 = cpu->r[10] + 0x000002B4u;
|
|
/* 02572DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02572DBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02572DC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02572DC4 */ _t28 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572DC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02572DC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572DCC */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 02572DCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02572DD0 */ cpu->f[0] = cpu->f[0] - cpu->f[1];
|
|
/* 02572DD4 */ /* nop */
|
|
/* 02572DD8 */ _t30 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02572DD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02572DE0 */ _t31 = cpu->r[8] + 0x00000004u;
|
|
/* 02572DE0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02572DE4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02572DE8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572DE8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02572DE8 */ if (_t33) goto L_02572DEC; else goto L_02572DF0;
|
|
L_02572DEC: ; // 0x2572dec
|
|
/* 02572DEC */ cpu->r[4] = 0x00000002u;
|
|
L_02572DF0: ; // 0x2572df0
|
|
/* 02572DF0 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 02572DF4 */ Gambit_fn_020622DC(cpu);
|
|
L_02572DF8: ; // 0x2572df8
|
|
/* 02572DF8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02572DFC */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02572DFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02572E00 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02572E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02572E04 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02572E04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02572E08 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02572E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02572E0C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572E0C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02572E0C */ if (_t40) goto L_02572E10; // else: addr-0 trap, fall-through
|
|
L_02572E10: ; // 0x2572e10
|
|
/* 02572E10 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02572E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02572E14 */ cpu->lr = cpu->r[0];
|
|
/* 02572E18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02572E1C */ return;
|
|
}
|
|
|
|
// fn_02572E20 @ 0x2572e20
|
|
void Gambit_fn_02572E20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572E20: ; // 0x2572e20
|
|
/* 02572E20 */ cpu->r[0] = cpu->lr;
|
|
/* 02572E24 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02572E24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572E24 */ cpu->r[1] = _t0;
|
|
/* 02572E28 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02572E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02572E2C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02572E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02572E30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572E34 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02572E38 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 02572E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02572E3C */ _t5 = cpu->r[12] + 0x00004714u;
|
|
/* 02572E3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Bu);
|
|
/* 02572E44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572E48 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572E48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02572E48 */ if (_t7) goto L_02572EF4; else goto L_02572E4C;
|
|
L_02572E4C: ; // 0x2572e4c
|
|
/* 02572E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Du);
|
|
/* 02572E50 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572E50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02572E50 */ if (_t9) goto L_02572EF4; else goto L_02572E54;
|
|
L_02572E54: ; // 0x2572e54
|
|
/* 02572E54 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02572E54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572E58 */ _t11 = cpu->r[12] + 0x00000354u;
|
|
/* 02572E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02572E5C */ cpu->ctr = cpu->r[0];
|
|
/* 02572E60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572E68 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572E6C */ _t12 = cpu->r[12] + 0xFFFFEC4Cu;
|
|
/* 02572E6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572E70 */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 02572E70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02572E74 */ cpu->f[11] = cpu->f[1] * cpu->f[0];
|
|
/* 02572E78 */ /* nop */
|
|
/* 02572E7C */ _t14 = cpu->r[31] + 0x00000068u;
|
|
/* 02572E7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02572E80 */ /* nop */
|
|
/* 02572E84 */ /* nop */
|
|
/* 02572E88 */ /* nop */
|
|
/* 02572E8C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02572E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572E90 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572E94 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02572E94 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02572E98 */ cpu->f[13] = cpu->f[10] * cpu->f[11];
|
|
/* 02572E9C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02572E9C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02572EA0 */ /* nop */
|
|
/* 02572EA4 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02572EA4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02572EA8 */ /* nop */
|
|
/* 02572EAC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02572EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02572EB0 */ /* nop */
|
|
/* 02572EB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02572EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02572EB8 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02572EB8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02572EBC */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 02572EBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02572EC0 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02572EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02572EC4 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 02572EC8 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02572EC8 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02572ECC */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02572ECC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02572ED0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572ED0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02572ED4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02572ED8 */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 02572ED8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02572EDC */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572EE0 */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 02572EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572EE4 */ cpu->lr = cpu->r[0];
|
|
/* 02572EE8 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02572EE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02572EEC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02572EF0 */ return;
|
|
L_02572EF4: ; // 0x2572ef4
|
|
/* 02572EF4 */ _t33 = cpu->r[31] + 0x00000078u;
|
|
/* 02572EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02572EF8 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02572EF8 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02572EFC */ _t35 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02572EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02572F00 */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 02572F00 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02572F04 */ _t37 = cpu->r[31] + 0x00000080u;
|
|
/* 02572F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02572F08 */ _t38 = cpu->r[30] + 0x00000008u;
|
|
/* 02572F08 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02572F0C */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02572F10 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 02572F10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02572F14 */ cpu->lr = cpu->r[0];
|
|
/* 02572F18 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02572F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02572F1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02572F20 */ return;
|
|
}
|
|
|
|
// fn_02572E24 @ 0x2572e24
|
|
void Gambit_fn_02572E24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02572E24: ; // 0x2572e24
|
|
/* 02572E24 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02572E24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572E24 */ cpu->r[1] = _t0;
|
|
/* 02572E28 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02572E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02572E2C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02572E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02572E30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02572E34 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02572E38 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 02572E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02572E3C */ _t5 = cpu->r[12] + 0x00004714u;
|
|
/* 02572E3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Bu);
|
|
/* 02572E44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572E48 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02572E48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02572E48 */ if (_t7) goto L_02572EF4; else goto L_02572E4C;
|
|
L_02572E4C: ; // 0x2572e4c
|
|
/* 02572E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Du);
|
|
/* 02572E50 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02572E50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02572E50 */ if (_t9) goto L_02572EF4; else goto L_02572E54;
|
|
L_02572E54: ; // 0x2572e54
|
|
/* 02572E54 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02572E54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572E58 */ _t11 = cpu->r[12] + 0x00000354u;
|
|
/* 02572E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02572E5C */ cpu->ctr = cpu->r[0];
|
|
/* 02572E60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02572E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02572E68 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02572E6C */ _t12 = cpu->r[12] + 0xFFFFEC4Cu;
|
|
/* 02572E6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02572E70 */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 02572E70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02572E74 */ cpu->f[11] = cpu->f[1] * cpu->f[0];
|
|
/* 02572E78 */ /* nop */
|
|
/* 02572E7C */ _t14 = cpu->r[31] + 0x00000068u;
|
|
/* 02572E7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02572E80 */ /* nop */
|
|
/* 02572E84 */ /* nop */
|
|
/* 02572E88 */ /* nop */
|
|
/* 02572E8C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02572E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02572E90 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02572E94 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02572E94 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02572E98 */ cpu->f[13] = cpu->f[10] * cpu->f[11];
|
|
/* 02572E9C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02572E9C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02572EA0 */ /* nop */
|
|
/* 02572EA4 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02572EA4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02572EA8 */ /* nop */
|
|
/* 02572EAC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02572EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02572EB0 */ /* nop */
|
|
/* 02572EB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02572EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02572EB8 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02572EB8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02572EBC */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 02572EBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02572EC0 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02572EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02572EC4 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 02572EC8 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02572EC8 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02572ECC */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02572ECC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02572ED0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572ED0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02572ED4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02572ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02572ED8 */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 02572ED8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02572EDC */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02572EE0 */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 02572EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02572EE4 */ cpu->lr = cpu->r[0];
|
|
/* 02572EE8 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02572EE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02572EEC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02572EF0 */ return;
|
|
L_02572EF4: ; // 0x2572ef4
|
|
/* 02572EF4 */ _t33 = cpu->r[31] + 0x00000078u;
|
|
/* 02572EF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02572EF8 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02572EF8 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02572EFC */ _t35 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02572EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02572F00 */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 02572F00 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02572F04 */ _t37 = cpu->r[31] + 0x00000080u;
|
|
/* 02572F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02572F08 */ _t38 = cpu->r[30] + 0x00000008u;
|
|
/* 02572F08 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02572F0C */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02572F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02572F10 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 02572F10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02572F14 */ cpu->lr = cpu->r[0];
|
|
/* 02572F18 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02572F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02572F1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02572F20 */ return;
|
|
}
|
|
|
|
// fn_02572F24 @ 0x2572f24
|
|
void Gambit_fn_02572F24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02572F24: ; // 0x2572f24
|
|
/* 02572F24 */ cpu->r[0] = cpu->lr;
|
|
/* 02572F28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02572F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572F28 */ cpu->r[1] = _t0;
|
|
/* 02572F2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02572F2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02572F30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02572F38 */ cpu->r[3] = 0x000002A8u;
|
|
/* 02572F3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02572F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02572F40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02572F44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02572F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572F48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572F48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02572F48 */ if (_t5) goto L_02572F64; else goto L_02572F4C;
|
|
L_02572F4C: ; // 0x2572f4c
|
|
/* 02572F4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02572F50 */ cpu->r[4] = cpu->r[30];
|
|
/* 02572F54 */ Gambit_fn_024F7A74(cpu);
|
|
/* 02572F58 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02572F5C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFF0u;
|
|
/* 02572F60 */ _t6 = cpu->r[31] + 0x000001CCu;
|
|
/* 02572F60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02572F64: ; // 0x2572f64
|
|
/* 02572F64 */ _t7 = cpu->r[30] + 0x00000134u;
|
|
/* 02572F64 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02572F68 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02572F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02572F6C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02572F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02572F70 */ cpu->lr = cpu->r[0];
|
|
/* 02572F74 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02572F7C */ return;
|
|
}
|
|
|
|
// fn_02572F28 @ 0x2572f28
|
|
void Gambit_fn_02572F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02572F28: ; // 0x2572f28
|
|
/* 02572F28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02572F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572F28 */ cpu->r[1] = _t0;
|
|
/* 02572F2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02572F2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02572F30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02572F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02572F38 */ cpu->r[3] = 0x000002A8u;
|
|
/* 02572F3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02572F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02572F40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02572F44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02572F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02572F48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572F48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02572F48 */ if (_t5) goto L_02572F64; else goto L_02572F4C;
|
|
L_02572F4C: ; // 0x2572f4c
|
|
/* 02572F4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02572F50 */ cpu->r[4] = cpu->r[30];
|
|
/* 02572F54 */ Gambit_fn_024F7A74(cpu);
|
|
/* 02572F58 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02572F5C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFF0u;
|
|
/* 02572F60 */ _t6 = cpu->r[31] + 0x000001CCu;
|
|
/* 02572F60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02572F64: ; // 0x2572f64
|
|
/* 02572F64 */ _t7 = cpu->r[30] + 0x00000134u;
|
|
/* 02572F64 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02572F68 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02572F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02572F6C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02572F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02572F70 */ cpu->lr = cpu->r[0];
|
|
/* 02572F74 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02572F7C */ return;
|
|
}
|
|
|
|
// fn_02572F84 @ 0x2572f84
|
|
void Gambit_fn_02572F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02572F84: ; // 0x2572f84
|
|
/* 02572F84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02572F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572F84 */ cpu->r[1] = _t0;
|
|
/* 02572F88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02572F8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02572F90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02572F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02572F94 */ _t3 = cpu->r[31] + 0x000001E1u;
|
|
/* 02572F94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02572F98 */ /* nop */
|
|
/* 02572F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02572FA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572FA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02572FA0 */ if (_t5) goto L_02572FA4; else goto L_02572FC0;
|
|
L_02572FA4: ; // 0x2572fa4
|
|
/* 02572FA4 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 02572FA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02572FA8 */ Gambit_fn_02980904(cpu);
|
|
/* 02572FAC */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02572FAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02572FB0 */ _t8 = cpu->r[12] + 0x000000A4u;
|
|
/* 02572FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02572FB4 */ Gambit_fn_02983B64(cpu);
|
|
/* 02572FB8 */ _t9 = cpu->r[31] + 0x00000130u;
|
|
/* 02572FB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02572FBC */ Gambit_fn_02398534(cpu);
|
|
L_02572FC0: ; // 0x2572fc0
|
|
/* 02572FC0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02572FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02572FC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02572FC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02572FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02572FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02572FD0 */ return;
|
|
}
|
|
|
|
// fn_02572FD4 @ 0x2572fd4
|
|
void Gambit_fn_02572FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02572FD4: ; // 0x2572fd4
|
|
/* 02572FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02572FD8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02572FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02572FDC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02572FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02572FDC */ cpu->r[1] = _t1;
|
|
/* 02572FE0 */ _t2 = cpu->r[3] + 0x00000214u;
|
|
/* 02572FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02572FE4 */ cpu->r[10] = cpu->r[3] + 0x00000208u;
|
|
/* 02572FE8 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02572FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02572FF0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572FF0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02572FF0 */ if (_t4) goto L_0257300C; else goto L_02572FF4;
|
|
L_02572FF4: ; // 0x2572ff4
|
|
/* 02572FF4 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02572FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02572FF8 */ Gambit_fn_02572524(cpu);
|
|
/* 02572FFC */ _t6 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02572FFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573000 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02573004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02573008 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573008 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02573008 */ if (_t8) goto L_0257300C; else goto L_02572FF4;
|
|
L_0257300C: ; // 0x257300c
|
|
/* 0257300C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257300C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02573010 */ cpu->lr = cpu->r[0];
|
|
/* 02573014 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02573018 */ return;
|
|
}
|
|
|
|
// fn_02572FDC @ 0x2572fdc
|
|
void Gambit_fn_02572FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02572FDC: ; // 0x2572fdc
|
|
/* 02572FDC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02572FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02572FDC */ cpu->r[1] = _t0;
|
|
/* 02572FE0 */ _t1 = cpu->r[3] + 0x00000214u;
|
|
/* 02572FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02572FE4 */ cpu->r[10] = cpu->r[3] + 0x00000208u;
|
|
/* 02572FE8 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02572FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02572FF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02572FF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02572FF0 */ if (_t3) goto L_0257300C; else goto L_02572FF4;
|
|
L_02572FF4: ; // 0x2572ff4
|
|
/* 02572FF4 */ _t4 = cpu->r[9] + 0x00000000u;
|
|
/* 02572FF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02572FF8 */ Gambit_fn_02572524(cpu);
|
|
/* 02572FFC */ _t5 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02572FFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573000 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02573004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02573008 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573008 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02573008 */ if (_t7) goto L_0257300C; else goto L_02572FF4;
|
|
L_0257300C: ; // 0x257300c
|
|
/* 0257300C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257300C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02573010 */ cpu->lr = cpu->r[0];
|
|
/* 02573014 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02573018 */ return;
|
|
}
|
|
|
|
// fn_02573020 @ 0x2573020
|
|
void Gambit_fn_02573020(CPUState* cpu) {
|
|
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_02573020: ; // 0x2573020
|
|
/* 02573020 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573020 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573020 */ cpu->r[1] = _t0;
|
|
/* 02573024 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573024 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573028 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0257302C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0257302C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02573030 */ cpu->r[31] = cpu->r[31] + 0xFFFF92B0u;
|
|
/* 02573034 */ cpu->r[30] = cpu->r[3];
|
|
/* 02573038 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02573038 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0257303C */ _t4 = cpu->r[30] + 0x00000130u;
|
|
/* 0257303C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573040 */ cpu->r[4] = cpu->r[31];
|
|
/* 02573044 */ Gambit_fn_023989C0(cpu);
|
|
/* 02573048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257304C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257304C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0257304C */ if (_t6) goto L_02573098; else goto L_02573050;
|
|
L_02573050: ; // 0x2573050
|
|
/* 02573050 */ _t7 = cpu->r[30] + 0x00000130u;
|
|
/* 02573050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573054 */ Gambit_fn_02398F10(cpu);
|
|
/* 02573058 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0257305C */ _t8 = cpu->r[11] + 0xFFFFEC88u;
|
|
/* 0257305C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02573060 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02573064 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02573064 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02573064 */ if (_t10) goto L_025730C4; else goto L_02573068;
|
|
L_02573068: ; // 0x2573068
|
|
/* 02573068 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02573068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257306C */ _t12 = cpu->r[9] + 0x00000014u;
|
|
/* 0257306C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02573070 */ cpu->ctr = cpu->r[0];
|
|
/* 02573074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573078 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257307C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0257307C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02573080 */ cpu->r[5] = 0x00000001u;
|
|
/* 02573084 */ _t14 = cpu->r[30] + 0x00000130u;
|
|
/* 02573084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02573088 */ Gambit_fn_02398850(cpu);
|
|
/* 0257308C */ cpu->r[3] = cpu->r[30];
|
|
/* 02573090 */ Gambit_fn_02572FD4(cpu);
|
|
/* 02573094 */ goto L_025730C4;
|
|
L_02573098: ; // 0x2573098
|
|
/* 02573098 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02573098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0257309C */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 0257309C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025730A0 */ cpu->ctr = cpu->r[0];
|
|
/* 025730A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025730A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025730AC */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 025730AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025730B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 025730B4 */ _t18 = cpu->r[30] + 0x00000130u;
|
|
/* 025730B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025730B8 */ Gambit_fn_02398850(cpu);
|
|
/* 025730BC */ cpu->r[3] = cpu->r[30];
|
|
/* 025730C0 */ Gambit_fn_02572FD4(cpu);
|
|
L_025730C4: ; // 0x25730c4
|
|
/* 025730C4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 025730C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025730C8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 025730C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025730CC */ cpu->lr = cpu->r[0];
|
|
/* 025730D0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025730D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025730D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025730D8 */ return;
|
|
}
|
|
|
|
// fn_025730E0 @ 0x25730e0
|
|
void Gambit_fn_025730E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025730E0: ; // 0x25730e0
|
|
/* 025730E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025730E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025730E0 */ cpu->r[1] = _t0;
|
|
/* 025730E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025730E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025730E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025730EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025730EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025730F0 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 025730F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025730F4 */ Gambit_fn_02398FA8(cpu);
|
|
/* 025730F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025730FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025730FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 025730FC */ if (_t5) goto L_0257310C; else goto L_02573100;
|
|
L_02573100: ; // 0x2573100
|
|
/* 02573100 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02573104 */ cpu->r[4] = 0x00000000u;
|
|
/* 02573108 */ Gambit_fn_020622DC(cpu);
|
|
L_0257310C: ; // 0x257310c
|
|
/* 0257310C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0257310C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573110 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573114 */ cpu->lr = cpu->r[0];
|
|
/* 02573118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257311C */ return;
|
|
}
|
|
|
|
// fn_02573124 @ 0x2573124
|
|
void Gambit_fn_02573124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02573124: ; // 0x2573124
|
|
/* 02573124 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573124 */ cpu->r[1] = _t0;
|
|
/* 02573128 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573128 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257312C */ cpu->r[31] = cpu->r[3];
|
|
/* 02573130 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573130 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573134 */ Gambit_fn_024F653C(cpu);
|
|
/* 02573138 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257313C */ Gambit_fn_02572FD4(cpu);
|
|
/* 02573140 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573144 */ Gambit_fn_02790488(cpu);
|
|
/* 02573148 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02573148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257314C */ cpu->lr = cpu->r[0];
|
|
/* 02573150 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573154 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573158 */ return;
|
|
}
|
|
|
|
// fn_0257315C @ 0x257315c
|
|
void Gambit_fn_0257315C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_024F8560: ; // 0x24f8560
|
|
/* 024F8560 */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 024F8560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024F8560 */ cpu->r[1] = _t0;
|
|
/* 024F8564 */ /* nop */
|
|
/* 024F8568 */ cpu->r[0] = cpu->lr;
|
|
/* 024F856C */ _t1 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F856C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 024F8570 */ /* nop */
|
|
/* 024F8574 */ _t2 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F8574 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 024F8578 */ /* nop */
|
|
/* 024F857C */ _t3 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F857C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 024F8580 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F8580 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 024F8584 */ _t5 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8584 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 024F8588 */ /* nop */
|
|
/* 024F858C */ _t6 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F858C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 024F8590 */ _t7 = cpu->r[1] + 0x000000D4u;
|
|
/* 024F8590 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 024F8594 */ cpu->r[29] = cpu->r[3];
|
|
/* 024F8598 */ cpu->r[27] = cpu->r[7];
|
|
/* 024F859C */ cpu->r[26] = cpu->r[6];
|
|
/* 024F85A0 */ cpu->r[25] = cpu->r[5];
|
|
/* 024F85A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 024F85A8 */ _t8 = cpu->r[29] + 0x00000250u;
|
|
/* 024F85A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024F85AC */ cpu->f[29] = cpu->f[1];
|
|
/* 024F85B0 */ cpu->r[28] = cpu->r[8];
|
|
/* 024F85B4 */ cpu->r[31] = cpu->r[9];
|
|
/* 024F85B8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F85B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F85BC */ cpu->f[30] = cpu->f[2];
|
|
/* 024F85C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F85C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024F85C0 */ if (_t10) goto L_024F85D4; else goto L_024F85C4;
|
|
L_024F85C4: ; // 0x24f85c4
|
|
/* 024F85C4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 024F85C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 024F85C8 */ _t12 = cpu->r[29] + 0x00000254u;
|
|
/* 024F85C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 024F85CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 024F85D0 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F85D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024F85D0 */ if (_t14) goto L_024F8660; else goto L_024F85D4;
|
|
L_024F85D4: ; // 0x24f85d4
|
|
/* 024F85D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F85D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024F85D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F85D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 024F85D8 */ if (_t16) goto L_024F85EC; else goto L_024F85DC;
|
|
L_024F85DC: ; // 0x24f85dc
|
|
/* 024F85DC */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 024F85DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 024F85E0 */ _t18 = cpu->r[29] + 0x00000258u;
|
|
/* 024F85E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 024F85E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 024F85E8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F85E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 024F85E8 */ if (_t20) goto L_024F8660; else goto L_024F85EC;
|
|
L_024F85EC: ; // 0x24f85ec
|
|
/* 024F85EC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F85EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F85F0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F85F0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024F85F0 */ if (_t22) goto L_024F8604; else goto L_024F85F4;
|
|
L_024F85F4: ; // 0x24f85f4
|
|
/* 024F85F4 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 024F85F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 024F85F8 */ _t24 = cpu->r[29] + 0x0000025Cu;
|
|
/* 024F85F8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 024F85FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 024F8600 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F8600 */ _t26 = _t25 & 0x00000001u;
|
|
/* 024F8600 */ if (_t26) goto L_024F8660; else goto L_024F8604;
|
|
L_024F8604: ; // 0x24f8604
|
|
/* 024F8604 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 024F8608 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8608 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024F8608 */ if (_t28) goto L_024F861C; else goto L_024F860C;
|
|
L_024F860C: ; // 0x24f860c
|
|
/* 024F860C */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 024F860C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 024F8610 */ _t30 = cpu->r[29] + 0x00000260u;
|
|
/* 024F8610 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 024F8614 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 024F8618 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8618 */ _t32 = _t31 & 0x00000001u;
|
|
/* 024F8618 */ if (_t32) goto L_024F8660; else goto L_024F861C;
|
|
L_024F861C: ; // 0x24f861c
|
|
/* 024F861C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F861C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024F8620 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8620 */ _t34 = _t33 & 0x00000001u;
|
|
/* 024F8620 */ if (_t34) goto L_024F8634; else goto L_024F8624;
|
|
L_024F8624: ; // 0x24f8624
|
|
/* 024F8624 */ _t35 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8624 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 024F8628 */ _t36 = cpu->r[29] + 0x00000264u;
|
|
/* 024F8628 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 024F862C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[7]);
|
|
/* 024F8630 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F8630 */ _t38 = _t37 & 0x00000001u;
|
|
/* 024F8630 */ if (_t38) goto L_024F8660; else goto L_024F8634;
|
|
L_024F8634: ; // 0x24f8634
|
|
/* 024F8634 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F8638 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8638 */ _t40 = _t39 & 0x00000001u;
|
|
/* 024F8638 */ if (_t40) goto L_024F864C; else goto L_024F863C;
|
|
L_024F863C: ; // 0x24f863c
|
|
/* 024F863C */ _t41 = cpu->r[30] + 0x00000008u;
|
|
/* 024F863C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 024F8640 */ _t42 = cpu->r[29] + 0x00000268u;
|
|
/* 024F8640 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 024F8644 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 024F8648 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8648 */ _t44 = _t43 & 0x00000001u;
|
|
/* 024F8648 */ if (_t44) goto L_024F8660; else goto L_024F864C;
|
|
L_024F864C: ; // 0x24f864c
|
|
/* 024F864C */ _t45 = cpu->r[29] + 0x00000298u;
|
|
/* 024F864C */ cpu->r[9] = rbrew_read8(cpu->mem, _t45);
|
|
/* 024F8650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024F8654 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8654 */ _t47 = _t46 & 0x00000001u;
|
|
/* 024F8654 */ if (_t47) goto L_024F8694; else goto L_024F8658;
|
|
L_024F8658: ; // 0x24f8658
|
|
/* 024F8658 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000000Fu, 0x0000000Fu);
|
|
/* 024F8658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024F865C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F865C */ _t49 = _t48 & 0x00000001u;
|
|
/* 024F865C */ if (_t49) goto L_024F8694; else goto L_024F8660;
|
|
L_024F8660: ; // 0x24f8660
|
|
/* 024F8660 */ /* nop */
|
|
/* 024F8664 */ _t50 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F8664 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 024F8668 */ _t51 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8668 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 024F866C */ _t52 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F866C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 024F8670 */ _t53 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F8670 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 024F8674 */ _t54 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F8674 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 024F8678 */ _t55 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F8678 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 024F867C */ cpu->r[3] = 0x00000000u;
|
|
/* 024F8680 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8680 */ _t57 = _t56 & 0x00000001u;
|
|
/* 024F8680 */ if (_t57) goto L_024F8684; // else: addr-0 trap, fall-through
|
|
L_024F8684: ; // 0x24f8684
|
|
/* 024F8684 */ _t58 = cpu->r[1] + 0x000000D4u;
|
|
/* 024F8684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 024F8688 */ cpu->lr = cpu->r[0];
|
|
/* 024F868C */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 024F8690 */ return;
|
|
L_024F8694: ; // 0x24f8694
|
|
/* 024F8694 */ _t59 = cpu->r[29] + 0x00000299u;
|
|
/* 024F8694 */ cpu->r[5] = rbrew_read8(cpu->mem, _t59);
|
|
/* 024F8698 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 024F8698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 024F869C */ _t61 = cpu->r[30] + 0x00000004u;
|
|
/* 024F869C */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 024F86A0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F86A0 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 024F86A4 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 024F86A4 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 024F86A8 */ cpu->r[11] = 0x100C0000u;
|
|
/* 024F86AC */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 024F86AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 024F86B0 */ _t65 = cpu->r[11] + 0xFFFFCC1Cu;
|
|
/* 024F86B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 024F86B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F86B8 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 024F86B8 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 024F86BC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F86BC */ _t68 = _t67 & 0x00000001u;
|
|
/* 024F86BC */ if (_t68) goto L_024F8794; else goto L_024F86C0;
|
|
L_024F86C0: ; // 0x24f86c0
|
|
/* 024F86C0 */ _t69 = cpu->r[29] + 0x000001E4u;
|
|
/* 024F86C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 024F86C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 024F86C8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F86C8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 024F86C8 */ if (_t71) goto L_024F8794; else goto L_024F86CC;
|
|
L_024F86CC: ; // 0x24f86cc
|
|
/* 024F86CC */ _t72 = cpu->r[29] + 0x00000034u;
|
|
/* 024F86CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 024F86D0 */ /* nop */
|
|
/* 024F86D4 */ _t73 = cpu->r[30] + 0x00000008u;
|
|
/* 024F86D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 024F86D8 */ /* nop */
|
|
/* 024F86DC */ /* nop */
|
|
/* 024F86E0 */ _t74 = cpu->r[1] + 0x00000030u;
|
|
/* 024F86E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 024F86E4 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
|
|
/* 024F86E8 */ _t75 = cpu->r[1] + 0x00000034u;
|
|
/* 024F86E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 024F86EC */ _t76 = cpu->r[1] + 0x00000060u;
|
|
/* 024F86EC */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 024F86F0 */ _t77 = cpu->r[1] + 0x00000038u;
|
|
/* 024F86F0 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[13]);
|
|
/* 024F86F4 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 024F86F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 024F86F8 */ _t79 = cpu->r[1] + 0x00000064u;
|
|
/* 024F86F8 */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 024F86FC */ _t80 = cpu->r[1] + 0x00000068u;
|
|
/* 024F86FC */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 024F8700 */ _t81 = cpu->r[4] + 0x00000004u;
|
|
/* 024F8700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 024F8704 */ _t82 = cpu->r[12] + 0x000001FCu;
|
|
/* 024F8704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 024F8708 */ cpu->ctr = cpu->r[0];
|
|
/* 024F870C */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 024F8710 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F8714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F8718 */ _t83 = cpu->r[29] + 0x00000034u;
|
|
/* 024F8718 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 024F871C */ _t84 = cpu->r[1] + 0x00000070u;
|
|
/* 024F871C */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 024F8720 */ cpu->f[10] = cpu->f[31] / cpu->f[12];
|
|
/* 024F8724 */ _t85 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024F8724 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 024F8728 */ _t86 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024F8728 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 024F872C */ _t87 = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F872C */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 024F8730 */ _t88 = cpu->r[1] + 0x00000048u;
|
|
/* 024F8730 */ rbrew_write32(cpu->mem, _t88, cpu->r[8]);
|
|
/* 024F8734 */ _t89 = cpu->r[1] + 0x00000048u;
|
|
/* 024F8734 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 024F8738 */ /* nop */
|
|
/* 024F873C */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 024F873C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 024F8740 */ _t91 = cpu->r[1] + 0x00000074u;
|
|
/* 024F8740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 024F8744 */ _t92 = cpu->r[1] + 0x00000050u;
|
|
/* 024F8744 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 024F8748 */ cpu->f[7] = cpu->f[9] * cpu->f[10];
|
|
/* 024F874C */ _t93 = cpu->r[1] + 0x00000050u;
|
|
/* 024F874C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 024F8750 */ _t94 = cpu->r[1] + 0x00000024u;
|
|
/* 024F8750 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[7]);
|
|
/* 024F8754 */ cpu->f[7] = cpu->f[9] * cpu->f[10];
|
|
/* 024F8758 */ _t95 = cpu->r[1] + 0x00000024u;
|
|
/* 024F8758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
|
|
/* 024F875C */ cpu->f[11] = cpu->f[0] * cpu->f[10];
|
|
/* 024F8760 */ _t96 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024F8760 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[7]);
|
|
/* 024F8764 */ _t97 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024F8764 */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
|
|
/* 024F8768 */ _t98 = cpu->r[1] + 0x00000054u;
|
|
/* 024F8768 */ rbrew_write32(cpu->mem, _t98, cpu->r[9]);
|
|
/* 024F876C */ _t99 = cpu->r[1] + 0x00000028u;
|
|
/* 024F876C */ rbrew_write_f32(cpu->mem, _t99, cpu->f[11]);
|
|
/* 024F8770 */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 024F8770 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 024F8774 */ _t101 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024F8774 */ rbrew_write32(cpu->mem, _t101, cpu->r[11]);
|
|
/* 024F8778 */ _t102 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024F8778 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 024F877C */ _t103 = cpu->r[1] + 0x00000058u;
|
|
/* 024F877C */ rbrew_write32(cpu->mem, _t103, cpu->r[10]);
|
|
/* 024F8780 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 024F8784 */ /* nop */
|
|
/* 024F8788 */ /* nop */
|
|
/* 024F878C */ _t104 = cpu->r[1] + 0x00000014u;
|
|
/* 024F878C */ rbrew_write_f32(cpu->mem, _t104, cpu->f[12]);
|
|
/* 024F8790 */ /* nop */
|
|
L_024F8794: ; // 0x24f8794
|
|
/* 024F8794 */ _t105 = cpu->r[29] + 0x0000029Cu;
|
|
/* 024F8794 */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 024F8798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024F879C */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F879C */ _t107 = _t106 & 0x00000001u;
|
|
/* 024F879C */ if (_t107) goto L_024F87DC; else goto L_024F87A0;
|
|
L_024F87A0: ; // 0x24f87a0
|
|
/* 024F87A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F87A4 */ cpu->r[4] = cpu->r[28];
|
|
/* 024F87A8 */ Gambit_fn_024F8544(cpu);
|
|
/* 024F87AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F87B0 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F87B0 */ _t109 = _t108 & 0x00000001u;
|
|
/* 024F87B0 */ if (_t109) goto L_024F87DC; else goto L_024F87B4;
|
|
L_024F87B4: ; // 0x24f87b4
|
|
/* 024F87B4 */ _t110 = cpu->r[29] + 0x00000034u;
|
|
/* 024F87B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 024F87B8 */ _t111 = cpu->r[29] + 0x000002A4u;
|
|
/* 024F87B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 024F87BC */ cpu->f[7] = cpu->f[11] * cpu->f[0];
|
|
/* 024F87C0 */ _t112 = cpu->r[29] + 0x000002A0u;
|
|
/* 024F87C0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 024F87C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[7]);
|
|
/* 024F87C8 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F87C8 */ _t114 = _t113 & 0x00000001u;
|
|
/* 024F87C8 */ if (_t114) goto L_024F87CC; else goto L_024F87D0;
|
|
L_024F87CC: ; // 0x24f87cc
|
|
/* 024F87CC */ cpu->f[7] = cpu->f[8];
|
|
L_024F87D0: ; // 0x24f87d0
|
|
/* 024F87D0 */ cpu->f[1] = cpu->f[7] / cpu->f[0];
|
|
/* 024F87D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F87D8 */ Gambit_fn_02040B98(cpu);
|
|
L_024F87DC: ; // 0x24f87dc
|
|
/* 024F87DC */ cpu->f[1] = cpu->f[29];
|
|
/* 024F87E0 */ cpu->r[7] = cpu->r[27];
|
|
/* 024F87E4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F87E8 */ cpu->f[2] = cpu->f[30];
|
|
/* 024F87EC */ cpu->r[9] = cpu->r[31];
|
|
/* 024F87F0 */ cpu->r[8] = cpu->r[28];
|
|
/* 024F87F4 */ cpu->r[6] = cpu->r[26];
|
|
/* 024F87F8 */ cpu->r[5] = cpu->r[25];
|
|
/* 024F87FC */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8800 */ Gambit_fn_020406A8(cpu);
|
|
/* 024F8804 */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 024F8804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024F8808 */ cpu->r[31] = cpu->r[3];
|
|
/* 024F880C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F880C */ _t116 = _t115 & 0x00000001u;
|
|
/* 024F880C */ if (_t116) goto L_024F8900; else goto L_024F8810;
|
|
L_024F8810: ; // 0x24f8810
|
|
/* 024F8810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024F8814 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8814 */ _t118 = _t117 & 0x00000001u;
|
|
/* 024F8814 */ if (_t118) goto L_024F8900; else goto L_024F8818;
|
|
L_024F8818: ; // 0x24f8818
|
|
/* 024F8818 */ _t119 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t119);
|
|
/* 024F881C */ _t120 = cpu->r[11] + 0x0000015Fu;
|
|
/* 024F881C */ cpu->r[6] = rbrew_read8(cpu->mem, _t120);
|
|
/* 024F8820 */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 024F8824 */ cpu->r[5] = cpu->r[6] - cpu->r[8];
|
|
/* 024F8824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F8828 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8828 */ _t122 = _t121 & 0x00000001u;
|
|
/* 024F8828 */ if (_t122) goto L_024F8900; else goto L_024F882C;
|
|
L_024F882C: ; // 0x24f882c
|
|
/* 024F882C */ _t123 = cpu->r[1] + 0x00000008u;
|
|
/* 024F882C */ rbrew_write_f32(cpu->mem, _t123, cpu->f[31]);
|
|
/* 024F8830 */ cpu->r[10] = 0x101F0000u;
|
|
/* 024F8834 */ _t124 = cpu->r[10] + 0x00006338u;
|
|
/* 024F8834 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 024F8834 */ cpu->r[10] = _t124;
|
|
/* 024F8838 */ _t125 = cpu->r[10] + 0x00000004u;
|
|
/* 024F8838 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 024F883C */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 024F883C */ rbrew_write32(cpu->mem, _t126, cpu->r[6]);
|
|
/* 024F8840 */ _t127 = cpu->r[10] + 0x00000008u;
|
|
/* 024F8840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 024F8844 */ _t128 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F8844 */ rbrew_write32(cpu->mem, _t128, cpu->r[7]);
|
|
/* 024F8848 */ _t129 = cpu->r[1] + 0x00000020u;
|
|
/* 024F8848 */ rbrew_write32(cpu->mem, _t129, cpu->r[0]);
|
|
/* 024F884C */ _t130 = cpu->r[11] + 0x0000015Cu;
|
|
/* 024F884C */ cpu->r[5] = rbrew_read32(cpu->mem, _t130);
|
|
/* 024F8850 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 024F8854 */ cpu->r[6] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 024F8858 */ cpu->r[9] = cpu->r[0] - cpu->r[6];
|
|
/* 024F8858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024F885C */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F885C */ _t132 = _t131 & 0x00000001u;
|
|
/* 024F885C */ if (_t132) goto L_024F88B0; else goto L_024F8860;
|
|
L_024F8860: ; // 0x24f8860
|
|
/* 024F8860 */ _t133 = cpu->r[29] + 0x000001CCu;
|
|
/* 024F8860 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 024F8864 */ _t134 = cpu->r[8] + 0x0000008Cu;
|
|
/* 024F8864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 024F8868 */ cpu->ctr = cpu->r[10];
|
|
/* 024F886C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024F8870 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 024F8874 */ cpu->r[6] = cpu->r[11] + 0x00000060u;
|
|
/* 024F8878 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F887C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F8880 */ _t135 = cpu->r[1] + 0x00000018u;
|
|
/* 024F8880 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 024F8884 */ _t136 = cpu->r[1] + 0x00000008u;
|
|
/* 024F8884 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 024F8888 */ _t137 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8888 */ cpu->r[6] = rbrew_read32(cpu->mem, _t137);
|
|
/* 024F888C */ _t138 = cpu->r[29] + 0x000001ACu;
|
|
/* 024F888C */ cpu->r[7] = rbrew_read32(cpu->mem, _t138);
|
|
/* 024F8890 */ _t139 = cpu->r[6] + 0x0000006Cu;
|
|
/* 024F8890 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[11]);
|
|
/* 024F8894 */ _t140 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F8894 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 024F8898 */ _t141 = cpu->r[6] + 0x00000070u;
|
|
/* 024F8898 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[12]);
|
|
/* 024F889C */ _t142 = cpu->r[1] + 0x00000020u;
|
|
/* 024F889C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 024F88A0 */ _t143 = cpu->r[6] + 0x00000078u;
|
|
/* 024F88A0 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[8]);
|
|
/* 024F88A4 */ _t144 = cpu->r[6] + 0x00000074u;
|
|
/* 024F88A4 */ rbrew_write_f32(cpu->mem, _t144, cpu->f[13]);
|
|
/* 024F88A8 */ _t145 = cpu->r[6] + 0x0000007Cu;
|
|
/* 024F88A8 */ rbrew_write32(cpu->mem, _t145, cpu->r[7]);
|
|
/* 024F88AC */ _t146 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F88AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t146);
|
|
L_024F88B0: ; // 0x24f88b0
|
|
/* 024F88B0 */ _t147 = cpu->r[11] + 0x0000015Cu;
|
|
/* 024F88B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t147);
|
|
/* 024F88B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 024F88B8 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 024F88BC */ cpu->r[8] = cpu->r[9] - cpu->r[12];
|
|
/* 024F88BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F88C0 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F88C0 */ _t149 = _t148 & 0x00000001u;
|
|
/* 024F88C0 */ if (_t149) goto L_024F8900; else goto L_024F88C4;
|
|
L_024F88C4: ; // 0x24f88c4
|
|
/* 024F88C4 */ _t150 = cpu->r[29] + 0x000001CCu;
|
|
/* 024F88C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
|
|
/* 024F88C8 */ _t151 = cpu->r[6] + 0x0000008Cu;
|
|
/* 024F88C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t151);
|
|
/* 024F88CC */ cpu->ctr = cpu->r[7];
|
|
/* 024F88D0 */ cpu->r[6] = cpu->r[11] + 0x000000C0u;
|
|
/* 024F88D4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 024F88D8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024F88DC */ cpu->r[3] = cpu->r[29];
|
|
/* 024F88E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F88E4 */ _t152 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F88E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t152);
|
|
/* 024F88E8 */ _t153 = cpu->r[1] + 0x00000018u;
|
|
/* 024F88E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 024F88EC */ _t154 = cpu->r[8] + 0x00000080u;
|
|
/* 024F88EC */ rbrew_write_f32(cpu->mem, _t154, cpu->f[8]);
|
|
/* 024F88F0 */ _t155 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F88F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 024F88F4 */ _t156 = cpu->r[8] + 0x00000084u;
|
|
/* 024F88F4 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[10]);
|
|
/* 024F88F8 */ _t157 = cpu->r[1] + 0x00000020u;
|
|
/* 024F88F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 024F88FC */ _t158 = cpu->r[8] + 0x00000088u;
|
|
/* 024F88FC */ rbrew_write_f32(cpu->mem, _t158, cpu->f[13]);
|
|
L_024F8900: ; // 0x24f8900
|
|
/* 024F8900 */ _t159 = cpu->r[29] + 0x0000029Cu;
|
|
/* 024F8900 */ cpu->r[8] = rbrew_read8(cpu->mem, _t159);
|
|
/* 024F8904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F8908 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8908 */ _t161 = _t160 & 0x00000001u;
|
|
/* 024F8908 */ if (_t161) goto L_024F892C; else goto L_024F890C;
|
|
L_024F890C: ; // 0x24f890c
|
|
/* 024F890C */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8910 */ cpu->r[4] = cpu->r[28];
|
|
/* 024F8914 */ Gambit_fn_024F8544(cpu);
|
|
/* 024F8918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F891C */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F891C */ _t163 = _t162 & 0x00000001u;
|
|
/* 024F891C */ if (_t163) goto L_024F892C; else goto L_024F8920;
|
|
L_024F8920: ; // 0x24f8920
|
|
/* 024F8920 */ _t164 = cpu->r[29] + 0x000002A4u;
|
|
/* 024F8920 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 024F8924 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8928 */ Gambit_fn_02040B98(cpu);
|
|
L_024F892C: ; // 0x24f892c
|
|
/* 024F892C */ _t165 = cpu->r[29] + 0x00000299u;
|
|
/* 024F892C */ cpu->r[9] = rbrew_read8(cpu->mem, _t165);
|
|
/* 024F8930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024F8934 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8934 */ _t167 = _t166 & 0x00000001u;
|
|
/* 024F8934 */ if (_t167) goto L_024F897C; else goto L_024F8938;
|
|
L_024F8938: ; // 0x24f8938
|
|
/* 024F8938 */ /* nop */
|
|
/* 024F893C */ /* nop */
|
|
/* 024F8940 */ _t168 = cpu->r[1] + 0x00000014u;
|
|
/* 024F8940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 024F8944 */ /* nop */
|
|
/* 024F8948 */ _t169 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t169);
|
|
/* 024F894C */ _t170 = cpu->r[30] + 0x00000008u;
|
|
/* 024F894C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 024F8950 */ /* nop */
|
|
/* 024F8954 */ _t171 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024F8954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 024F8958 */ cpu->f[9] = cpu->f[11] - cpu->f[0];
|
|
/* 024F895C */ _t172 = cpu->r[1] + 0x00000040u;
|
|
/* 024F895C */ cpu->r[0] = rbrew_read32(cpu->mem, _t172);
|
|
/* 024F8960 */ _t173 = cpu->r[1] + 0x00000078u;
|
|
/* 024F8960 */ rbrew_write32(cpu->mem, _t173, cpu->r[12]);
|
|
/* 024F8964 */ _t174 = cpu->r[1] + 0x00000044u;
|
|
/* 024F8964 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[9]);
|
|
/* 024F8968 */ _t175 = cpu->r[1] + 0x00000044u;
|
|
/* 024F8968 */ cpu->r[5] = rbrew_read32(cpu->mem, _t175);
|
|
/* 024F896C */ _t176 = cpu->r[1] + 0x0000007Cu;
|
|
/* 024F896C */ rbrew_write32(cpu->mem, _t176, cpu->r[0]);
|
|
/* 024F8970 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 024F8974 */ _t177 = cpu->r[1] + 0x00000080u;
|
|
/* 024F8974 */ rbrew_write32(cpu->mem, _t177, cpu->r[5]);
|
|
/* 024F8978 */ Gambit_fn_02043510(cpu);
|
|
L_024F897C: ; // 0x24f897c
|
|
/* 024F897C */ cpu->r[3] = cpu->r[31];
|
|
/* 024F8980 */ /* nop */
|
|
/* 024F8984 */ _t178 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F8984 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 024F8988 */ _t179 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F8988 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 024F898C */ _t180 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F898C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t180);
|
|
/* 024F8990 */ _t181 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8990 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 024F8994 */ _t182 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F8994 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t182);
|
|
/* 024F8998 */ _t183 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F8998 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t183);
|
|
/* 024F899C */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F899C */ _t185 = _t184 & 0x00000001u;
|
|
/* 024F899C */ if (_t185) goto L_024F89A0; // else: addr-0 trap, fall-through
|
|
L_024F89A0: ; // 0x24f89a0
|
|
/* 024F89A0 */ _t186 = cpu->r[1] + 0x000000D4u;
|
|
/* 024F89A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 024F89A4 */ cpu->lr = cpu->r[0];
|
|
/* 024F89A8 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 024F89AC */ return;
|
|
L_0257315C: ; // 0x257315c
|
|
/* 0257315C */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 0257315C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573160 */ cpu->r[0] = cpu->r[3];
|
|
/* 02573164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02573168 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573168 */ _t188 = _t187 & 0x00000001u;
|
|
/* 02573168 */ _t189 = _t188 ^ 0x00000001u;
|
|
/* 02573168 */ if (_t189) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573168 */ goto L_0257316C;
|
|
L_0257316C: ; // 0x257316c
|
|
/* 0257316C */ cpu->r[3] = cpu->r[0];
|
|
/* 02573170 */ goto L_024F8560;
|
|
}
|
|
|
|
// fn_02573174 @ 0x2573174
|
|
void Gambit_fn_02573174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195;
|
|
|
|
L_024F89B0: ; // 0x24f89b0
|
|
/* 024F89B0 */ _t0 = cpu->r[1] + 0xFFFFFF10u;
|
|
/* 024F89B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024F89B0 */ cpu->r[1] = _t0;
|
|
/* 024F89B4 */ _t1 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F89B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 024F89B8 */ /* nop */
|
|
/* 024F89BC */ /* nop */
|
|
/* 024F89C0 */ cpu->r[0] = cpu->lr;
|
|
/* 024F89C4 */ _t2 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F89C4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 024F89C8 */ /* nop */
|
|
/* 024F89CC */ _t3 = cpu->r[1] + 0x000000E0u;
|
|
/* 024F89CC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 024F89D0 */ /* nop */
|
|
/* 024F89D4 */ _t4 = cpu->r[1] + 0x000000D0u;
|
|
/* 024F89D4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 024F89D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 024F89DC */ _t5 = cpu->r[1] + 0x000000F4u;
|
|
/* 024F89DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 024F89E0 */ /* nop */
|
|
/* 024F89E4 */ _t6 = cpu->r[1] + 0x000000E8u;
|
|
/* 024F89E4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 024F89E8 */ cpu->r[27] = cpu->r[8];
|
|
/* 024F89EC */ _t7 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F89EC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
|
|
/* 024F89F0 */ cpu->r[25] = cpu->r[5];
|
|
/* 024F89F4 */ _t8 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F89F4 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]);
|
|
/* 024F89F8 */ cpu->f[27] = cpu->f[1];
|
|
/* 024F89FC */ _t9 = cpu->r[1] + 0x000000D8u;
|
|
/* 024F89FC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 024F8A00 */ _t10 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F8A00 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[28]);
|
|
/* 024F8A04 */ /* nop */
|
|
/* 024F8A08 */ cpu->r[31] = cpu->r[9];
|
|
/* 024F8A0C */ _t11 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8A0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]);
|
|
/* 024F8A10 */ cpu->r[29] = cpu->r[3];
|
|
/* 024F8A14 */ cpu->f[29] = cpu->f[3];
|
|
/* 024F8A18 */ _t12 = cpu->r[29] + 0x00000250u;
|
|
/* 024F8A18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024F8A1C */ cpu->r[26] = cpu->r[6];
|
|
/* 024F8A20 */ cpu->f[30] = cpu->f[4];
|
|
/* 024F8A24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 024F8A28 */ cpu->f[28] = cpu->f[2];
|
|
/* 024F8A2C */ cpu->r[28] = cpu->r[7];
|
|
/* 024F8A30 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8A30 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024F8A30 */ if (_t14) goto L_024F8A44; else goto L_024F8A34;
|
|
L_024F8A34: ; // 0x24f8a34
|
|
/* 024F8A34 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 024F8A34 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 024F8A38 */ _t16 = cpu->r[29] + 0x00000254u;
|
|
/* 024F8A38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 024F8A3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
|
|
/* 024F8A40 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F8A40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 024F8A40 */ if (_t18) goto L_024F8ABC; else goto L_024F8A44;
|
|
L_024F8A44: ; // 0x24f8a44
|
|
/* 024F8A44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024F8A48 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8A48 */ _t20 = _t19 & 0x00000001u;
|
|
/* 024F8A48 */ if (_t20) goto L_024F8A5C; else goto L_024F8A4C;
|
|
L_024F8A4C: ; // 0x24f8a4c
|
|
/* 024F8A4C */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 024F8A4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 024F8A50 */ _t22 = cpu->r[29] + 0x00000258u;
|
|
/* 024F8A50 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 024F8A54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[7]);
|
|
/* 024F8A58 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8A58 */ _t24 = _t23 & 0x00000001u;
|
|
/* 024F8A58 */ if (_t24) goto L_024F8ABC; else goto L_024F8A5C;
|
|
L_024F8A5C: ; // 0x24f8a5c
|
|
/* 024F8A5C */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 024F8A60 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8A60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 024F8A60 */ if (_t26) goto L_024F8A74; else goto L_024F8A64;
|
|
L_024F8A64: ; // 0x24f8a64
|
|
/* 024F8A64 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 024F8A64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 024F8A68 */ _t28 = cpu->r[29] + 0x0000025Cu;
|
|
/* 024F8A68 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 024F8A6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 024F8A70 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F8A70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 024F8A70 */ if (_t30) goto L_024F8ABC; else goto L_024F8A74;
|
|
L_024F8A74: ; // 0x24f8a74
|
|
/* 024F8A74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 024F8A78 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8A78 */ _t32 = _t31 & 0x00000001u;
|
|
/* 024F8A78 */ if (_t32) goto L_024F8A8C; else goto L_024F8A7C;
|
|
L_024F8A7C: ; // 0x24f8a7c
|
|
/* 024F8A7C */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 024F8A7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 024F8A80 */ _t34 = cpu->r[29] + 0x00000260u;
|
|
/* 024F8A80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 024F8A84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 024F8A88 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8A88 */ _t36 = _t35 & 0x00000001u;
|
|
/* 024F8A88 */ if (_t36) goto L_024F8ABC; else goto L_024F8A8C;
|
|
L_024F8A8C: ; // 0x24f8a8c
|
|
/* 024F8A8C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024F8A90 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8A90 */ _t38 = _t37 & 0x00000001u;
|
|
/* 024F8A90 */ if (_t38) goto L_024F8AA4; else goto L_024F8A94;
|
|
L_024F8A94: ; // 0x24f8a94
|
|
/* 024F8A94 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8A94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 024F8A98 */ _t40 = cpu->r[29] + 0x00000264u;
|
|
/* 024F8A98 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 024F8A9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[7]);
|
|
/* 024F8AA0 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F8AA0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 024F8AA0 */ if (_t42) goto L_024F8ABC; else goto L_024F8AA4;
|
|
L_024F8AA4: ; // 0x24f8aa4
|
|
/* 024F8AA4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F8AA8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8AA8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 024F8AA8 */ if (_t44) goto L_024F8B00; else goto L_024F8AAC;
|
|
L_024F8AAC: ; // 0x24f8aac
|
|
/* 024F8AAC */ _t45 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8AAC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 024F8AB0 */ _t46 = cpu->r[29] + 0x00000268u;
|
|
/* 024F8AB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 024F8AB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 024F8AB8 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8AB8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 024F8AB8 */ if (_t48) goto L_024F8ABC; else goto L_024F8B00;
|
|
L_024F8ABC: ; // 0x24f8abc
|
|
/* 024F8ABC */ /* nop */
|
|
/* 024F8AC0 */ _t49 = cpu->r[1] + 0x000000D8u;
|
|
/* 024F8AC0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 024F8AC4 */ _t50 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8AC4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 024F8AC8 */ _t51 = cpu->r[1] + 0x000000D0u;
|
|
/* 024F8AC8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 024F8ACC */ _t52 = cpu->r[1] + 0x000000E8u;
|
|
/* 024F8ACC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 024F8AD0 */ _t53 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F8AD0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 024F8AD4 */ _t54 = cpu->r[1] + 0x000000E0u;
|
|
/* 024F8AD4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 024F8AD8 */ _t55 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F8AD8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 024F8ADC */ _t56 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F8ADC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 024F8AE0 */ _t57 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F8AE0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 024F8AE4 */ _t58 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F8AE4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 024F8AE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 024F8AEC */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8AEC */ _t60 = _t59 & 0x00000001u;
|
|
/* 024F8AEC */ if (_t60) goto L_024F8AF0; // else: addr-0 trap, fall-through
|
|
L_024F8AF0: ; // 0x24f8af0
|
|
/* 024F8AF0 */ _t61 = cpu->r[1] + 0x000000F4u;
|
|
/* 024F8AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 024F8AF4 */ cpu->lr = cpu->r[0];
|
|
/* 024F8AF8 */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 024F8AFC */ return;
|
|
L_024F8B00: ; // 0x24f8b00
|
|
/* 024F8B00 */ _t62 = cpu->r[30] + 0x00000004u;
|
|
/* 024F8B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 024F8B04 */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 024F8B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 024F8B08 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 024F8B08 */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 024F8B0C */ _t65 = cpu->r[29] + 0x00000299u;
|
|
/* 024F8B0C */ cpu->r[5] = rbrew_read8(cpu->mem, _t65);
|
|
/* 024F8B10 */ _t66 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8B10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 024F8B14 */ cpu->r[10] = 0x100C0000u;
|
|
/* 024F8B18 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F8B18 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 024F8B1C */ _t68 = cpu->r[10] + 0xFFFFCC1Cu;
|
|
/* 024F8B1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 024F8B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F8B24 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 024F8B24 */ rbrew_write32(cpu->mem, _t69, cpu->r[12]);
|
|
/* 024F8B28 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8B28 */ _t71 = _t70 & 0x00000001u;
|
|
/* 024F8B28 */ if (_t71) goto L_024F8C00; else goto L_024F8B2C;
|
|
L_024F8B2C: ; // 0x24f8b2c
|
|
/* 024F8B2C */ _t72 = cpu->r[29] + 0x000001E4u;
|
|
/* 024F8B2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t72);
|
|
/* 024F8B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 024F8B34 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8B34 */ _t74 = _t73 & 0x00000001u;
|
|
/* 024F8B34 */ if (_t74) goto L_024F8C00; else goto L_024F8B38;
|
|
L_024F8B38: ; // 0x24f8b38
|
|
/* 024F8B38 */ _t75 = cpu->r[29] + 0x00000034u;
|
|
/* 024F8B38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 024F8B3C */ /* nop */
|
|
/* 024F8B40 */ _t76 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8B40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 024F8B44 */ /* nop */
|
|
/* 024F8B48 */ /* nop */
|
|
/* 024F8B4C */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 024F8B4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 024F8B50 */ cpu->f[13] = cpu->f[0] * cpu->f[9];
|
|
/* 024F8B54 */ _t78 = cpu->r[1] + 0x00000034u;
|
|
/* 024F8B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 024F8B58 */ _t79 = cpu->r[1] + 0x00000060u;
|
|
/* 024F8B58 */ rbrew_write32(cpu->mem, _t79, cpu->r[5]);
|
|
/* 024F8B5C */ _t80 = cpu->r[1] + 0x00000038u;
|
|
/* 024F8B5C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 024F8B60 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 024F8B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 024F8B64 */ _t82 = cpu->r[1] + 0x00000064u;
|
|
/* 024F8B64 */ rbrew_write32(cpu->mem, _t82, cpu->r[7]);
|
|
/* 024F8B68 */ _t83 = cpu->r[1] + 0x00000068u;
|
|
/* 024F8B68 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 024F8B6C */ _t84 = cpu->r[4] + 0x00000004u;
|
|
/* 024F8B6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 024F8B70 */ _t85 = cpu->r[11] + 0x000001FCu;
|
|
/* 024F8B70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 024F8B74 */ cpu->ctr = cpu->r[10];
|
|
/* 024F8B78 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 024F8B7C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F8B80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F8B84 */ _t86 = cpu->r[29] + 0x00000034u;
|
|
/* 024F8B84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 024F8B88 */ _t87 = cpu->r[1] + 0x00000070u;
|
|
/* 024F8B88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 024F8B8C */ cpu->f[7] = cpu->f[31] / cpu->f[12];
|
|
/* 024F8B90 */ _t88 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024F8B90 */ rbrew_write32(cpu->mem, _t88, cpu->r[11]);
|
|
/* 024F8B94 */ _t89 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024F8B94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 024F8B98 */ _t90 = cpu->r[1] + 0x00000074u;
|
|
/* 024F8B98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 024F8B9C */ _t91 = cpu->r[1] + 0x00000050u;
|
|
/* 024F8B9C */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 024F8BA0 */ _t92 = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F8BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 024F8BA4 */ _t93 = cpu->r[1] + 0x00000048u;
|
|
/* 024F8BA4 */ rbrew_write32(cpu->mem, _t93, cpu->r[9]);
|
|
/* 024F8BA8 */ _t94 = cpu->r[1] + 0x00000048u;
|
|
/* 024F8BA8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 024F8BAC */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 024F8BAC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 024F8BB0 */ cpu->f[9] = cpu->f[10] * cpu->f[7];
|
|
/* 024F8BB4 */ _t96 = cpu->r[1] + 0x00000050u;
|
|
/* 024F8BB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 024F8BB8 */ cpu->f[11] = cpu->f[12] * cpu->f[7];
|
|
/* 024F8BBC */ _t97 = cpu->r[1] + 0x00000024u;
|
|
/* 024F8BBC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[9]);
|
|
/* 024F8BC0 */ _t98 = cpu->r[1] + 0x00000024u;
|
|
/* 024F8BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 024F8BC4 */ cpu->f[13] = cpu->f[0] * cpu->f[7];
|
|
/* 024F8BC8 */ _t99 = cpu->r[1] + 0x00000028u;
|
|
/* 024F8BC8 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[11]);
|
|
/* 024F8BCC */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 024F8BCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 024F8BD0 */ /* nop */
|
|
/* 024F8BD4 */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024F8BD4 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[13]);
|
|
/* 024F8BD8 */ _t102 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024F8BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 024F8BDC */ _t103 = cpu->r[1] + 0x00000054u;
|
|
/* 024F8BDC */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 024F8BE0 */ _t104 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024F8BE0 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 024F8BE4 */ _t105 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024F8BE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 024F8BE8 */ _t106 = cpu->r[1] + 0x00000058u;
|
|
/* 024F8BE8 */ rbrew_write32(cpu->mem, _t106, cpu->r[7]);
|
|
/* 024F8BEC */ cpu->f[8] = cpu->f[8] - cpu->f[10];
|
|
/* 024F8BF0 */ /* nop */
|
|
/* 024F8BF4 */ /* nop */
|
|
/* 024F8BF8 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 024F8BF8 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[8]);
|
|
/* 024F8BFC */ /* nop */
|
|
L_024F8C00: ; // 0x24f8c00
|
|
/* 024F8C00 */ _t108 = cpu->r[29] + 0x0000029Cu;
|
|
/* 024F8C00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 024F8C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024F8C08 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8C08 */ _t110 = _t109 & 0x00000001u;
|
|
/* 024F8C08 */ if (_t110) goto L_024F8C48; else goto L_024F8C0C;
|
|
L_024F8C0C: ; // 0x24f8c0c
|
|
/* 024F8C0C */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8C10 */ cpu->r[4] = cpu->r[28];
|
|
/* 024F8C14 */ Gambit_fn_024F8544(cpu);
|
|
/* 024F8C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F8C1C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8C1C */ _t112 = _t111 & 0x00000001u;
|
|
/* 024F8C1C */ if (_t112) goto L_024F8C48; else goto L_024F8C20;
|
|
L_024F8C20: ; // 0x24f8c20
|
|
/* 024F8C20 */ _t113 = cpu->r[29] + 0x00000034u;
|
|
/* 024F8C20 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 024F8C24 */ _t114 = cpu->r[29] + 0x000002A4u;
|
|
/* 024F8C24 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 024F8C28 */ cpu->f[12] = cpu->f[10] * cpu->f[11];
|
|
/* 024F8C2C */ _t115 = cpu->r[29] + 0x000002A0u;
|
|
/* 024F8C2C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 024F8C30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 024F8C34 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8C34 */ _t117 = _t116 & 0x00000001u;
|
|
/* 024F8C34 */ if (_t117) goto L_024F8C38; else goto L_024F8C3C;
|
|
L_024F8C38: ; // 0x24f8c38
|
|
/* 024F8C38 */ cpu->f[12] = cpu->f[8];
|
|
L_024F8C3C: ; // 0x24f8c3c
|
|
/* 024F8C3C */ cpu->f[1] = cpu->f[12] / cpu->f[11];
|
|
/* 024F8C40 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8C44 */ Gambit_fn_02040B98(cpu);
|
|
L_024F8C48: ; // 0x24f8c48
|
|
/* 024F8C48 */ cpu->f[1] = cpu->f[27];
|
|
/* 024F8C4C */ cpu->r[6] = cpu->r[26];
|
|
/* 024F8C50 */ cpu->f[2] = cpu->f[28];
|
|
/* 024F8C54 */ cpu->r[8] = cpu->r[27];
|
|
/* 024F8C58 */ cpu->f[4] = cpu->f[30];
|
|
/* 024F8C5C */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8C60 */ cpu->r[5] = cpu->r[25];
|
|
/* 024F8C64 */ cpu->f[3] = cpu->f[29];
|
|
/* 024F8C68 */ cpu->r[9] = cpu->r[31];
|
|
/* 024F8C6C */ cpu->r[7] = cpu->r[28];
|
|
/* 024F8C70 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F8C74 */ Gambit_fn_0204094C(cpu);
|
|
/* 024F8C78 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 024F8C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024F8C7C */ cpu->r[31] = cpu->r[3];
|
|
/* 024F8C80 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8C80 */ _t119 = _t118 & 0x00000001u;
|
|
/* 024F8C80 */ if (_t119) goto L_024F8D74; else goto L_024F8C84;
|
|
L_024F8C84: ; // 0x24f8c84
|
|
/* 024F8C84 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024F8C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024F8C88 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8C88 */ _t121 = _t120 & 0x00000001u;
|
|
/* 024F8C88 */ if (_t121) goto L_024F8D74; else goto L_024F8C8C;
|
|
L_024F8C8C: ; // 0x24f8c8c
|
|
/* 024F8C8C */ _t122 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8C8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
|
|
/* 024F8C90 */ _t123 = cpu->r[11] + 0x0000015Fu;
|
|
/* 024F8C90 */ cpu->r[6] = rbrew_read8(cpu->mem, _t123);
|
|
/* 024F8C94 */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 024F8C98 */ cpu->r[0] = cpu->r[6] - cpu->r[0];
|
|
/* 024F8C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024F8C9C */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8C9C */ _t125 = _t124 & 0x00000001u;
|
|
/* 024F8C9C */ if (_t125) goto L_024F8D74; else goto L_024F8CA0;
|
|
L_024F8CA0: ; // 0x24f8ca0
|
|
/* 024F8CA0 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 024F8CA0 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[31]);
|
|
/* 024F8CA4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 024F8CA8 */ _t127 = cpu->r[8] + 0x00006338u;
|
|
/* 024F8CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 024F8CA8 */ cpu->r[8] = _t127;
|
|
/* 024F8CAC */ _t128 = cpu->r[8] + 0x00000004u;
|
|
/* 024F8CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 024F8CB0 */ _t129 = cpu->r[1] + 0x00000018u;
|
|
/* 024F8CB0 */ rbrew_write32(cpu->mem, _t129, cpu->r[12]);
|
|
/* 024F8CB4 */ _t130 = cpu->r[8] + 0x00000008u;
|
|
/* 024F8CB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t130);
|
|
/* 024F8CB8 */ _t131 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F8CB8 */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
/* 024F8CBC */ _t132 = cpu->r[1] + 0x00000020u;
|
|
/* 024F8CBC */ rbrew_write32(cpu->mem, _t132, cpu->r[6]);
|
|
/* 024F8CC0 */ _t133 = cpu->r[11] + 0x0000015Cu;
|
|
/* 024F8CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
|
|
/* 024F8CC4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 024F8CC8 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 024F8CCC */ cpu->r[8] = cpu->r[10] - cpu->r[0];
|
|
/* 024F8CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F8CD0 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8CD0 */ _t135 = _t134 & 0x00000001u;
|
|
/* 024F8CD0 */ if (_t135) goto L_024F8D24; else goto L_024F8CD4;
|
|
L_024F8CD4: ; // 0x24f8cd4
|
|
/* 024F8CD4 */ _t136 = cpu->r[29] + 0x000001CCu;
|
|
/* 024F8CD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t136);
|
|
/* 024F8CD8 */ _t137 = cpu->r[8] + 0x0000008Cu;
|
|
/* 024F8CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 024F8CDC */ cpu->ctr = cpu->r[0];
|
|
/* 024F8CE0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024F8CE4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 024F8CE8 */ cpu->r[6] = cpu->r[11] + 0x00000060u;
|
|
/* 024F8CEC */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8CF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F8CF4 */ _t138 = cpu->r[1] + 0x00000018u;
|
|
/* 024F8CF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 024F8CF8 */ _t139 = cpu->r[1] + 0x00000008u;
|
|
/* 024F8CF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 024F8CFC */ _t140 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8CFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t140);
|
|
/* 024F8D00 */ _t141 = cpu->r[29] + 0x000001ACu;
|
|
/* 024F8D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 024F8D04 */ _t142 = cpu->r[11] + 0x0000006Cu;
|
|
/* 024F8D04 */ rbrew_write_f32(cpu->mem, _t142, cpu->f[13]);
|
|
/* 024F8D08 */ _t143 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F8D08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 024F8D0C */ _t144 = cpu->r[11] + 0x00000070u;
|
|
/* 024F8D0C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[0]);
|
|
/* 024F8D10 */ _t145 = cpu->r[1] + 0x00000020u;
|
|
/* 024F8D10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t145);
|
|
/* 024F8D14 */ _t146 = cpu->r[11] + 0x00000078u;
|
|
/* 024F8D14 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[8]);
|
|
/* 024F8D18 */ _t147 = cpu->r[11] + 0x00000074u;
|
|
/* 024F8D18 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[7]);
|
|
/* 024F8D1C */ _t148 = cpu->r[11] + 0x0000007Cu;
|
|
/* 024F8D1C */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 024F8D20 */ _t149 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8D20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
L_024F8D24: ; // 0x24f8d24
|
|
/* 024F8D24 */ _t150 = cpu->r[11] + 0x0000015Cu;
|
|
/* 024F8D24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
|
|
/* 024F8D28 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 024F8D2C */ cpu->r[7] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 024F8D30 */ cpu->r[0] = cpu->r[5] - cpu->r[7];
|
|
/* 024F8D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024F8D34 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8D34 */ _t152 = _t151 & 0x00000001u;
|
|
/* 024F8D34 */ if (_t152) goto L_024F8D74; else goto L_024F8D38;
|
|
L_024F8D38: ; // 0x24f8d38
|
|
/* 024F8D38 */ _t153 = cpu->r[29] + 0x000001CCu;
|
|
/* 024F8D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t153);
|
|
/* 024F8D3C */ _t154 = cpu->r[8] + 0x0000008Cu;
|
|
/* 024F8D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t154);
|
|
/* 024F8D40 */ cpu->ctr = cpu->r[9];
|
|
/* 024F8D44 */ cpu->r[6] = cpu->r[11] + 0x000000C0u;
|
|
/* 024F8D48 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 024F8D4C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024F8D50 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8D54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F8D58 */ _t155 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8D58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t155);
|
|
/* 024F8D5C */ _t156 = cpu->r[1] + 0x00000018u;
|
|
/* 024F8D5C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 024F8D60 */ _t157 = cpu->r[6] + 0x00000080u;
|
|
/* 024F8D60 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[8]);
|
|
/* 024F8D64 */ _t158 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F8D64 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 024F8D68 */ _t159 = cpu->r[6] + 0x00000084u;
|
|
/* 024F8D68 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[10]);
|
|
/* 024F8D6C */ _t160 = cpu->r[1] + 0x00000020u;
|
|
/* 024F8D6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 024F8D70 */ _t161 = cpu->r[6] + 0x00000088u;
|
|
/* 024F8D70 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[11]);
|
|
L_024F8D74: ; // 0x24f8d74
|
|
/* 024F8D74 */ _t162 = cpu->r[29] + 0x0000029Cu;
|
|
/* 024F8D74 */ cpu->r[5] = rbrew_read8(cpu->mem, _t162);
|
|
/* 024F8D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 024F8D7C */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8D7C */ _t164 = _t163 & 0x00000001u;
|
|
/* 024F8D7C */ if (_t164) goto L_024F8DA0; else goto L_024F8D80;
|
|
L_024F8D80: ; // 0x24f8d80
|
|
/* 024F8D80 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8D84 */ cpu->r[4] = cpu->r[28];
|
|
/* 024F8D88 */ Gambit_fn_024F8544(cpu);
|
|
/* 024F8D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F8D90 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8D90 */ _t166 = _t165 & 0x00000001u;
|
|
/* 024F8D90 */ if (_t166) goto L_024F8DA0; else goto L_024F8D94;
|
|
L_024F8D94: ; // 0x24f8d94
|
|
/* 024F8D94 */ _t167 = cpu->r[29] + 0x000002A4u;
|
|
/* 024F8D94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 024F8D98 */ cpu->r[3] = cpu->r[29];
|
|
/* 024F8D9C */ Gambit_fn_02040B98(cpu);
|
|
L_024F8DA0: ; // 0x24f8da0
|
|
/* 024F8DA0 */ _t168 = cpu->r[29] + 0x00000299u;
|
|
/* 024F8DA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t168);
|
|
/* 024F8DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024F8DA8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F8DA8 */ _t170 = _t169 & 0x00000001u;
|
|
/* 024F8DA8 */ if (_t170) goto L_024F8DF0; else goto L_024F8DAC;
|
|
L_024F8DAC: ; // 0x24f8dac
|
|
/* 024F8DAC */ /* nop */
|
|
/* 024F8DB0 */ /* nop */
|
|
/* 024F8DB4 */ _t171 = cpu->r[30] + 0x00000008u;
|
|
/* 024F8DB4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 024F8DB8 */ /* nop */
|
|
/* 024F8DBC */ _t172 = cpu->r[1] + 0x00000014u;
|
|
/* 024F8DBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 024F8DC0 */ _t173 = cpu->r[29] + 0x000001A8u;
|
|
/* 024F8DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t173);
|
|
/* 024F8DC4 */ cpu->f[9] = cpu->f[11] - cpu->f[0];
|
|
/* 024F8DC8 */ /* nop */
|
|
/* 024F8DCC */ _t174 = cpu->r[1] + 0x00000040u;
|
|
/* 024F8DCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t174);
|
|
/* 024F8DD0 */ _t175 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024F8DD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t175);
|
|
/* 024F8DD4 */ _t176 = cpu->r[1] + 0x00000044u;
|
|
/* 024F8DD4 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[9]);
|
|
/* 024F8DD8 */ _t177 = cpu->r[1] + 0x00000044u;
|
|
/* 024F8DD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t177);
|
|
/* 024F8DDC */ _t178 = cpu->r[1] + 0x0000007Cu;
|
|
/* 024F8DDC */ rbrew_write32(cpu->mem, _t178, cpu->r[8]);
|
|
/* 024F8DE0 */ _t179 = cpu->r[1] + 0x00000078u;
|
|
/* 024F8DE0 */ rbrew_write32(cpu->mem, _t179, cpu->r[7]);
|
|
/* 024F8DE4 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 024F8DE8 */ _t180 = cpu->r[1] + 0x00000080u;
|
|
/* 024F8DE8 */ rbrew_write32(cpu->mem, _t180, cpu->r[9]);
|
|
/* 024F8DEC */ Gambit_fn_02043510(cpu);
|
|
L_024F8DF0: ; // 0x24f8df0
|
|
/* 024F8DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024F8DF4 */ /* nop */
|
|
/* 024F8DF8 */ _t181 = cpu->r[1] + 0x000000B8u;
|
|
/* 024F8DF8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 024F8DFC */ _t182 = cpu->r[1] + 0x000000D8u;
|
|
/* 024F8DFC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 024F8E00 */ _t183 = cpu->r[1] + 0x000000B0u;
|
|
/* 024F8E00 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t183);
|
|
/* 024F8E04 */ _t184 = cpu->r[1] + 0x000000C8u;
|
|
/* 024F8E04 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 024F8E08 */ _t185 = cpu->r[1] + 0x000000D0u;
|
|
/* 024F8E08 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t185);
|
|
/* 024F8E0C */ _t186 = cpu->r[1] + 0x000000C0u;
|
|
/* 024F8E0C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t186);
|
|
/* 024F8E10 */ _t187 = cpu->r[1] + 0x000000A8u;
|
|
/* 024F8E10 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 024F8E14 */ _t188 = cpu->r[1] + 0x000000E8u;
|
|
/* 024F8E14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t188);
|
|
/* 024F8E18 */ _t189 = cpu->r[1] + 0x000000A0u;
|
|
/* 024F8E18 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t189);
|
|
/* 024F8E1C */ _t190 = cpu->r[1] + 0x000000E0u;
|
|
/* 024F8E1C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t190);
|
|
/* 024F8E20 */ _t191 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F8E20 */ _t192 = _t191 & 0x00000001u;
|
|
/* 024F8E20 */ if (_t192) goto L_024F8E24; // else: addr-0 trap, fall-through
|
|
L_024F8E24: ; // 0x24f8e24
|
|
/* 024F8E24 */ _t193 = cpu->r[1] + 0x000000F4u;
|
|
/* 024F8E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t193);
|
|
/* 024F8E28 */ cpu->lr = cpu->r[0];
|
|
/* 024F8E2C */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 024F8E30 */ return;
|
|
L_02573174: ; // 0x2573174
|
|
/* 02573174 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02573174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573178 */ cpu->r[0] = 0x00000000u;
|
|
/* 0257317C */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257317C */ _t195 = _t194 & 0x00000001u;
|
|
/* 0257317C */ if (_t195) goto L_02573180; else goto L_02573184;
|
|
L_02573180: ; // 0x2573180
|
|
/* 02573180 */ goto L_024F89B0;
|
|
L_02573184: ; // 0x2573184
|
|
/* 02573184 */ cpu->r[3] = cpu->r[0];
|
|
/* 02573188 */ return;
|
|
}
|
|
|
|
// fn_0257318C @ 0x257318c
|
|
void Gambit_fn_0257318C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0257318C: ; // 0x257318c
|
|
/* 0257318C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0257318C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257318C */ cpu->r[1] = _t0;
|
|
/* 02573190 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02573190 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02573194 */ /* nop */
|
|
/* 02573198 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02573198 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0257319C */ /* nop */
|
|
/* 025731A0 */ /* nop */
|
|
/* 025731A4 */ cpu->r[0] = cpu->lr;
|
|
/* 025731A8 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 025731A8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 025731AC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 025731AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 025731B0 */ /* nop */
|
|
/* 025731B4 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 025731B4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 025731B8 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 025731B8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 025731BC */ /* nop */
|
|
/* 025731C0 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 025731C0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 025731C4 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 025731C8 */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 025731C8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 025731CC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 025731D0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 025731D4 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025731D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 025731D8 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 025731DC */ _t10 = cpu->r[7] + 0xFFFFB234u;
|
|
/* 025731DC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 025731DC */ cpu->r[7] = _t10;
|
|
/* 025731E0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 025731E4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 025731E8 */ _t11 = cpu->r[5] + 0xFFFFB23Cu;
|
|
/* 025731E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 025731E8 */ cpu->r[5] = _t11;
|
|
/* 025731EC */ cpu->r[10] = cpu->r[10] + 0xFFFFB24Cu;
|
|
/* 025731F0 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 025731F0 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 025731F4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 025731F8 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 025731F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 025731FC */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 02573200 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 02573200 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02573204 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02573208 */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 02573208 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0257320C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02573210 */ _t16 = cpu->r[12] + 0xFFFFB244u;
|
|
/* 02573210 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02573210 */ cpu->r[12] = _t16;
|
|
/* 02573214 */ cpu->r[11] = 0x00000002u;
|
|
/* 02573218 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02573218 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0257321C */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 0257321C */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02573220 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02573220 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02573224 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02573224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02573228 */ _t21 = cpu->r[31] + 0xFFFFB260u;
|
|
/* 02573228 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02573228 */ cpu->r[31] = _t21;
|
|
/* 0257322C */ cpu->r[0] = 0x00000004u;
|
|
/* 02573230 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02573230 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 02573234 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02573238 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02573238 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0257323C */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 0257323C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0257323C */ cpu->r[12] = _t24;
|
|
/* 02573240 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 02573240 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02573244 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 02573244 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02573248 */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 02573248 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 0257324C */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0257324C */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 02573250 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02573250 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 02573254 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 02573254 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 02573258 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0257325C */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 0257325C */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02573260 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02573264 */ _t32 = cpu->r[7] + 0xFFFFB25Cu;
|
|
/* 02573264 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02573268 */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 02573268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02573268 */ cpu->r[6] = _t33;
|
|
/* 0257326C */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 0257326C */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 02573270 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 02573270 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 02573274 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02573278 */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02573278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0257327C */ _t37 = cpu->r[5] + 0xFFFFB254u;
|
|
/* 0257327C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 0257327C */ cpu->r[5] = _t37;
|
|
/* 02573280 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 02573280 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 02573284 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 02573284 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 02573288 */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 02573288 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0257328C */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0257328C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02573290 */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 02573290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02573294 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 02573294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02573298 */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02573298 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 0257329C */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 0257329C */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 025732A0 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 025732A0 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 025732A4 */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025732A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 025732A8 */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 025732A8 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 025732AC */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 025732AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025732B0 */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 025732B0 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 025732B4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025732B8 */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 025732B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 025732BC */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 025732BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025732BC */ cpu->r[11] = _t52;
|
|
/* 025732C0 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 025732C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025732C4 */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 025732C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 025732C8 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 025732C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 025732CC */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 025732CC */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 025732D0 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 025732D0 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 025732D4 */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 025732D4 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 025732D8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 025732DC */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 025732DC */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 025732E0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 025732E4 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 025732E4 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 025732E8 */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 025732EC */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 025732EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 025732EC */ cpu->r[12] = _t61;
|
|
/* 025732F0 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 025732F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 025732F4 */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 025732F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025732F8 */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 025732F8 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 025732FC */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 025732FC */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02573300 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 02573300 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 02573304 */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 02573304 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 02573308 */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 02573308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0257330C */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0257330C */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02573310 */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 02573310 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 02573314 */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02573314 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 02573318 */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02573318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0257331C */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0257331C */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 02573320 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02573320 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02573324 */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 02573324 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 02573328 */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 02573328 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 0257332C */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 0257332C */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 02573330 */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 02573330 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 02573334 */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 02573334 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02573338 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0257333C */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0257333C */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 02573340 */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 02573340 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02573340 */ cpu->r[10] = _t81;
|
|
/* 02573344 */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 02573344 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02573348 */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 02573348 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 0257334C */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 0257334C */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 02573350 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 02573350 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 02573354 */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 02573354 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 02573358 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0257335C */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 0257335C */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02573360 */ _t88 = cpu->r[12] + 0xFFFFEC5Cu;
|
|
/* 02573360 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02573364 */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 02573364 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 02573368 */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 02573368 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 0257336C */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 0257336C */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 02573370 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02573370 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 02573374 */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 02573374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02573378 */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 02573378 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 0257337C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573380 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 02573380 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 02573384 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 02573388 */ _t96 = cpu->r[12] + 0xFFFFEC90u;
|
|
/* 02573388 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0257338C */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 0257338C */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 02573390 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573394 */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 02573394 */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 02573398 */ _t99 = cpu->r[12] + 0xFFFFEC8Cu;
|
|
/* 02573398 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 0257339C */ cpu->r[11] = 0x100D0000u;
|
|
/* 025733A0 */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 025733A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 025733A4 */ _t101 = cpu->r[11] + 0xFFFFEC94u;
|
|
/* 025733A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 025733A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 025733AC */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 025733AC */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 025733B0 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025733B0 */ _t104 = _t103 & 0x00000001u;
|
|
/* 025733B0 */ if (_t104) goto L_025733B4; else goto L_025733C4;
|
|
L_025733B4: ; // 0x25733b4
|
|
/* 025733B4 */ cpu->r[3] = 0x00000010u;
|
|
/* 025733B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025733BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025733C0 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025733C0 */ _t106 = _t105 & 0x00000001u;
|
|
/* 025733C0 */ if (_t106) goto L_025733D4; else goto L_025733C4;
|
|
L_025733C4: ; // 0x25733c4
|
|
/* 025733C4 */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 025733C4 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 025733C8 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 025733C8 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 025733CC */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 025733CC */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 025733D0 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025733D0 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_025733D4: ; // 0x25733d4
|
|
/* 025733D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 025733D8 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 025733DC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025733DC */ _t112 = _t111 & 0x00000001u;
|
|
/* 025733DC */ if (_t112) goto L_025733E0; else goto L_025733F0;
|
|
L_025733E0: ; // 0x25733e0
|
|
/* 025733E0 */ cpu->r[3] = 0x00000010u;
|
|
/* 025733E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025733E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025733EC */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025733EC */ _t114 = _t113 & 0x00000001u;
|
|
/* 025733EC */ if (_t114) goto L_02573400; else goto L_025733F0;
|
|
L_025733F0: ; // 0x25733f0
|
|
/* 025733F0 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 025733F0 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 025733F4 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 025733F4 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 025733F8 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 025733F8 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 025733FC */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025733FC */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_02573400: ; // 0x2573400
|
|
/* 02573400 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02573404 */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 02573408 */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 02573408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0257340C */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 0257340C */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02573410 */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 02573410 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 02573414 */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 02573414 */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 02573418 */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02573418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0257341C */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 0257341C */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02573420 */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 02573420 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02573424 */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 02573424 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 02573428 */ /* nop */
|
|
/* 0257342C */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 0257342C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02573430 */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 02573430 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02573434 */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 02573434 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 02573438 */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 02573438 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 0257343C */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 0257343C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02573440 */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 02573440 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 02573444 */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 02573444 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 02573448 */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 02573448 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 0257344C */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257344C */ _t136 = _t135 & 0x00000001u;
|
|
/* 0257344C */ if (_t136) goto L_02573450; // else: addr-0 trap, fall-through
|
|
L_02573450: ; // 0x2573450
|
|
/* 02573450 */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02573450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02573454 */ cpu->lr = cpu->r[0];
|
|
/* 02573458 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0257345C */ return;
|
|
}
|
|
|
|
// fn_02573460 @ 0x2573460
|
|
void Gambit_fn_02573460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02573460: ; // 0x2573460
|
|
/* 02573460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02573464 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573464 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02573464 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573464 */ goto L_02573468;
|
|
L_02573468: ; // 0x2573468
|
|
/* 02573468 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257346C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257346C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0257346C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257346C */ goto L_02573470;
|
|
L_02573470: ; // 0x2573470
|
|
/* 02573470 */ 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_02573474 @ 0x2573474
|
|
void Gambit_fn_02573474(CPUState* cpu) {
|
|
L_02573474: ; // 0x2573474
|
|
/* 02573474 */ return;
|
|
}
|
|
|
|
// fn_02573478 @ 0x2573478
|
|
void Gambit_fn_02573478(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02573478: ; // 0x2573478
|
|
/* 02573478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257347C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257347C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0257347C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257347C */ goto L_02573480;
|
|
L_02573480: ; // 0x2573480
|
|
/* 02573480 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02573484 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573484 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02573484 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573484 */ goto L_02573488;
|
|
L_02573488: ; // 0x2573488
|
|
/* 02573488 */ 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_0257348C @ 0x257348c
|
|
void Gambit_fn_0257348C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0257348C: ; // 0x257348c
|
|
/* 0257348C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0257348C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573490 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02573490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573494 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02573498 */ cpu->r[11] = 0x10110000u;
|
|
/* 0257349C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0257349C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025734A0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025734A0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 025734A4 */ return;
|
|
}
|
|
|
|
// fn_025734A8 @ 0x25734a8
|
|
void Gambit_fn_025734A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025734A8: ; // 0x25734a8
|
|
/* 025734A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025734AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025734AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025734AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025734AC */ goto L_025734B0;
|
|
L_025734B0: ; // 0x25734b0
|
|
/* 025734B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025734B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025734B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025734B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025734B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025734B4 */ goto L_025734B8;
|
|
L_025734B8: ; // 0x25734b8
|
|
/* 025734B8 */ 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_025734BC @ 0x25734bc
|
|
void Gambit_fn_025734BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025734BC: ; // 0x25734bc
|
|
/* 025734BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025734C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025734C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025734C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025734C0 */ goto L_025734C4;
|
|
L_025734C4: ; // 0x25734c4
|
|
/* 025734C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025734C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025734C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025734C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025734C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025734C8 */ goto L_025734CC;
|
|
L_025734CC: ; // 0x25734cc
|
|
/* 025734CC */ 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_025734D0 @ 0x25734d0
|
|
void Gambit_fn_025734D0(CPUState* cpu) {
|
|
L_025734D0: ; // 0x25734d0
|
|
/* 025734D0 */ return;
|
|
}
|
|
|
|
// fn_025734D4 @ 0x25734d4
|
|
void Gambit_fn_025734D4(CPUState* cpu) {
|
|
L_025734D4: ; // 0x25734d4
|
|
/* 025734D4 */ return;
|
|
}
|
|
|
|
// fn_025734D8 @ 0x25734d8
|
|
void Gambit_fn_025734D8(CPUState* cpu) {
|
|
L_025734D8: ; // 0x25734d8
|
|
/* 025734D8 */ return;
|
|
}
|
|
|
|
// fn_025734DC @ 0x25734dc
|
|
void Gambit_fn_025734DC(CPUState* cpu) {
|
|
L_025734DC: ; // 0x25734dc
|
|
/* 025734DC */ return;
|
|
}
|
|
|
|
// fn_025734E0 @ 0x25734e0
|
|
void Gambit_fn_025734E0(CPUState* cpu) {
|
|
L_025734E0: ; // 0x25734e0
|
|
/* 025734E0 */ return;
|
|
}
|
|
|
|
// fn_025734E4 @ 0x25734e4
|
|
void Gambit_fn_025734E4(CPUState* cpu) {
|
|
L_025734E4: ; // 0x25734e4
|
|
/* 025734E4 */ return;
|
|
}
|
|
|
|
// fn_025734E8 @ 0x25734e8
|
|
void Gambit_fn_025734E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025734E8: ; // 0x25734e8
|
|
/* 025734E8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025734E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025734EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025734F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025734F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025734F0 */ if (_t2) goto L_025734FC; else goto L_025734F4;
|
|
L_025734F4: ; // 0x25734f4
|
|
/* 025734F4 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 025734F8 */ return;
|
|
L_025734FC: ; // 0x25734fc
|
|
/* 025734FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02573500 */ return;
|
|
}
|
|
|
|
// fn_02573504 @ 0x2573504
|
|
void Gambit_fn_02573504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02573504: ; // 0x2573504
|
|
/* 02573504 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02573504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257350C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257350C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257350C */ if (_t2) goto L_02573518; else goto L_02573510;
|
|
L_02573510: ; // 0x2573510
|
|
/* 02573510 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02573514 */ return;
|
|
L_02573518: ; // 0x2573518
|
|
/* 02573518 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257351C */ return;
|
|
}
|
|
|
|
// fn_02573520 @ 0x2573520
|
|
void Gambit_fn_02573520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573520: ; // 0x2573520
|
|
/* 02573520 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573524 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573528 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573528 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573528 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573528 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573528 */ goto L_0257352C;
|
|
L_0257352C: ; // 0x257352c
|
|
/* 0257352C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0257352C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573530 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02573530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573534 */ cpu->ctr = cpu->r[0];
|
|
/* 02573538 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0257353C @ 0x257353c
|
|
void Gambit_fn_0257353C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0257353C: ; // 0x257353c
|
|
/* 0257353C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0257353C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573540 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573544 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573544 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573544 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573544 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573544 */ goto L_02573548;
|
|
L_02573548: ; // 0x2573548
|
|
/* 02573548 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02573548 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257354C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0257354C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573550 */ cpu->ctr = cpu->r[0];
|
|
/* 02573554 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573558 @ 0x2573558
|
|
void Gambit_fn_02573558(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573558: ; // 0x2573558
|
|
/* 02573558 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257355C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257355C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573560 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573560 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573560 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573560 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573560 */ goto L_02573564;
|
|
L_02573564: ; // 0x2573564
|
|
/* 02573564 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02573564 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573568 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02573568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257356C */ cpu->ctr = cpu->r[0];
|
|
/* 02573570 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573574 @ 0x2573574
|
|
void Gambit_fn_02573574(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573574: ; // 0x2573574
|
|
/* 02573574 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573578 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02573578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257357C */ cpu->ctr = cpu->r[0];
|
|
/* 02573580 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573584 @ 0x2573584
|
|
void Gambit_fn_02573584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02573584: ; // 0x2573584
|
|
/* 02573584 */ cpu->r[0] = cpu->lr;
|
|
/* 02573588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573588 */ cpu->r[1] = _t0;
|
|
/* 0257358C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257358C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573590 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573594 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573594 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573598 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257359C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025735A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025735A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025735A0 */ if (_t5) goto L_025735A4; else goto L_025735C0;
|
|
L_025735A4: ; // 0x25735a4
|
|
/* 025735A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025735A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025735A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025735A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025735AC */ cpu->ctr = cpu->r[0];
|
|
/* 025735B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025735B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025735B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 025735BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025735BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025735C0: ; // 0x25735c0
|
|
/* 025735C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025735C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025735C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025735C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025735C8 */ cpu->lr = cpu->r[0];
|
|
/* 025735CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025735D0 */ return;
|
|
}
|
|
|
|
// fn_02573588 @ 0x2573588
|
|
void Gambit_fn_02573588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02573588: ; // 0x2573588
|
|
/* 02573588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573588 */ cpu->r[1] = _t0;
|
|
/* 0257358C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257358C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573590 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573594 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573594 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573598 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257359C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 025735A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025735A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025735A0 */ if (_t5) goto L_025735A4; else goto L_025735C0;
|
|
L_025735A4: ; // 0x25735a4
|
|
/* 025735A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 025735A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025735A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 025735A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025735AC */ cpu->ctr = cpu->r[0];
|
|
/* 025735B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025735B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025735B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 025735BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025735BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_025735C0: ; // 0x25735c0
|
|
/* 025735C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025735C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025735C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025735C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025735C8 */ cpu->lr = cpu->r[0];
|
|
/* 025735CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025735D0 */ return;
|
|
}
|
|
|
|
// fn_025735D4 @ 0x25735d4
|
|
void Gambit_fn_025735D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025735D4: ; // 0x25735d4
|
|
/* 025735D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025735D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025735D8 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 025735D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025735DC */ cpu->ctr = cpu->r[0];
|
|
/* 025735E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025735E4 @ 0x25735e4
|
|
void Gambit_fn_025735E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025735E4: ; // 0x25735e4
|
|
/* 025735E4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025735E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025735E8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025735E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025735EC */ cpu->ctr = cpu->r[0];
|
|
/* 025735F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025735F4 @ 0x25735f4
|
|
void Gambit_fn_025735F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025735F4: ; // 0x25735f4
|
|
/* 025735F4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025735F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025735F8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025735F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025735FC */ cpu->ctr = cpu->r[0];
|
|
/* 02573600 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573604 @ 0x2573604
|
|
void Gambit_fn_02573604(CPUState* cpu) {
|
|
L_02573604: ; // 0x2573604
|
|
/* 02573604 */ cpu->r[3] = 0x00000001u;
|
|
/* 02573608 */ return;
|
|
}
|
|
|
|
// fn_0257360C @ 0x257360c
|
|
void Gambit_fn_0257360C(CPUState* cpu) {
|
|
L_0257360C: ; // 0x257360c
|
|
/* 0257360C */ return;
|
|
}
|
|
|
|
// fn_02573610 @ 0x2573610
|
|
void Gambit_fn_02573610(CPUState* cpu) {
|
|
L_02573610: ; // 0x2573610
|
|
/* 02573610 */ return;
|
|
}
|
|
|
|
// fn_02573614 @ 0x2573614
|
|
void Gambit_fn_02573614(CPUState* cpu) {
|
|
L_02573614: ; // 0x2573614
|
|
/* 02573614 */ return;
|
|
}
|
|
|
|
// fn_02573618 @ 0x2573618
|
|
void Gambit_fn_02573618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02573618: ; // 0x2573618
|
|
/* 02573618 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02573618 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0257361C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 0257361C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02573620 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02573620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02573624 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02573624 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02573628 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02573628 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0257362C */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0257362C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02573630 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02573630 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02573634 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02573634 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02573638 */ _t8 = cpu->r[4] + 0x00000010u;
|
|
/* 02573638 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0257363C */ _t9 = cpu->r[3] + 0x00000014u;
|
|
/* 0257363C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02573640 */ _t10 = cpu->r[4] + 0x00000014u;
|
|
/* 02573640 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02573644 */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02573644 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02573648 */ _t12 = cpu->r[4] + 0x00000018u;
|
|
/* 02573648 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0257364C */ _t13 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0257364C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02573650 */ _t14 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02573650 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02573654 */ _t15 = cpu->r[3] + 0x00000020u;
|
|
/* 02573654 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02573658 */ _t16 = cpu->r[4] + 0x00000020u;
|
|
/* 02573658 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0257365C */ _t17 = cpu->r[3] + 0x00000024u;
|
|
/* 0257365C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02573660 */ _t18 = cpu->r[4] + 0x00000024u;
|
|
/* 02573660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02573664 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02573664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02573668 */ _t20 = cpu->r[3] + 0x00000028u;
|
|
/* 02573668 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0257366C */ _t21 = cpu->r[4] + 0x00000028u;
|
|
/* 0257366C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02573670 */ cpu->r[0] = cpu->r[0] | 0x00000006u;
|
|
/* 02573674 */ _t22 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02573674 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02573678 */ _t23 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02573678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0257367C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0257367C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02573680 */ _t25 = cpu->r[3] + 0x00000030u;
|
|
/* 02573680 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02573684 */ return;
|
|
}
|
|
|
|
// fn_02573688 @ 0x2573688
|
|
void Gambit_fn_02573688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02573688: ; // 0x2573688
|
|
/* 02573688 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02573688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0257368C */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0257368C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[13]);
|
|
/* 02573690 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02573690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02573694 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573698 */ _t3 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02573698 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0257369C */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 0257369C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025736A0 */ _t5 = cpu->r[12] + 0xFFFFEC14u;
|
|
/* 025736A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025736A4 */ _t6 = cpu->r[3] + 0x00000030u;
|
|
/* 025736A4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025736A8 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 025736A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025736AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025736B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025736B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025736B0 */ if (_t9) goto L_025736B4; else goto L_025736CC;
|
|
L_025736B4: ; // 0x25736b4
|
|
/* 025736B4 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 025736B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025736B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025736BC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025736BC */ _t12 = _t11 & 0x00000001u;
|
|
/* 025736BC */ if (_t12) goto L_025736C0; else goto L_025736CC;
|
|
L_025736C0: ; // 0x25736c0
|
|
/* 025736C0 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 025736C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025736C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025736C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025736C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 025736C8 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025736C8 */ goto L_025736CC;
|
|
L_025736CC: ; // 0x25736cc
|
|
/* 025736CC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 025736CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025736D0 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 025736D4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 025736D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 025736D8 */ return;
|
|
}
|
|
|
|
// fn_025736DC @ 0x25736dc
|
|
void Gambit_fn_025736DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025736DC: ; // 0x25736dc
|
|
/* 025736DC */ cpu->r[9] = 0x101D0000u;
|
|
/* 025736E0 */ _t0 = cpu->r[9] + 0xFFFFE270u;
|
|
/* 025736E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025736E0 */ cpu->r[9] = _t0;
|
|
/* 025736E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025736E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025736EC */ cpu->r[12] = cpu->r[12] + 0xFFFFE274u;
|
|
/* 025736F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025736F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025736F0 */ if (_t2) goto L_025736F4; else goto L_02573708;
|
|
L_025736F4: ; // 0x25736f4
|
|
/* 025736F4 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025736F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 025736FC */ cpu->r[7] = cpu->r[7] + 0xFFFFEBD8u;
|
|
/* 02573700 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02573700 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02573704 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02573704 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02573708: ; // 0x2573708
|
|
/* 02573708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0257370C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257370C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0257370C */ if (_t6) goto L_02573710; else goto L_02573718;
|
|
L_02573710: ; // 0x2573710
|
|
/* 02573710 */ cpu->r[3] = 0x00000001u;
|
|
/* 02573714 */ return;
|
|
L_02573718: ; // 0x2573718
|
|
/* 02573718 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0257371C */ _t7 = cpu->r[7] + 0xFFFFE268u;
|
|
/* 0257371C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257371C */ cpu->r[7] = _t7;
|
|
/* 02573720 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02573724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02573728 */ cpu->r[11] = cpu->r[11] + 0xFFFFE26Cu;
|
|
/* 0257372C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257372C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0257372C */ if (_t9) goto L_02573730; else goto L_02573744;
|
|
L_02573730: ; // 0x2573730
|
|
/* 02573730 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02573734 */ cpu->r[9] = 0x00000001u;
|
|
/* 02573738 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB38u;
|
|
/* 0257373C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0257373C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02573740 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02573740 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02573744: ; // 0x2573744
|
|
/* 02573744 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02573748 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0257374C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02573750 */ return;
|
|
}
|
|
|
|
// fn_02573754 @ 0x2573754
|
|
void Gambit_fn_02573754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573754: ; // 0x2573754
|
|
/* 02573754 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02573758 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02573758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573758 */ cpu->r[10] = _t0;
|
|
/* 0257375C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0257375C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02573760 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02573760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02573764 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02573764 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02573768 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02573768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257376C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0257376C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02573770 */ return;
|
|
}
|
|
|
|
// fn_02573774 @ 0x2573774
|
|
void Gambit_fn_02573774(CPUState* cpu) {
|
|
L_02573774: ; // 0x2573774
|
|
/* 02573774 */ return;
|
|
}
|
|
|
|
// fn_02573778 @ 0x2573778
|
|
void Gambit_fn_02573778(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02573778: ; // 0x2573778
|
|
/* 02573778 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02573778 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0257377C */ return;
|
|
}
|
|
|
|
// fn_02573780 @ 0x2573780
|
|
void Gambit_fn_02573780(CPUState* cpu) {
|
|
L_02573780: ; // 0x2573780
|
|
/* 02573780 */ cpu->r[3] = 0x00000001u;
|
|
/* 02573784 */ return;
|
|
}
|
|
|
|
// fn_02573788 @ 0x2573788
|
|
void Gambit_fn_02573788(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573788: ; // 0x2573788
|
|
/* 02573788 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257378C */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 0257378C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573790 */ cpu->ctr = cpu->r[0];
|
|
/* 02573794 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573798 @ 0x2573798
|
|
void Gambit_fn_02573798(CPUState* cpu) {
|
|
L_02573798: ; // 0x2573798
|
|
/* 02573798 */ return;
|
|
}
|
|
|
|
// fn_0257379C @ 0x257379c
|
|
void Gambit_fn_0257379C(CPUState* cpu) {
|
|
L_0257379C: ; // 0x257379c
|
|
/* 0257379C */ return;
|
|
}
|
|
|
|
// fn_025737A0 @ 0x25737a0
|
|
void Gambit_fn_025737A0(CPUState* cpu) {
|
|
L_025737A0: ; // 0x25737a0
|
|
/* 025737A0 */ return;
|
|
}
|
|
|
|
// fn_025737A4 @ 0x25737a4
|
|
void Gambit_fn_025737A4(CPUState* cpu) {
|
|
L_025737A4: ; // 0x25737a4
|
|
/* 025737A4 */ return;
|
|
}
|
|
|
|
// fn_025737A8 @ 0x25737a8
|
|
void Gambit_fn_025737A8(CPUState* cpu) {
|
|
L_025737A8: ; // 0x25737a8
|
|
/* 025737A8 */ return;
|
|
}
|
|
|
|
// fn_025737AC @ 0x25737ac
|
|
void Gambit_fn_025737AC(CPUState* cpu) {
|
|
L_025737AC: ; // 0x25737ac
|
|
/* 025737AC */ return;
|
|
}
|
|
|
|
// fn_025737B0 @ 0x25737b0
|
|
void Gambit_fn_025737B0(CPUState* cpu) {
|
|
L_025737B0: ; // 0x25737b0
|
|
/* 025737B0 */ return;
|
|
}
|
|
|
|
// fn_025737B4 @ 0x25737b4
|
|
void Gambit_fn_025737B4(CPUState* cpu) {
|
|
L_025737B4: ; // 0x25737b4
|
|
/* 025737B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025737B8 */ return;
|
|
}
|
|
|
|
// fn_025737BC @ 0x25737bc
|
|
void Gambit_fn_025737BC(CPUState* cpu) {
|
|
L_025737BC: ; // 0x25737bc
|
|
/* 025737BC */ return;
|
|
}
|
|
|
|
// fn_025737C0 @ 0x25737c0
|
|
void Gambit_fn_025737C0(CPUState* cpu) {
|
|
L_025737C0: ; // 0x25737c0
|
|
/* 025737C0 */ return;
|
|
}
|
|
|
|
// fn_025737C4 @ 0x25737c4
|
|
void Gambit_fn_025737C4(CPUState* cpu) {
|
|
L_025737C4: ; // 0x25737c4
|
|
/* 025737C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 025737C8 */ return;
|
|
}
|
|
|
|
// fn_025737CC @ 0x25737cc
|
|
void Gambit_fn_025737CC(CPUState* cpu) {
|
|
L_025737CC: ; // 0x25737cc
|
|
/* 025737CC */ cpu->r[3] = 0x00000000u;
|
|
/* 025737D0 */ return;
|
|
}
|
|
|
|
// fn_025737D4 @ 0x25737d4
|
|
void Gambit_fn_025737D4(CPUState* cpu) {
|
|
L_025737D4: ; // 0x25737d4
|
|
/* 025737D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025737D8 */ return;
|
|
}
|
|
|
|
// fn_025737DC @ 0x25737dc
|
|
void Gambit_fn_025737DC(CPUState* cpu) {
|
|
L_025737DC: ; // 0x25737dc
|
|
/* 025737DC */ cpu->r[3] = 0x00000000u;
|
|
/* 025737E0 */ return;
|
|
}
|
|
|
|
// fn_025737E4 @ 0x25737e4
|
|
void Gambit_fn_025737E4(CPUState* cpu) {
|
|
L_025737E4: ; // 0x25737e4
|
|
/* 025737E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025737E8 */ return;
|
|
}
|
|
|
|
// fn_025737EC @ 0x25737ec
|
|
void Gambit_fn_025737EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025737EC: ; // 0x25737ec
|
|
/* 025737EC */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 025737EC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025737F0 */ return;
|
|
}
|
|
|
|
// fn_025737F4 @ 0x25737f4
|
|
void Gambit_fn_025737F4(CPUState* cpu) {
|
|
L_025737F4: ; // 0x25737f4
|
|
/* 025737F4 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025737F8 */ cpu->r[3] = cpu->r[3] + 0xFFFFEC08u;
|
|
/* 025737FC */ return;
|
|
}
|
|
|
|
// fn_02573800 @ 0x2573800
|
|
void Gambit_fn_02573800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02573800: ; // 0x2573800
|
|
/* 02573800 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02573804 */ _t0 = cpu->r[10] + 0xFFFFEB28u;
|
|
/* 02573804 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0257380C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02573810 */ cpu->r[10] = cpu->r[10] + 0x00000074u;
|
|
/* 02573814 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573814 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573814 */ if (_t2) goto L_02573818; else goto L_02573830;
|
|
L_02573818: ; // 0x2573818
|
|
/* 02573818 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0257381C */ cpu->r[9] = 0x00000001u;
|
|
/* 02573820 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02573824 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBE8u;
|
|
/* 02573828 */ _t3 = cpu->r[11] + 0xFFFFEB28u;
|
|
/* 02573828 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0257382C */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0257382C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02573830: ; // 0x2573830
|
|
/* 02573830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02573834 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573834 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02573834 */ if (_t6) goto L_02573838; else goto L_02573840;
|
|
L_02573838: ; // 0x2573838
|
|
/* 02573838 */ cpu->r[3] = 0x00000001u;
|
|
/* 0257383C */ return;
|
|
L_02573840: ; // 0x2573840
|
|
/* 02573840 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02573844 */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 02573844 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573848 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0257384C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02573850 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 02573854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573854 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02573854 */ if (_t9) goto L_02573858; else goto L_02573870;
|
|
L_02573858: ; // 0x2573858
|
|
/* 02573858 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257385C */ cpu->r[0] = 0x00000001u;
|
|
/* 02573860 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02573864 */ cpu->r[9] = cpu->r[9] + 0xFFFFEBC8u;
|
|
/* 02573868 */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 02573868 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0257386C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0257386C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_02573870: ; // 0x2573870
|
|
/* 02573870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02573874 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573874 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02573874 */ if (_t13) goto L_02573878; else goto L_02573880;
|
|
L_02573878: ; // 0x2573878
|
|
/* 02573878 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257387C */ goto L_02573938;
|
|
L_02573880: ; // 0x2573880
|
|
/* 02573880 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02573884 */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02573884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02573888 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0257388C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02573890 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 02573894 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573894 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02573894 */ if (_t16) goto L_02573898; else goto L_025738B0;
|
|
L_02573898: ; // 0x2573898
|
|
/* 02573898 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0257389C */ cpu->r[10] = 0x00000001u;
|
|
/* 025738A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025738A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFEBB8u;
|
|
/* 025738A8 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 025738A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 025738AC */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 025738AC */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_025738B0: ; // 0x25738b0
|
|
/* 025738B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 025738B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025738B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 025738B4 */ if (_t20) goto L_025738B8; else goto L_025738C0;
|
|
L_025738B8: ; // 0x25738b8
|
|
/* 025738B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 025738BC */ goto L_02573934;
|
|
L_025738C0: ; // 0x25738c0
|
|
/* 025738C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025738C4 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 025738C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025738C4 */ cpu->r[9] = _t21;
|
|
/* 025738C8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025738CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025738D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 025738D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025738D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025738D4 */ if (_t23) goto L_025738D8; else goto L_025738EC;
|
|
L_025738D8: ; // 0x25738d8
|
|
/* 025738D8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025738DC */ cpu->r[11] = 0x00000001u;
|
|
/* 025738E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBA8u;
|
|
/* 025738E4 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 025738E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 025738E8 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 025738E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_025738EC: ; // 0x25738ec
|
|
/* 025738EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 025738F0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025738F0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025738F0 */ if (_t27) goto L_025738F4; else goto L_025738FC;
|
|
L_025738F4: ; // 0x25738f4
|
|
/* 025738F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025738F8 */ goto L_02573934;
|
|
L_025738FC: ; // 0x25738fc
|
|
/* 025738FC */ cpu->r[10] = 0x101D0000u;
|
|
/* 02573900 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02573900 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02573900 */ cpu->r[10] = _t28;
|
|
/* 02573904 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02573908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0257390C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02573910 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573910 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02573910 */ if (_t30) goto L_02573914; else goto L_02573928;
|
|
L_02573914: ; // 0x2573914
|
|
/* 02573914 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02573918 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257391C */ cpu->r[9] = cpu->r[9] + 0xFFFFEB38u;
|
|
/* 02573920 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02573920 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02573924 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02573924 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_02573928: ; // 0x2573928
|
|
/* 02573928 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0257392C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02573930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02573934: ; // 0x2573934
|
|
/* 02573934 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02573938: ; // 0x2573938
|
|
/* 02573938 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0257393C */ return;
|
|
}
|
|
|
|
// fn_02573948 @ 0x2573948
|
|
void Gambit_fn_02573948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020621E4: ; // 0x20621e4
|
|
/* 020621E4 */ cpu->r[0] = cpu->lr;
|
|
/* 020621E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020621E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020621E8 */ cpu->r[1] = _t0;
|
|
/* 020621EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020621EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020621F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020621F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020621F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020621F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 020621F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020621FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02062200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02062204 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02062204 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02062208 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062208 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02062208 */ if (_t6) goto L_02062230; else goto L_0206220C;
|
|
L_0206220C: ; // 0x206220c
|
|
/* 0206220C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0206220C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02062210 */ /* nop */
|
|
/* 02062214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02062218 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062218 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02062218 */ if (_t9) goto L_0206221C; else goto L_02062230;
|
|
L_0206221C: ; // 0x206221c
|
|
/* 0206221C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0206221C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02062220 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02062220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02062224 */ cpu->ctr = cpu->r[0];
|
|
/* 02062228 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206222C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02062230: ; // 0x2062230
|
|
/* 02062230 */ cpu->r[3] = cpu->r[31];
|
|
/* 02062234 */ Gambit_fn_0206215C(cpu);
|
|
/* 02062238 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206223C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02062240 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02062240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02062244 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02062244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02062248 */ cpu->lr = cpu->r[0];
|
|
/* 0206224C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02062250 */ return;
|
|
L_02573948: ; // 0x2573948
|
|
/* 02573948 */ cpu->r[3] = cpu->r[3] + 0x000001D4u;
|
|
/* 0257394C */ goto L_020621E4;
|
|
}
|
|
|
|
// fn_02573950 @ 0x2573950
|
|
void Gambit_fn_02573950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573950: ; // 0x2573950
|
|
/* 02573950 */ cpu->r[0] = cpu->lr;
|
|
/* 02573954 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573954 */ cpu->r[1] = _t0;
|
|
/* 02573958 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573958 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257395C */ cpu->r[31] = cpu->r[3];
|
|
/* 02573960 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573960 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573964 */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 02573964 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02573968 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 0257396C */ /* nop */
|
|
/* 02573970 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02573974 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02573978 */ Gambit_fn_020620D4(cpu);
|
|
/* 0257397C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0257397C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573980 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573984 */ cpu->lr = cpu->r[0];
|
|
/* 02573988 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257398C */ return;
|
|
}
|
|
|
|
// fn_02573954 @ 0x2573954
|
|
void Gambit_fn_02573954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573954: ; // 0x2573954
|
|
/* 02573954 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573954 */ cpu->r[1] = _t0;
|
|
/* 02573958 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573958 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257395C */ cpu->r[31] = cpu->r[3];
|
|
/* 02573960 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573960 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573964 */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 02573964 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02573968 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 0257396C */ /* nop */
|
|
/* 02573970 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02573974 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02573978 */ Gambit_fn_020620D4(cpu);
|
|
/* 0257397C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0257397C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573980 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573984 */ cpu->lr = cpu->r[0];
|
|
/* 02573988 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257398C */ return;
|
|
}
|
|
|
|
// fn_02573990 @ 0x2573990
|
|
void Gambit_fn_02573990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02573990: ; // 0x2573990
|
|
/* 02573990 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02573990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573990 */ cpu->r[1] = _t0;
|
|
/* 02573994 */ /* nop */
|
|
/* 02573998 */ cpu->r[0] = cpu->lr;
|
|
/* 0257399C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0257399C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025739A0 */ cpu->r[29] = cpu->r[6];
|
|
/* 025739A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025739A8 */ cpu->r[30] = cpu->r[5];
|
|
/* 025739AC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 025739AC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025739B0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 025739B4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 025739B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 025739B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025739BC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025739BC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 025739C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025739C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025739C0 */ if (_t6) goto L_02573A04; else goto L_025739C4;
|
|
L_025739C4: ; // 0x25739c4
|
|
/* 025739C4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025739C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025739C8 */ Gambit_fn_02826F20(cpu);
|
|
/* 025739CC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025739CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025739D0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 025739D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025739D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025739D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 025739DC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025739E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025739E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025739E8 */ cpu->r[0] = cpu->r[27];
|
|
/* 025739EC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025739EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 025739EC */ if (_t11) goto L_025739F4; else goto L_025739F0;
|
|
L_025739F0: ; // 0x25739f0
|
|
/* 025739F0 */ cpu->r[0] = 0x00000001u;
|
|
L_025739F4: ; // 0x25739f4
|
|
/* 025739F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025739F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025739F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025739F8 */ if (_t13) goto L_02573A04; else goto L_025739FC;
|
|
L_025739FC: ; // 0x25739fc
|
|
/* 025739FC */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 025739FC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02573A00 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02573A00 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02573A04: ; // 0x2573a04
|
|
/* 02573A04 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02573A04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02573A08 */ cpu->r[0] = 0x00000000u;
|
|
/* 02573A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02573A10 */ cpu->r[12] = cpu->r[0];
|
|
/* 02573A14 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573A14 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02573A14 */ if (_t18) goto L_02573A18; else goto L_02573A3C;
|
|
L_02573A18: ; // 0x2573a18
|
|
/* 02573A18 */ cpu->ctr = cpu->r[7];
|
|
/* 02573A1C */ cpu->r[10] = 0x00000000u;
|
|
L_02573A20: ; // 0x2573a20
|
|
/* 02573A20 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02573A20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02573A24 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02573A24 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02573A28 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02573A2C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02573A2C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02573A30 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02573A34 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02573A34 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02573A38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02573A38 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02573A38 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02573A38 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02573A38 */ if (_t25) goto L_02573A20; else goto L_02573A3C;
|
|
L_02573A3C: ; // 0x2573a3c
|
|
/* 02573A3C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02573A3C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02573A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02573A44 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573A44 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02573A44 */ if (_t28) goto L_02573A88; else goto L_02573A48;
|
|
L_02573A48: ; // 0x2573a48
|
|
/* 02573A48 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02573A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02573A4C */ Gambit_fn_02826F20(cpu);
|
|
/* 02573A50 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02573A54 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02573A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02573A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02573A5C */ cpu->r[5] = 0x00000004u;
|
|
/* 02573A60 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02573A64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02573A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02573A6C */ cpu->r[11] = cpu->r[27];
|
|
/* 02573A70 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573A70 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02573A70 */ if (_t33) goto L_02573A78; else goto L_02573A74;
|
|
L_02573A74: ; // 0x2573a74
|
|
/* 02573A74 */ cpu->r[11] = 0x00000001u;
|
|
L_02573A78: ; // 0x2573a78
|
|
/* 02573A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02573A7C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573A7C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02573A7C */ if (_t35) goto L_02573A88; else goto L_02573A80;
|
|
L_02573A80: ; // 0x2573a80
|
|
/* 02573A80 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02573A80 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02573A84 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02573A84 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02573A88: ; // 0x2573a88
|
|
/* 02573A88 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02573A88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02573A8C */ cpu->r[0] = 0x00000000u;
|
|
/* 02573A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02573A94 */ cpu->r[12] = cpu->r[0];
|
|
/* 02573A98 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573A98 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02573A98 */ if (_t40) goto L_02573A9C; else goto L_02573AC0;
|
|
L_02573A9C: ; // 0x2573a9c
|
|
/* 02573A9C */ cpu->ctr = cpu->r[6];
|
|
/* 02573AA0 */ cpu->r[9] = 0x00000000u;
|
|
L_02573AA4: ; // 0x2573aa4
|
|
/* 02573AA4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02573AA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02573AA8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02573AA8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02573AAC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02573AB0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02573AB0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02573AB4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02573AB8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02573AB8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02573ABC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02573ABC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02573ABC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02573ABC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02573ABC */ if (_t47) goto L_02573AA4; else goto L_02573AC0;
|
|
L_02573AC0: ; // 0x2573ac0
|
|
/* 02573AC0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02573AC0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02573AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02573AC8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573AC8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02573AC8 */ if (_t50) goto L_02573B0C; else goto L_02573ACC;
|
|
L_02573ACC: ; // 0x2573acc
|
|
/* 02573ACC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02573ACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02573AD0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02573AD4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573AD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02573AD8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02573AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02573ADC */ cpu->ctr = cpu->r[0];
|
|
/* 02573AE0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02573AE4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02573AE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02573AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02573AF0 */ cpu->r[10] = cpu->r[27];
|
|
/* 02573AF4 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573AF4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02573AF4 */ if (_t55) goto L_02573AFC; else goto L_02573AF8;
|
|
L_02573AF8: ; // 0x2573af8
|
|
/* 02573AF8 */ cpu->r[10] = 0x00000001u;
|
|
L_02573AFC: ; // 0x2573afc
|
|
/* 02573AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02573B00 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573B00 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02573B00 */ if (_t57) goto L_02573B0C; else goto L_02573B04;
|
|
L_02573B04: ; // 0x2573b04
|
|
/* 02573B04 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02573B04 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02573B08 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02573B08 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02573B0C: ; // 0x2573b0c
|
|
/* 02573B0C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02573B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02573B10 */ cpu->r[0] = 0x00000000u;
|
|
/* 02573B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573B18 */ cpu->r[5] = cpu->r[0];
|
|
/* 02573B1C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573B1C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02573B1C */ if (_t62) goto L_02573B20; else goto L_02573B44;
|
|
L_02573B20: ; // 0x2573b20
|
|
/* 02573B20 */ cpu->ctr = cpu->r[12];
|
|
/* 02573B24 */ cpu->r[8] = 0x00000000u;
|
|
L_02573B28: ; // 0x2573b28
|
|
/* 02573B28 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02573B28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02573B2C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02573B2C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02573B30 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02573B34 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02573B34 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02573B38 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02573B3C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02573B3C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02573B40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02573B40 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02573B40 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02573B40 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02573B40 */ if (_t69) goto L_02573B28; else goto L_02573B44;
|
|
L_02573B44: ; // 0x2573b44
|
|
/* 02573B44 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02573B44 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02573B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02573B4C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573B4C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02573B4C */ if (_t72) goto L_02573C28; else goto L_02573B50;
|
|
L_02573B50: ; // 0x2573b50
|
|
/* 02573B50 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02573B50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02573B54 */ Gambit_fn_02826F20(cpu);
|
|
/* 02573B58 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02573B5C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02573B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02573B60 */ cpu->ctr = cpu->r[12];
|
|
/* 02573B64 */ cpu->r[5] = 0x00000004u;
|
|
/* 02573B68 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02573B6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02573B70 */ cpu->r[24] = cpu->r[3];
|
|
/* 02573B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02573B78 */ cpu->r[30] = cpu->r[25];
|
|
/* 02573B7C */ cpu->r[7] = 0x00000000u;
|
|
/* 02573B80 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02573B80 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02573B80 */ if (_t77) goto L_02573B88; else goto L_02573B84;
|
|
L_02573B84: ; // 0x2573b84
|
|
/* 02573B84 */ cpu->r[30] = 0x00000001u;
|
|
L_02573B88: ; // 0x2573b88
|
|
/* 02573B88 */ cpu->r[31] = 0x10110000u;
|
|
/* 02573B8C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02573B90 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02573B90 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02573B94 */ cpu->r[23] = 0x00000018u;
|
|
L_02573B98: ; // 0x2573b98
|
|
/* 02573B98 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02573B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02573B9C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573B9C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02573B9C */ if (_t80) goto L_02573C0C; else goto L_02573BA0;
|
|
L_02573BA0: ; // 0x2573ba0
|
|
/* 02573BA0 */ cpu->r[26] = cpu->r[27];
|
|
/* 02573BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02573BA4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573BA4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02573BA4 */ if (_t82) goto L_02573BA8; else goto L_02573BB8;
|
|
L_02573BA8: ; // 0x2573ba8
|
|
/* 02573BA8 */ cpu->r[3] = 0x00000024u;
|
|
/* 02573BAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02573BB0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02573BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02573BB4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573BB4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02573BB4 */ if (_t84) goto L_02573C00; else goto L_02573BB8;
|
|
L_02573BB8: ; // 0x2573bb8
|
|
/* 02573BB8 */ cpu->r[11] = cpu->r[26];
|
|
/* 02573BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02573BBC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573BBC */ _t86 = _t85 & 0x00000001u;
|
|
/* 02573BBC */ if (_t86) goto L_02573BC0; else goto L_02573BD0;
|
|
L_02573BC0: ; // 0x2573bc0
|
|
/* 02573BC0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02573BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02573BC8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02573BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02573BCC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573BCC */ _t88 = _t87 & 0x00000001u;
|
|
/* 02573BCC */ if (_t88) goto L_02573BEC; else goto L_02573BD0;
|
|
L_02573BD0: ; // 0x2573bd0
|
|
/* 02573BD0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02573BD4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02573BD4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02573BD8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02573BDC */ cpu->r[5] = cpu->r[5] + 0xFFFFEB60u;
|
|
/* 02573BE0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02573BE0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02573BE4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02573BE4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02573BE8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02573BE8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02573BEC: ; // 0x2573bec
|
|
/* 02573BEC */ cpu->r[6] = 0x100D0000u;
|
|
/* 02573BF0 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02573BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02573BF4 */ cpu->r[6] = cpu->r[6] + 0xFFFFEB78u;
|
|
/* 02573BF8 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02573BF8 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02573BFC */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02573BFC */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02573C00: ; // 0x2573c00
|
|
/* 02573C00 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02573C04 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB90u;
|
|
/* 02573C08 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02573C08 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02573C0C: ; // 0x2573c0c
|
|
/* 02573C0C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02573C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02573C10 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02573C14 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573C14 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02573C14 */ if (_t98) goto L_02573C18; else goto L_02573B98;
|
|
L_02573C18: ; // 0x2573c18
|
|
/* 02573C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02573C1C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573C1C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02573C1C */ if (_t100) goto L_02573C28; else goto L_02573C20;
|
|
L_02573C20: ; // 0x2573c20
|
|
/* 02573C20 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02573C20 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02573C24 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02573C24 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02573C28: ; // 0x2573c28
|
|
/* 02573C28 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02573C28 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02573C2C */ /* nop */
|
|
/* 02573C30 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02573C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02573C34 */ cpu->lr = cpu->r[0];
|
|
/* 02573C38 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02573C3C */ return;
|
|
}
|
|
|
|
// fn_02573C40 @ 0x2573c40
|
|
void Gambit_fn_02573C40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02573C40: ; // 0x2573c40
|
|
/* 02573C40 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02573C40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02573C44 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02573C44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573C48 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02573C48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02573C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02573C50 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02573C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02573C54 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02573C54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02573C54 */ if (_t5) goto L_02573C58; else goto L_02573C60;
|
|
L_02573C58: ; // 0x2573c58
|
|
/* 02573C58 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02573C5C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02573C60: ; // 0x2573c60
|
|
/* 02573C60 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02573C60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02573C64 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02573C64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573C68 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02573C68 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02573C6C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02573C6C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02573C70 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02573C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02573C74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02573C78 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02573C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02573C7C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02573C7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02573C7C */ if (_t13) goto L_02573C80; else goto L_02573C88;
|
|
L_02573C80: ; // 0x2573c80
|
|
/* 02573C80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02573C84 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02573C88: ; // 0x2573c88
|
|
/* 02573C88 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02573C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02573C8C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02573C8C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02573C90 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02573C90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02573C94 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02573C94 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02573C98 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02573C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02573C9C */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02573C9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02573CA0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02573CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02573CA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02573CA8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02573CA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02573CAC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02573CAC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02573CAC */ if (_t23) goto L_02573CB0; else goto L_02573CB8;
|
|
L_02573CB0: ; // 0x2573cb0
|
|
/* 02573CB0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02573CB4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02573CB8: ; // 0x2573cb8
|
|
/* 02573CB8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02573CB8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02573CBC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02573CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02573CC0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02573CC0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02573CC4 */ return;
|
|
}
|
|
|
|
// fn_02573CC8 @ 0x2573cc8
|
|
void Gambit_fn_02573CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573CC8: ; // 0x2573cc8
|
|
/* 02573CC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02573CCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573CCC */ cpu->r[1] = _t0;
|
|
/* 02573CD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573CD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573CD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573CDC */ Gambit_fn_02570FF0(cpu);
|
|
/* 02573CE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02573CE4 */ Gambit_fn_02043B8C(cpu);
|
|
/* 02573CE8 */ _t3 = cpu->r[31] + 0x00000138u;
|
|
/* 02573CE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02573CEC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02573CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573CF0 */ cpu->lr = cpu->r[0];
|
|
/* 02573CF4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573CFC */ return;
|
|
}
|
|
|
|
// fn_02573CCC @ 0x2573ccc
|
|
void Gambit_fn_02573CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573CCC: ; // 0x2573ccc
|
|
/* 02573CCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573CCC */ cpu->r[1] = _t0;
|
|
/* 02573CD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573CD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573CD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573CDC */ Gambit_fn_02570FF0(cpu);
|
|
/* 02573CE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02573CE4 */ Gambit_fn_02043B8C(cpu);
|
|
/* 02573CE8 */ _t3 = cpu->r[31] + 0x00000138u;
|
|
/* 02573CE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02573CEC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02573CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573CF0 */ cpu->lr = cpu->r[0];
|
|
/* 02573CF4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573CFC */ return;
|
|
}
|
|
|
|
// fn_02573D00 @ 0x2573d00
|
|
void Gambit_fn_02573D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025710E4: ; // 0x25710e4
|
|
/* 025710E4 */ cpu->r[0] = cpu->lr;
|
|
/* 025710E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025710E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025710E8 */ cpu->r[1] = _t0;
|
|
/* 025710EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025710EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025710F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 025710F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025710F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025710F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025710F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025710FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 025710FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571100 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02571100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571104 */ _t7 = cpu->r[10] + 0x0000034Cu;
|
|
/* 02571104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571108 */ cpu->ctr = cpu->r[10];
|
|
/* 0257110C */ cpu->r[30] = cpu->r[3];
|
|
/* 02571110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571114 */ _t8 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571118 */ Gambit_fn_024F1978(cpu);
|
|
/* 0257111C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571120 */ _t9 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571124 */ cpu->r[31] = cpu->r[31] | 0x0000FFFFu;
|
|
/* 02571128 */ _t10 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 02571128 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0257112C */ cpu->r[0] = 0x00000008u;
|
|
/* 02571130 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02571134 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02571134 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02571138 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02571138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257113C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571140 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02571144 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571144 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02571148 */ Gambit_fn_02981258(cpu);
|
|
/* 0257114C */ _t14 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257114C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02571150 */ _t15 = cpu->r[30] + 0x000000CCu;
|
|
/* 02571150 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02571154 */ _t16 = cpu->r[30] + 0x00000070u;
|
|
/* 02571154 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02571158 */ _t17 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02571158 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0257115C */ _t18 = cpu->r[30] + 0x000000D4u;
|
|
/* 0257115C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02571160 */ _t19 = cpu->r[30] + 0x000000D8u;
|
|
/* 02571160 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02571164 */ _t20 = cpu->r[30] + 0x00000074u;
|
|
/* 02571164 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02571168 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02571168 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0257116C */ _t22 = cpu->r[30] + 0x000000C8u;
|
|
/* 0257116C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571170 */ _t23 = cpu->r[30] + 0x000000BCu;
|
|
/* 02571170 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02571174 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02571174 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02571178 */ _t25 = cpu->r[30] + 0x000000C4u;
|
|
/* 02571178 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257117C */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0257117C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02571180 */ _t27 = cpu->r[30] + 0x000000C0u;
|
|
/* 02571180 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02571184 */ _t28 = cpu->r[30] + 0x00000064u;
|
|
/* 02571184 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02571188 */ _t29 = cpu->r[30] + 0x000000B4u;
|
|
/* 02571188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257118C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257118C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571190 */ _t31 = cpu->r[30] + 0x00000054u;
|
|
/* 02571190 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571194 */ _t32 = cpu->r[30] + 0x000000DCu;
|
|
/* 02571194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571198 */ _t33 = cpu->r[30] + 0x000000B8u;
|
|
/* 02571198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0257119C */ _t34 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0257119C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 025711A0 */ _t35 = cpu->r[30] + 0x000001E2u;
|
|
/* 025711A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025711A4 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 025711A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025711A8 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711AC */ _t37 = cpu->r[30] + 0x00000058u;
|
|
/* 025711AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 025711B0 */ /* nop */
|
|
/* 025711B4 */ _t38 = cpu->r[30] + 0x00000080u;
|
|
/* 025711B4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 025711B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025711BC */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711C0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025711C4 */ _t39 = cpu->r[30] + 0x00000214u;
|
|
/* 025711C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 025711C8 */ cpu->r[28] = cpu->r[30] + 0x00000210u;
|
|
/* 025711CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 025711D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025711D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 025711D0 */ if (_t41) goto L_02571208; else goto L_025711D4;
|
|
L_025711D4: ; // 0x25711d4
|
|
/* 025711D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025711D8 */ _t42 = cpu->r[29] + 0x00000004u;
|
|
/* 025711D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025711DC */ Gambit_fn_02801EDC(cpu);
|
|
/* 025711E0 */ _t43 = cpu->r[28] + 0x00000008u;
|
|
/* 025711E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025711E4 */ _t44 = cpu->r[28] + 0x0000000Cu;
|
|
/* 025711E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025711E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 025711EC */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 025711EC */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 025711F0 */ cpu->r[11] = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ _t46 = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 025711F8 */ cpu->r[29] = cpu->r[31];
|
|
/* 025711FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02571200 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02571200 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02571204 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571204 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571204 */ if (_t49) goto L_02571208; else goto L_025711D4;
|
|
L_02571208: ; // 0x2571208
|
|
/* 02571208 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0257120C */ cpu->r[0] = 0x00000000u;
|
|
/* 02571210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571214 */ _t51 = cpu->r[30] + 0x000002A8u;
|
|
/* 02571214 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02571218 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571218 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02571218 */ if (_t53) goto L_02571220; else goto L_0257121C;
|
|
L_0257121C: ; // 0x257121c
|
|
/* 0257121C */ Gambit_fn_023BBFE4(cpu);
|
|
L_02571220: ; // 0x2571220
|
|
/* 02571220 */ _t54 = cpu->r[30] + 0x000001CCu;
|
|
/* 02571220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571224 */ _t55 = cpu->r[30] + 0x00000030u;
|
|
/* 02571224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02571228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257122C */ cpu->r[4] = 0x00000003u;
|
|
/* 02571230 */ cpu->r[5] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02571234 */ Gambit_fn_027B8224(cpu);
|
|
/* 02571238 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02571238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257123C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 0257123C */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571240 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02571244 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02571244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02571248 */ cpu->lr = cpu->r[0];
|
|
/* 0257124C */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257124C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571250 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02571254 */ return;
|
|
L_02573D00: ; // 0x2573d00
|
|
/* 02573D00 */ goto L_025710E4;
|
|
}
|
|
|
|
// fn_02573D04 @ 0x2573d04
|
|
void Gambit_fn_02573D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02573D04: ; // 0x2573d04
|
|
/* 02573D04 */ cpu->r[0] = cpu->lr;
|
|
/* 02573D08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573D08 */ cpu->r[1] = _t0;
|
|
/* 02573D0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573D10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573D14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02573D18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573D1C */ Gambit_fn_02019890(cpu);
|
|
/* 02573D20 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02573D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02573D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 02573D28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573D28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02573D28 */ if (_t5) goto L_02573D2C; else goto L_02573D48;
|
|
L_02573D2C: ; // 0x2573d2c
|
|
/* 02573D2C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573D30 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D34 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573D38 */ cpu->lr = cpu->r[0];
|
|
/* 02573D3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573D40 */ cpu->r[3] = cpu->r[3] + 0xFFFFF130u;
|
|
/* 02573D44 */ return;
|
|
L_02573D48: ; // 0x2573d48
|
|
/* 02573D48 */ _t8 = cpu->r[31] + 0x000001CCu;
|
|
/* 02573D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02573D4C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573D54 */ cpu->r[3] = cpu->r[3] + 0xFFFFF148u;
|
|
/* 02573D58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573D58 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02573D58 */ if (_t10) goto L_02573D64; else goto L_02573D5C;
|
|
L_02573D5C: ; // 0x2573d5c
|
|
/* 02573D5C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D60 */ cpu->r[3] = cpu->r[3] + 0xFFFFF13Cu;
|
|
L_02573D64: ; // 0x2573d64
|
|
/* 02573D64 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02573D68 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02573D6C */ cpu->lr = cpu->r[0];
|
|
/* 02573D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573D74 */ return;
|
|
}
|
|
|
|
// fn_02573D08 @ 0x2573d08
|
|
void Gambit_fn_02573D08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02573D08: ; // 0x2573d08
|
|
/* 02573D08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573D08 */ cpu->r[1] = _t0;
|
|
/* 02573D0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573D10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573D14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02573D18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573D1C */ Gambit_fn_02019890(cpu);
|
|
/* 02573D20 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02573D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02573D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
|
|
/* 02573D28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573D28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02573D28 */ if (_t5) goto L_02573D2C; else goto L_02573D48;
|
|
L_02573D2C: ; // 0x2573d2c
|
|
/* 02573D2C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573D30 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D34 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573D38 */ cpu->lr = cpu->r[0];
|
|
/* 02573D3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573D40 */ cpu->r[3] = cpu->r[3] + 0xFFFFF130u;
|
|
/* 02573D44 */ return;
|
|
L_02573D48: ; // 0x2573d48
|
|
/* 02573D48 */ _t8 = cpu->r[31] + 0x000001CCu;
|
|
/* 02573D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02573D4C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573D54 */ cpu->r[3] = cpu->r[3] + 0xFFFFF148u;
|
|
/* 02573D58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573D58 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02573D58 */ if (_t10) goto L_02573D64; else goto L_02573D5C;
|
|
L_02573D5C: ; // 0x2573d5c
|
|
/* 02573D5C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02573D60 */ cpu->r[3] = cpu->r[3] + 0xFFFFF13Cu;
|
|
L_02573D64: ; // 0x2573d64
|
|
/* 02573D64 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02573D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02573D68 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02573D6C */ cpu->lr = cpu->r[0];
|
|
/* 02573D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573D74 */ return;
|
|
}
|
|
|
|
// fn_02573D78 @ 0x2573d78
|
|
void Gambit_fn_02573D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02573D78: ; // 0x2573d78
|
|
/* 02573D78 */ cpu->r[0] = cpu->lr;
|
|
/* 02573D7C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573D80 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02573D84 */ cpu->r[12] = cpu->r[12] + 0xFFFFF154u;
|
|
/* 02573D88 */ cpu->r[11] = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 02573D8C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02573D90 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02573D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02573D94 */ cpu->r[0] = 0x02570000u;
|
|
/* 02573D98 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02573D98 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02573D98 */ cpu->r[1] = _t1;
|
|
/* 02573D9C */ cpu->r[0] = cpu->r[0] + 0x00004280u;
|
|
/* 02573DA0 */ _t2 = cpu->r[3] + 0xFFFFB350u;
|
|
/* 02573DA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02573DA0 */ cpu->r[3] = _t2;
|
|
/* 02573DA4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573DA8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02573DA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02573DAC */ cpu->r[12] = cpu->r[12] + 0xFFFFF118u;
|
|
/* 02573DB0 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02573DB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02573DB4 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02573DB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02573DB8 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573DB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02573DBC */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02573DC0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02573DC4 */ cpu->r[3] = cpu->r[3] + 0x00006BA0u;
|
|
/* 02573DC8 */ Gambit_fn_02C83090(cpu);
|
|
/* 02573DCC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573DD0 */ cpu->lr = cpu->r[0];
|
|
/* 02573DD4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02573DD8 */ return;
|
|
}
|
|
|
|
// fn_02573D98 @ 0x2573d98
|
|
void Gambit_fn_02573D98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02573D98: ; // 0x2573d98
|
|
/* 02573D98 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02573D98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573D98 */ cpu->r[1] = _t0;
|
|
/* 02573D9C */ cpu->r[0] = cpu->r[0] + 0x00004280u;
|
|
/* 02573DA0 */ _t1 = cpu->r[3] + 0xFFFFB350u;
|
|
/* 02573DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02573DA0 */ cpu->r[3] = _t1;
|
|
/* 02573DA4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02573DA8 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02573DA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02573DAC */ cpu->r[12] = cpu->r[12] + 0xFFFFF118u;
|
|
/* 02573DB0 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02573DB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02573DB4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02573DB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02573DB8 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573DB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02573DBC */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02573DC0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02573DC4 */ cpu->r[3] = cpu->r[3] + 0x00006BA0u;
|
|
/* 02573DC8 */ Gambit_fn_02C83090(cpu);
|
|
/* 02573DCC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573DD0 */ cpu->lr = cpu->r[0];
|
|
/* 02573DD4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02573DD8 */ return;
|
|
}
|
|
|
|
// fn_02573DDC @ 0x2573ddc
|
|
void Gambit_fn_02573DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02573DDC: ; // 0x2573ddc
|
|
/* 02573DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02573DE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573DE0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02573DE0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573DE0 */ goto L_02573DE4;
|
|
L_02573DE4: ; // 0x2573de4
|
|
/* 02573DE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02573DE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573DE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02573DE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573DE8 */ goto L_02573DEC;
|
|
L_02573DEC: ; // 0x2573dec
|
|
/* 02573DEC */ 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_02573DF0 @ 0x2573df0
|
|
void Gambit_fn_02573DF0(CPUState* cpu) {
|
|
L_02573DF0: ; // 0x2573df0
|
|
/* 02573DF0 */ return;
|
|
}
|
|
|
|
// fn_02573DF4 @ 0x2573df4
|
|
void Gambit_fn_02573DF4(CPUState* cpu) {
|
|
L_02573DF4: ; // 0x2573df4
|
|
/* 02573DF4 */ return;
|
|
}
|
|
|
|
// fn_02573DF8 @ 0x2573df8
|
|
void Gambit_fn_02573DF8(CPUState* cpu) {
|
|
L_02573DF8: ; // 0x2573df8
|
|
/* 02573DF8 */ return;
|
|
}
|
|
|
|
// fn_02573DFC @ 0x2573dfc
|
|
void Gambit_fn_02573DFC(CPUState* cpu) {
|
|
L_02573DFC: ; // 0x2573dfc
|
|
/* 02573DFC */ return;
|
|
}
|
|
|
|
// fn_02573E00 @ 0x2573e00
|
|
void Gambit_fn_02573E00(CPUState* cpu) {
|
|
L_02573E00: ; // 0x2573e00
|
|
/* 02573E00 */ return;
|
|
}
|
|
|
|
// fn_02573E04 @ 0x2573e04
|
|
void Gambit_fn_02573E04(CPUState* cpu) {
|
|
L_02573E04: ; // 0x2573e04
|
|
/* 02573E04 */ return;
|
|
}
|
|
|
|
// fn_02573E08 @ 0x2573e08
|
|
void Gambit_fn_02573E08(CPUState* cpu) {
|
|
L_02573E08: ; // 0x2573e08
|
|
/* 02573E08 */ return;
|
|
}
|
|
|
|
// fn_02573E0C @ 0x2573e0c
|
|
void Gambit_fn_02573E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02573E0C: ; // 0x2573e0c
|
|
/* 02573E0C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02573E0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573E14 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573E14 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573E14 */ if (_t2) goto L_02573E20; else goto L_02573E18;
|
|
L_02573E18: ; // 0x2573e18
|
|
/* 02573E18 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02573E1C */ return;
|
|
L_02573E20: ; // 0x2573e20
|
|
/* 02573E20 */ cpu->r[3] = 0x00000000u;
|
|
/* 02573E24 */ return;
|
|
}
|
|
|
|
// fn_02573E28 @ 0x2573e28
|
|
void Gambit_fn_02573E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02573E28: ; // 0x2573e28
|
|
/* 02573E28 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02573E28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573E30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573E30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573E30 */ if (_t2) goto L_02573E3C; else goto L_02573E34;
|
|
L_02573E34: ; // 0x2573e34
|
|
/* 02573E34 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02573E38 */ return;
|
|
L_02573E3C: ; // 0x2573e3c
|
|
/* 02573E3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02573E40 */ return;
|
|
}
|
|
|
|
// fn_02573E44 @ 0x2573e44
|
|
void Gambit_fn_02573E44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573E44: ; // 0x2573e44
|
|
/* 02573E44 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573E4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573E4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573E4C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573E4C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573E4C */ goto L_02573E50;
|
|
L_02573E50: ; // 0x2573e50
|
|
/* 02573E50 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02573E50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573E54 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02573E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573E58 */ cpu->ctr = cpu->r[0];
|
|
/* 02573E5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573E60 @ 0x2573e60
|
|
void Gambit_fn_02573E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573E60: ; // 0x2573e60
|
|
/* 02573E60 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E64 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573E68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573E68 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573E68 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573E68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573E68 */ goto L_02573E6C;
|
|
L_02573E6C: ; // 0x2573e6c
|
|
/* 02573E6C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02573E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573E70 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02573E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573E74 */ cpu->ctr = cpu->r[0];
|
|
/* 02573E78 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573E7C @ 0x2573e7c
|
|
void Gambit_fn_02573E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573E7C: ; // 0x2573e7c
|
|
/* 02573E7C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02573E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02573E84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573E84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02573E84 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02573E84 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573E84 */ goto L_02573E88;
|
|
L_02573E88: ; // 0x2573e88
|
|
/* 02573E88 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02573E88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573E8C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02573E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02573E90 */ cpu->ctr = cpu->r[0];
|
|
/* 02573E94 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573E98 @ 0x2573e98
|
|
void Gambit_fn_02573E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573E98: ; // 0x2573e98
|
|
/* 02573E98 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573E9C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02573E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573EA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02573EA4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573EA8 @ 0x2573ea8
|
|
void Gambit_fn_02573EA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02573EA8: ; // 0x2573ea8
|
|
/* 02573EA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02573EAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573EAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573EAC */ cpu->r[1] = _t0;
|
|
/* 02573EB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573EB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573EB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573EB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573EBC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573EBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02573EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02573EC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573EC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02573EC4 */ if (_t5) goto L_02573EC8; else goto L_02573EE4;
|
|
L_02573EC8: ; // 0x2573ec8
|
|
/* 02573EC8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02573EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573ECC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02573ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573ED0 */ cpu->ctr = cpu->r[0];
|
|
/* 02573ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02573EDC */ cpu->r[0] = 0x00000002u;
|
|
/* 02573EE0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573EE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02573EE4: ; // 0x2573ee4
|
|
/* 02573EE4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02573EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02573EE8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02573EEC */ cpu->lr = cpu->r[0];
|
|
/* 02573EF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573EF4 */ return;
|
|
}
|
|
|
|
// fn_02573EAC @ 0x2573eac
|
|
void Gambit_fn_02573EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02573EAC: ; // 0x2573eac
|
|
/* 02573EAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573EAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573EAC */ cpu->r[1] = _t0;
|
|
/* 02573EB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573EB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573EB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573EB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573EBC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573EBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02573EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02573EC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573EC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02573EC4 */ if (_t5) goto L_02573EC8; else goto L_02573EE4;
|
|
L_02573EC8: ; // 0x2573ec8
|
|
/* 02573EC8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02573EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573ECC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02573ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573ED0 */ cpu->ctr = cpu->r[0];
|
|
/* 02573ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02573EDC */ cpu->r[0] = 0x00000002u;
|
|
/* 02573EE0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02573EE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02573EE4: ; // 0x2573ee4
|
|
/* 02573EE4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02573EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02573EE8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02573EEC */ cpu->lr = cpu->r[0];
|
|
/* 02573EF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573EF4 */ return;
|
|
}
|
|
|
|
// fn_02573EFC @ 0x2573efc
|
|
void Gambit_fn_02573EFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02573EFC: ; // 0x2573efc
|
|
/* 02573EFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02573EFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02573EFC */ cpu->r[1] = _t0;
|
|
/* 02573F00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573F00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02573F04 */ cpu->r[3] = 0x000002B8u;
|
|
/* 02573F08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02573F08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02573F0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02573F10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02573F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02573F14 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573F14 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02573F14 */ if (_t4) goto L_02573F2C; else goto L_02573F18;
|
|
L_02573F18: ; // 0x2573f18
|
|
/* 02573F18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573F1C */ Gambit_fn_02570A94(cpu);
|
|
/* 02573F20 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02573F24 */ cpu->r[0] = cpu->r[0] + 0xFFFFF168u;
|
|
/* 02573F28 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02573F28 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02573F2C: ; // 0x2573f2c
|
|
/* 02573F2C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02573F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02573F30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02573F34 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02573F34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02573F38 */ cpu->lr = cpu->r[0];
|
|
/* 02573F3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02573F40 */ return;
|
|
}
|
|
|
|
// fn_02573F44 @ 0x2573f44
|
|
void Gambit_fn_02573F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02573F44: ; // 0x2573f44
|
|
/* 02573F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02573F48 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573F48 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02573F48 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573F48 */ goto L_02573F4C;
|
|
L_02573F4C: ; // 0x2573f4c
|
|
/* 02573F4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02573F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02573F50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02573F50 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02573F50 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02573F50 */ goto L_02573F54;
|
|
L_02573F54: ; // 0x2573f54
|
|
/* 02573F54 */ 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_02573F58 @ 0x2573f58
|
|
void Gambit_fn_02573F58(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573F58: ; // 0x2573f58
|
|
/* 02573F58 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573F58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573F5C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02573F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573F60 */ cpu->ctr = cpu->r[0];
|
|
/* 02573F64 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573F68 @ 0x2573f68
|
|
void Gambit_fn_02573F68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573F68: ; // 0x2573f68
|
|
/* 02573F68 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573F6C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02573F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573F70 */ cpu->ctr = cpu->r[0];
|
|
/* 02573F74 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573F78 @ 0x2573f78
|
|
void Gambit_fn_02573F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573F78: ; // 0x2573f78
|
|
/* 02573F78 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573F7C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02573F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573F80 */ cpu->ctr = cpu->r[0];
|
|
/* 02573F84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573F88 @ 0x2573f88
|
|
void Gambit_fn_02573F88(CPUState* cpu) {
|
|
L_02573F88: ; // 0x2573f88
|
|
/* 02573F88 */ cpu->r[3] = 0x00000001u;
|
|
/* 02573F8C */ return;
|
|
}
|
|
|
|
// fn_02573F90 @ 0x2573f90
|
|
void Gambit_fn_02573F90(CPUState* cpu) {
|
|
L_02573F90: ; // 0x2573f90
|
|
/* 02573F90 */ return;
|
|
}
|
|
|
|
// fn_02573F94 @ 0x2573f94
|
|
void Gambit_fn_02573F94(CPUState* cpu) {
|
|
L_02573F94: ; // 0x2573f94
|
|
/* 02573F94 */ return;
|
|
}
|
|
|
|
// fn_02573F98 @ 0x2573f98
|
|
void Gambit_fn_02573F98(CPUState* cpu) {
|
|
L_02573F98: ; // 0x2573f98
|
|
/* 02573F98 */ return;
|
|
}
|
|
|
|
// fn_02573F9C @ 0x2573f9c
|
|
void Gambit_fn_02573F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02573F9C: ; // 0x2573f9c
|
|
/* 02573F9C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02573FA0 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02573FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573FA0 */ cpu->r[10] = _t0;
|
|
/* 02573FA4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02573FA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02573FA8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02573FA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02573FAC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02573FAC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02573FB0 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02573FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02573FB4 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02573FB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02573FB8 */ return;
|
|
}
|
|
|
|
// fn_02573FBC @ 0x2573fbc
|
|
void Gambit_fn_02573FBC(CPUState* cpu) {
|
|
L_02573FBC: ; // 0x2573fbc
|
|
/* 02573FBC */ return;
|
|
}
|
|
|
|
// fn_02573FC0 @ 0x2573fc0
|
|
void Gambit_fn_02573FC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02573FC0: ; // 0x2573fc0
|
|
/* 02573FC0 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02573FC0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02573FC4 */ return;
|
|
}
|
|
|
|
// fn_02573FC8 @ 0x2573fc8
|
|
void Gambit_fn_02573FC8(CPUState* cpu) {
|
|
L_02573FC8: ; // 0x2573fc8
|
|
/* 02573FC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02573FCC */ return;
|
|
}
|
|
|
|
// fn_02573FD0 @ 0x2573fd0
|
|
void Gambit_fn_02573FD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02573FD0: ; // 0x2573fd0
|
|
/* 02573FD0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02573FD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02573FD4 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02573FD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02573FD8 */ cpu->ctr = cpu->r[0];
|
|
/* 02573FDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02573FE0 @ 0x2573fe0
|
|
void Gambit_fn_02573FE0(CPUState* cpu) {
|
|
L_02573FE0: ; // 0x2573fe0
|
|
/* 02573FE0 */ return;
|
|
}
|
|
|
|
// fn_02573FE4 @ 0x2573fe4
|
|
void Gambit_fn_02573FE4(CPUState* cpu) {
|
|
L_02573FE4: ; // 0x2573fe4
|
|
/* 02573FE4 */ return;
|
|
}
|
|
|
|
// fn_02573FE8 @ 0x2573fe8
|
|
void Gambit_fn_02573FE8(CPUState* cpu) {
|
|
L_02573FE8: ; // 0x2573fe8
|
|
/* 02573FE8 */ return;
|
|
}
|
|
|
|
// fn_02573FEC @ 0x2573fec
|
|
void Gambit_fn_02573FEC(CPUState* cpu) {
|
|
L_02573FEC: ; // 0x2573fec
|
|
/* 02573FEC */ return;
|
|
}
|
|
|
|
// fn_02573FF0 @ 0x2573ff0
|
|
void Gambit_fn_02573FF0(CPUState* cpu) {
|
|
L_02573FF0: ; // 0x2573ff0
|
|
/* 02573FF0 */ return;
|
|
}
|
|
|
|
// fn_02573FF4 @ 0x2573ff4
|
|
void Gambit_fn_02573FF4(CPUState* cpu) {
|
|
L_02573FF4: ; // 0x2573ff4
|
|
/* 02573FF4 */ return;
|
|
}
|
|
|
|
// fn_02573FF8 @ 0x2573ff8
|
|
void Gambit_fn_02573FF8(CPUState* cpu) {
|
|
L_02573FF8: ; // 0x2573ff8
|
|
/* 02573FF8 */ return;
|
|
}
|
|
|
|
// fn_02573FFC @ 0x2573ffc
|
|
void Gambit_fn_02573FFC(CPUState* cpu) {
|
|
L_02573FFC: ; // 0x2573ffc
|
|
/* 02573FFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02574000 */ return;
|
|
}
|
|
|
|
// fn_02574004 @ 0x2574004
|
|
void Gambit_fn_02574004(CPUState* cpu) {
|
|
L_02574004: ; // 0x2574004
|
|
/* 02574004 */ return;
|
|
}
|
|
|
|
// fn_02574008 @ 0x2574008
|
|
void Gambit_fn_02574008(CPUState* cpu) {
|
|
L_02574008: ; // 0x2574008
|
|
/* 02574008 */ return;
|
|
}
|
|
|
|
// fn_0257400C @ 0x257400c
|
|
void Gambit_fn_0257400C(CPUState* cpu) {
|
|
L_0257400C: ; // 0x257400c
|
|
/* 0257400C */ cpu->r[3] = 0x00000001u;
|
|
/* 02574010 */ return;
|
|
}
|
|
|
|
// fn_02574014 @ 0x2574014
|
|
void Gambit_fn_02574014(CPUState* cpu) {
|
|
L_02574014: ; // 0x2574014
|
|
/* 02574014 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574018 */ return;
|
|
}
|
|
|
|
// fn_0257401C @ 0x257401c
|
|
void Gambit_fn_0257401C(CPUState* cpu) {
|
|
L_0257401C: ; // 0x257401c
|
|
/* 0257401C */ cpu->r[3] = 0x00000000u;
|
|
/* 02574020 */ return;
|
|
}
|
|
|
|
// fn_02574024 @ 0x2574024
|
|
void Gambit_fn_02574024(CPUState* cpu) {
|
|
L_02574024: ; // 0x2574024
|
|
/* 02574024 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574028 */ return;
|
|
}
|
|
|
|
// fn_0257402C @ 0x257402c
|
|
void Gambit_fn_0257402C(CPUState* cpu) {
|
|
L_0257402C: ; // 0x257402c
|
|
/* 0257402C */ cpu->r[3] = 0x00000000u;
|
|
/* 02574030 */ return;
|
|
}
|
|
|
|
// fn_02574034 @ 0x2574034
|
|
void Gambit_fn_02574034(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574034: ; // 0x2574034
|
|
/* 02574034 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02574034 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02574038 */ return;
|
|
}
|
|
|
|
// fn_0257403C @ 0x257403c
|
|
void Gambit_fn_0257403C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020621E4: ; // 0x20621e4
|
|
/* 020621E4 */ cpu->r[0] = cpu->lr;
|
|
/* 020621E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020621E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020621E8 */ cpu->r[1] = _t0;
|
|
/* 020621EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020621EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020621F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020621F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020621F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020621F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 020621F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020621FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02062200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02062204 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02062204 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02062208 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062208 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02062208 */ if (_t6) goto L_02062230; else goto L_0206220C;
|
|
L_0206220C: ; // 0x206220c
|
|
/* 0206220C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0206220C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02062210 */ /* nop */
|
|
/* 02062214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02062218 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062218 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02062218 */ if (_t9) goto L_0206221C; else goto L_02062230;
|
|
L_0206221C: ; // 0x206221c
|
|
/* 0206221C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0206221C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02062220 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02062220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02062224 */ cpu->ctr = cpu->r[0];
|
|
/* 02062228 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206222C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02062230: ; // 0x2062230
|
|
/* 02062230 */ cpu->r[3] = cpu->r[31];
|
|
/* 02062234 */ Gambit_fn_0206215C(cpu);
|
|
/* 02062238 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206223C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02062240 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02062240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02062244 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02062244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02062248 */ cpu->lr = cpu->r[0];
|
|
/* 0206224C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02062250 */ return;
|
|
L_0257403C: ; // 0x257403c
|
|
/* 0257403C */ cpu->r[3] = cpu->r[3] + 0x000001D4u;
|
|
/* 02574040 */ goto L_020621E4;
|
|
}
|
|
|
|
// fn_02574044 @ 0x2574044
|
|
void Gambit_fn_02574044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574044: ; // 0x2574044
|
|
/* 02574044 */ cpu->r[0] = cpu->lr;
|
|
/* 02574048 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574048 */ cpu->r[1] = _t0;
|
|
/* 0257404C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257404C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574050 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574054 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574054 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574058 */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 02574058 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0257405C */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02574060 */ /* nop */
|
|
/* 02574064 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02574068 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 0257406C */ Gambit_fn_020620D4(cpu);
|
|
/* 02574070 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02574070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574074 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574078 */ cpu->lr = cpu->r[0];
|
|
/* 0257407C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574080 */ return;
|
|
}
|
|
|
|
// fn_02574048 @ 0x2574048
|
|
void Gambit_fn_02574048(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574048: ; // 0x2574048
|
|
/* 02574048 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574048 */ cpu->r[1] = _t0;
|
|
/* 0257404C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257404C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574050 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574054 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574054 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574058 */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 02574058 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0257405C */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 02574060 */ /* nop */
|
|
/* 02574064 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02574068 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 0257406C */ Gambit_fn_020620D4(cpu);
|
|
/* 02574070 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02574070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574074 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574078 */ cpu->lr = cpu->r[0];
|
|
/* 0257407C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574080 */ return;
|
|
}
|
|
|
|
// fn_02574084 @ 0x2574084
|
|
void Gambit_fn_02574084(CPUState* cpu) {
|
|
L_02574084: ; // 0x2574084
|
|
/* 02574084 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02574088 */ cpu->r[3] = cpu->r[3] + 0xFFFFF124u;
|
|
/* 0257408C */ return;
|
|
}
|
|
|
|
// fn_02574090 @ 0x2574090
|
|
void Gambit_fn_02574090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02574090: ; // 0x2574090
|
|
/* 02574090 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02574094 */ _t0 = cpu->r[8] + 0x00000440u;
|
|
/* 02574094 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02574098 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0257409C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025740A0 */ cpu->r[6] = cpu->r[6] + 0x00000AB0u;
|
|
/* 025740A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025740A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025740A4 */ if (_t2) goto L_025740A8; else goto L_025740C0;
|
|
L_025740A8: ; // 0x25740a8
|
|
/* 025740A8 */ cpu->r[5] = 0x100D0000u;
|
|
/* 025740AC */ cpu->r[0] = 0x00000001u;
|
|
/* 025740B0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025740B4 */ cpu->r[5] = cpu->r[5] + 0xFFFFF108u;
|
|
/* 025740B8 */ _t3 = cpu->r[8] + 0x00000440u;
|
|
/* 025740B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025740BC */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 025740BC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_025740C0: ; // 0x25740c0
|
|
/* 025740C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 025740C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025740C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025740C4 */ if (_t6) goto L_025740C8; else goto L_025740D0;
|
|
L_025740C8: ; // 0x25740c8
|
|
/* 025740C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025740CC */ return;
|
|
L_025740D0: ; // 0x25740d0
|
|
/* 025740D0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025740D4 */ _t7 = cpu->r[10] + 0xFFFFEB28u;
|
|
/* 025740D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025740D8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025740DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025740E0 */ cpu->r[8] = cpu->r[8] + 0x00000074u;
|
|
/* 025740E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025740E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025740E4 */ if (_t9) goto L_025740E8; else goto L_02574100;
|
|
L_025740E8: ; // 0x25740e8
|
|
/* 025740E8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025740EC */ cpu->r[7] = 0x00000001u;
|
|
/* 025740F0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 025740F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0F8u;
|
|
/* 025740F8 */ _t10 = cpu->r[6] + 0xFFFFEB28u;
|
|
/* 025740F8 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 025740FC */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 025740FC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02574100: ; // 0x2574100
|
|
/* 02574100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02574104 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574104 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02574104 */ if (_t13) goto L_02574108; else goto L_02574110;
|
|
L_02574108: ; // 0x2574108
|
|
/* 02574108 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257410C */ goto L_02574208;
|
|
L_02574110: ; // 0x2574110
|
|
/* 02574110 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574114 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02574114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574118 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0257411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02574120 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 02574124 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574124 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02574124 */ if (_t16) goto L_02574128; else goto L_02574140;
|
|
L_02574128: ; // 0x2574128
|
|
/* 02574128 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0257412C */ cpu->r[5] = 0x00000001u;
|
|
/* 02574130 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574134 */ cpu->r[7] = cpu->r[7] + 0xFFFFF0E8u;
|
|
/* 02574138 */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02574138 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0257413C */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0257413C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_02574140: ; // 0x2574140
|
|
/* 02574140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02574144 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574144 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02574144 */ if (_t20) goto L_02574148; else goto L_02574150;
|
|
L_02574148: ; // 0x2574148
|
|
/* 02574148 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257414C */ goto L_02574208;
|
|
L_02574150: ; // 0x2574150
|
|
/* 02574150 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02574154 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02574154 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574158 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0257415C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02574160 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 02574164 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574164 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02574164 */ if (_t23) goto L_02574168; else goto L_02574180;
|
|
L_02574168: ; // 0x2574168
|
|
/* 02574168 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257416C */ cpu->r[9] = 0x00000001u;
|
|
/* 02574170 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02574174 */ cpu->r[10] = cpu->r[10] + 0xFFFFF0D8u;
|
|
/* 02574178 */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 02574178 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0257417C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0257417C */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_02574180: ; // 0x2574180
|
|
/* 02574180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02574184 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574184 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02574184 */ if (_t27) goto L_02574188; else goto L_02574190;
|
|
L_02574188: ; // 0x2574188
|
|
/* 02574188 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257418C */ goto L_02574204;
|
|
L_02574190: ; // 0x2574190
|
|
/* 02574190 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02574194 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02574194 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02574194 */ cpu->r[10] = _t28;
|
|
/* 02574198 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0257419C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025741A0 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 025741A4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025741A4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025741A4 */ if (_t30) goto L_025741A8; else goto L_025741BC;
|
|
L_025741A8: ; // 0x25741a8
|
|
/* 025741A8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025741AC */ cpu->r[12] = 0x00000001u;
|
|
/* 025741B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0C8u;
|
|
/* 025741B4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 025741B4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 025741B8 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 025741B8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_025741BC: ; // 0x25741bc
|
|
/* 025741BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 025741C0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025741C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 025741C0 */ if (_t34) goto L_025741C4; else goto L_025741CC;
|
|
L_025741C4: ; // 0x25741c4
|
|
/* 025741C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025741C8 */ goto L_02574204;
|
|
L_025741CC: ; // 0x25741cc
|
|
/* 025741CC */ cpu->r[8] = 0x101D0000u;
|
|
/* 025741D0 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 025741D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025741D0 */ cpu->r[8] = _t35;
|
|
/* 025741D4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 025741D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 025741DC */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 025741E0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025741E0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 025741E0 */ if (_t37) goto L_025741E4; else goto L_025741F8;
|
|
L_025741E4: ; // 0x25741e4
|
|
/* 025741E4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025741E8 */ cpu->r[7] = 0x00000001u;
|
|
/* 025741EC */ cpu->r[9] = cpu->r[9] + 0xFFFFF0A0u;
|
|
/* 025741F0 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 025741F0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 025741F4 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 025741F4 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_025741F8: ; // 0x25741f8
|
|
/* 025741F8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 025741FC */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02574200 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02574204: ; // 0x2574204
|
|
/* 02574204 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02574208: ; // 0x2574208
|
|
/* 02574208 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0257420C */ return;
|
|
}
|
|
|
|
// fn_02574210 @ 0x2574210
|
|
void Gambit_fn_02574210(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574210: ; // 0x2574210
|
|
/* 02574210 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02574214 */ _t0 = cpu->r[12] + 0xFFFFF160u;
|
|
/* 02574214 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02574218 */ return;
|
|
}
|
|
|
|
// fn_0257421C @ 0x257421c
|
|
void Gambit_fn_0257421C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0257421C: ; // 0x257421c
|
|
/* 0257421C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02574220 */ _t0 = cpu->r[12] + 0xFFFFF164u;
|
|
/* 02574220 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02574224 */ return;
|
|
}
|
|
|
|
// fn_02574228 @ 0x2574228
|
|
void Gambit_fn_02574228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574228: ; // 0x2574228
|
|
/* 02574228 */ cpu->r[0] = cpu->lr;
|
|
/* 0257422C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574230 */ cpu->r[7] = 0x02570000u;
|
|
/* 02574234 */ cpu->r[6] = 0x02570000u;
|
|
/* 02574238 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0257423C */ cpu->r[7] = cpu->r[7] + 0x00003EF8u;
|
|
/* 02574240 */ cpu->r[6] = cpu->r[6] + 0x00003EF8u;
|
|
/* 02574244 */ cpu->r[10] = cpu->r[10] + 0x00006BB0u;
|
|
/* 02574248 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02574248 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0257424C */ cpu->r[0] = 0x101C0000u;
|
|
/* 02574250 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574250 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02574250 */ cpu->r[1] = _t1;
|
|
/* 02574254 */ cpu->r[0] = cpu->r[0] + 0x00006BACu;
|
|
/* 02574258 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02574258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0257425C */ cpu->r[8] = 0x00000000u;
|
|
/* 02574260 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02574260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02574264 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574268 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574268 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0257426C */ Gambit_fn_02791B10(cpu);
|
|
/* 02574270 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02574270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574274 */ cpu->lr = cpu->r[0];
|
|
/* 02574278 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257427C */ return;
|
|
}
|
|
|
|
// fn_02574250 @ 0x2574250
|
|
void Gambit_fn_02574250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02574250: ; // 0x2574250
|
|
/* 02574250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574250 */ cpu->r[1] = _t0;
|
|
/* 02574254 */ cpu->r[0] = cpu->r[0] + 0x00006BACu;
|
|
/* 02574258 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02574258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257425C */ cpu->r[8] = 0x00000000u;
|
|
/* 02574260 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02574260 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574264 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574268 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574268 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0257426C */ Gambit_fn_02791B10(cpu);
|
|
/* 02574270 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02574270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574274 */ cpu->lr = cpu->r[0];
|
|
/* 02574278 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257427C */ return;
|
|
}
|
|
|
|
// fn_02574280 @ 0x2574280
|
|
void Gambit_fn_02574280(CPUState* cpu) {
|
|
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_02574280: ; // 0x2574280
|
|
/* 02574280 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02574280 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574280 */ cpu->r[1] = _t0;
|
|
/* 02574284 */ cpu->r[0] = cpu->lr;
|
|
/* 02574288 */ /* nop */
|
|
/* 0257428C */ cpu->r[30] = cpu->r[5];
|
|
/* 02574290 */ cpu->r[26] = cpu->r[3];
|
|
/* 02574294 */ cpu->r[27] = cpu->r[7];
|
|
/* 02574298 */ cpu->r[3] = cpu->r[30];
|
|
/* 0257429C */ cpu->r[31] = cpu->r[6];
|
|
/* 025742A0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025742A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025742A4 */ cpu->r[29] = cpu->r[4];
|
|
/* 025742A8 */ cpu->r[4] = cpu->r[27];
|
|
/* 025742AC */ Gambit_fn_027DB318(cpu);
|
|
/* 025742B0 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 025742B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025742B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025742B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025742B4 */ if (_t3) goto L_02574348; else goto L_025742B8;
|
|
L_025742B8: ; // 0x25742b8
|
|
/* 025742B8 */ cpu->r[5] = cpu->r[28];
|
|
/* 025742BC */ cpu->r[4] = cpu->r[29];
|
|
/* 025742C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 025742C4 */ Gambit_fn_02574228(cpu);
|
|
/* 025742C8 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 025742C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025742CC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 025742CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025742D0 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 025742D4 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 025742D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 025742DC */ cpu->r[25] = 0x00000000u;
|
|
/* 025742E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025742E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025742E0 */ if (_t7) goto L_02574348; else goto L_025742E4;
|
|
L_025742E4: ; // 0x25742e4
|
|
/* 025742E4 */ cpu->r[24] = 0x101C0000u;
|
|
L_025742E8: ; // 0x25742e8
|
|
/* 025742E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025742EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025742EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 025742EC */ if (_t9) goto L_02574304; else goto L_025742F0;
|
|
L_025742F0: ; // 0x25742f0
|
|
/* 025742F0 */ cpu->ctr = cpu->r[27];
|
|
/* 025742F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025742F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025742FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574300 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574300 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02574300 */ if (_t11) goto L_02574334; else goto L_02574304;
|
|
L_02574304: ; // 0x2574304
|
|
/* 02574304 */ _t12 = cpu->r[24] + 0x00006BACu;
|
|
/* 02574304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574308 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 0257430C */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 0257430C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02574310 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02574310 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574314 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574318 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02574318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0257431C */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574320 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02574320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02574324 */ cpu->r[4] = cpu->r[31];
|
|
/* 02574328 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02574328 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0257432C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02574330 */ Gambit_fn_025723AC(cpu);
|
|
L_02574334: ; // 0x2574334
|
|
/* 02574334 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02574338 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02574338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257433C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02574340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02574344 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574344 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02574344 */ if (_t20) goto L_02574348; else goto L_025742E8;
|
|
L_02574348: ; // 0x2574348
|
|
/* 02574348 */ cpu->r[3] = cpu->r[28];
|
|
/* 0257434C */ /* nop */
|
|
/* 02574350 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574354 */ cpu->lr = cpu->r[0];
|
|
/* 02574358 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0257435C */ return;
|
|
}
|
|
|
|
// fn_02574360 @ 0x2574360
|
|
void Gambit_fn_02574360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574360: ; // 0x2574360
|
|
/* 02574360 */ cpu->r[0] = cpu->lr;
|
|
/* 02574364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574364 */ cpu->r[1] = _t0;
|
|
/* 02574368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257436C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574374 */ Gambit_fn_02570FF0(cpu);
|
|
/* 02574378 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257437C */ Gambit_fn_02043B8C(cpu);
|
|
/* 02574380 */ _t3 = cpu->r[31] + 0x00000138u;
|
|
/* 02574380 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02574384 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02574384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574388 */ cpu->lr = cpu->r[0];
|
|
/* 0257438C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257438C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574394 */ return;
|
|
}
|
|
|
|
// fn_02574364 @ 0x2574364
|
|
void Gambit_fn_02574364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574364: ; // 0x2574364
|
|
/* 02574364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574364 */ cpu->r[1] = _t0;
|
|
/* 02574368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257436C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574374 */ Gambit_fn_02570FF0(cpu);
|
|
/* 02574378 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257437C */ Gambit_fn_02043B8C(cpu);
|
|
/* 02574380 */ _t3 = cpu->r[31] + 0x00000138u;
|
|
/* 02574380 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02574384 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02574384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574388 */ cpu->lr = cpu->r[0];
|
|
/* 0257438C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257438C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574394 */ return;
|
|
}
|
|
|
|
// fn_02574398 @ 0x2574398
|
|
void Gambit_fn_02574398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025710E4: ; // 0x25710e4
|
|
/* 025710E4 */ cpu->r[0] = cpu->lr;
|
|
/* 025710E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025710E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025710E8 */ cpu->r[1] = _t0;
|
|
/* 025710EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025710EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025710F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 025710F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025710F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025710F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025710F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025710F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025710FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 025710FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02571100 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02571100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02571104 */ _t7 = cpu->r[10] + 0x0000034Cu;
|
|
/* 02571104 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02571108 */ cpu->ctr = cpu->r[10];
|
|
/* 0257110C */ cpu->r[30] = cpu->r[3];
|
|
/* 02571110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02571114 */ _t8 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02571118 */ Gambit_fn_024F1978(cpu);
|
|
/* 0257111C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02571120 */ _t9 = cpu->r[30] + 0x0000019Cu;
|
|
/* 02571120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02571124 */ cpu->r[31] = cpu->r[31] | 0x0000FFFFu;
|
|
/* 02571128 */ _t10 = cpu->r[11] + 0xFFFFEC5Cu;
|
|
/* 02571128 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0257112C */ cpu->r[0] = 0x00000008u;
|
|
/* 02571130 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02571134 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02571134 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02571138 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02571138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257113C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02571140 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02571144 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02571144 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02571148 */ Gambit_fn_02981258(cpu);
|
|
/* 0257114C */ _t14 = cpu->r[30] + 0x000000D0u;
|
|
/* 0257114C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02571150 */ _t15 = cpu->r[30] + 0x000000CCu;
|
|
/* 02571150 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02571154 */ _t16 = cpu->r[30] + 0x00000070u;
|
|
/* 02571154 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02571158 */ _t17 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02571158 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 0257115C */ _t18 = cpu->r[30] + 0x000000D4u;
|
|
/* 0257115C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02571160 */ _t19 = cpu->r[30] + 0x000000D8u;
|
|
/* 02571160 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02571164 */ _t20 = cpu->r[30] + 0x00000074u;
|
|
/* 02571164 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02571168 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02571168 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 0257116C */ _t22 = cpu->r[30] + 0x000000C8u;
|
|
/* 0257116C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02571170 */ _t23 = cpu->r[30] + 0x000000BCu;
|
|
/* 02571170 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02571174 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02571174 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02571178 */ _t25 = cpu->r[30] + 0x000000C4u;
|
|
/* 02571178 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257117C */ _t26 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0257117C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02571180 */ _t27 = cpu->r[30] + 0x000000C0u;
|
|
/* 02571180 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02571184 */ _t28 = cpu->r[30] + 0x00000064u;
|
|
/* 02571184 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02571188 */ _t29 = cpu->r[30] + 0x000000B4u;
|
|
/* 02571188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257118C */ _t30 = cpu->r[30] + 0x00000060u;
|
|
/* 0257118C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02571190 */ _t31 = cpu->r[30] + 0x00000054u;
|
|
/* 02571190 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02571194 */ _t32 = cpu->r[30] + 0x000000DCu;
|
|
/* 02571194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02571198 */ _t33 = cpu->r[30] + 0x000000B8u;
|
|
/* 02571198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0257119C */ _t34 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0257119C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 025711A0 */ _t35 = cpu->r[30] + 0x000001E2u;
|
|
/* 025711A0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 025711A4 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 025711A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025711A8 */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711AC */ _t37 = cpu->r[30] + 0x00000058u;
|
|
/* 025711AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 025711B0 */ /* nop */
|
|
/* 025711B4 */ _t38 = cpu->r[30] + 0x00000080u;
|
|
/* 025711B4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 025711B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025711BC */ cpu->r[3] = cpu->r[30] + 0x000001D4u;
|
|
/* 025711C0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025711C4 */ _t39 = cpu->r[30] + 0x00000214u;
|
|
/* 025711C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 025711C8 */ cpu->r[28] = cpu->r[30] + 0x00000210u;
|
|
/* 025711CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 025711D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025711D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 025711D0 */ if (_t41) goto L_02571208; else goto L_025711D4;
|
|
L_025711D4: ; // 0x25711d4
|
|
/* 025711D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025711D8 */ _t42 = cpu->r[29] + 0x00000004u;
|
|
/* 025711D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025711DC */ Gambit_fn_02801EDC(cpu);
|
|
/* 025711E0 */ _t43 = cpu->r[28] + 0x00000008u;
|
|
/* 025711E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025711E4 */ _t44 = cpu->r[28] + 0x0000000Cu;
|
|
/* 025711E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025711E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 025711EC */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 025711EC */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 025711F0 */ cpu->r[11] = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ _t46 = cpu->r[29] + 0xFFFFFFF8u;
|
|
/* 025711F4 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 025711F8 */ cpu->r[29] = cpu->r[31];
|
|
/* 025711FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02571200 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02571200 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02571204 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571204 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02571204 */ if (_t49) goto L_02571208; else goto L_025711D4;
|
|
L_02571208: ; // 0x2571208
|
|
/* 02571208 */ _t50 = cpu->r[30] + 0x000001D0u;
|
|
/* 02571208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0257120C */ cpu->r[0] = 0x00000000u;
|
|
/* 02571210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02571214 */ _t51 = cpu->r[30] + 0x000002A8u;
|
|
/* 02571214 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02571218 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02571218 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02571218 */ if (_t53) goto L_02571220; else goto L_0257121C;
|
|
L_0257121C: ; // 0x257121c
|
|
/* 0257121C */ Gambit_fn_023BBFE4(cpu);
|
|
L_02571220: ; // 0x2571220
|
|
/* 02571220 */ _t54 = cpu->r[30] + 0x000001CCu;
|
|
/* 02571220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02571224 */ _t55 = cpu->r[30] + 0x00000030u;
|
|
/* 02571224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02571228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257122C */ cpu->r[4] = 0x00000003u;
|
|
/* 02571230 */ cpu->r[5] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02571234 */ Gambit_fn_027B8224(cpu);
|
|
/* 02571238 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02571238 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0257123C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 0257123C */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02571240 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02571240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02571244 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02571244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02571248 */ cpu->lr = cpu->r[0];
|
|
/* 0257124C */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257124C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02571250 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02571254 */ return;
|
|
L_02574398: ; // 0x2574398
|
|
/* 02574398 */ goto L_025710E4;
|
|
}
|
|
|
|
// fn_0257439C @ 0x257439c
|
|
void Gambit_fn_0257439C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0257439C: ; // 0x257439c
|
|
/* 0257439C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0257439C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025743A0 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025743A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFF564u;
|
|
/* 025743A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025743A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025743AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025743AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025743AC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025743AC */ goto L_025743B0;
|
|
L_025743B0: ; // 0x25743b0
|
|
/* 025743B0 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025743B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFF558u;
|
|
/* 025743B8 */ return;
|
|
}
|
|
|
|
// fn_025743BC @ 0x25743bc
|
|
void Gambit_fn_025743BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025743BC: ; // 0x25743bc
|
|
/* 025743BC */ cpu->r[0] = cpu->lr;
|
|
/* 025743C0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025743C4 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025743C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF570u;
|
|
/* 025743CC */ cpu->r[11] = cpu->r[11] + 0xFFFFF4D8u;
|
|
/* 025743D0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 025743D4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 025743D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025743D8 */ cpu->r[0] = 0x02570000u;
|
|
/* 025743DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 025743DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 025743DC */ cpu->r[1] = _t1;
|
|
/* 025743E0 */ cpu->r[0] = cpu->r[0] + 0x000048C4u;
|
|
/* 025743E4 */ _t2 = cpu->r[3] + 0xFFFFB364u;
|
|
/* 025743E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 025743E4 */ cpu->r[3] = _t2;
|
|
/* 025743E8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025743EC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 025743EC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 025743F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF540u;
|
|
/* 025743F4 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 025743F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025743F8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 025743F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 025743FC */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025743FC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02574400 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02574404 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574408 */ cpu->r[3] = cpu->r[3] + 0x00006BB4u;
|
|
/* 0257440C */ Gambit_fn_02C83090(cpu);
|
|
/* 02574410 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02574414 */ cpu->lr = cpu->r[0];
|
|
/* 02574418 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0257441C */ return;
|
|
}
|
|
|
|
// fn_025743DC @ 0x25743dc
|
|
void Gambit_fn_025743DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_025743DC: ; // 0x25743dc
|
|
/* 025743DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 025743DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025743DC */ cpu->r[1] = _t0;
|
|
/* 025743E0 */ cpu->r[0] = cpu->r[0] + 0x000048C4u;
|
|
/* 025743E4 */ _t1 = cpu->r[3] + 0xFFFFB364u;
|
|
/* 025743E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 025743E4 */ cpu->r[3] = _t1;
|
|
/* 025743E8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025743EC */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 025743EC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 025743F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF540u;
|
|
/* 025743F4 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 025743F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025743F8 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 025743F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 025743FC */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025743FC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02574400 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02574404 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574408 */ cpu->r[3] = cpu->r[3] + 0x00006BB4u;
|
|
/* 0257440C */ Gambit_fn_02C83090(cpu);
|
|
/* 02574410 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574414 */ cpu->lr = cpu->r[0];
|
|
/* 02574418 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0257441C */ return;
|
|
}
|
|
|
|
// fn_02574420 @ 0x2574420
|
|
void Gambit_fn_02574420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02574420: ; // 0x2574420
|
|
/* 02574420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574424 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574424 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02574424 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02574424 */ goto L_02574428;
|
|
L_02574428: ; // 0x2574428
|
|
/* 02574428 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02574428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257442C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257442C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0257442C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257442C */ goto L_02574430;
|
|
L_02574430: ; // 0x2574430
|
|
/* 02574430 */ 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_02574434 @ 0x2574434
|
|
void Gambit_fn_02574434(CPUState* cpu) {
|
|
L_02574434: ; // 0x2574434
|
|
/* 02574434 */ return;
|
|
}
|
|
|
|
// fn_02574438 @ 0x2574438
|
|
void Gambit_fn_02574438(CPUState* cpu) {
|
|
L_02574438: ; // 0x2574438
|
|
/* 02574438 */ return;
|
|
}
|
|
|
|
// fn_0257443C @ 0x257443c
|
|
void Gambit_fn_0257443C(CPUState* cpu) {
|
|
L_0257443C: ; // 0x257443c
|
|
/* 0257443C */ return;
|
|
}
|
|
|
|
// fn_02574440 @ 0x2574440
|
|
void Gambit_fn_02574440(CPUState* cpu) {
|
|
L_02574440: ; // 0x2574440
|
|
/* 02574440 */ return;
|
|
}
|
|
|
|
// fn_02574444 @ 0x2574444
|
|
void Gambit_fn_02574444(CPUState* cpu) {
|
|
L_02574444: ; // 0x2574444
|
|
/* 02574444 */ return;
|
|
}
|
|
|
|
// fn_02574448 @ 0x2574448
|
|
void Gambit_fn_02574448(CPUState* cpu) {
|
|
L_02574448: ; // 0x2574448
|
|
/* 02574448 */ return;
|
|
}
|
|
|
|
// fn_0257444C @ 0x257444c
|
|
void Gambit_fn_0257444C(CPUState* cpu) {
|
|
L_0257444C: ; // 0x257444c
|
|
/* 0257444C */ return;
|
|
}
|
|
|
|
// fn_02574450 @ 0x2574450
|
|
void Gambit_fn_02574450(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02574450: ; // 0x2574450
|
|
/* 02574450 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02574450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02574454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02574458 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574458 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02574458 */ if (_t2) goto L_02574464; else goto L_0257445C;
|
|
L_0257445C: ; // 0x257445c
|
|
/* 0257445C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02574460 */ return;
|
|
L_02574464: ; // 0x2574464
|
|
/* 02574464 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574468 */ return;
|
|
}
|
|
|
|
// fn_0257446C @ 0x257446c
|
|
void Gambit_fn_0257446C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0257446C: ; // 0x257446c
|
|
/* 0257446C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0257446C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02574470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02574474 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574474 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02574474 */ if (_t2) goto L_02574480; else goto L_02574478;
|
|
L_02574478: ; // 0x2574478
|
|
/* 02574478 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0257447C */ return;
|
|
L_02574480: ; // 0x2574480
|
|
/* 02574480 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574484 */ return;
|
|
}
|
|
|
|
// fn_02574488 @ 0x2574488
|
|
void Gambit_fn_02574488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574488: ; // 0x2574488
|
|
/* 02574488 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02574488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257448C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257448C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02574490 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574490 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02574490 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02574490 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02574490 */ goto L_02574494;
|
|
L_02574494: ; // 0x2574494
|
|
/* 02574494 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02574494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574498 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02574498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257449C */ cpu->ctr = cpu->r[0];
|
|
/* 025744A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025744A4 @ 0x25744a4
|
|
void Gambit_fn_025744A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025744A4: ; // 0x25744a4
|
|
/* 025744A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025744A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025744A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025744A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025744AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025744AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025744AC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025744AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025744AC */ goto L_025744B0;
|
|
L_025744B0: ; // 0x25744b0
|
|
/* 025744B0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025744B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025744B4 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 025744B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025744B8 */ cpu->ctr = cpu->r[0];
|
|
/* 025744BC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025744C0 @ 0x25744c0
|
|
void Gambit_fn_025744C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025744C0: ; // 0x25744c0
|
|
/* 025744C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025744C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025744C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025744C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025744C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025744C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025744C8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025744C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025744C8 */ goto L_025744CC;
|
|
L_025744CC: ; // 0x25744cc
|
|
/* 025744CC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025744CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025744D0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 025744D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025744D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025744D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025744DC @ 0x25744dc
|
|
void Gambit_fn_025744DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025744DC: ; // 0x25744dc
|
|
/* 025744DC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025744DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025744E0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025744E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025744E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025744E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025744EC @ 0x25744ec
|
|
void Gambit_fn_025744EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025744EC: ; // 0x25744ec
|
|
/* 025744EC */ cpu->r[0] = cpu->lr;
|
|
/* 025744F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025744F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025744F0 */ cpu->r[1] = _t0;
|
|
/* 025744F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025744F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025744F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025744FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025744FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574500 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02574500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02574504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02574508 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574508 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02574508 */ if (_t5) goto L_0257450C; else goto L_02574528;
|
|
L_0257450C: ; // 0x257450c
|
|
/* 0257450C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0257450C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574510 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02574510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02574514 */ cpu->ctr = cpu->r[0];
|
|
/* 02574518 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257451C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02574520 */ cpu->r[0] = 0x00000002u;
|
|
/* 02574524 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02574524 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02574528: ; // 0x2574528
|
|
/* 02574528 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02574528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0257452C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257452C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02574530 */ cpu->lr = cpu->r[0];
|
|
/* 02574534 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574538 */ return;
|
|
}
|
|
|
|
// fn_025744F0 @ 0x25744f0
|
|
void Gambit_fn_025744F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025744F0: ; // 0x25744f0
|
|
/* 025744F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025744F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025744F0 */ cpu->r[1] = _t0;
|
|
/* 025744F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025744F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025744F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025744FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025744FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574500 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02574500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02574504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02574508 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574508 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02574508 */ if (_t5) goto L_0257450C; else goto L_02574528;
|
|
L_0257450C: ; // 0x257450c
|
|
/* 0257450C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0257450C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574510 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02574510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02574514 */ cpu->ctr = cpu->r[0];
|
|
/* 02574518 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257451C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02574520 */ cpu->r[0] = 0x00000002u;
|
|
/* 02574524 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02574524 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02574528: ; // 0x2574528
|
|
/* 02574528 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02574528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0257452C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257452C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02574530 */ cpu->lr = cpu->r[0];
|
|
/* 02574534 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574538 */ return;
|
|
}
|
|
|
|
// fn_02574540 @ 0x2574540
|
|
void Gambit_fn_02574540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02574540: ; // 0x2574540
|
|
/* 02574540 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574540 */ cpu->r[1] = _t0;
|
|
/* 02574544 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574544 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574548 */ cpu->r[3] = 0x000002B8u;
|
|
/* 0257454C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257454C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574550 */ Gambit_fn_02801A78(cpu);
|
|
/* 02574554 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02574558 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574558 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02574558 */ if (_t4) goto L_02574570; else goto L_0257455C;
|
|
L_0257455C: ; // 0x257455c
|
|
/* 0257455C */ cpu->r[3] = cpu->r[31];
|
|
/* 02574560 */ Gambit_fn_02570A94(cpu);
|
|
/* 02574564 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574568 */ cpu->r[0] = cpu->r[0] + 0xFFFFF584u;
|
|
/* 0257456C */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0257456C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02574570: ; // 0x2574570
|
|
/* 02574570 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02574570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574574 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574578 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257457C */ cpu->lr = cpu->r[0];
|
|
/* 02574580 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574584 */ return;
|
|
}
|
|
|
|
// fn_02574588 @ 0x2574588
|
|
void Gambit_fn_02574588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02574588: ; // 0x2574588
|
|
/* 02574588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257458C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257458C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0257458C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257458C */ goto L_02574590;
|
|
L_02574590: ; // 0x2574590
|
|
/* 02574590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02574590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574594 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574594 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02574594 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02574594 */ goto L_02574598;
|
|
L_02574598: ; // 0x2574598
|
|
/* 02574598 */ 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_0257459C @ 0x257459c
|
|
void Gambit_fn_0257459C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0257459C: ; // 0x257459c
|
|
/* 0257459C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0257459C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025745A0 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 025745A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025745A4 */ cpu->ctr = cpu->r[0];
|
|
/* 025745A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025745AC @ 0x25745ac
|
|
void Gambit_fn_025745AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025745AC: ; // 0x25745ac
|
|
/* 025745AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025745AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025745B0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025745B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025745B4 */ cpu->ctr = cpu->r[0];
|
|
/* 025745B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025745BC @ 0x25745bc
|
|
void Gambit_fn_025745BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025745BC: ; // 0x25745bc
|
|
/* 025745BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025745BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025745C0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025745C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025745C4 */ cpu->ctr = cpu->r[0];
|
|
/* 025745C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025745CC @ 0x25745cc
|
|
void Gambit_fn_025745CC(CPUState* cpu) {
|
|
L_025745CC: ; // 0x25745cc
|
|
/* 025745CC */ cpu->r[3] = 0x00000001u;
|
|
/* 025745D0 */ return;
|
|
}
|
|
|
|
// fn_025745D4 @ 0x25745d4
|
|
void Gambit_fn_025745D4(CPUState* cpu) {
|
|
L_025745D4: ; // 0x25745d4
|
|
/* 025745D4 */ return;
|
|
}
|
|
|
|
// fn_025745D8 @ 0x25745d8
|
|
void Gambit_fn_025745D8(CPUState* cpu) {
|
|
L_025745D8: ; // 0x25745d8
|
|
/* 025745D8 */ return;
|
|
}
|
|
|
|
// fn_025745DC @ 0x25745dc
|
|
void Gambit_fn_025745DC(CPUState* cpu) {
|
|
L_025745DC: ; // 0x25745dc
|
|
/* 025745DC */ return;
|
|
}
|
|
|
|
// fn_025745E0 @ 0x25745e0
|
|
void Gambit_fn_025745E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025745E0: ; // 0x25745e0
|
|
/* 025745E0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 025745E4 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 025745E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025745E4 */ cpu->r[10] = _t0;
|
|
/* 025745E8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 025745E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 025745EC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 025745EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025745F0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 025745F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 025745F4 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 025745F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025745F8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 025745F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025745FC */ return;
|
|
}
|
|
|
|
// fn_02574600 @ 0x2574600
|
|
void Gambit_fn_02574600(CPUState* cpu) {
|
|
L_02574600: ; // 0x2574600
|
|
/* 02574600 */ return;
|
|
}
|
|
|
|
// fn_02574604 @ 0x2574604
|
|
void Gambit_fn_02574604(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574604: ; // 0x2574604
|
|
/* 02574604 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02574604 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02574608 */ return;
|
|
}
|
|
|
|
// fn_0257460C @ 0x257460c
|
|
void Gambit_fn_0257460C(CPUState* cpu) {
|
|
L_0257460C: ; // 0x257460c
|
|
/* 0257460C */ cpu->r[3] = 0x00000001u;
|
|
/* 02574610 */ return;
|
|
}
|
|
|
|
// fn_02574614 @ 0x2574614
|
|
void Gambit_fn_02574614(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02574614: ; // 0x2574614
|
|
/* 02574614 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02574614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02574618 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02574618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257461C */ cpu->ctr = cpu->r[0];
|
|
/* 02574620 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02574624 @ 0x2574624
|
|
void Gambit_fn_02574624(CPUState* cpu) {
|
|
L_02574624: ; // 0x2574624
|
|
/* 02574624 */ return;
|
|
}
|
|
|
|
// fn_02574628 @ 0x2574628
|
|
void Gambit_fn_02574628(CPUState* cpu) {
|
|
L_02574628: ; // 0x2574628
|
|
/* 02574628 */ return;
|
|
}
|
|
|
|
// fn_0257462C @ 0x257462c
|
|
void Gambit_fn_0257462C(CPUState* cpu) {
|
|
L_0257462C: ; // 0x257462c
|
|
/* 0257462C */ return;
|
|
}
|
|
|
|
// fn_02574630 @ 0x2574630
|
|
void Gambit_fn_02574630(CPUState* cpu) {
|
|
L_02574630: ; // 0x2574630
|
|
/* 02574630 */ return;
|
|
}
|
|
|
|
// fn_02574634 @ 0x2574634
|
|
void Gambit_fn_02574634(CPUState* cpu) {
|
|
L_02574634: ; // 0x2574634
|
|
/* 02574634 */ return;
|
|
}
|
|
|
|
// fn_02574638 @ 0x2574638
|
|
void Gambit_fn_02574638(CPUState* cpu) {
|
|
L_02574638: ; // 0x2574638
|
|
/* 02574638 */ return;
|
|
}
|
|
|
|
// fn_0257463C @ 0x257463c
|
|
void Gambit_fn_0257463C(CPUState* cpu) {
|
|
L_0257463C: ; // 0x257463c
|
|
/* 0257463C */ return;
|
|
}
|
|
|
|
// fn_02574640 @ 0x2574640
|
|
void Gambit_fn_02574640(CPUState* cpu) {
|
|
L_02574640: ; // 0x2574640
|
|
/* 02574640 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574644 */ return;
|
|
}
|
|
|
|
// fn_02574648 @ 0x2574648
|
|
void Gambit_fn_02574648(CPUState* cpu) {
|
|
L_02574648: ; // 0x2574648
|
|
/* 02574648 */ return;
|
|
}
|
|
|
|
// fn_0257464C @ 0x257464c
|
|
void Gambit_fn_0257464C(CPUState* cpu) {
|
|
L_0257464C: ; // 0x257464c
|
|
/* 0257464C */ return;
|
|
}
|
|
|
|
// fn_02574650 @ 0x2574650
|
|
void Gambit_fn_02574650(CPUState* cpu) {
|
|
L_02574650: ; // 0x2574650
|
|
/* 02574650 */ cpu->r[3] = 0x00000001u;
|
|
/* 02574654 */ return;
|
|
}
|
|
|
|
// fn_02574658 @ 0x2574658
|
|
void Gambit_fn_02574658(CPUState* cpu) {
|
|
L_02574658: ; // 0x2574658
|
|
/* 02574658 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257465C */ return;
|
|
}
|
|
|
|
// fn_02574660 @ 0x2574660
|
|
void Gambit_fn_02574660(CPUState* cpu) {
|
|
L_02574660: ; // 0x2574660
|
|
/* 02574660 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574664 */ return;
|
|
}
|
|
|
|
// fn_02574668 @ 0x2574668
|
|
void Gambit_fn_02574668(CPUState* cpu) {
|
|
L_02574668: ; // 0x2574668
|
|
/* 02574668 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257466C */ return;
|
|
}
|
|
|
|
// fn_02574670 @ 0x2574670
|
|
void Gambit_fn_02574670(CPUState* cpu) {
|
|
L_02574670: ; // 0x2574670
|
|
/* 02574670 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574674 */ return;
|
|
}
|
|
|
|
// fn_02574678 @ 0x2574678
|
|
void Gambit_fn_02574678(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574678: ; // 0x2574678
|
|
/* 02574678 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02574678 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0257467C */ return;
|
|
}
|
|
|
|
// fn_02574680 @ 0x2574680
|
|
void Gambit_fn_02574680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020621E4: ; // 0x20621e4
|
|
/* 020621E4 */ cpu->r[0] = cpu->lr;
|
|
/* 020621E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020621E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020621E8 */ cpu->r[1] = _t0;
|
|
/* 020621EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020621EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020621F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 020621F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020621F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020621F8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 020621F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020621FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02062200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02062204 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02062204 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02062208 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062208 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02062208 */ if (_t6) goto L_02062230; else goto L_0206220C;
|
|
L_0206220C: ; // 0x206220c
|
|
/* 0206220C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0206220C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02062210 */ /* nop */
|
|
/* 02062214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02062218 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02062218 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02062218 */ if (_t9) goto L_0206221C; else goto L_02062230;
|
|
L_0206221C: ; // 0x206221c
|
|
/* 0206221C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0206221C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02062220 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02062220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02062224 */ cpu->ctr = cpu->r[0];
|
|
/* 02062228 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206222C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02062230: ; // 0x2062230
|
|
/* 02062230 */ cpu->r[3] = cpu->r[31];
|
|
/* 02062234 */ Gambit_fn_0206215C(cpu);
|
|
/* 02062238 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206223C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02062240 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02062240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02062244 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02062244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02062248 */ cpu->lr = cpu->r[0];
|
|
/* 0206224C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02062250 */ return;
|
|
L_02574680: ; // 0x2574680
|
|
/* 02574680 */ cpu->r[3] = cpu->r[3] + 0x000001D4u;
|
|
/* 02574684 */ goto L_020621E4;
|
|
}
|
|
|
|
// fn_02574688 @ 0x2574688
|
|
void Gambit_fn_02574688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02574688: ; // 0x2574688
|
|
/* 02574688 */ cpu->r[0] = cpu->lr;
|
|
/* 0257468C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0257468C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257468C */ cpu->r[1] = _t0;
|
|
/* 02574690 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574690 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574694 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574698 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574698 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0257469C */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 0257469C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025746A0 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 025746A4 */ /* nop */
|
|
/* 025746A8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025746AC */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 025746B0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025746B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025746B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025746B8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025746B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025746BC */ cpu->lr = cpu->r[0];
|
|
/* 025746C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025746C4 */ return;
|
|
}
|
|
|
|
// fn_0257468C @ 0x257468c
|
|
void Gambit_fn_0257468C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0257468C: ; // 0x257468c
|
|
/* 0257468C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0257468C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257468C */ cpu->r[1] = _t0;
|
|
/* 02574690 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574690 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574694 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574698 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02574698 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0257469C */ _t3 = cpu->r[31] + 0x000001E2u;
|
|
/* 0257469C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025746A0 */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 025746A4 */ /* nop */
|
|
/* 025746A8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025746AC */ cpu->r[3] = cpu->r[31] + 0x000001D4u;
|
|
/* 025746B0 */ Gambit_fn_020620D4(cpu);
|
|
/* 025746B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025746B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025746B8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025746B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025746BC */ cpu->lr = cpu->r[0];
|
|
/* 025746C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025746C4 */ return;
|
|
}
|
|
|
|
// fn_025746C8 @ 0x25746c8
|
|
void Gambit_fn_025746C8(CPUState* cpu) {
|
|
L_025746C8: ; // 0x25746c8
|
|
/* 025746C8 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025746CC */ cpu->r[3] = cpu->r[3] + 0xFFFFF54Cu;
|
|
/* 025746D0 */ return;
|
|
}
|
|
|
|
// fn_025746D4 @ 0x25746d4
|
|
void Gambit_fn_025746D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_025746D4: ; // 0x25746d4
|
|
/* 025746D4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025746D8 */ _t0 = cpu->r[8] + 0x00000654u;
|
|
/* 025746D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025746DC */ cpu->r[6] = 0x101D0000u;
|
|
/* 025746E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025746E4 */ cpu->r[6] = cpu->r[6] + 0x00000AB4u;
|
|
/* 025746E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025746E8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025746E8 */ if (_t2) goto L_025746EC; else goto L_02574704;
|
|
L_025746EC: ; // 0x25746ec
|
|
/* 025746EC */ cpu->r[5] = 0x100D0000u;
|
|
/* 025746F0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025746F4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025746F8 */ cpu->r[5] = cpu->r[5] + 0xFFFFF530u;
|
|
/* 025746FC */ _t3 = cpu->r[8] + 0x00000654u;
|
|
/* 025746FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02574700 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02574700 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02574704: ; // 0x2574704
|
|
/* 02574704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02574708 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574708 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02574708 */ if (_t6) goto L_0257470C; else goto L_02574714;
|
|
L_0257470C: ; // 0x257470c
|
|
/* 0257470C */ cpu->r[3] = 0x00000001u;
|
|
/* 02574710 */ return;
|
|
L_02574714: ; // 0x2574714
|
|
/* 02574714 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02574718 */ _t7 = cpu->r[10] + 0xFFFFEB28u;
|
|
/* 02574718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257471C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02574720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574724 */ cpu->r[8] = cpu->r[8] + 0x00000074u;
|
|
/* 02574728 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574728 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02574728 */ if (_t9) goto L_0257472C; else goto L_02574744;
|
|
L_0257472C: ; // 0x257472c
|
|
/* 0257472C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574730 */ cpu->r[7] = 0x00000001u;
|
|
/* 02574734 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02574738 */ cpu->r[0] = cpu->r[0] + 0xFFFFF520u;
|
|
/* 0257473C */ _t10 = cpu->r[6] + 0xFFFFEB28u;
|
|
/* 0257473C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02574740 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02574740 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02574744: ; // 0x2574744
|
|
/* 02574744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02574748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574748 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02574748 */ if (_t13) goto L_0257474C; else goto L_02574754;
|
|
L_0257474C: ; // 0x257474c
|
|
/* 0257474C */ cpu->r[0] = 0x00000001u;
|
|
/* 02574750 */ goto L_0257484C;
|
|
L_02574754: ; // 0x2574754
|
|
/* 02574754 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574758 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02574758 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0257475C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02574760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02574764 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 02574768 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574768 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02574768 */ if (_t16) goto L_0257476C; else goto L_02574784;
|
|
L_0257476C: ; // 0x257476c
|
|
/* 0257476C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02574770 */ cpu->r[5] = 0x00000001u;
|
|
/* 02574774 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574778 */ cpu->r[7] = cpu->r[7] + 0xFFFFF510u;
|
|
/* 0257477C */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 0257477C */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02574780 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02574780 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_02574784: ; // 0x2574784
|
|
/* 02574784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02574788 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574788 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02574788 */ if (_t20) goto L_0257478C; else goto L_02574794;
|
|
L_0257478C: ; // 0x257478c
|
|
/* 0257478C */ cpu->r[0] = 0x00000001u;
|
|
/* 02574790 */ goto L_0257484C;
|
|
L_02574794: ; // 0x2574794
|
|
/* 02574794 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02574798 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02574798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0257479C */ cpu->r[12] = 0x101D0000u;
|
|
/* 025747A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025747A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 025747A8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025747A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025747A8 */ if (_t23) goto L_025747AC; else goto L_025747C4;
|
|
L_025747AC: ; // 0x25747ac
|
|
/* 025747AC */ cpu->r[10] = 0x100D0000u;
|
|
/* 025747B0 */ cpu->r[9] = 0x00000001u;
|
|
/* 025747B4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 025747B8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF500u;
|
|
/* 025747BC */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 025747BC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 025747C0 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 025747C0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_025747C4: ; // 0x25747c4
|
|
/* 025747C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 025747C8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025747C8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025747C8 */ if (_t27) goto L_025747CC; else goto L_025747D4;
|
|
L_025747CC: ; // 0x25747cc
|
|
/* 025747CC */ cpu->r[0] = 0x00000001u;
|
|
/* 025747D0 */ goto L_02574848;
|
|
L_025747D4: ; // 0x25747d4
|
|
/* 025747D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025747D8 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 025747D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025747D8 */ cpu->r[10] = _t28;
|
|
/* 025747DC */ cpu->r[7] = 0x101D0000u;
|
|
/* 025747E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025747E4 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 025747E8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025747E8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025747E8 */ if (_t30) goto L_025747EC; else goto L_02574800;
|
|
L_025747EC: ; // 0x25747ec
|
|
/* 025747EC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025747F0 */ cpu->r[12] = 0x00000001u;
|
|
/* 025747F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF4F0u;
|
|
/* 025747F8 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 025747F8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 025747FC */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 025747FC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02574800: ; // 0x2574800
|
|
/* 02574800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02574804 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574804 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02574804 */ if (_t34) goto L_02574808; else goto L_02574810;
|
|
L_02574808: ; // 0x2574808
|
|
/* 02574808 */ cpu->r[0] = 0x00000001u;
|
|
/* 0257480C */ goto L_02574848;
|
|
L_02574810: ; // 0x2574810
|
|
/* 02574810 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02574814 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02574814 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02574814 */ cpu->r[8] = _t35;
|
|
/* 02574818 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0257481C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02574820 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 02574824 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574824 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02574824 */ if (_t37) goto L_02574828; else goto L_0257483C;
|
|
L_02574828: ; // 0x2574828
|
|
/* 02574828 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257482C */ cpu->r[7] = 0x00000001u;
|
|
/* 02574830 */ cpu->r[9] = cpu->r[9] + 0xFFFFF4C8u;
|
|
/* 02574834 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02574834 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02574838 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02574838 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0257483C: ; // 0x257483c
|
|
/* 0257483C */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02574840 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02574844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02574848: ; // 0x2574848
|
|
/* 02574848 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0257484C: ; // 0x257484c
|
|
/* 0257484C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02574850 */ return;
|
|
}
|
|
|
|
// fn_02574854 @ 0x2574854
|
|
void Gambit_fn_02574854(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574854: ; // 0x2574854
|
|
/* 02574854 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02574858 */ _t0 = cpu->r[12] + 0xFFFFF57Cu;
|
|
/* 02574858 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0257485C */ return;
|
|
}
|
|
|
|
// fn_02574860 @ 0x2574860
|
|
void Gambit_fn_02574860(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02574860: ; // 0x2574860
|
|
/* 02574860 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02574864 */ _t0 = cpu->r[12] + 0xFFFFF580u;
|
|
/* 02574864 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02574868 */ return;
|
|
}
|
|
|
|
// fn_0257486C @ 0x257486c
|
|
void Gambit_fn_0257486C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0257486C: ; // 0x257486c
|
|
/* 0257486C */ cpu->r[0] = cpu->lr;
|
|
/* 02574870 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02574874 */ cpu->r[7] = 0x02570000u;
|
|
/* 02574878 */ cpu->r[6] = 0x02570000u;
|
|
/* 0257487C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02574880 */ cpu->r[7] = cpu->r[7] + 0x0000453Cu;
|
|
/* 02574884 */ cpu->r[6] = cpu->r[6] + 0x0000453Cu;
|
|
/* 02574888 */ cpu->r[10] = cpu->r[10] + 0x00006BC4u;
|
|
/* 0257488C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0257488C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02574890 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02574894 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574894 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02574894 */ cpu->r[1] = _t1;
|
|
/* 02574898 */ cpu->r[0] = cpu->r[0] + 0x00006BC0u;
|
|
/* 0257489C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0257489C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025748A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 025748A4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 025748A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025748A8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025748AC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025748AC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 025748B0 */ Gambit_fn_02791B10(cpu);
|
|
/* 025748B4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025748B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025748B8 */ cpu->lr = cpu->r[0];
|
|
/* 025748BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025748C0 */ return;
|
|
}
|
|
|
|
// fn_02574894 @ 0x2574894
|
|
void Gambit_fn_02574894(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02574894: ; // 0x2574894
|
|
/* 02574894 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574894 */ cpu->r[1] = _t0;
|
|
/* 02574898 */ cpu->r[0] = cpu->r[0] + 0x00006BC0u;
|
|
/* 0257489C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0257489C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025748A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 025748A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025748A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025748A8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025748AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025748AC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 025748B0 */ Gambit_fn_02791B10(cpu);
|
|
/* 025748B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025748B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025748B8 */ cpu->lr = cpu->r[0];
|
|
/* 025748BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025748C0 */ return;
|
|
}
|
|
|
|
// fn_025748C4 @ 0x25748c4
|
|
void Gambit_fn_025748C4(CPUState* cpu) {
|
|
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_025748C4: ; // 0x25748c4
|
|
/* 025748C4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025748C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025748C4 */ cpu->r[1] = _t0;
|
|
/* 025748C8 */ cpu->r[0] = cpu->lr;
|
|
/* 025748CC */ /* nop */
|
|
/* 025748D0 */ cpu->r[30] = cpu->r[5];
|
|
/* 025748D4 */ cpu->r[26] = cpu->r[3];
|
|
/* 025748D8 */ cpu->r[27] = cpu->r[7];
|
|
/* 025748DC */ cpu->r[3] = cpu->r[30];
|
|
/* 025748E0 */ cpu->r[31] = cpu->r[6];
|
|
/* 025748E4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025748E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025748E8 */ cpu->r[29] = cpu->r[4];
|
|
/* 025748EC */ cpu->r[4] = cpu->r[27];
|
|
/* 025748F0 */ Gambit_fn_027DB318(cpu);
|
|
/* 025748F4 */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 025748F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025748F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025748F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025748F8 */ if (_t3) goto L_0257498C; else goto L_025748FC;
|
|
L_025748FC: ; // 0x25748fc
|
|
/* 025748FC */ cpu->r[5] = cpu->r[28];
|
|
/* 02574900 */ cpu->r[4] = cpu->r[29];
|
|
/* 02574904 */ cpu->r[3] = cpu->r[26];
|
|
/* 02574908 */ Gambit_fn_0257486C(cpu);
|
|
/* 0257490C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0257490C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574910 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02574910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574914 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02574918 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 0257491C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02574920 */ cpu->r[25] = 0x00000000u;
|
|
/* 02574924 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574924 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02574924 */ if (_t7) goto L_0257498C; else goto L_02574928;
|
|
L_02574928: ; // 0x2574928
|
|
/* 02574928 */ cpu->r[24] = 0x101C0000u;
|
|
L_0257492C: ; // 0x257492c
|
|
/* 0257492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02574930 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574930 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02574930 */ if (_t9) goto L_02574948; else goto L_02574934;
|
|
L_02574934: ; // 0x2574934
|
|
/* 02574934 */ cpu->ctr = cpu->r[27];
|
|
/* 02574938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257493C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02574940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574944 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574944 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02574944 */ if (_t11) goto L_02574978; else goto L_02574948;
|
|
L_02574948: ; // 0x2574948
|
|
/* 02574948 */ _t12 = cpu->r[24] + 0x00006BC0u;
|
|
/* 02574948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257494C */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02574950 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02574950 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02574954 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02574954 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574958 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0257495C */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 0257495C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02574960 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574964 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02574964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02574968 */ cpu->r[4] = cpu->r[31];
|
|
/* 0257496C */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 0257496C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02574970 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02574974 */ Gambit_fn_025723AC(cpu);
|
|
L_02574978: ; // 0x2574978
|
|
/* 02574978 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0257497C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0257497C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02574980 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02574984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02574988 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574988 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02574988 */ if (_t20) goto L_0257498C; else goto L_0257492C;
|
|
L_0257498C: ; // 0x257498c
|
|
/* 0257498C */ cpu->r[3] = cpu->r[28];
|
|
/* 02574990 */ /* nop */
|
|
/* 02574994 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574998 */ cpu->lr = cpu->r[0];
|
|
/* 0257499C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025749A0 */ return;
|
|
}
|
|
|
|
// fn_025749A4 @ 0x25749a4
|
|
void Gambit_fn_025749A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025749A4: ; // 0x25749a4
|
|
/* 025749A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025749A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025749A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025749A8 */ goto L_025749AC;
|
|
L_025749AC: ; // 0x25749ac
|
|
/* 025749AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025749AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025749B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025749B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025749B0 */ goto L_025749B4;
|
|
L_025749B4: ; // 0x25749b4
|
|
/* 025749B4 */ 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_025749B8 @ 0x25749b8
|
|
void Gambit_fn_025749B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025749B8: ; // 0x25749b8
|
|
/* 025749B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025749BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 025749BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025749BC */ goto L_025749C0;
|
|
L_025749C0: ; // 0x25749c0
|
|
/* 025749C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025749C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025749C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025749C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025749C4 */ goto L_025749C8;
|
|
L_025749C8: ; // 0x25749c8
|
|
/* 025749C8 */ 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_025749CC @ 0x25749cc
|
|
void Gambit_fn_025749CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_025749CC: ; // 0x25749cc
|
|
/* 025749CC */ cpu->r[0] = cpu->lr;
|
|
/* 025749D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025749D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025749D0 */ cpu->r[1] = _t0;
|
|
/* 025749D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025749D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025749D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025749D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025749DC */ cpu->r[30] = cpu->r[3];
|
|
/* 025749DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025749E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025749E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025749E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025749E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025749E8 */ if (_t5) goto L_02574A34; else goto L_025749EC;
|
|
L_025749EC: ; // 0x25749ec
|
|
/* 025749EC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025749F0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025749F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF9A4u;
|
|
/* 025749F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB4Cu;
|
|
/* 025749FC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 025749FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02574A00 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574A04 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 02574A04 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02574A08 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB5Cu;
|
|
/* 02574A0C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02574A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02574A14 */ _t8 = cpu->r[30] + 0x000002D8u;
|
|
/* 02574A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02574A18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A1C */ _t9 = cpu->r[12] + 0x00006BD0u;
|
|
/* 02574A1C */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02574A20 */ Gambit_fn_023AE47C(cpu);
|
|
/* 02574A24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02574A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574A28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574A28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02574A28 */ if (_t11) goto L_02574A34; else goto L_02574A2C;
|
|
L_02574A2C: ; // 0x2574a2c
|
|
/* 02574A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A30 */ Gambit_fn_02801BB0(cpu);
|
|
L_02574A34: ; // 0x2574a34
|
|
/* 02574A34 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02574A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574A38 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02574A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574A3C */ cpu->lr = cpu->r[0];
|
|
/* 02574A40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574A40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574A44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574A48 */ return;
|
|
}
|
|
|
|
// fn_025749D0 @ 0x25749d0
|
|
void Gambit_fn_025749D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_025749D0: ; // 0x25749d0
|
|
/* 025749D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025749D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025749D0 */ cpu->r[1] = _t0;
|
|
/* 025749D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025749D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025749D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025749D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025749DC */ cpu->r[30] = cpu->r[3];
|
|
/* 025749DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025749E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025749E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025749E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025749E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025749E8 */ if (_t5) goto L_02574A34; else goto L_025749EC;
|
|
L_025749EC: ; // 0x25749ec
|
|
/* 025749EC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025749F0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025749F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF9A4u;
|
|
/* 025749F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB4Cu;
|
|
/* 025749FC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 025749FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02574A00 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574A04 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 02574A04 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02574A08 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB5Cu;
|
|
/* 02574A0C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02574A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02574A14 */ _t8 = cpu->r[30] + 0x000002D8u;
|
|
/* 02574A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02574A18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A1C */ _t9 = cpu->r[12] + 0x00006BD0u;
|
|
/* 02574A1C */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02574A20 */ Gambit_fn_023AE47C(cpu);
|
|
/* 02574A24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02574A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574A28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574A28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02574A28 */ if (_t11) goto L_02574A34; else goto L_02574A2C;
|
|
L_02574A2C: ; // 0x2574a2c
|
|
/* 02574A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A30 */ Gambit_fn_02801BB0(cpu);
|
|
L_02574A34: ; // 0x2574a34
|
|
/* 02574A34 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02574A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574A38 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02574A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574A3C */ cpu->lr = cpu->r[0];
|
|
/* 02574A40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574A40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574A44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574A48 */ return;
|
|
}
|
|
|
|
// fn_02574A4C @ 0x2574a4c
|
|
void Gambit_fn_02574A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_025749CC: ; // 0x25749cc
|
|
/* 025749CC */ cpu->r[0] = cpu->lr;
|
|
/* 025749D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025749D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025749D0 */ cpu->r[1] = _t0;
|
|
/* 025749D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025749D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025749D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025749D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025749DC */ cpu->r[30] = cpu->r[3];
|
|
/* 025749DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 025749E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025749E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025749E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025749E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025749E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025749E8 */ if (_t5) goto L_02574A34; else goto L_025749EC;
|
|
L_025749EC: ; // 0x25749ec
|
|
/* 025749EC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025749F0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025749F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF9A4u;
|
|
/* 025749F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB4Cu;
|
|
/* 025749FC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 025749FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02574A00 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574A04 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 02574A04 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02574A08 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB5Cu;
|
|
/* 02574A0C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02574A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02574A14 */ _t8 = cpu->r[30] + 0x000002D8u;
|
|
/* 02574A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02574A18 */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A1C */ _t9 = cpu->r[12] + 0x00006BD0u;
|
|
/* 02574A1C */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02574A20 */ Gambit_fn_023AE47C(cpu);
|
|
/* 02574A24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02574A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574A28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574A28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02574A28 */ if (_t11) goto L_02574A34; else goto L_02574A2C;
|
|
L_02574A2C: ; // 0x2574a2c
|
|
/* 02574A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02574A30 */ Gambit_fn_02801BB0(cpu);
|
|
L_02574A34: ; // 0x2574a34
|
|
/* 02574A34 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02574A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574A38 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02574A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574A3C */ cpu->lr = cpu->r[0];
|
|
/* 02574A40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574A40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574A44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574A48 */ return;
|
|
L_02574A4C: ; // 0x2574a4c
|
|
/* 02574A4C */ cpu->r[3] = cpu->r[3] + 0xFFFFFDC8u;
|
|
/* 02574A50 */ goto L_025749CC;
|
|
}
|
|
|
|
// fn_02574A58 @ 0x2574a58
|
|
void Gambit_fn_02574A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02574A58: ; // 0x2574a58
|
|
/* 02574A58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574A58 */ cpu->r[1] = _t0;
|
|
/* 02574A5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574A5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574A60 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02574A60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02574A64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02574A68 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574A68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02574A6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574A6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02574A6C */ if (_t5) goto L_02574A70; else goto L_02574A80;
|
|
L_02574A70: ; // 0x2574a70
|
|
/* 02574A70 */ cpu->r[3] = 0x00000304u;
|
|
/* 02574A74 */ Gambit_fn_02801A78(cpu);
|
|
/* 02574A78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02574A7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574A7C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02574A7C */ if (_t7) goto L_02574B34; else goto L_02574A80;
|
|
L_02574A80: ; // 0x2574a80
|
|
/* 02574A80 */ cpu->r[4] = 0x00000001u;
|
|
/* 02574A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574A88 */ cpu->r[6] = 0x00000011u;
|
|
/* 02574A8C */ cpu->r[5] = cpu->r[4];
|
|
/* 02574A90 */ Gambit_fn_023AE4E4(cpu);
|
|
/* 02574A94 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574A98 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02574A9C */ cpu->r[0] = cpu->r[0] + 0xFFFFF9A4u;
|
|
/* 02574AA0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFB4Cu;
|
|
/* 02574AA4 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02574AA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02574AA8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02574AAC */ _t9 = cpu->r[31] + 0x00000244u;
|
|
/* 02574AAC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02574AB0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB5Cu;
|
|
/* 02574AB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02574AB8 */ _t10 = cpu->r[31] + 0x000002D8u;
|
|
/* 02574AB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02574ABC */ _t11 = cpu->r[31] + 0x000002DCu;
|
|
/* 02574ABC */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02574AC0 */ _t12 = cpu->r[31] + 0x000002E0u;
|
|
/* 02574AC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02574AC4 */ _t13 = cpu->r[31] + 0x000002ECu;
|
|
/* 02574AC4 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02574AC8 */ _t14 = cpu->r[31] + 0x000002E8u;
|
|
/* 02574AC8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02574ACC */ _t15 = cpu->r[31] + 0x000002F0u;
|
|
/* 02574ACC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02574AD0 */ cpu->r[3] = cpu->r[31] + 0x000002F4u;
|
|
/* 02574AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574AD4 */ _t16 = cpu->r[31] + 0x000002E4u;
|
|
/* 02574AD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02574AD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574AD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02574AD8 */ if (_t18) goto L_02574ADC; else goto L_02574AEC;
|
|
L_02574ADC: ; // 0x2574adc
|
|
/* 02574ADC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02574AE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02574AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574AE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574AE8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02574AE8 */ if (_t20) goto L_02574B10; else goto L_02574AEC;
|
|
L_02574AEC: ; // 0x2574aec
|
|
/* 02574AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574AF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574AF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02574AF0 */ if (_t22) goto L_02574AF4; else goto L_02574B04;
|
|
L_02574AF4: ; // 0x2574af4
|
|
/* 02574AF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02574AF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02574AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574B00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574B00 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02574B00 */ if (_t24) goto L_02574B10; else goto L_02574B04;
|
|
L_02574B04: ; // 0x2574b04
|
|
/* 02574B04 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02574B04 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02574B08 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02574B08 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02574B0C */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 02574B0C */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
L_02574B10: ; // 0x2574b10
|
|
/* 02574B10 */ _t28 = cpu->r[31] + 0x00000300u;
|
|
/* 02574B10 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02574B14 */ cpu->r[3] = cpu->r[31] + 0x000002F4u;
|
|
/* 02574B18 */ cpu->r[4] = 0x00000002u;
|
|
/* 02574B1C */ _t29 = cpu->r[31] + 0x00000301u;
|
|
/* 02574B1C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02574B20 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02574B24 */ cpu->r[6] = 0x00000004u;
|
|
/* 02574B28 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574B2C */ _t30 = cpu->r[12] + 0x00006BD0u;
|
|
/* 02574B2C */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 02574B30 */ Gambit_fn_028023CC(cpu);
|
|
L_02574B34: ; // 0x2574b34
|
|
/* 02574B34 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02574B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02574B38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574B3C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02574B40 */ cpu->lr = cpu->r[0];
|
|
/* 02574B44 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02574B44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02574B48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574B4C */ return;
|
|
}
|
|
|
|
// fn_02574B50 @ 0x2574b50
|
|
void Gambit_fn_02574B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02574B50: ; // 0x2574b50
|
|
/* 02574B50 */ cpu->r[0] = cpu->lr;
|
|
/* 02574B54 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02574B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574B54 */ cpu->r[1] = _t0;
|
|
/* 02574B58 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02574B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574B5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574B60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02574B64 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02574B64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574B68 */ Gambit_fn_02425830(cpu);
|
|
/* 02574B6C */ cpu->r[10] = 0x00000006u;
|
|
/* 02574B70 */ cpu->r[11] = 0x00000008u;
|
|
/* 02574B74 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02574B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02574B78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574B7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574B7C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02574B80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02574B84 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02574B84 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02574B88 */ Gambit_fn_02424FD8(cpu);
|
|
/* 02574B8C */ cpu->r[4] = cpu->r[3];
|
|
/* 02574B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574B90 */ _t6 = cpu->r[31] + 0x00000250u;
|
|
/* 02574B90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574B94 */ _t7 = cpu->r[31] + 0x000002DCu;
|
|
/* 02574B94 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02574B98 */ _t8 = cpu->r[10] + 0x00000250u;
|
|
/* 02574B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02574B9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574B9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02574B9C */ if (_t10) goto L_02574BA4; else goto L_02574BA0;
|
|
L_02574BA0: ; // 0x2574ba0
|
|
/* 02574BA0 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02574BA4: ; // 0x2574ba4
|
|
/* 02574BA4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574BA8 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574BAC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BB0 */ Gambit_fn_024113A0(cpu);
|
|
/* 02574BB4 */ cpu->r[12] = 0x00000006u;
|
|
/* 02574BB8 */ cpu->r[0] = 0x00000008u;
|
|
/* 02574BBC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BBC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02574BC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574BC4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BC8 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02574BC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02574BCC */ Gambit_fn_02411178(cpu);
|
|
/* 02574BD0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574BD4 */ _t13 = cpu->r[31] + 0x00000250u;
|
|
/* 02574BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574BD8 */ _t14 = cpu->r[31] + 0x000002E0u;
|
|
/* 02574BD8 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02574BDC */ _t15 = cpu->r[11] + 0x00000250u;
|
|
/* 02574BDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02574BE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574BE0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02574BE0 */ if (_t17) goto L_02574BE8; else goto L_02574BE4;
|
|
L_02574BE4: ; // 0x2574be4
|
|
/* 02574BE4 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02574BE8: ; // 0x2574be8
|
|
/* 02574BE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574BEC */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574BF0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574BF4 */ Gambit_fn_0241B9F4(cpu);
|
|
/* 02574BF8 */ cpu->r[12] = 0x00000006u;
|
|
/* 02574BFC */ cpu->r[0] = 0x00000008u;
|
|
/* 02574C00 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574C00 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02574C04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574C08 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574C0C */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 02574C0C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02574C10 */ Gambit_fn_0241B6CC(cpu);
|
|
/* 02574C14 */ _t20 = cpu->r[31] + 0x000002E4u;
|
|
/* 02574C14 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02574C18 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574C1C */ _t21 = cpu->r[31] + 0x00000250u;
|
|
/* 02574C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574C20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574C20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02574C20 */ if (_t23) goto L_02574C28; else goto L_02574C24;
|
|
L_02574C24: ; // 0x2574c24
|
|
/* 02574C24 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_02574C28: ; // 0x2574c28
|
|
/* 02574C28 */ _t24 = cpu->r[11] + 0x00000250u;
|
|
/* 02574C28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02574C2C */ cpu->r[5] = 0x00000000u;
|
|
/* 02574C30 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574C34 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C38 */ Gambit_fn_02076584(cpu);
|
|
/* 02574C3C */ cpu->r[12] = 0x00000006u;
|
|
/* 02574C40 */ cpu->r[0] = 0x00000008u;
|
|
/* 02574C44 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C44 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02574C48 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574C4C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C50 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 02574C50 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02574C54 */ Gambit_fn_020757E8(cpu);
|
|
/* 02574C58 */ _t27 = cpu->r[31] + 0x000002E8u;
|
|
/* 02574C58 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02574C5C */ cpu->r[4] = cpu->r[3];
|
|
/* 02574C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574C60 */ _t28 = cpu->r[31] + 0x00000250u;
|
|
/* 02574C60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02574C64 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574C64 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02574C64 */ if (_t30) goto L_02574C6C; else goto L_02574C68;
|
|
L_02574C68: ; // 0x2574c68
|
|
/* 02574C68 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_02574C6C: ; // 0x2574c6c
|
|
/* 02574C6C */ _t31 = cpu->r[10] + 0x00000250u;
|
|
/* 02574C6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02574C70 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574C74 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574C78 */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02574C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02574C7C */ _t33 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02574C7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02574C80 */ cpu->lr = cpu->r[0];
|
|
/* 02574C84 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02574C88 */ return;
|
|
}
|
|
|
|
// fn_02574B54 @ 0x2574b54
|
|
void Gambit_fn_02574B54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02574B54: ; // 0x2574b54
|
|
/* 02574B54 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02574B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574B54 */ cpu->r[1] = _t0;
|
|
/* 02574B58 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02574B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02574B5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574B60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02574B64 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02574B64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02574B68 */ Gambit_fn_02425830(cpu);
|
|
/* 02574B6C */ cpu->r[10] = 0x00000006u;
|
|
/* 02574B70 */ cpu->r[11] = 0x00000008u;
|
|
/* 02574B74 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02574B74 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02574B78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574B7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574B7C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02574B80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02574B84 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02574B84 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02574B88 */ Gambit_fn_02424FD8(cpu);
|
|
/* 02574B8C */ cpu->r[4] = cpu->r[3];
|
|
/* 02574B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574B90 */ _t6 = cpu->r[31] + 0x00000250u;
|
|
/* 02574B90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574B94 */ _t7 = cpu->r[31] + 0x000002DCu;
|
|
/* 02574B94 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02574B98 */ _t8 = cpu->r[10] + 0x00000250u;
|
|
/* 02574B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02574B9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574B9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02574B9C */ if (_t10) goto L_02574BA4; else goto L_02574BA0;
|
|
L_02574BA0: ; // 0x2574ba0
|
|
/* 02574BA0 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02574BA4: ; // 0x2574ba4
|
|
/* 02574BA4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574BA8 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574BAC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BB0 */ Gambit_fn_024113A0(cpu);
|
|
/* 02574BB4 */ cpu->r[12] = 0x00000006u;
|
|
/* 02574BB8 */ cpu->r[0] = 0x00000008u;
|
|
/* 02574BBC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BBC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02574BC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574BC4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574BC8 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02574BC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02574BCC */ Gambit_fn_02411178(cpu);
|
|
/* 02574BD0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574BD4 */ _t13 = cpu->r[31] + 0x00000250u;
|
|
/* 02574BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574BD8 */ _t14 = cpu->r[31] + 0x000002E0u;
|
|
/* 02574BD8 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02574BDC */ _t15 = cpu->r[11] + 0x00000250u;
|
|
/* 02574BDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02574BE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574BE0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02574BE0 */ if (_t17) goto L_02574BE8; else goto L_02574BE4;
|
|
L_02574BE4: ; // 0x2574be4
|
|
/* 02574BE4 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02574BE8: ; // 0x2574be8
|
|
/* 02574BE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574BEC */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574BF0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574BF4 */ Gambit_fn_0241B9F4(cpu);
|
|
/* 02574BF8 */ cpu->r[12] = 0x00000006u;
|
|
/* 02574BFC */ cpu->r[0] = 0x00000008u;
|
|
/* 02574C00 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574C00 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02574C04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574C08 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02574C0C */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 02574C0C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02574C10 */ Gambit_fn_0241B6CC(cpu);
|
|
/* 02574C14 */ _t20 = cpu->r[31] + 0x000002E4u;
|
|
/* 02574C14 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02574C18 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574C1C */ _t21 = cpu->r[31] + 0x00000250u;
|
|
/* 02574C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574C20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574C20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02574C20 */ if (_t23) goto L_02574C28; else goto L_02574C24;
|
|
L_02574C24: ; // 0x2574c24
|
|
/* 02574C24 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_02574C28: ; // 0x2574c28
|
|
/* 02574C28 */ _t24 = cpu->r[11] + 0x00000250u;
|
|
/* 02574C28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02574C2C */ cpu->r[5] = 0x00000000u;
|
|
/* 02574C30 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574C34 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C38 */ Gambit_fn_02076584(cpu);
|
|
/* 02574C3C */ cpu->r[12] = 0x00000006u;
|
|
/* 02574C40 */ cpu->r[0] = 0x00000008u;
|
|
/* 02574C44 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C44 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02574C48 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574C4C */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02574C50 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 02574C50 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02574C54 */ Gambit_fn_020757E8(cpu);
|
|
/* 02574C58 */ _t27 = cpu->r[31] + 0x000002E8u;
|
|
/* 02574C58 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02574C5C */ cpu->r[4] = cpu->r[3];
|
|
/* 02574C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02574C60 */ _t28 = cpu->r[31] + 0x00000250u;
|
|
/* 02574C60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02574C64 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574C64 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02574C64 */ if (_t30) goto L_02574C6C; else goto L_02574C68;
|
|
L_02574C68: ; // 0x2574c68
|
|
/* 02574C68 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
L_02574C6C: ; // 0x2574c6c
|
|
/* 02574C6C */ _t31 = cpu->r[10] + 0x00000250u;
|
|
/* 02574C6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02574C70 */ cpu->r[5] = 0x00000000u;
|
|
/* 02574C74 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02574C78 */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02574C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02574C7C */ _t33 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02574C7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02574C80 */ cpu->lr = cpu->r[0];
|
|
/* 02574C84 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02574C88 */ return;
|
|
}
|
|
|
|
// fn_02574C8C @ 0x2574c8c
|
|
void Gambit_fn_02574C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02574C8C: ; // 0x2574c8c
|
|
/* 02574C8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02574C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574C8C */ cpu->r[1] = _t0;
|
|
/* 02574C90 */ cpu->r[0] = cpu->lr;
|
|
/* 02574C94 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02574C94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02574C98 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574C98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02574C9C */ cpu->r[30] = 0x00000000u;
|
|
/* 02574CA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574CA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02574CA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02574CA8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02574CAC */ cpu->r[4] = 0x100D0000u;
|
|
/* 02574CB0 */ cpu->r[3] = cpu->r[31] + 0x000002D8u;
|
|
/* 02574CB4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02574CB8 */ cpu->r[4] = cpu->r[4] + 0xFFFFF96Cu;
|
|
/* 02574CBC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02574CBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02574CC0 */ Gambit_fn_027E0F08(cpu);
|
|
/* 02574CC4 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02574CC8 */ cpu->r[3] = cpu->r[31] + 0x000002D8u;
|
|
/* 02574CCC */ cpu->r[5] = 0x101C0000u;
|
|
/* 02574CD0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF95Cu;
|
|
/* 02574CD4 */ cpu->r[6] = cpu->r[30];
|
|
/* 02574CD8 */ cpu->r[5] = cpu->r[5] + 0x000055F4u;
|
|
/* 02574CDC */ Gambit_fn_027E0DC4(cpu);
|
|
/* 02574CE0 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02574CE4 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02574CE8 */ cpu->r[6] = cpu->r[30];
|
|
/* 02574CEC */ cpu->r[3] = cpu->r[31] + 0x000002D8u;
|
|
/* 02574CF0 */ cpu->r[5] = cpu->r[5] + 0x0000724Cu;
|
|
/* 02574CF4 */ cpu->r[4] = cpu->r[4] + 0xFFFFF978u;
|
|
/* 02574CF8 */ Gambit_fn_027E0DC4(cpu);
|
|
/* 02574CFC */ cpu->r[4] = 0x100D0000u;
|
|
/* 02574D00 */ cpu->r[3] = cpu->r[31] + 0x000002D8u;
|
|
/* 02574D04 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02574D08 */ cpu->r[4] = cpu->r[4] + 0xFFFFF98Cu;
|
|
/* 02574D0C */ cpu->r[6] = 0x00000000u;
|
|
/* 02574D10 */ cpu->r[5] = cpu->r[5] + 0x0000664Cu;
|
|
/* 02574D14 */ Gambit_fn_027E0DC4(cpu);
|
|
/* 02574D18 */ Gambit_fn_02390090(cpu);
|
|
/* 02574D1C */ cpu->r[5] = 0x00000001u;
|
|
/* 02574D20 */ cpu->r[4] = 0x0000000Fu;
|
|
/* 02574D24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574D28 */ Gambit_fn_02575970(cpu);
|
|
/* 02574D2C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02574D30 */ _t5 = cpu->r[10] + 0x00006BD4u;
|
|
/* 02574D30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574D34 */ cpu->r[29] = cpu->r[31] + 0x00000104u;
|
|
/* 02574D38 */ _t6 = cpu->r[29] + cpu->r[10];
|
|
/* 02574D38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02574D3C */ _t7 = cpu->r[31] + 0x00000030u;
|
|
/* 02574D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02574D40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574D44 */ _t8 = cpu->r[12] + cpu->r[9];
|
|
/* 02574D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02574D48 */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 02574D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02574D4C */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02574D4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02574D50 */ Gambit_fn_02790458(cpu);
|
|
/* 02574D54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574D58 */ cpu->r[4] = 0x00000010u;
|
|
/* 02574D5C */ cpu->r[5] = 0x00000001u;
|
|
/* 02574D60 */ Gambit_fn_025759C8(cpu);
|
|
/* 02574D64 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02574D68 */ _t11 = cpu->r[12] + 0x00006BF4u;
|
|
/* 02574D68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02574D6C */ _t12 = cpu->r[29] + cpu->r[12];
|
|
/* 02574D6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02574D70 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 02574D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574D74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574D78 */ _t14 = cpu->r[10] + cpu->r[0];
|
|
/* 02574D78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02574D7C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02574D7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02574D80 */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 02574D80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02574D84 */ Gambit_fn_02790458(cpu);
|
|
/* 02574D88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574D8C */ Gambit_fn_02574B50(cpu);
|
|
/* 02574D90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574D94 */ Gambit_fn_023AE57C(cpu);
|
|
/* 02574D98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574D9C */ Gambit_fn_0239B1C8(cpu);
|
|
/* 02574DA0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574DA4 */ _t17 = cpu->r[3] + 0x00005BA8u;
|
|
/* 02574DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02574DA8 */ Gambit_fn_0239B328(cpu);
|
|
/* 02574DAC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02574DB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02574DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574DB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574DB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02574DB8 */ if (_t19) goto L_02574DC0; else goto L_02574DBC;
|
|
L_02574DBC: ; // 0x2574dbc
|
|
/* 02574DBC */ Gambit_fn_02575FC0(cpu);
|
|
L_02574DC0: ; // 0x2574dc0
|
|
/* 02574DC0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02574DC4 */ _t20 = cpu->r[31] + 0x000002ECu;
|
|
/* 02574DC4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02574DC8 */ _t21 = cpu->r[11] + 0x00006BFCu;
|
|
/* 02574DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02574DCC */ _t22 = cpu->r[29] + cpu->r[11];
|
|
/* 02574DCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02574DD0 */ _t23 = cpu->r[31] + 0x00000030u;
|
|
/* 02574DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02574DD4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574DD8 */ _t24 = cpu->r[11] + cpu->r[12];
|
|
/* 02574DD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02574DDC */ _t25 = cpu->r[10] + 0x00000004u;
|
|
/* 02574DDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02574DE0 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 02574DE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02574DE4 */ Gambit_fn_02579798(cpu);
|
|
/* 02574DE8 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02574DEC */ cpu->r[12] = 0x00000001u;
|
|
/* 02574DF0 */ _t27 = cpu->r[9] + 0x00001358u;
|
|
/* 02574DF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02574DF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574DF8 */ _t28 = cpu->r[9] + 0x000002E8u;
|
|
/* 02574DF8 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02574DFC */ Gambit_fn_020F89F8(cpu);
|
|
/* 02574E00 */ Gambit_fn_027FAE24(cpu);
|
|
/* 02574E04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574E08 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574E0C */ _t29 = cpu->r[3] + 0x000036F8u;
|
|
/* 02574E0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02574E10 */ Gambit_fn_020F8A8C(cpu);
|
|
/* 02574E14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574E18 */ Gambit_fn_020FAAF4(cpu);
|
|
/* 02574E1C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02574E20 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02574E20 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02574E24 */ Gambit_fn_027FAE24(cpu);
|
|
/* 02574E28 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574E2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02574E30 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02574E34 */ cpu->r[7] = cpu->r[3];
|
|
/* 02574E38 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02574E3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02574E40 */ Gambit_fn_02101DCC(cpu);
|
|
/* 02574E44 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02574E48 */ _t31 = cpu->r[31] + 0x000002F0u;
|
|
/* 02574E48 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 02574E4C */ _t32 = cpu->r[29] + 0x00003708u;
|
|
/* 02574E4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02574E4C */ cpu->r[29] = _t32;
|
|
/* 02574E50 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574E54 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574E54 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02574E58 */ Gambit_fn_020FFF80(cpu);
|
|
/* 02574E5C */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 02574E5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02574E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02574E64 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02574E64 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02574E64 */ if (_t36) goto L_02574E68; else goto L_02574EB0;
|
|
L_02574E68: ; // 0x2574e68
|
|
/* 02574E68 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02574E68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02574E6C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02574E70 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02574E70 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02574E74 */ Gambit_fn_020FFF80(cpu);
|
|
/* 02574E78 */ cpu->r[4] = cpu->r[3];
|
|
/* 02574E7C */ _t39 = cpu->r[31] + 0x000002F0u;
|
|
/* 02574E7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02574E80 */ Gambit_fn_021012E8(cpu);
|
|
/* 02574E84 */ _t40 = cpu->r[31] + 0x000002F8u;
|
|
/* 02574E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02574E88 */ _t41 = cpu->r[31] + 0x000002F4u;
|
|
/* 02574E88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02574E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02574E90 */ _t42 = cpu->r[31] + 0x000002F0u;
|
|
/* 02574E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02574E94 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02574E94 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02574E94 */ if (_t44) goto L_02574E98; else goto L_02574EB0;
|
|
L_02574E98: ; // 0x2574e98
|
|
/* 02574E98 */ _t45 = cpu->r[31] + 0x000002FCu;
|
|
/* 02574E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02574E9C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02574EA0 */ _t46 = cpu->r[11] + cpu->r[12];
|
|
/* 02574EA0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02574EA4 */ _t47 = cpu->r[31] + 0x000002F4u;
|
|
/* 02574EA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02574EA8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02574EAC */ _t48 = cpu->r[31] + 0x000002F4u;
|
|
/* 02574EAC */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
L_02574EB0: ; // 0x2574eb0
|
|
/* 02574EB0 */ _t49 = cpu->r[31] + 0x00000260u;
|
|
/* 02574EB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02574EB4 */ cpu->r[31] = 0x101C0000u;
|
|
/* 02574EB8 */ _t50 = cpu->r[31] + 0x00003700u;
|
|
/* 02574EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02574EBC */ _t51 = cpu->r[9] + 0x00000008u;
|
|
/* 02574EBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02574EC0 */ Gambit_fn_020FAC24(cpu);
|
|
/* 02574EC4 */ _t52 = cpu->r[31] + 0x00003700u;
|
|
/* 02574EC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02574EC8 */ Gambit_fn_020FBF58(cpu);
|
|
/* 02574ECC */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02574ECC */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02574ED0 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 02574ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02574ED4 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02574ED4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02574ED8 */ cpu->lr = cpu->r[0];
|
|
/* 02574EDC */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02574EE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02574EE4 */ return;
|
|
}
|
|
|
|
// fn_02574EE8 @ 0x2574ee8
|
|
void Gambit_fn_02574EE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02574EE8: ; // 0x2574ee8
|
|
/* 02574EE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02574EEC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02574EEC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02574EF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02574EF4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02574EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02574EF4 */ cpu->r[1] = _t1;
|
|
/* 02574EF8 */ _t2 = cpu->r[3] + 0x00000301u;
|
|
/* 02574EF8 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 02574EFC */ Gambit_fn_023AE5D8(cpu);
|
|
/* 02574F00 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574F04 */ _t3 = cpu->r[3] + 0x00005BA8u;
|
|
/* 02574F04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02574F08 */ Gambit_fn_0239BB88(cpu);
|
|
/* 02574F0C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574F10 */ cpu->lr = cpu->r[0];
|
|
/* 02574F14 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02574F18 */ return;
|
|
}
|
|
|
|
// fn_02574EF4 @ 0x2574ef4
|
|
void Gambit_fn_02574EF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02574EF4: ; // 0x2574ef4
|
|
/* 02574EF4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02574EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574EF4 */ cpu->r[1] = _t0;
|
|
/* 02574EF8 */ _t1 = cpu->r[3] + 0x00000301u;
|
|
/* 02574EF8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02574EFC */ Gambit_fn_023AE5D8(cpu);
|
|
/* 02574F00 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574F04 */ _t2 = cpu->r[3] + 0x00005BA8u;
|
|
/* 02574F04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02574F08 */ Gambit_fn_0239BB88(cpu);
|
|
/* 02574F0C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02574F10 */ cpu->lr = cpu->r[0];
|
|
/* 02574F14 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02574F18 */ return;
|
|
}
|
|
|
|
// fn_02574F1C @ 0x2574f1c
|
|
void Gambit_fn_02574F1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02574F1C: ; // 0x2574f1c
|
|
/* 02574F1C */ cpu->r[0] = cpu->lr;
|
|
/* 02574F20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574F20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574F20 */ cpu->r[1] = _t0;
|
|
/* 02574F24 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02574F24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02574F28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02574F2C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02574F30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02574F34 */ _t4 = cpu->r[30] + 0x00005B64u;
|
|
/* 02574F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574F34 */ cpu->r[30] = _t4;
|
|
/* 02574F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574F3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574F40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574F40 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02574F40 */ if (_t6) goto L_02574F58; else goto L_02574F44;
|
|
L_02574F44: ; // 0x2574f44
|
|
/* 02574F44 */ Gambit_fn_027FAE14(cpu);
|
|
/* 02574F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574F4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574F4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02574F4C */ if (_t8) goto L_02574F58; else goto L_02574F50;
|
|
L_02574F50: ; // 0x2574f50
|
|
/* 02574F50 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02574F50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02574F54 */ Gambit_fn_0238C0D4(cpu);
|
|
L_02574F58: ; // 0x2574f58
|
|
/* 02574F58 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574F5C */ _t10 = cpu->r[3] + 0x00005BA8u;
|
|
/* 02574F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02574F60 */ Gambit_fn_0239B464(cpu);
|
|
/* 02574F64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574F68 */ Gambit_fn_023AE60C(cpu);
|
|
/* 02574F6C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02574F70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02574F70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574F74 */ cpu->lr = cpu->r[0];
|
|
/* 02574F78 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574F80 */ return;
|
|
}
|
|
|
|
// fn_02574F20 @ 0x2574f20
|
|
void Gambit_fn_02574F20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02574F20: ; // 0x2574f20
|
|
/* 02574F20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02574F20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574F20 */ cpu->r[1] = _t0;
|
|
/* 02574F24 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02574F24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02574F28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02574F2C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02574F30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02574F34 */ _t4 = cpu->r[30] + 0x00005B64u;
|
|
/* 02574F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02574F34 */ cpu->r[30] = _t4;
|
|
/* 02574F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574F3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02574F40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574F40 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02574F40 */ if (_t6) goto L_02574F58; else goto L_02574F44;
|
|
L_02574F44: ; // 0x2574f44
|
|
/* 02574F44 */ Gambit_fn_027FAE14(cpu);
|
|
/* 02574F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574F4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574F4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02574F4C */ if (_t8) goto L_02574F58; else goto L_02574F50;
|
|
L_02574F50: ; // 0x2574f50
|
|
/* 02574F50 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02574F50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02574F54 */ Gambit_fn_0238C0D4(cpu);
|
|
L_02574F58: ; // 0x2574f58
|
|
/* 02574F58 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574F5C */ _t10 = cpu->r[3] + 0x00005BA8u;
|
|
/* 02574F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02574F60 */ Gambit_fn_0239B464(cpu);
|
|
/* 02574F64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02574F68 */ Gambit_fn_023AE60C(cpu);
|
|
/* 02574F6C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02574F70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02574F70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02574F74 */ cpu->lr = cpu->r[0];
|
|
/* 02574F78 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02574F80 */ return;
|
|
}
|
|
|
|
// fn_02574F84 @ 0x2574f84
|
|
void Gambit_fn_02574F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02574F84: ; // 0x2574f84
|
|
/* 02574F84 */ cpu->r[0] = cpu->lr;
|
|
/* 02574F88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02574F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574F88 */ cpu->r[1] = _t0;
|
|
/* 02574F8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02574F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02574F90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02574F94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02574F98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02574F9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02574FA0 */ Gambit_fn_023AD3A8(cpu);
|
|
/* 02574FA4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574FA8 */ _t5 = cpu->r[3] + 0x000036F8u;
|
|
/* 02574FA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574FAC */ Gambit_fn_020F9600(cpu);
|
|
/* 02574FB0 */ _t6 = cpu->r[30] + 0x000002F4u;
|
|
/* 02574FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574FB8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02574FBC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02574FBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02574FBC */ if (_t8) goto L_02575090; else goto L_02574FC0;
|
|
L_02574FC0: ; // 0x2574fc0
|
|
/* 02574FC0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02574FC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02574FC0 */ if (_t10) goto L_02574FC4; else goto L_02575074;
|
|
L_02574FC4: ; // 0x2574fc4
|
|
/* 02574FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574FC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574FCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02574FCC */ if (_t12) goto L_02574FD8; else goto L_02574FD0;
|
|
L_02574FD0: ; // 0x2574fd0
|
|
/* 02574FD0 */ _t13 = cpu->r[30] + 0x000002FCu;
|
|
/* 02574FD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574FD4 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02574FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
L_02574FD8: ; // 0x2574fd8
|
|
/* 02574FD8 */ Gambit_fn_02101A2C(cpu);
|
|
/* 02574FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574FE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02574FE0 */ if (_t16) goto L_02575068; else goto L_02574FE4;
|
|
L_02574FE4: ; // 0x2574fe4
|
|
/* 02574FE4 */ _t17 = cpu->r[30] + 0x000002F4u;
|
|
/* 02574FE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02574FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574FEC */ cpu->r[31] = 0x00000000u;
|
|
/* 02574FF0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FF0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02574FF0 */ if (_t19) goto L_02574FFC; else goto L_02574FF4;
|
|
L_02574FF4: ; // 0x2574ff4
|
|
/* 02574FF4 */ _t20 = cpu->r[30] + 0x000002FCu;
|
|
/* 02574FF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02574FF8 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02574FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
L_02574FFC: ; // 0x2574ffc
|
|
/* 02574FFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575000 */ Gambit_fn_02101A24(cpu);
|
|
/* 02575004 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02575004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0257500C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257500C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0257500C */ if (_t24) goto L_02575010; else goto L_02575058;
|
|
L_02575010: ; // 0x2575010
|
|
/* 02575010 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575018 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02575018 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 0257501C */ Gambit_fn_02101A24(cpu);
|
|
/* 02575020 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575024 */ _t26 = cpu->r[29] + 0x00003700u;
|
|
/* 02575024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02575028 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0257502C */ cpu->r[6] = 0x00000003u;
|
|
/* 02575030 */ Gambit_fn_020FC0C0(cpu);
|
|
/* 02575034 */ cpu->r[11] = 0x00000001u;
|
|
/* 02575038 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257503C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0257503C */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02575040 */ Gambit_fn_02101A24(cpu);
|
|
/* 02575044 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575048 */ _t28 = cpu->r[29] + 0x00003700u;
|
|
/* 02575048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0257504C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02575050 */ cpu->r[6] = 0x00000003u;
|
|
/* 02575054 */ Gambit_fn_020FC0C0(cpu);
|
|
L_02575058: ; // 0x2575058
|
|
/* 02575058 */ cpu->r[5] = 0x00000001u;
|
|
/* 0257505C */ cpu->r[4] = 0x00000000u;
|
|
/* 02575060 */ cpu->r[3] = cpu->r[30] + 0x000002F4u;
|
|
/* 02575064 */ Gambit_fn_0280246C(cpu);
|
|
L_02575068: ; // 0x2575068
|
|
/* 02575068 */ _t29 = cpu->r[30] + 0x000002F4u;
|
|
/* 02575068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0257506C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575070 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575070 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02575070 */ if (_t31) goto L_02575074; else goto L_02575090;
|
|
L_02575074: ; // 0x2575074
|
|
/* 02575074 */ _t32 = cpu->r[30] + 0x00000300u;
|
|
/* 02575074 */ cpu->r[12] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02575078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257507C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257507C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0257507C */ if (_t34) goto L_02575080; else goto L_02575090;
|
|
L_02575080: ; // 0x2575080
|
|
/* 02575080 */ cpu->r[0] = 0x00000001u;
|
|
/* 02575084 */ _t35 = cpu->r[30] + 0x00000300u;
|
|
/* 02575084 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 02575088 */ _t36 = cpu->r[29] + 0x00003700u;
|
|
/* 02575088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0257508C */ _t37 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0257508C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
L_02575090: ; // 0x2575090
|
|
/* 02575090 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02575094 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02575098 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02575098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0257509C */ cpu->lr = cpu->r[0];
|
|
/* 025750A0 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 025750A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025750A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025750A8 */ return;
|
|
}
|
|
|
|
// fn_02574F88 @ 0x2574f88
|
|
void Gambit_fn_02574F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02574F88: ; // 0x2574f88
|
|
/* 02574F88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02574F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02574F88 */ cpu->r[1] = _t0;
|
|
/* 02574F8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02574F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02574F90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02574F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02574F94 */ cpu->r[30] = cpu->r[3];
|
|
/* 02574F98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02574F98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02574F9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02574F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02574FA0 */ Gambit_fn_023AD3A8(cpu);
|
|
/* 02574FA4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02574FA8 */ _t5 = cpu->r[3] + 0x000036F8u;
|
|
/* 02574FA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02574FAC */ Gambit_fn_020F9600(cpu);
|
|
/* 02574FB0 */ _t6 = cpu->r[30] + 0x000002F4u;
|
|
/* 02574FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02574FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574FB8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02574FBC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02574FBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02574FBC */ if (_t8) goto L_02575090; else goto L_02574FC0;
|
|
L_02574FC0: ; // 0x2574fc0
|
|
/* 02574FC0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02574FC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02574FC0 */ if (_t10) goto L_02574FC4; else goto L_02575074;
|
|
L_02574FC4: ; // 0x2574fc4
|
|
/* 02574FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02574FC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02574FCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02574FCC */ if (_t12) goto L_02574FD8; else goto L_02574FD0;
|
|
L_02574FD0: ; // 0x2574fd0
|
|
/* 02574FD0 */ _t13 = cpu->r[30] + 0x000002FCu;
|
|
/* 02574FD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02574FD4 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02574FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
L_02574FD8: ; // 0x2574fd8
|
|
/* 02574FD8 */ Gambit_fn_02101A2C(cpu);
|
|
/* 02574FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02574FE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02574FE0 */ if (_t16) goto L_02575068; else goto L_02574FE4;
|
|
L_02574FE4: ; // 0x2574fe4
|
|
/* 02574FE4 */ _t17 = cpu->r[30] + 0x000002F4u;
|
|
/* 02574FE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02574FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02574FEC */ cpu->r[31] = 0x00000000u;
|
|
/* 02574FF0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02574FF0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02574FF0 */ if (_t19) goto L_02574FFC; else goto L_02574FF4;
|
|
L_02574FF4: ; // 0x2574ff4
|
|
/* 02574FF4 */ _t20 = cpu->r[30] + 0x000002FCu;
|
|
/* 02574FF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02574FF8 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02574FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
L_02574FFC: ; // 0x2574ffc
|
|
/* 02574FFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575000 */ Gambit_fn_02101A24(cpu);
|
|
/* 02575004 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02575004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0257500C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257500C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0257500C */ if (_t24) goto L_02575010; else goto L_02575058;
|
|
L_02575010: ; // 0x2575010
|
|
/* 02575010 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575018 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02575018 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 0257501C */ Gambit_fn_02101A24(cpu);
|
|
/* 02575020 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575024 */ _t26 = cpu->r[29] + 0x00003700u;
|
|
/* 02575024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02575028 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0257502C */ cpu->r[6] = 0x00000003u;
|
|
/* 02575030 */ Gambit_fn_020FC0C0(cpu);
|
|
/* 02575034 */ cpu->r[11] = 0x00000001u;
|
|
/* 02575038 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257503C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0257503C */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02575040 */ Gambit_fn_02101A24(cpu);
|
|
/* 02575044 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575048 */ _t28 = cpu->r[29] + 0x00003700u;
|
|
/* 02575048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0257504C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02575050 */ cpu->r[6] = 0x00000003u;
|
|
/* 02575054 */ Gambit_fn_020FC0C0(cpu);
|
|
L_02575058: ; // 0x2575058
|
|
/* 02575058 */ cpu->r[5] = 0x00000001u;
|
|
/* 0257505C */ cpu->r[4] = 0x00000000u;
|
|
/* 02575060 */ cpu->r[3] = cpu->r[30] + 0x000002F4u;
|
|
/* 02575064 */ Gambit_fn_0280246C(cpu);
|
|
L_02575068: ; // 0x2575068
|
|
/* 02575068 */ _t29 = cpu->r[30] + 0x000002F4u;
|
|
/* 02575068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0257506C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575070 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575070 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02575070 */ if (_t31) goto L_02575074; else goto L_02575090;
|
|
L_02575074: ; // 0x2575074
|
|
/* 02575074 */ _t32 = cpu->r[30] + 0x00000300u;
|
|
/* 02575074 */ cpu->r[12] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02575078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257507C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257507C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0257507C */ if (_t34) goto L_02575080; else goto L_02575090;
|
|
L_02575080: ; // 0x2575080
|
|
/* 02575080 */ cpu->r[0] = 0x00000001u;
|
|
/* 02575084 */ _t35 = cpu->r[30] + 0x00000300u;
|
|
/* 02575084 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 02575088 */ _t36 = cpu->r[29] + 0x00003700u;
|
|
/* 02575088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0257508C */ _t37 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0257508C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
L_02575090: ; // 0x2575090
|
|
/* 02575090 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02575094 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02575098 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02575098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0257509C */ cpu->lr = cpu->r[0];
|
|
/* 025750A0 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 025750A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025750A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025750A8 */ return;
|
|
}
|
|
|
|
// fn_025750AC @ 0x25750ac
|
|
void Gambit_fn_025750AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025750AC: ; // 0x25750ac
|
|
/* 025750AC */ cpu->r[0] = cpu->lr;
|
|
/* 025750B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025750B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025750B0 */ cpu->r[1] = _t0;
|
|
/* 025750B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025750B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025750B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025750B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025750BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025750C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 025750C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025750C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025750C8 */ Gambit_fn_023AD46C(cpu);
|
|
/* 025750CC */ _t4 = cpu->r[31] + 0x000002ECu;
|
|
/* 025750CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025750D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 025750D4 */ Gambit_fn_0257607C(cpu);
|
|
/* 025750D8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025750D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025750DC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025750DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025750E0 */ cpu->lr = cpu->r[0];
|
|
/* 025750E4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 025750E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025750E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025750EC */ return;
|
|
}
|
|
|
|
// fn_025750B0 @ 0x25750b0
|
|
void Gambit_fn_025750B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_025750B0: ; // 0x25750b0
|
|
/* 025750B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025750B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025750B0 */ cpu->r[1] = _t0;
|
|
/* 025750B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025750B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025750B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025750B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025750BC */ cpu->r[31] = cpu->r[3];
|
|
/* 025750C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 025750C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025750C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025750C8 */ Gambit_fn_023AD46C(cpu);
|
|
/* 025750CC */ _t4 = cpu->r[31] + 0x000002ECu;
|
|
/* 025750CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025750D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 025750D4 */ Gambit_fn_0257607C(cpu);
|
|
/* 025750D8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025750D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025750DC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025750DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025750E0 */ cpu->lr = cpu->r[0];
|
|
/* 025750E4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 025750E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025750E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025750EC */ return;
|
|
}
|
|
|
|
// fn_025750F0 @ 0x25750f0
|
|
void Gambit_fn_025750F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_025750F0: ; // 0x25750f0
|
|
/* 025750F0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025750F4 */ _t0 = cpu->r[12] + 0x00006BFCu;
|
|
/* 025750F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025750F8 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 025750FC */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 025750FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02575100 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02575100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575104 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575108 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 02575108 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257510C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0257510C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575110 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02575110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575114 */ _t6 = cpu->r[12] + 0x000002B4u;
|
|
/* 02575114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02575118 */ return;
|
|
}
|
|
|
|
// fn_0257511C @ 0x257511c
|
|
void Gambit_fn_0257511C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0257511C: ; // 0x257511c
|
|
/* 0257511C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02575120 */ _t0 = cpu->r[12] + 0x00006BFCu;
|
|
/* 02575120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575124 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 02575128 */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 02575128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0257512C */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 0257512C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575130 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575134 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 02575134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02575138 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02575138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257513C */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 0257513C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575140 */ _t6 = cpu->r[12] + 0x000002B8u;
|
|
/* 02575140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02575144 */ return;
|
|
}
|
|
|
|
// fn_02575148 @ 0x2575148
|
|
void Gambit_fn_02575148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02575148: ; // 0x2575148
|
|
/* 02575148 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0257514C */ _t0 = cpu->r[12] + 0x00006BFCu;
|
|
/* 0257514C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575150 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 02575154 */ _t1 = cpu->r[11] + 0x00000104u;
|
|
/* 02575154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02575158 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02575158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0257515C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575160 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 02575160 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02575164 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02575164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575168 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02575168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257516C */ goto L_025796E8;
|
|
L_025796E8: ; // 0x25796e8
|
|
/* 025796E8 */ _t6 = cpu->r[3] + 0x00000280u;
|
|
/* 025796E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 025796EC */ /* nop */
|
|
/* 025796F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Cu);
|
|
/* 025796F4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025796F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025796F4 */ if (_t8) goto L_02579708; else goto L_025796F8;
|
|
L_025796F8: ; // 0x25796f8
|
|
/* 025796F8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025796FC */ cpu->r[12] = cpu->r[12] + 0x0000062Cu;
|
|
/* 02579700 */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02579700 */ cpu->r[3] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02579704 */ return;
|
|
L_02579708: ; // 0x2579708
|
|
/* 02579708 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 0257970C */ return;
|
|
}
|
|
|
|
// fn_02575170 @ 0x2575170
|
|
void Gambit_fn_02575170(CPUState* cpu) {
|
|
uint32_t _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_02575170: ; // 0x2575170
|
|
/* 02575170 */ cpu->r[0] = cpu->lr;
|
|
/* 02575174 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575174 */ cpu->r[1] = _t0;
|
|
/* 02575178 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575178 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0257517C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0257517C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02575180 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575180 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02575184 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02575188 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575188 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0257518C */ cpu->r[29] = cpu->r[3];
|
|
/* 02575190 */ _t5 = cpu->r[12] + 0x00007F40u;
|
|
/* 02575190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575194 */ cpu->r[31] = cpu->r[29] + 0x00000104u;
|
|
/* 02575198 */ _t6 = cpu->r[31] + cpu->r[12];
|
|
/* 02575198 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0257519C */ _t7 = cpu->r[29] + 0x00000030u;
|
|
/* 0257519C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025751A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025751A4 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 025751A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025751A8 */ _t9 = cpu->r[7] + 0x00000004u;
|
|
/* 025751A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025751AC */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 025751AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025751B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 025751B4 */ Gambit_fn_02668CE8(cpu);
|
|
/* 025751B8 */ _t11 = cpu->r[29] + 0x00000268u;
|
|
/* 025751B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025751BC */ Gambit_fn_0261F774(cpu);
|
|
/* 025751C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 025751C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025751C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025751C4 */ if (_t13) goto L_025751C8; else goto L_025751EC;
|
|
L_025751C8: ; // 0x25751c8
|
|
/* 025751C8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 025751CC */ _t14 = cpu->r[11] + 0x00006BFCu;
|
|
/* 025751CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025751D0 */ _t15 = cpu->r[31] + cpu->r[11];
|
|
/* 025751D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t15);
|
|
/* 025751D4 */ _t16 = cpu->r[29] + 0x00000030u;
|
|
/* 025751D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025751D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025751DC */ _t17 = cpu->r[9] + cpu->r[0];
|
|
/* 025751DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025751E0 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 025751E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025751E4 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 025751E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025751E8 */ Gambit_fn_02579FE0(cpu);
|
|
L_025751EC: ; // 0x25751ec
|
|
/* 025751EC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025751EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025751F0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025751F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025751F4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 025751F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025751F8 */ cpu->lr = cpu->r[0];
|
|
/* 025751FC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 025751FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575200 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02575204 */ return;
|
|
}
|
|
|
|
// fn_02575174 @ 0x2575174
|
|
void Gambit_fn_02575174(CPUState* cpu) {
|
|
uint32_t _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_02575174: ; // 0x2575174
|
|
/* 02575174 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575174 */ cpu->r[1] = _t0;
|
|
/* 02575178 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575178 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0257517C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0257517C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02575180 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575180 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02575184 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02575188 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575188 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0257518C */ cpu->r[29] = cpu->r[3];
|
|
/* 02575190 */ _t5 = cpu->r[12] + 0x00007F40u;
|
|
/* 02575190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575194 */ cpu->r[31] = cpu->r[29] + 0x00000104u;
|
|
/* 02575198 */ _t6 = cpu->r[31] + cpu->r[12];
|
|
/* 02575198 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0257519C */ _t7 = cpu->r[29] + 0x00000030u;
|
|
/* 0257519C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025751A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025751A4 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 025751A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025751A8 */ _t9 = cpu->r[7] + 0x00000004u;
|
|
/* 025751A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025751AC */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 025751AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025751B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 025751B4 */ Gambit_fn_02668CE8(cpu);
|
|
/* 025751B8 */ _t11 = cpu->r[29] + 0x00000268u;
|
|
/* 025751B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025751BC */ Gambit_fn_0261F774(cpu);
|
|
/* 025751C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 025751C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025751C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025751C4 */ if (_t13) goto L_025751C8; else goto L_025751EC;
|
|
L_025751C8: ; // 0x25751c8
|
|
/* 025751C8 */ cpu->r[11] = 0x101C0000u;
|
|
/* 025751CC */ _t14 = cpu->r[11] + 0x00006BFCu;
|
|
/* 025751CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025751D0 */ _t15 = cpu->r[31] + cpu->r[11];
|
|
/* 025751D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t15);
|
|
/* 025751D4 */ _t16 = cpu->r[29] + 0x00000030u;
|
|
/* 025751D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025751D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025751DC */ _t17 = cpu->r[9] + cpu->r[0];
|
|
/* 025751DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025751E0 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 025751E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025751E4 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 025751E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025751E8 */ Gambit_fn_02579FE0(cpu);
|
|
L_025751EC: ; // 0x25751ec
|
|
/* 025751EC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025751EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025751F0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025751F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025751F4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 025751F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025751F8 */ cpu->lr = cpu->r[0];
|
|
/* 025751FC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 025751FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575200 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02575204 */ return;
|
|
}
|
|
|
|
// fn_02575208 @ 0x2575208
|
|
void Gambit_fn_02575208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02575208: ; // 0x2575208
|
|
/* 02575208 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02575208 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575208 */ cpu->r[1] = _t0;
|
|
/* 0257520C */ /* nop */
|
|
/* 02575210 */ cpu->r[0] = cpu->lr;
|
|
/* 02575214 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02575214 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02575218 */ cpu->r[27] = cpu->r[3];
|
|
/* 0257521C */ cpu->r[11] = 0x101C0000u;
|
|
/* 02575220 */ _t2 = cpu->r[11] + 0x00007F40u;
|
|
/* 02575220 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575224 */ cpu->r[31] = cpu->r[27] + 0x00000104u;
|
|
/* 02575228 */ _t3 = cpu->r[31] + cpu->r[11];
|
|
/* 02575228 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0257522C */ _t4 = cpu->r[27] + 0x00000030u;
|
|
/* 0257522C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575230 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575234 */ _t5 = cpu->r[12] + cpu->r[0];
|
|
/* 02575234 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575238 */ _t6 = cpu->r[9] + 0x00000004u;
|
|
/* 02575238 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0257523C */ cpu->r[29] = cpu->r[5];
|
|
/* 02575240 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 02575240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575244 */ cpu->r[28] = cpu->r[4];
|
|
/* 02575248 */ cpu->r[30] = cpu->r[6];
|
|
/* 0257524C */ Gambit_fn_02668BEC(cpu);
|
|
/* 02575250 */ _t8 = cpu->r[27] + 0x00000268u;
|
|
/* 02575250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575254 */ Gambit_fn_0261F774(cpu);
|
|
/* 02575258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[3]);
|
|
/* 0257525C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257525C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0257525C */ if (_t10) goto L_02575260; else goto L_02575284;
|
|
L_02575260: ; // 0x2575260
|
|
/* 02575260 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02575264 */ _t11 = cpu->r[12] + 0x00006BFCu;
|
|
/* 02575264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575268 */ _t12 = cpu->r[31] + cpu->r[12];
|
|
/* 02575268 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0257526C */ _t13 = cpu->r[27] + 0x00000030u;
|
|
/* 0257526C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575270 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575274 */ _t14 = cpu->r[11] + cpu->r[8];
|
|
/* 02575274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02575278 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02575278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0257527C */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0257527C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575280 */ Gambit_fn_02579E90(cpu);
|
|
L_02575284: ; // 0x2575284
|
|
/* 02575284 */ cpu->r[6] = cpu->r[30];
|
|
/* 02575288 */ cpu->r[5] = cpu->r[29];
|
|
/* 0257528C */ cpu->r[4] = cpu->r[28];
|
|
/* 02575290 */ cpu->r[3] = cpu->r[27];
|
|
/* 02575294 */ Gambit_fn_023ADF48(cpu);
|
|
/* 02575298 */ /* nop */
|
|
/* 0257529C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 0257529C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025752A0 */ cpu->lr = cpu->r[0];
|
|
/* 025752A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025752A8 */ return;
|
|
}
|
|
|
|
// fn_025752AC @ 0x25752ac
|
|
void Gambit_fn_025752AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025752AC: ; // 0x25752ac
|
|
/* 025752AC */ cpu->r[0] = cpu->lr;
|
|
/* 025752B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025752B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025752B0 */ cpu->r[1] = _t0;
|
|
/* 025752B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025752B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025752B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025752B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025752BC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025752BC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025752C0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025752C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025752C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025752C8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025752C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025752CC */ _t6 = cpu->r[30] + 0x00000264u;
|
|
/* 025752CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025752D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025752D4 */ Gambit_fn_024FCDA0(cpu);
|
|
/* 025752D8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 025752DC */ _t7 = cpu->r[29] + 0x00006BFCu;
|
|
/* 025752DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025752DC */ cpu->r[29] = _t7;
|
|
/* 025752E0 */ cpu->r[28] = cpu->r[30] + 0x00000104u;
|
|
/* 025752E4 */ _t8 = cpu->r[28] + cpu->r[8];
|
|
/* 025752E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 025752E8 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 025752E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025752EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025752F0 */ _t10 = cpu->r[9] + cpu->r[0];
|
|
/* 025752F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025752F4 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 025752F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025752F8 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 025752F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025752FC */ Gambit_fn_02579A70(cpu);
|
|
/* 02575300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575304 */ _t13 = cpu->r[30] + 0x00000268u;
|
|
/* 02575304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575308 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575308 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02575308 */ if (_t15) goto L_02575358; else goto L_0257530C;
|
|
L_0257530C: ; // 0x257530c
|
|
/* 0257530C */ Gambit_fn_0261F774(cpu);
|
|
/* 02575310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02575314 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575314 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02575314 */ if (_t17) goto L_02575318; else goto L_025753B8;
|
|
L_02575318: ; // 0x2575318
|
|
/* 02575318 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02575318 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257531C */ _t19 = cpu->r[28] + cpu->r[6];
|
|
/* 0257531C */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02575320 */ _t20 = cpu->r[30] + 0x00000030u;
|
|
/* 02575320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02575324 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575328 */ _t21 = cpu->r[8] + cpu->r[0];
|
|
/* 02575328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0257532C */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 0257532C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575330 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 02575330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575334 */ Gambit_fn_02579EEC(cpu);
|
|
/* 02575338 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02575338 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0257533C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257533C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02575340 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02575344 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02575344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02575348 */ cpu->lr = cpu->r[0];
|
|
/* 0257534C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 0257534C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02575350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02575354 */ return;
|
|
L_02575358: ; // 0x2575358
|
|
/* 02575358 */ Gambit_fn_0261F774(cpu);
|
|
/* 0257535C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02575360 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575360 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02575360 */ if (_t30) goto L_02575364; else goto L_025753B8;
|
|
L_02575364: ; // 0x2575364
|
|
/* 02575364 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02575364 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02575368 */ _t32 = cpu->r[28] + cpu->r[6];
|
|
/* 02575368 */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0257536C */ _t33 = cpu->r[30] + 0x00000030u;
|
|
/* 0257536C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02575370 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575374 */ _t34 = cpu->r[7] + cpu->r[0];
|
|
/* 02575374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02575378 */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 02575378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0257537C */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 0257537C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02575380 */ Gambit_fn_0257A04C(cpu);
|
|
/* 02575384 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02575384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02575388 */ _t38 = cpu->r[28] + cpu->r[11];
|
|
/* 02575388 */ cpu->r[5] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0257538C */ _t39 = cpu->r[30] + 0x00000030u;
|
|
/* 0257538C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02575390 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575394 */ _t40 = cpu->r[12] + cpu->r[0];
|
|
/* 02575394 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02575398 */ _t41 = cpu->r[6] + 0x00000004u;
|
|
/* 02575398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0257539C */ _t42 = cpu->r[7] + 0x00000000u;
|
|
/* 0257539C */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025753A0 */ _t43 = cpu->r[30] + 0x000002ECu;
|
|
/* 025753A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025753A4 */ _t44 = cpu->r[7] + 0x000002BCu;
|
|
/* 025753A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025753A8 */ Gambit_fn_02576044(cpu);
|
|
/* 025753AC */ _t45 = cpu->r[30] + 0x00000264u;
|
|
/* 025753AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025753B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025753B4 */ Gambit_fn_024FCDA0(cpu);
|
|
L_025753B8: ; // 0x25753b8
|
|
/* 025753B8 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 025753B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025753BC */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025753BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025753C0 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025753C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025753C4 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 025753C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025753C8 */ cpu->lr = cpu->r[0];
|
|
/* 025753CC */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 025753CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025753D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025753D4 */ return;
|
|
}
|
|
|
|
// fn_025752B0 @ 0x25752b0
|
|
void Gambit_fn_025752B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_025752B0: ; // 0x25752b0
|
|
/* 025752B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025752B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025752B0 */ cpu->r[1] = _t0;
|
|
/* 025752B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025752B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 025752B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025752B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025752BC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025752BC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025752C0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025752C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025752C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025752C8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025752C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025752CC */ _t6 = cpu->r[30] + 0x00000264u;
|
|
/* 025752CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025752D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 025752D4 */ Gambit_fn_024FCDA0(cpu);
|
|
/* 025752D8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 025752DC */ _t7 = cpu->r[29] + 0x00006BFCu;
|
|
/* 025752DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025752DC */ cpu->r[29] = _t7;
|
|
/* 025752E0 */ cpu->r[28] = cpu->r[30] + 0x00000104u;
|
|
/* 025752E4 */ _t8 = cpu->r[28] + cpu->r[8];
|
|
/* 025752E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 025752E8 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 025752E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025752EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025752F0 */ _t10 = cpu->r[9] + cpu->r[0];
|
|
/* 025752F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025752F4 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 025752F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025752F8 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 025752F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025752FC */ Gambit_fn_02579A70(cpu);
|
|
/* 02575300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575304 */ _t13 = cpu->r[30] + 0x00000268u;
|
|
/* 02575304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575308 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575308 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02575308 */ if (_t15) goto L_02575358; else goto L_0257530C;
|
|
L_0257530C: ; // 0x257530c
|
|
/* 0257530C */ Gambit_fn_0261F774(cpu);
|
|
/* 02575310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02575314 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575314 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02575314 */ if (_t17) goto L_02575318; else goto L_025753B8;
|
|
L_02575318: ; // 0x2575318
|
|
/* 02575318 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02575318 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257531C */ _t19 = cpu->r[28] + cpu->r[6];
|
|
/* 0257531C */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02575320 */ _t20 = cpu->r[30] + 0x00000030u;
|
|
/* 02575320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02575324 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575328 */ _t21 = cpu->r[8] + cpu->r[0];
|
|
/* 02575328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0257532C */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 0257532C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575330 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 02575330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575334 */ Gambit_fn_02579EEC(cpu);
|
|
/* 02575338 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02575338 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0257533C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257533C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02575340 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02575344 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02575344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02575348 */ cpu->lr = cpu->r[0];
|
|
/* 0257534C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 0257534C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02575350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02575354 */ return;
|
|
L_02575358: ; // 0x2575358
|
|
/* 02575358 */ Gambit_fn_0261F774(cpu);
|
|
/* 0257535C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02575360 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575360 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02575360 */ if (_t30) goto L_02575364; else goto L_025753B8;
|
|
L_02575364: ; // 0x2575364
|
|
/* 02575364 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02575364 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02575368 */ _t32 = cpu->r[28] + cpu->r[6];
|
|
/* 02575368 */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0257536C */ _t33 = cpu->r[30] + 0x00000030u;
|
|
/* 0257536C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02575370 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575374 */ _t34 = cpu->r[7] + cpu->r[0];
|
|
/* 02575374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02575378 */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 02575378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0257537C */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 0257537C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02575380 */ Gambit_fn_0257A04C(cpu);
|
|
/* 02575384 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02575384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02575388 */ _t38 = cpu->r[28] + cpu->r[11];
|
|
/* 02575388 */ cpu->r[5] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0257538C */ _t39 = cpu->r[30] + 0x00000030u;
|
|
/* 0257538C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02575390 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575394 */ _t40 = cpu->r[12] + cpu->r[0];
|
|
/* 02575394 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02575398 */ _t41 = cpu->r[6] + 0x00000004u;
|
|
/* 02575398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0257539C */ _t42 = cpu->r[7] + 0x00000000u;
|
|
/* 0257539C */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025753A0 */ _t43 = cpu->r[30] + 0x000002ECu;
|
|
/* 025753A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025753A4 */ _t44 = cpu->r[7] + 0x000002BCu;
|
|
/* 025753A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025753A8 */ Gambit_fn_02576044(cpu);
|
|
/* 025753AC */ _t45 = cpu->r[30] + 0x00000264u;
|
|
/* 025753AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025753B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025753B4 */ Gambit_fn_024FCDA0(cpu);
|
|
L_025753B8: ; // 0x25753b8
|
|
/* 025753B8 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 025753B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025753BC */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025753BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025753C0 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025753C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025753C4 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 025753C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025753C8 */ cpu->lr = cpu->r[0];
|
|
/* 025753CC */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 025753CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025753D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025753D4 */ return;
|
|
}
|
|
|
|
// fn_025753D8 @ 0x25753d8
|
|
void Gambit_fn_025753D8(CPUState* cpu) {
|
|
uint32_t _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_025753D8: ; // 0x25753d8
|
|
/* 025753D8 */ cpu->r[0] = cpu->lr;
|
|
/* 025753DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025753DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025753DC */ cpu->r[1] = _t0;
|
|
/* 025753E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025753E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 025753E4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025753E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025753E8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 025753E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025753EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025753F0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 025753F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025753F4 */ _t5 = cpu->r[12] + 0x00006BFCu;
|
|
/* 025753F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025753F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025753FC */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02575400 */ _t6 = cpu->r[12] + 0x00000104u;
|
|
/* 02575400 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02575404 */ _t7 = cpu->r[30] + 0x00000030u;
|
|
/* 02575404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575408 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0257540C */ _t8 = cpu->r[12] + cpu->r[10];
|
|
/* 0257540C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575410 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575414 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02575414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575418 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257541C */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 0257541C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575420 */ Gambit_fn_0256EF78(cpu);
|
|
/* 02575424 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575428 */ cpu->r[5] = 0x00000001u;
|
|
/* 0257542C */ cpu->r[3] = cpu->r[29];
|
|
/* 02575430 */ Gambit_fn_02579DA0(cpu);
|
|
/* 02575434 */ _t11 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02575434 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575438 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257543C */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 0257543C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575440 */ _t13 = cpu->r[10] + 0xFFFFF9A0u;
|
|
/* 02575440 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02575444 */ _t14 = cpu->r[31] + 0x00000070u;
|
|
/* 02575444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02575448 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02575448 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0257544C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257544C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02575450 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02575454 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02575454 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02575458 */ _t18 = cpu->r[30] + 0x000002A0u;
|
|
/* 02575458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257545C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257545C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02575460 */ Gambit_fn_023AEDC0(cpu);
|
|
/* 02575464 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02575464 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02575468 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02575468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0257546C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575470 */ cpu->lr = cpu->r[0];
|
|
/* 02575474 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02575474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575478 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0257547C */ return;
|
|
}
|
|
|
|
// fn_025753DC @ 0x25753dc
|
|
void Gambit_fn_025753DC(CPUState* cpu) {
|
|
uint32_t _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_025753DC: ; // 0x25753dc
|
|
/* 025753DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025753DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025753DC */ cpu->r[1] = _t0;
|
|
/* 025753E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025753E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 025753E4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025753E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025753E8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 025753E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025753EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025753F0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 025753F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025753F4 */ _t5 = cpu->r[12] + 0x00006BFCu;
|
|
/* 025753F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025753F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 025753FC */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 02575400 */ _t6 = cpu->r[12] + 0x00000104u;
|
|
/* 02575400 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02575404 */ _t7 = cpu->r[30] + 0x00000030u;
|
|
/* 02575404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575408 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0257540C */ _t8 = cpu->r[12] + cpu->r[10];
|
|
/* 0257540C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575410 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575414 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02575414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575418 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257541C */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 0257541C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575420 */ Gambit_fn_0256EF78(cpu);
|
|
/* 02575424 */ cpu->r[4] = cpu->r[3];
|
|
/* 02575428 */ cpu->r[5] = 0x00000001u;
|
|
/* 0257542C */ cpu->r[3] = cpu->r[29];
|
|
/* 02575430 */ Gambit_fn_02579DA0(cpu);
|
|
/* 02575434 */ _t11 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02575434 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575438 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257543C */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 0257543C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575440 */ _t13 = cpu->r[10] + 0xFFFFF9A0u;
|
|
/* 02575440 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02575444 */ _t14 = cpu->r[31] + 0x00000070u;
|
|
/* 02575444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02575448 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02575448 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0257544C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257544C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02575450 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02575454 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02575454 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02575458 */ _t18 = cpu->r[30] + 0x000002A0u;
|
|
/* 02575458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257545C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257545C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02575460 */ Gambit_fn_023AEDC0(cpu);
|
|
/* 02575464 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02575464 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02575468 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02575468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0257546C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02575470 */ cpu->lr = cpu->r[0];
|
|
/* 02575474 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02575474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02575478 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0257547C */ return;
|
|
}
|
|
|
|
// fn_02575480 @ 0x2575480
|
|
void Gambit_fn_02575480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575480: ; // 0x2575480
|
|
/* 02575480 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02575484 */ _t0 = cpu->r[12] + 0x00006BFCu;
|
|
/* 02575484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575488 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 0257548C */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 0257548C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02575490 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02575490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575494 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02575498 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 02575498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257549C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0257549C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025754A0 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 025754A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025754A4 */ return;
|
|
}
|
|
|
|
// fn_025754A8 @ 0x25754a8
|
|
void Gambit_fn_025754A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_025754A8: ; // 0x25754a8
|
|
/* 025754A8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025754AC */ _t0 = cpu->r[12] + 0x00006BFCu;
|
|
/* 025754AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025754B0 */ cpu->r[12] = cpu->r[3] + cpu->r[12];
|
|
/* 025754B4 */ _t1 = cpu->r[12] + 0x00000104u;
|
|
/* 025754B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 025754B8 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 025754B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025754BC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025754C0 */ _t3 = cpu->r[11] + cpu->r[12];
|
|
/* 025754C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025754C4 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 025754C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025754C8 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 025754C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025754CC */ _t6 = cpu->r[12] + 0x000002CCu;
|
|
/* 025754CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025754D0 */ cpu->r[12] = cpu->r[0] ^ 0x00000003u;
|
|
/* 025754D4 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 025754D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 025754DC */ return;
|
|
}
|
|
|
|
// fn_025754E0 @ 0x25754e0
|
|
void Gambit_fn_025754E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_024FCCC0: ; // 0x24fccc0
|
|
/* 024FCCC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 024FCCC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024FCCC0 */ cpu->r[1] = _t0;
|
|
/* 024FCCC4 */ /* nop */
|
|
/* 024FCCC8 */ cpu->r[0] = cpu->lr;
|
|
/* 024FCCCC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 024FCCCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024FCCD0 */ cpu->r[29] = cpu->r[5];
|
|
/* 024FCCD4 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 024FCCD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024FCCD8 */ _t3 = cpu->r[10] + 0x00000074u;
|
|
/* 024FCCD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024FCCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 024FCCE0 */ cpu->r[28] = cpu->r[4];
|
|
/* 024FCCE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCCE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024FCCE4 */ if (_t5) goto L_024FCD8C; else goto L_024FCCE8;
|
|
L_024FCCE8: ; // 0x24fcce8
|
|
/* 024FCCE8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024FCCEC */ _t6 = cpu->r[12] + 0x000064B8u;
|
|
/* 024FCCEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024FCCF0 */ cpu->r[7] = cpu->r[3] + cpu->r[12];
|
|
/* 024FCCF4 */ _t7 = cpu->r[7] + 0x00000104u;
|
|
/* 024FCCF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 024FCCF8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024FCCFC */ _t8 = cpu->r[8] + cpu->r[10];
|
|
/* 024FCCFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024FCD00 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 024FCD00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024FCD04 */ _t10 = cpu->r[5] + 0x0000000Cu;
|
|
/* 024FCD04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024FCD08 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 024FCD08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024FCD0C */ cpu->r[31] = cpu->r[5] - cpu->r[30];
|
|
/* 024FCD10 */ cpu->r[27] = cpu->r[10] - cpu->r[30];
|
|
/* 024FCD14 */ goto L_024FCD24;
|
|
L_024FCD18: ; // 0x24fcd18
|
|
/* 024FCD18 */ cpu->r[8] = cpu->r[27] + cpu->r[30];
|
|
/* 024FCD1C */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 024FCD1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024FCD20 */ cpu->r[27] = cpu->r[12] - cpu->r[30];
|
|
L_024FCD24: ; // 0x24fcd24
|
|
/* 024FCD24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 024FCD28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024FCD28 */ if (_t14) goto L_024FCD40; else goto L_024FCD2C;
|
|
L_024FCD2C: ; // 0x24fcd2c
|
|
/* 024FCD2C */ _t15 = cpu->r[27] + 0x0000001Cu;
|
|
/* 024FCD2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 024FCD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 024FCD34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 024FCD34 */ if (_t17) goto L_024FCD40; else goto L_024FCD38;
|
|
L_024FCD38: ; // 0x24fcd38
|
|
/* 024FCD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 024FCD3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD3C */ _t19 = _t18 & 0x00000001u;
|
|
/* 024FCD3C */ if (_t19) goto L_024FCD40; else goto L_024FCD18;
|
|
L_024FCD40: ; // 0x24fcd40
|
|
/* 024FCD40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 024FCD44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 024FCD44 */ if (_t21) goto L_024FCD8C; else goto L_024FCD48;
|
|
L_024FCD48: ; // 0x24fcd48
|
|
/* 024FCD48 */ cpu->r[5] = cpu->r[29];
|
|
/* 024FCD4C */ cpu->r[4] = cpu->r[28];
|
|
/* 024FCD50 */ cpu->r[3] = cpu->r[27];
|
|
/* 024FCD54 */ Gambit_fn_024CBAC4(cpu);
|
|
L_024FCD58: ; // 0x24fcd58
|
|
/* 024FCD58 */ cpu->r[4] = cpu->r[27] + cpu->r[30];
|
|
/* 024FCD5C */ _t22 = cpu->r[4] + 0x00000004u;
|
|
/* 024FCD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024FCD60 */ cpu->r[27] = cpu->r[0] - cpu->r[30];
|
|
/* 024FCD64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 024FCD68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD68 */ _t24 = _t23 & 0x00000001u;
|
|
/* 024FCD68 */ if (_t24) goto L_024FCD8C; else goto L_024FCD6C;
|
|
L_024FCD6C: ; // 0x24fcd6c
|
|
/* 024FCD6C */ _t25 = cpu->r[27] + 0x0000001Cu;
|
|
/* 024FCD6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024FCD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 024FCD74 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD74 */ _t27 = _t26 & 0x00000001u;
|
|
/* 024FCD74 */ if (_t27) goto L_024FCD84; else goto L_024FCD78;
|
|
L_024FCD78: ; // 0x24fcd78
|
|
/* 024FCD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 024FCD7C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD7C */ _t29 = _t28 & 0x00000001u;
|
|
/* 024FCD7C */ if (_t29) goto L_024FCD80; else goto L_024FCD58;
|
|
L_024FCD80: ; // 0x24fcd80
|
|
/* 024FCD80 */ goto L_024FCD40;
|
|
L_024FCD84: ; // 0x24fcd84
|
|
/* 024FCD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 024FCD88 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024FCD88 */ _t31 = _t30 & 0x00000001u;
|
|
/* 024FCD88 */ if (_t31) goto L_024FCD8C; else goto L_024FCD48;
|
|
L_024FCD8C: ; // 0x24fcd8c
|
|
/* 024FCD8C */ /* nop */
|
|
/* 024FCD90 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 024FCD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024FCD94 */ cpu->lr = cpu->r[0];
|
|
/* 024FCD98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 024FCD9C */ return;
|
|
L_025754E0: ; // 0x25754e0
|
|
/* 025754E0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025754E4 */ _t33 = cpu->r[12] + 0x00006000u;
|
|
/* 025754E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025754E8 */ _t34 = cpu->r[12] + 0x00000264u;
|
|
/* 025754E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025754EC */ goto L_024FCCC0;
|
|
}
|
|
|
|
// fn_025754F0 @ 0x25754f0
|
|
void Gambit_fn_025754F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025754F0: ; // 0x25754f0
|
|
/* 025754F0 */ _t0 = cpu->r[3] + 0x0000026Cu;
|
|
/* 025754F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025754F4 */ _t1 = cpu->r[12] + 0x00000030u;
|
|
/* 025754F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025754F8 */ _t2 = cpu->r[12] + 0x00000070u;
|
|
/* 025754F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025754FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02575500 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575500 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575500 */ if (_t4) goto L_02575528; else goto L_02575504;
|
|
L_02575504: ; // 0x2575504
|
|
/* 02575504 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02575504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575508 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02575508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0257550C */ _t7 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0257550C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02575514 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575514 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575514 */ if (_t9) goto L_02575520; else goto L_02575518;
|
|
L_02575518: ; // 0x2575518
|
|
/* 02575518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0257551C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257551C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0257551C */ if (_t11) goto L_02575520; else goto L_02575528;
|
|
L_02575520: ; // 0x2575520
|
|
/* 02575520 */ cpu->r[3] = 0x00000001u;
|
|
/* 02575524 */ return;
|
|
L_02575528: ; // 0x2575528
|
|
/* 02575528 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257552C */ return;
|
|
}
|
|
|
|
// fn_02575530 @ 0x2575530
|
|
void Gambit_fn_02575530(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575530: ; // 0x2575530
|
|
/* 02575530 */ cpu->r[5] = 0x00000001u;
|
|
/* 02575534 */ cpu->r[4] = 0x00000000u;
|
|
/* 02575538 */ goto L_02575A20;
|
|
L_02575A20: ; // 0x2575a20
|
|
/* 02575A20 */ cpu->r[0] = cpu->lr;
|
|
/* 02575A24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02575A28 */ cpu->r[7] = 0x02570000u;
|
|
/* 02575A2C */ cpu->r[6] = 0x02570000u;
|
|
/* 02575A30 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02575A34 */ cpu->r[7] = cpu->r[7] + 0x000058DCu;
|
|
/* 02575A38 */ cpu->r[6] = cpu->r[6] + 0x000058DCu;
|
|
/* 02575A3C */ cpu->r[10] = cpu->r[10] + 0x00006C00u;
|
|
/* 02575A40 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02575A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02575A44 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02575A48 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575A48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02575A48 */ cpu->r[1] = _t1;
|
|
/* 02575A4C */ cpu->r[0] = cpu->r[0] + 0x00006BFCu;
|
|
/* 02575A50 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02575A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575A54 */ cpu->r[8] = 0x00000000u;
|
|
/* 02575A58 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02575A58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575A5C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A60 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A60 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02575A64 */ Gambit_fn_02791B10(cpu);
|
|
/* 02575A68 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02575A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575A6C */ cpu->lr = cpu->r[0];
|
|
/* 02575A70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575A74 */ return;
|
|
}
|
|
|
|
// fn_0257553C @ 0x257553c
|
|
void Gambit_fn_0257553C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0257553C: ; // 0x257553c
|
|
/* 0257553C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02575540 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575540 */ cpu->r[1] = _t0;
|
|
/* 02575544 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02575548 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0257554C */ _t1 = cpu->r[10] + 0xFFFFB378u;
|
|
/* 0257554C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0257554C */ cpu->r[10] = _t1;
|
|
/* 02575550 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02575554 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02575554 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02575558 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0257555C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02575560 */ _t3 = cpu->r[7] + 0xFFFFB388u;
|
|
/* 02575560 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02575560 */ cpu->r[7] = _t3;
|
|
/* 02575564 */ _t4 = cpu->r[8] + 0xFFFFB380u;
|
|
/* 02575564 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02575564 */ cpu->r[8] = _t4;
|
|
/* 02575568 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257556C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0257556C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02575570 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02575574 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02575574 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02575578 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0257557C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0257557C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02575580 */ _t8 = cpu->r[8] + 0xFFFFB398u;
|
|
/* 02575580 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02575580 */ cpu->r[8] = _t8;
|
|
/* 02575584 */ _t9 = cpu->r[12] + 0xFFFFB390u;
|
|
/* 02575584 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02575584 */ cpu->r[12] = _t9;
|
|
/* 02575588 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02575588 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0257558C */ cpu->r[0] = 0x00000004u;
|
|
/* 02575590 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02575590 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02575594 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02575598 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02575598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257559C */ _t13 = cpu->r[11] + 0xFFFFB3A0u;
|
|
/* 0257559C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025755A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025755A4 */ return;
|
|
}
|
|
|
|
// fn_02575540 @ 0x2575540
|
|
void Gambit_fn_02575540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575540: ; // 0x2575540
|
|
/* 02575540 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575540 */ cpu->r[1] = _t0;
|
|
/* 02575544 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02575548 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0257554C */ _t1 = cpu->r[10] + 0xFFFFB378u;
|
|
/* 0257554C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0257554C */ cpu->r[10] = _t1;
|
|
/* 02575550 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02575554 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02575554 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02575558 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0257555C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02575560 */ _t3 = cpu->r[7] + 0xFFFFB388u;
|
|
/* 02575560 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02575560 */ cpu->r[7] = _t3;
|
|
/* 02575564 */ _t4 = cpu->r[8] + 0xFFFFB380u;
|
|
/* 02575564 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02575564 */ cpu->r[8] = _t4;
|
|
/* 02575568 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257556C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0257556C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02575570 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02575574 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02575574 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02575578 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0257557C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0257557C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02575580 */ _t8 = cpu->r[8] + 0xFFFFB398u;
|
|
/* 02575580 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02575580 */ cpu->r[8] = _t8;
|
|
/* 02575584 */ _t9 = cpu->r[12] + 0xFFFFB390u;
|
|
/* 02575584 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02575584 */ cpu->r[12] = _t9;
|
|
/* 02575588 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02575588 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0257558C */ cpu->r[0] = 0x00000004u;
|
|
/* 02575590 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02575590 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02575594 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02575598 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02575598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257559C */ _t13 = cpu->r[11] + 0xFFFFB3A0u;
|
|
/* 0257559C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025755A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025755A4 */ return;
|
|
}
|
|
|
|
// fn_025755A8 @ 0x25755a8
|
|
void Gambit_fn_025755A8(CPUState* cpu) {
|
|
L_025755A8: ; // 0x25755a8
|
|
/* 025755A8 */ return;
|
|
}
|
|
|
|
// fn_025755AC @ 0x25755ac
|
|
void Gambit_fn_025755AC(CPUState* cpu) {
|
|
L_025755AC: ; // 0x25755ac
|
|
/* 025755AC */ return;
|
|
}
|
|
|
|
// fn_025755B0 @ 0x25755b0
|
|
void Gambit_fn_025755B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025755B0: ; // 0x25755b0
|
|
/* 025755B0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025755B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025755B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025755B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025755B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025755B8 */ if (_t2) goto L_025755C4; else goto L_025755BC;
|
|
L_025755BC: ; // 0x25755bc
|
|
/* 025755BC */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 025755C0 */ return;
|
|
L_025755C4: ; // 0x25755c4
|
|
/* 025755C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025755C8 */ return;
|
|
}
|
|
|
|
// fn_025755CC @ 0x25755cc
|
|
void Gambit_fn_025755CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025755CC: ; // 0x25755cc
|
|
/* 025755CC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025755CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025755D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025755D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025755D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025755D4 */ if (_t2) goto L_025755E0; else goto L_025755D8;
|
|
L_025755D8: ; // 0x25755d8
|
|
/* 025755D8 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 025755DC */ return;
|
|
L_025755E0: ; // 0x25755e0
|
|
/* 025755E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025755E4 */ return;
|
|
}
|
|
|
|
// fn_025755E8 @ 0x25755e8
|
|
void Gambit_fn_025755E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025755E8: ; // 0x25755e8
|
|
/* 025755E8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025755E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025755EC */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 025755EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025755F0 */ cpu->ctr = cpu->r[0];
|
|
/* 025755F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025755F8 @ 0x25755f8
|
|
void Gambit_fn_025755F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025755F8: ; // 0x25755f8
|
|
/* 025755F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025755F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025755FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025755FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575600 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575600 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02575600 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02575600 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575600 */ goto L_02575604;
|
|
L_02575604: ; // 0x2575604
|
|
/* 02575604 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02575604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575608 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 02575608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257560C */ cpu->ctr = cpu->r[12];
|
|
/* 02575610 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575614 @ 0x2575614
|
|
void Gambit_fn_02575614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575614: ; // 0x2575614
|
|
/* 02575614 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575618 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02575618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257561C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257561C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257561C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0257561C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257561C */ goto L_02575620;
|
|
L_02575620: ; // 0x2575620
|
|
/* 02575620 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02575620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575624 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02575624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575628 */ cpu->ctr = cpu->r[0];
|
|
/* 0257562C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575630 @ 0x2575630
|
|
void Gambit_fn_02575630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575630: ; // 0x2575630
|
|
/* 02575630 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575634 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02575634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02575638 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575638 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02575638 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02575638 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575638 */ goto L_0257563C;
|
|
L_0257563C: ; // 0x257563c
|
|
/* 0257563C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0257563C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575640 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 02575640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575644 */ cpu->ctr = cpu->r[0];
|
|
/* 02575648 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0257564C @ 0x257564c
|
|
void Gambit_fn_0257564C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0257564C: ; // 0x257564c
|
|
/* 0257564C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0257564C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575650 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02575650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02575654 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575654 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02575654 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02575654 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575654 */ goto L_02575658;
|
|
L_02575658: ; // 0x2575658
|
|
/* 02575658 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02575658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257565C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0257565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575660 */ cpu->ctr = cpu->r[0];
|
|
/* 02575664 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575668 @ 0x2575668
|
|
void Gambit_fn_02575668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575668: ; // 0x2575668
|
|
/* 02575668 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257566C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257566C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02575670 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575670 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02575670 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02575670 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575670 */ goto L_02575674;
|
|
L_02575674: ; // 0x2575674
|
|
/* 02575674 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02575674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575678 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02575678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257567C */ cpu->ctr = cpu->r[0];
|
|
/* 02575680 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575684 @ 0x2575684
|
|
void Gambit_fn_02575684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575684: ; // 0x2575684
|
|
/* 02575684 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575688 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02575688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0257568C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257568C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257568C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0257568C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257568C */ goto L_02575690;
|
|
L_02575690: ; // 0x2575690
|
|
/* 02575690 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02575690 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575694 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02575694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575698 */ cpu->ctr = cpu->r[0];
|
|
/* 0257569C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756A0 @ 0x25756a0
|
|
void Gambit_fn_025756A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025756A0: ; // 0x25756a0
|
|
/* 025756A0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025756A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025756A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025756A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025756A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025756A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025756A8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025756A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025756A8 */ goto L_025756AC;
|
|
L_025756AC: ; // 0x25756ac
|
|
/* 025756AC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025756AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025756B0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 025756B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025756B4 */ cpu->ctr = cpu->r[0];
|
|
/* 025756B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756BC @ 0x25756bc
|
|
void Gambit_fn_025756BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025756BC: ; // 0x25756bc
|
|
/* 025756BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025756BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025756C0 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 025756C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025756C4 */ cpu->ctr = cpu->r[0];
|
|
/* 025756C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756CC @ 0x25756cc
|
|
void Gambit_fn_025756CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025756CC: ; // 0x25756cc
|
|
/* 025756CC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025756CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025756D0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025756D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025756D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025756D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756DC @ 0x25756dc
|
|
void Gambit_fn_025756DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025756DC: ; // 0x25756dc
|
|
/* 025756DC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025756DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025756E0 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 025756E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025756E4 */ cpu->ctr = cpu->r[0];
|
|
/* 025756E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756EC @ 0x25756ec
|
|
void Gambit_fn_025756EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025756EC: ; // 0x25756ec
|
|
/* 025756EC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025756EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025756F0 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 025756F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025756F4 */ cpu->ctr = cpu->r[0];
|
|
/* 025756F8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025756FC @ 0x25756fc
|
|
void Gambit_fn_025756FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025756FC: ; // 0x25756fc
|
|
/* 025756FC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025756FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575700 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02575700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575704 */ cpu->ctr = cpu->r[0];
|
|
/* 02575708 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0257570C @ 0x257570c
|
|
void Gambit_fn_0257570C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0257570C: ; // 0x257570c
|
|
/* 0257570C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0257570C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575710 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 02575710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575714 */ cpu->ctr = cpu->r[0];
|
|
/* 02575718 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0257571C @ 0x257571c
|
|
void Gambit_fn_0257571C(CPUState* cpu) {
|
|
L_0257571C: ; // 0x257571c
|
|
/* 0257571C */ return;
|
|
}
|
|
|
|
// fn_02575720 @ 0x2575720
|
|
void Gambit_fn_02575720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575720: ; // 0x2575720
|
|
/* 02575720 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02575724 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 02575724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02575724 */ cpu->r[9] = _t0;
|
|
/* 02575728 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0257572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02575730 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 02575734 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575734 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02575734 */ if (_t2) goto L_02575738; else goto L_0257574C;
|
|
L_02575738: ; // 0x2575738
|
|
/* 02575738 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0257573C */ cpu->r[0] = 0x00000001u;
|
|
/* 02575740 */ cpu->r[7] = cpu->r[7] + 0xFFFFF92Cu;
|
|
/* 02575744 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02575744 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575748 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02575748 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0257574C: ; // 0x257574c
|
|
/* 0257574C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02575750 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575750 */ if (_t6) goto L_02575754; else goto L_0257575C;
|
|
L_02575754: ; // 0x2575754
|
|
/* 02575754 */ cpu->r[3] = 0x00000001u;
|
|
/* 02575758 */ return;
|
|
L_0257575C: ; // 0x257575c
|
|
/* 0257575C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02575760 */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 02575760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575760 */ cpu->r[7] = _t7;
|
|
/* 02575764 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02575768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0257576C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02575770 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575770 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575770 */ if (_t9) goto L_02575774; else goto L_02575788;
|
|
L_02575774: ; // 0x2575774
|
|
/* 02575774 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02575778 */ cpu->r[9] = 0x00000001u;
|
|
/* 0257577C */ cpu->r[0] = cpu->r[0] + 0xFFFFF91Cu;
|
|
/* 02575780 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02575780 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02575784 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02575784 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02575788: ; // 0x2575788
|
|
/* 02575788 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0257578C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02575790 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02575794 */ return;
|
|
}
|
|
|
|
// fn_02575798 @ 0x2575798
|
|
void Gambit_fn_02575798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02575798: ; // 0x2575798
|
|
/* 02575798 */ cpu->r[0] = cpu->lr;
|
|
/* 0257579C */ cpu->r[12] = 0x100D0000u;
|
|
/* 025757A0 */ cpu->r[10] = 0x00000007u;
|
|
/* 025757A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025757A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025757A4 */ cpu->r[1] = _t0;
|
|
/* 025757A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025757A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 025757AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025757AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025757B0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025757B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025757B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025757B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 025757BC */ _t4 = cpu->r[12] + 0xFFFFF904u;
|
|
/* 025757BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025757C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025757C4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 025757C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025757C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025757CC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025757CC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 025757D0 */ Gambit_fn_02791888(cpu);
|
|
/* 025757D4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 025757D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025757D8 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 025757DC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 025757DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025757E0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025757E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025757E4 */ cpu->lr = cpu->r[0];
|
|
/* 025757E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 025757E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025757EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025757F0 */ return;
|
|
}
|
|
|
|
// fn_025757A4 @ 0x25757a4
|
|
void Gambit_fn_025757A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025757A4: ; // 0x25757a4
|
|
/* 025757A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025757A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025757A4 */ cpu->r[1] = _t0;
|
|
/* 025757A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025757A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 025757AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025757AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025757B0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025757B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025757B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025757B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 025757BC */ _t4 = cpu->r[12] + 0xFFFFF904u;
|
|
/* 025757BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025757C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025757C4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 025757C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025757C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025757CC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025757CC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 025757D0 */ Gambit_fn_02791888(cpu);
|
|
/* 025757D4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 025757D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025757D8 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 025757DC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 025757DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025757E0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025757E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025757E4 */ cpu->lr = cpu->r[0];
|
|
/* 025757E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 025757E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025757EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025757F0 */ return;
|
|
}
|
|
|
|
// fn_025757F4 @ 0x25757f4
|
|
void Gambit_fn_025757F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025757F4: ; // 0x25757f4
|
|
/* 025757F4 */ cpu->r[0] = cpu->lr;
|
|
/* 025757F8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025757FC */ cpu->r[10] = 0x00000009u;
|
|
/* 02575800 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575800 */ cpu->r[1] = _t0;
|
|
/* 02575804 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575804 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02575808 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575808 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0257580C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575810 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575810 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575814 */ cpu->r[0] = 0x00000004u;
|
|
/* 02575818 */ _t4 = cpu->r[12] + 0xFFFFF90Cu;
|
|
/* 02575818 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257581C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02575820 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02575820 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02575824 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575828 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575828 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0257582C */ Gambit_fn_02791888(cpu);
|
|
/* 02575830 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02575830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575834 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02575838 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02575838 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0257583C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257583C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575840 */ cpu->lr = cpu->r[0];
|
|
/* 02575844 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02575844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257584C */ return;
|
|
}
|
|
|
|
// fn_02575800 @ 0x2575800
|
|
void Gambit_fn_02575800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02575800: ; // 0x2575800
|
|
/* 02575800 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575800 */ cpu->r[1] = _t0;
|
|
/* 02575804 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575804 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02575808 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575808 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0257580C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575810 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575810 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575814 */ cpu->r[0] = 0x00000004u;
|
|
/* 02575818 */ _t4 = cpu->r[12] + 0xFFFFF90Cu;
|
|
/* 02575818 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257581C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02575820 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02575820 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02575824 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575828 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575828 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0257582C */ Gambit_fn_02791888(cpu);
|
|
/* 02575830 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02575830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575834 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02575838 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02575838 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0257583C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257583C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575840 */ cpu->lr = cpu->r[0];
|
|
/* 02575844 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02575844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257584C */ return;
|
|
}
|
|
|
|
// fn_02575850 @ 0x2575850
|
|
void Gambit_fn_02575850(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02575850: ; // 0x2575850
|
|
/* 02575850 */ cpu->r[0] = cpu->lr;
|
|
/* 02575854 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575854 */ cpu->r[1] = _t0;
|
|
/* 02575858 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02575858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257585C */ cpu->r[31] = cpu->r[3];
|
|
/* 02575860 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575864 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02575864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02575868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0257586C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257586C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0257586C */ if (_t5) goto L_02575870; else goto L_0257588C;
|
|
L_02575870: ; // 0x2575870
|
|
/* 02575870 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02575870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02575874 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02575874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575878 */ cpu->ctr = cpu->r[0];
|
|
/* 0257587C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575880 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02575884 */ cpu->r[10] = 0x00000002u;
|
|
/* 02575888 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02575888 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0257588C: ; // 0x257588c
|
|
/* 0257588C */ cpu->r[0] = 0x00000005u;
|
|
/* 02575890 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02575894 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02575894 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02575898 */ _t10 = cpu->r[12] + 0xFFFFF914u;
|
|
/* 02575898 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575898 */ cpu->r[12] = _t10;
|
|
/* 0257589C */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0257589C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025758A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025758A4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025758A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 025758A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025758AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025758B0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 025758B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025758B4 */ Gambit_fn_02791888(cpu);
|
|
/* 025758B8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025758B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025758BC */ cpu->lr = cpu->r[0];
|
|
/* 025758C0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 025758C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025758C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025758C8 */ return;
|
|
}
|
|
|
|
// fn_02575854 @ 0x2575854
|
|
void Gambit_fn_02575854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02575854: ; // 0x2575854
|
|
/* 02575854 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02575854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575854 */ cpu->r[1] = _t0;
|
|
/* 02575858 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02575858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257585C */ cpu->r[31] = cpu->r[3];
|
|
/* 02575860 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02575860 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575864 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02575864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02575868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0257586C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257586C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0257586C */ if (_t5) goto L_02575870; else goto L_0257588C;
|
|
L_02575870: ; // 0x2575870
|
|
/* 02575870 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02575870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02575874 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02575874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575878 */ cpu->ctr = cpu->r[0];
|
|
/* 0257587C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575880 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02575884 */ cpu->r[10] = 0x00000002u;
|
|
/* 02575888 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02575888 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0257588C: ; // 0x257588c
|
|
/* 0257588C */ cpu->r[0] = 0x00000005u;
|
|
/* 02575890 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02575894 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02575894 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02575898 */ _t10 = cpu->r[12] + 0xFFFFF914u;
|
|
/* 02575898 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575898 */ cpu->r[12] = _t10;
|
|
/* 0257589C */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0257589C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025758A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025758A4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025758A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 025758A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025758AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025758B0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 025758B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025758B4 */ Gambit_fn_02791888(cpu);
|
|
/* 025758B8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025758B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025758BC */ cpu->lr = cpu->r[0];
|
|
/* 025758C0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 025758C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025758C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025758C8 */ return;
|
|
}
|
|
|
|
// fn_025758E4 @ 0x25758e4
|
|
void Gambit_fn_025758E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025758E4: ; // 0x25758e4
|
|
/* 025758E4 */ _t0 = cpu->r[3] + 0x00000258u;
|
|
/* 025758E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025758E8 */ return;
|
|
}
|
|
|
|
// fn_025758EC @ 0x25758ec
|
|
void Gambit_fn_025758EC(CPUState* cpu) {
|
|
L_025758EC: ; // 0x25758ec
|
|
/* 025758EC */ cpu->r[3] = 0x100D0000u;
|
|
/* 025758F0 */ cpu->r[3] = cpu->r[3] + 0xFFFFF94Cu;
|
|
/* 025758F4 */ return;
|
|
}
|
|
|
|
// fn_025758F8 @ 0x25758f8
|
|
void Gambit_fn_025758F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025758F8: ; // 0x25758f8
|
|
/* 025758F8 */ cpu->r[0] = cpu->lr;
|
|
/* 025758FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025758FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025758FC */ cpu->r[1] = _t0;
|
|
/* 02575900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575900 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575904 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575908 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02575908 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0257590C */ cpu->r[31] = cpu->r[3];
|
|
/* 02575910 */ /* nop */
|
|
/* 02575914 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575918 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257591C */ Gambit_fn_02575A78(cpu);
|
|
/* 02575920 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02575920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575924 */ cpu->lr = cpu->r[0];
|
|
/* 02575928 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257592C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575930 */ return;
|
|
}
|
|
|
|
// fn_025758FC @ 0x25758fc
|
|
void Gambit_fn_025758FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025758FC: ; // 0x25758fc
|
|
/* 025758FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025758FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025758FC */ cpu->r[1] = _t0;
|
|
/* 02575900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575900 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575904 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575908 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02575908 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0257590C */ cpu->r[31] = cpu->r[3];
|
|
/* 02575910 */ /* nop */
|
|
/* 02575914 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575918 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257591C */ Gambit_fn_02575A78(cpu);
|
|
/* 02575920 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02575920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575924 */ cpu->lr = cpu->r[0];
|
|
/* 02575928 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257592C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575930 */ return;
|
|
}
|
|
|
|
// fn_02575934 @ 0x2575934
|
|
void Gambit_fn_02575934(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575934: ; // 0x2575934
|
|
/* 02575934 */ cpu->r[0] = cpu->lr;
|
|
/* 02575938 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575938 */ cpu->r[1] = _t0;
|
|
/* 0257593C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257593C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575940 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575940 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575944 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02575944 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575948 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257594C */ /* nop */
|
|
/* 02575950 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575954 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575958 */ Gambit_fn_02575CF8(cpu);
|
|
/* 0257595C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0257595C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575960 */ cpu->lr = cpu->r[0];
|
|
/* 02575964 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257596C */ return;
|
|
}
|
|
|
|
// fn_02575938 @ 0x2575938
|
|
void Gambit_fn_02575938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575938: ; // 0x2575938
|
|
/* 02575938 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575938 */ cpu->r[1] = _t0;
|
|
/* 0257593C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257593C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575940 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575940 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575944 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02575944 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575948 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257594C */ /* nop */
|
|
/* 02575950 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575954 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575958 */ Gambit_fn_02575CF8(cpu);
|
|
/* 0257595C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0257595C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575960 */ cpu->lr = cpu->r[0];
|
|
/* 02575964 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257596C */ return;
|
|
}
|
|
|
|
// fn_02575970 @ 0x2575970
|
|
void Gambit_fn_02575970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02575970: ; // 0x2575970
|
|
/* 02575970 */ cpu->r[0] = cpu->lr;
|
|
/* 02575974 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02575978 */ cpu->r[7] = 0x02570000u;
|
|
/* 0257597C */ cpu->r[6] = 0x02570000u;
|
|
/* 02575980 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02575984 */ cpu->r[7] = cpu->r[7] + 0x000058CCu;
|
|
/* 02575988 */ cpu->r[6] = cpu->r[6] + 0x000058CCu;
|
|
/* 0257598C */ cpu->r[10] = cpu->r[10] + 0x00006BD8u;
|
|
/* 02575990 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02575990 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02575994 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02575998 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575998 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02575998 */ cpu->r[1] = _t1;
|
|
/* 0257599C */ cpu->r[0] = cpu->r[0] + 0x00006BD4u;
|
|
/* 025759A0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025759A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025759A4 */ cpu->r[8] = 0x00000000u;
|
|
/* 025759A8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 025759A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025759AC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025759B0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025759B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 025759B4 */ Gambit_fn_02791B10(cpu);
|
|
/* 025759B8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025759B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025759BC */ cpu->lr = cpu->r[0];
|
|
/* 025759C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025759C4 */ return;
|
|
}
|
|
|
|
// fn_02575998 @ 0x2575998
|
|
void Gambit_fn_02575998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02575998: ; // 0x2575998
|
|
/* 02575998 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575998 */ cpu->r[1] = _t0;
|
|
/* 0257599C */ cpu->r[0] = cpu->r[0] + 0x00006BD4u;
|
|
/* 025759A0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025759A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025759A4 */ cpu->r[8] = 0x00000000u;
|
|
/* 025759A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025759A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025759AC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025759B0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025759B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 025759B4 */ Gambit_fn_02791B10(cpu);
|
|
/* 025759B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025759B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025759BC */ cpu->lr = cpu->r[0];
|
|
/* 025759C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025759C4 */ return;
|
|
}
|
|
|
|
// fn_025759C8 @ 0x25759c8
|
|
void Gambit_fn_025759C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025759C8: ; // 0x25759c8
|
|
/* 025759C8 */ cpu->r[0] = cpu->lr;
|
|
/* 025759CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 025759D0 */ cpu->r[7] = 0x02570000u;
|
|
/* 025759D4 */ cpu->r[6] = 0x02570000u;
|
|
/* 025759D8 */ cpu->r[10] = 0x101C0000u;
|
|
/* 025759DC */ cpu->r[7] = cpu->r[7] + 0x000058D4u;
|
|
/* 025759E0 */ cpu->r[6] = cpu->r[6] + 0x000058D4u;
|
|
/* 025759E4 */ cpu->r[10] = cpu->r[10] + 0x00006BF8u;
|
|
/* 025759E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 025759E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025759EC */ cpu->r[0] = 0x101C0000u;
|
|
/* 025759F0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025759F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 025759F0 */ cpu->r[1] = _t1;
|
|
/* 025759F4 */ cpu->r[0] = cpu->r[0] + 0x00006BF4u;
|
|
/* 025759F8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025759F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025759FC */ cpu->r[8] = 0x00000000u;
|
|
/* 02575A00 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02575A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575A04 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A08 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A08 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02575A0C */ Gambit_fn_02791B10(cpu);
|
|
/* 02575A10 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02575A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02575A14 */ cpu->lr = cpu->r[0];
|
|
/* 02575A18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575A1C */ return;
|
|
}
|
|
|
|
// fn_025759F0 @ 0x25759f0
|
|
void Gambit_fn_025759F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_025759F0: ; // 0x25759f0
|
|
/* 025759F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025759F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025759F0 */ cpu->r[1] = _t0;
|
|
/* 025759F4 */ cpu->r[0] = cpu->r[0] + 0x00006BF4u;
|
|
/* 025759F8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025759F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025759FC */ cpu->r[8] = 0x00000000u;
|
|
/* 02575A00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02575A00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575A04 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A08 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A08 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02575A0C */ Gambit_fn_02791B10(cpu);
|
|
/* 02575A10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02575A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575A14 */ cpu->lr = cpu->r[0];
|
|
/* 02575A18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575A1C */ return;
|
|
}
|
|
|
|
// fn_02575A48 @ 0x2575a48
|
|
void Gambit_fn_02575A48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02575A48: ; // 0x2575a48
|
|
/* 02575A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575A48 */ cpu->r[1] = _t0;
|
|
/* 02575A4C */ cpu->r[0] = cpu->r[0] + 0x00006BFCu;
|
|
/* 02575A50 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02575A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575A54 */ cpu->r[8] = 0x00000000u;
|
|
/* 02575A58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02575A58 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575A5C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A60 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02575A64 */ Gambit_fn_02791B10(cpu);
|
|
/* 02575A68 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02575A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02575A6C */ cpu->lr = cpu->r[0];
|
|
/* 02575A70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575A74 */ return;
|
|
}
|
|
|
|
// fn_02575A78 @ 0x2575a78
|
|
void Gambit_fn_02575A78(CPUState* 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_02575A78: ; // 0x2575a78
|
|
/* 02575A78 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575A78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575A7C */ /* nop */
|
|
/* 02575A80 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02575A80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575A84 */ cpu->r[8] = cpu->r[0];
|
|
/* 02575A88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02575A8C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02575A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575A90 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575A90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575A90 */ if (_t4) goto L_02575A94; else goto L_02575AAC;
|
|
L_02575A94: ; // 0x2575a94
|
|
/* 02575A94 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575A98 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02575A9C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575A9C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575AA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575AA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575AA4 */ if (_t7) goto L_02575AA8; else goto L_02575AB8;
|
|
L_02575AA8: ; // 0x2575aa8
|
|
/* 02575AA8 */ return;
|
|
L_02575AAC: ; // 0x2575aac
|
|
/* 02575AAC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575AAC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575AB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575AB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575AB4 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575AB4 */ goto L_02575AB8;
|
|
L_02575AB8: ; // 0x2575ab8
|
|
/* 02575AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02575ABC */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575ABC */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575AC0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575AC0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575AC0 */ if (_t13) goto L_02575AC4; else goto L_02575ACC;
|
|
L_02575AC4: ; // 0x2575ac4
|
|
/* 02575AC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575AC8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575ACC: ; // 0x2575acc
|
|
/* 02575ACC */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575ACC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575AD0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575AD0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575AD8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575ADC */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02575AE0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575AE0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575AE0 */ if (_t18) goto L_02575AF8; else goto L_02575AE4;
|
|
L_02575AE4: ; // 0x2575ae4
|
|
/* 02575AE4 */ /* nop */
|
|
/* 02575AE8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575AE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575AEC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575AF0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02575AF4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575AF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575AF8: ; // 0x2575af8
|
|
/* 02575AF8 */ cpu->ctr = cpu->r[11];
|
|
/* 02575AFC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575B00 @ 0x2575b00
|
|
void Gambit_fn_02575B00(CPUState* 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_02575B00: ; // 0x2575b00
|
|
/* 02575B00 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575B00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575B04 */ /* nop */
|
|
/* 02575B08 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02575B08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575B0C */ cpu->r[8] = cpu->r[0];
|
|
/* 02575B10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02575B14 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02575B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575B18 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575B18 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575B18 */ if (_t4) goto L_02575B1C; else goto L_02575B34;
|
|
L_02575B1C: ; // 0x2575b1c
|
|
/* 02575B1C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575B20 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02575B24 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575B24 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575B2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575B2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575B2C */ if (_t7) goto L_02575B30; else goto L_02575B40;
|
|
L_02575B30: ; // 0x2575b30
|
|
/* 02575B30 */ return;
|
|
L_02575B34: ; // 0x2575b34
|
|
/* 02575B34 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575B34 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575B3C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575B3C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575B3C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575B3C */ goto L_02575B40;
|
|
L_02575B40: ; // 0x2575b40
|
|
/* 02575B40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02575B44 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575B44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575B48 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575B48 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575B48 */ if (_t13) goto L_02575B4C; else goto L_02575B54;
|
|
L_02575B4C: ; // 0x2575b4c
|
|
/* 02575B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575B50 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575B54: ; // 0x2575b54
|
|
/* 02575B54 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575B54 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575B58 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575B58 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575B60 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575B60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575B64 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02575B68 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575B68 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575B68 */ if (_t18) goto L_02575B80; else goto L_02575B6C;
|
|
L_02575B6C: ; // 0x2575b6c
|
|
/* 02575B6C */ /* nop */
|
|
/* 02575B70 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575B74 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575B78 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02575B7C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575B7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575B80: ; // 0x2575b80
|
|
/* 02575B80 */ cpu->ctr = cpu->r[11];
|
|
/* 02575B84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575B88 @ 0x2575b88
|
|
void Gambit_fn_02575B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575B88: ; // 0x2575b88
|
|
/* 02575B88 */ cpu->r[0] = cpu->lr;
|
|
/* 02575B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575B8C */ cpu->r[1] = _t0;
|
|
/* 02575B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575B94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575B98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575B9C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575BA0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575BA8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575BA8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575BAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575BAC */ if (_t6) goto L_02575BD4; else goto L_02575BB0;
|
|
L_02575BB0: ; // 0x2575bb0
|
|
/* 02575BB0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575BB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575BB4 */ /* nop */
|
|
/* 02575BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575BBC */ if (_t9) goto L_02575BC0; else goto L_02575BD4;
|
|
L_02575BC0: ; // 0x2575bc0
|
|
/* 02575BC0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575BC4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02575BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575BD4: ; // 0x2575bd4
|
|
/* 02575BD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD8 */ Gambit_fn_02575B00(cpu);
|
|
/* 02575BDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BE0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575BE4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575BE8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575BEC */ cpu->lr = cpu->r[0];
|
|
/* 02575BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575BF4 */ return;
|
|
}
|
|
|
|
// fn_02575B8C @ 0x2575b8c
|
|
void Gambit_fn_02575B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575B8C: ; // 0x2575b8c
|
|
/* 02575B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575B8C */ cpu->r[1] = _t0;
|
|
/* 02575B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575B94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575B98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575B9C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575BA0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575BA8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575BA8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575BAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575BAC */ if (_t6) goto L_02575BD4; else goto L_02575BB0;
|
|
L_02575BB0: ; // 0x2575bb0
|
|
/* 02575BB0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575BB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575BB4 */ /* nop */
|
|
/* 02575BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575BBC */ if (_t9) goto L_02575BC0; else goto L_02575BD4;
|
|
L_02575BC0: ; // 0x2575bc0
|
|
/* 02575BC0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575BC4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02575BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575BD4: ; // 0x2575bd4
|
|
/* 02575BD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD8 */ Gambit_fn_02575B00(cpu);
|
|
/* 02575BDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BE0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575BE4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575BE8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575BEC */ cpu->lr = cpu->r[0];
|
|
/* 02575BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575BF4 */ return;
|
|
}
|
|
|
|
// fn_02575BF8 @ 0x2575bf8
|
|
void Gambit_fn_02575BF8(CPUState* 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_02575BF8: ; // 0x2575bf8
|
|
/* 02575BF8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575BF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575BFC */ /* nop */
|
|
/* 02575C00 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02575C00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575C04 */ cpu->r[7] = cpu->r[0];
|
|
/* 02575C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02575C0C */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02575C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575C10 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575C10 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575C10 */ if (_t4) goto L_02575C14; else goto L_02575C2C;
|
|
L_02575C14: ; // 0x2575c14
|
|
/* 02575C14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575C18 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02575C1C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575C1C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02575C24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575C24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575C24 */ if (_t7) goto L_02575C28; else goto L_02575C38;
|
|
L_02575C28: ; // 0x2575c28
|
|
/* 02575C28 */ return;
|
|
L_02575C2C: ; // 0x2575c2c
|
|
/* 02575C2C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575C2C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02575C34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575C34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575C34 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575C34 */ goto L_02575C38;
|
|
L_02575C38: ; // 0x2575c38
|
|
/* 02575C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02575C3C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575C3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575C40 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575C40 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575C40 */ if (_t13) goto L_02575C44; else goto L_02575C4C;
|
|
L_02575C44: ; // 0x2575c44
|
|
/* 02575C44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575C48 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575C4C: ; // 0x2575c4c
|
|
/* 02575C4C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575C4C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575C50 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575C50 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02575C58 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575C5C */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02575C60 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575C60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575C60 */ if (_t18) goto L_02575C78; else goto L_02575C64;
|
|
L_02575C64: ; // 0x2575c64
|
|
/* 02575C64 */ /* nop */
|
|
/* 02575C68 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575C68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575C6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575C70 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02575C74 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575C74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575C78: ; // 0x2575c78
|
|
/* 02575C78 */ cpu->ctr = cpu->r[11];
|
|
/* 02575C7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575C80 @ 0x2575c80
|
|
void Gambit_fn_02575C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575C80: ; // 0x2575c80
|
|
/* 02575C80 */ cpu->r[0] = cpu->lr;
|
|
/* 02575C84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575C84 */ cpu->r[1] = _t0;
|
|
/* 02575C88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575C8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575C94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575C94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575C98 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575C98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575C9C */ /* nop */
|
|
/* 02575CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575CA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575CA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575CA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575CA8 */ if (_t6) goto L_02575CAC; else goto L_02575CC0;
|
|
L_02575CAC: ; // 0x2575cac
|
|
/* 02575CAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575CAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575CB0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575CB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02575CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575CC0: ; // 0x2575cc0
|
|
/* 02575CC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575CC8 */ Gambit_fn_02575BF8(cpu);
|
|
/* 02575CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CD0 */ /* nop */
|
|
/* 02575CD4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575CD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CDC */ Gambit_fn_02575A78(cpu);
|
|
/* 02575CE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575CE4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575CE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575CE8 */ cpu->lr = cpu->r[0];
|
|
/* 02575CEC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575CEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575CF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575CF4 */ return;
|
|
}
|
|
|
|
// fn_02575C84 @ 0x2575c84
|
|
void Gambit_fn_02575C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575C84: ; // 0x2575c84
|
|
/* 02575C84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575C84 */ cpu->r[1] = _t0;
|
|
/* 02575C88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575C8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575C94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575C94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575C98 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575C98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575C9C */ /* nop */
|
|
/* 02575CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575CA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575CA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575CA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575CA8 */ if (_t6) goto L_02575CAC; else goto L_02575CC0;
|
|
L_02575CAC: ; // 0x2575cac
|
|
/* 02575CAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575CAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575CB0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575CB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02575CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575CC0: ; // 0x2575cc0
|
|
/* 02575CC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575CC8 */ Gambit_fn_02575BF8(cpu);
|
|
/* 02575CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CD0 */ /* nop */
|
|
/* 02575CD4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575CD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CDC */ Gambit_fn_02575A78(cpu);
|
|
/* 02575CE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575CE4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575CE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575CE8 */ cpu->lr = cpu->r[0];
|
|
/* 02575CEC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575CEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575CF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575CF4 */ return;
|
|
}
|
|
|
|
// fn_02575CF8 @ 0x2575cf8
|
|
void Gambit_fn_02575CF8(CPUState* 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_02575CF8: ; // 0x2575cf8
|
|
/* 02575CF8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575CF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575CFC */ /* nop */
|
|
/* 02575D00 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02575D00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575D04 */ cpu->r[8] = cpu->r[0];
|
|
/* 02575D08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02575D0C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02575D0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575D10 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575D10 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575D10 */ if (_t4) goto L_02575D14; else goto L_02575D2C;
|
|
L_02575D14: ; // 0x2575d14
|
|
/* 02575D14 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575D18 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02575D1C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575D1C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575D24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575D24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575D24 */ if (_t7) goto L_02575D28; else goto L_02575D38;
|
|
L_02575D28: ; // 0x2575d28
|
|
/* 02575D28 */ return;
|
|
L_02575D2C: ; // 0x2575d2c
|
|
/* 02575D2C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575D2C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575D34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575D34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575D34 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575D34 */ goto L_02575D38;
|
|
L_02575D38: ; // 0x2575d38
|
|
/* 02575D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02575D3C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575D3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575D40 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575D40 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575D40 */ if (_t13) goto L_02575D44; else goto L_02575D4C;
|
|
L_02575D44: ; // 0x2575d44
|
|
/* 02575D44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575D48 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575D4C: ; // 0x2575d4c
|
|
/* 02575D4C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575D4C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575D50 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575D50 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575D58 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575D5C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02575D60 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575D60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575D60 */ if (_t18) goto L_02575D78; else goto L_02575D64;
|
|
L_02575D64: ; // 0x2575d64
|
|
/* 02575D64 */ /* nop */
|
|
/* 02575D68 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575D68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575D6C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575D70 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02575D74 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575D74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575D78: ; // 0x2575d78
|
|
/* 02575D78 */ cpu->ctr = cpu->r[11];
|
|
/* 02575D7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575D80 @ 0x2575d80
|
|
void Gambit_fn_02575D80(CPUState* 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_02575D80: ; // 0x2575d80
|
|
/* 02575D80 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575D80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575D84 */ /* nop */
|
|
/* 02575D88 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02575D88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575D8C */ cpu->r[8] = cpu->r[0];
|
|
/* 02575D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02575D94 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02575D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575D98 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575D98 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575D98 */ if (_t4) goto L_02575D9C; else goto L_02575DB4;
|
|
L_02575D9C: ; // 0x2575d9c
|
|
/* 02575D9C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575DA0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02575DA4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575DA4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575DAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575DAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575DAC */ if (_t7) goto L_02575DB0; else goto L_02575DC0;
|
|
L_02575DB0: ; // 0x2575db0
|
|
/* 02575DB0 */ return;
|
|
L_02575DB4: ; // 0x2575db4
|
|
/* 02575DB4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575DB4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02575DBC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575DBC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575DBC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575DBC */ goto L_02575DC0;
|
|
L_02575DC0: ; // 0x2575dc0
|
|
/* 02575DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02575DC4 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575DC8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575DC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575DC8 */ if (_t13) goto L_02575DCC; else goto L_02575DD4;
|
|
L_02575DCC: ; // 0x2575dcc
|
|
/* 02575DCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575DD0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575DD4: ; // 0x2575dd4
|
|
/* 02575DD4 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575DD4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575DD8 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575DD8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575DE0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575DE4 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02575DE8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575DE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575DE8 */ if (_t18) goto L_02575E00; else goto L_02575DEC;
|
|
L_02575DEC: ; // 0x2575dec
|
|
/* 02575DEC */ /* nop */
|
|
/* 02575DF0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575DF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575DF4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575DF8 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02575DFC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575E00: ; // 0x2575e00
|
|
/* 02575E00 */ cpu->ctr = cpu->r[11];
|
|
/* 02575E04 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575E08 @ 0x2575e08
|
|
void Gambit_fn_02575E08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575E08: ; // 0x2575e08
|
|
/* 02575E08 */ cpu->r[0] = cpu->lr;
|
|
/* 02575E0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575E0C */ cpu->r[1] = _t0;
|
|
/* 02575E10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575E14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575E18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575E1C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575E1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575E20 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575E28 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575E28 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575E2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575E2C */ if (_t6) goto L_02575E54; else goto L_02575E30;
|
|
L_02575E30: ; // 0x2575e30
|
|
/* 02575E30 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575E30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575E34 */ /* nop */
|
|
/* 02575E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575E3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575E3C */ if (_t9) goto L_02575E40; else goto L_02575E54;
|
|
L_02575E40: ; // 0x2575e40
|
|
/* 02575E40 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575E44 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575E48 */ cpu->ctr = cpu->r[0];
|
|
/* 02575E4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575E54: ; // 0x2575e54
|
|
/* 02575E54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E58 */ Gambit_fn_02575D80(cpu);
|
|
/* 02575E5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E60 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575E64 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575E68 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575E6C */ cpu->lr = cpu->r[0];
|
|
/* 02575E70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575E74 */ return;
|
|
}
|
|
|
|
// fn_02575E0C @ 0x2575e0c
|
|
void Gambit_fn_02575E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575E0C: ; // 0x2575e0c
|
|
/* 02575E0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575E0C */ cpu->r[1] = _t0;
|
|
/* 02575E10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575E14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575E18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575E1C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575E1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575E20 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575E28 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575E28 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575E2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575E2C */ if (_t6) goto L_02575E54; else goto L_02575E30;
|
|
L_02575E30: ; // 0x2575e30
|
|
/* 02575E30 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575E30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575E34 */ /* nop */
|
|
/* 02575E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575E3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575E3C */ if (_t9) goto L_02575E40; else goto L_02575E54;
|
|
L_02575E40: ; // 0x2575e40
|
|
/* 02575E40 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575E44 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575E48 */ cpu->ctr = cpu->r[0];
|
|
/* 02575E4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575E54: ; // 0x2575e54
|
|
/* 02575E54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E58 */ Gambit_fn_02575D80(cpu);
|
|
/* 02575E5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E60 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575E64 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575E68 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575E6C */ cpu->lr = cpu->r[0];
|
|
/* 02575E70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575E74 */ return;
|
|
}
|
|
|
|
// fn_02575E78 @ 0x2575e78
|
|
void Gambit_fn_02575E78(CPUState* 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_02575E78: ; // 0x2575e78
|
|
/* 02575E78 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02575E78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02575E7C */ /* nop */
|
|
/* 02575E80 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02575E80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02575E84 */ cpu->r[7] = cpu->r[0];
|
|
/* 02575E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02575E8C */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02575E8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02575E90 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575E90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575E90 */ if (_t4) goto L_02575E94; else goto L_02575EAC;
|
|
L_02575E94: ; // 0x2575e94
|
|
/* 02575E94 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575E98 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02575E9C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02575E9C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02575EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02575EA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575EA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575EA4 */ if (_t7) goto L_02575EA8; else goto L_02575EB8;
|
|
L_02575EA8: ; // 0x2575ea8
|
|
/* 02575EA8 */ return;
|
|
L_02575EAC: ; // 0x2575eac
|
|
/* 02575EAC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02575EAC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02575EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02575EB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575EB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02575EB4 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02575EB4 */ goto L_02575EB8;
|
|
L_02575EB8: ; // 0x2575eb8
|
|
/* 02575EB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02575EBC */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02575EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575EC0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575EC0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02575EC0 */ if (_t13) goto L_02575EC4; else goto L_02575ECC;
|
|
L_02575EC4: ; // 0x2575ec4
|
|
/* 02575EC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575EC8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02575ECC: ; // 0x2575ecc
|
|
/* 02575ECC */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02575ECC */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02575ED0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02575ED0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02575ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02575ED8 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02575ED8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02575EDC */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02575EE0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02575EE0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02575EE0 */ if (_t18) goto L_02575EF8; else goto L_02575EE4;
|
|
L_02575EE4: ; // 0x2575ee4
|
|
/* 02575EE4 */ /* nop */
|
|
/* 02575EE8 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02575EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02575EEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02575EF0 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02575EF4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02575EF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02575EF8: ; // 0x2575ef8
|
|
/* 02575EF8 */ cpu->ctr = cpu->r[11];
|
|
/* 02575EFC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02575F00 @ 0x2575f00
|
|
void Gambit_fn_02575F00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575F00: ; // 0x2575f00
|
|
/* 02575F00 */ cpu->r[0] = cpu->lr;
|
|
/* 02575F04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575F04 */ cpu->r[1] = _t0;
|
|
/* 02575F08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575F0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575F14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575F18 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575F18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575F1C */ /* nop */
|
|
/* 02575F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575F24 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575F28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575F28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575F28 */ if (_t6) goto L_02575F2C; else goto L_02575F40;
|
|
L_02575F2C: ; // 0x2575f2c
|
|
/* 02575F2C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575F30 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02575F38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575F40: ; // 0x2575f40
|
|
/* 02575F40 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575F48 */ Gambit_fn_02575E78(cpu);
|
|
/* 02575F4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F50 */ /* nop */
|
|
/* 02575F54 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F5C */ Gambit_fn_02575CF8(cpu);
|
|
/* 02575F60 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575F64 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575F68 */ cpu->lr = cpu->r[0];
|
|
/* 02575F6C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575F74 */ return;
|
|
}
|
|
|
|
// fn_02575F04 @ 0x2575f04
|
|
void Gambit_fn_02575F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575F04: ; // 0x2575f04
|
|
/* 02575F04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575F04 */ cpu->r[1] = _t0;
|
|
/* 02575F08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575F0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575F14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575F18 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575F18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575F1C */ /* nop */
|
|
/* 02575F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575F24 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575F28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575F28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575F28 */ if (_t6) goto L_02575F2C; else goto L_02575F40;
|
|
L_02575F2C: ; // 0x2575f2c
|
|
/* 02575F2C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575F30 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02575F38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575F40: ; // 0x2575f40
|
|
/* 02575F40 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575F48 */ Gambit_fn_02575E78(cpu);
|
|
/* 02575F4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F50 */ /* nop */
|
|
/* 02575F54 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F5C */ Gambit_fn_02575CF8(cpu);
|
|
/* 02575F60 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575F64 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575F68 */ cpu->lr = cpu->r[0];
|
|
/* 02575F6C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575F74 */ return;
|
|
}
|
|
|
|
// fn_02575F78 @ 0x2575f78
|
|
void Gambit_fn_02575F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02575F78: ; // 0x2575f78
|
|
/* 02575F78 */ cpu->r[0] = cpu->lr;
|
|
/* 02575F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575F7C */ cpu->r[1] = _t0;
|
|
/* 02575F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575F88 */ cpu->r[3] = cpu->r[4];
|
|
/* 02575F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575F8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575F90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575F90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575F90 */ if (_t4) goto L_02575F94; else goto L_02575FA4;
|
|
L_02575F94: ; // 0x2575f94
|
|
/* 02575F94 */ cpu->r[3] = 0x00000004u;
|
|
/* 02575F98 */ Gambit_fn_02801A78(cpu);
|
|
/* 02575F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575FA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575FA0 */ if (_t6) goto L_02575FAC; else goto L_02575FA4;
|
|
L_02575FA4: ; // 0x2575fa4
|
|
/* 02575FA4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02575FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575FA8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02575FA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02575FAC: ; // 0x2575fac
|
|
/* 02575FAC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575FB0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02575FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575FBC */ return;
|
|
}
|
|
|
|
// fn_02575F7C @ 0x2575f7c
|
|
void Gambit_fn_02575F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02575F7C: ; // 0x2575f7c
|
|
/* 02575F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575F7C */ cpu->r[1] = _t0;
|
|
/* 02575F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575F88 */ cpu->r[3] = cpu->r[4];
|
|
/* 02575F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575F8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575F90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575F90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02575F90 */ if (_t4) goto L_02575F94; else goto L_02575FA4;
|
|
L_02575F94: ; // 0x2575f94
|
|
/* 02575F94 */ cpu->r[3] = 0x00000004u;
|
|
/* 02575F98 */ Gambit_fn_02801A78(cpu);
|
|
/* 02575F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575FA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575FA0 */ if (_t6) goto L_02575FAC; else goto L_02575FA4;
|
|
L_02575FA4: ; // 0x2575fa4
|
|
/* 02575FA4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02575FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575FA8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02575FA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02575FAC: ; // 0x2575fac
|
|
/* 02575FAC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575FB0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02575FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575FBC */ return;
|
|
}
|
|
|
|
// fn_02575FC0 @ 0x2575fc0
|
|
void Gambit_fn_02575FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02575FC0: ; // 0x2575fc0
|
|
/* 02575FC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02575FC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575FC4 */ cpu->r[1] = _t0;
|
|
/* 02575FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575FCC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02575FCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02575FD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02575FD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575FD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575FD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FD8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02575FD8 */ if (_t5) goto L_02575FDC; else goto L_02575FEC;
|
|
L_02575FDC: ; // 0x2575fdc
|
|
/* 02575FDC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02575FE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02575FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02575FE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575FE8 */ if (_t7) goto L_02576028; else goto L_02575FEC;
|
|
L_02575FEC: ; // 0x2575fec
|
|
/* 02575FEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575FF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02575FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575FF4 */ if (_t9) goto L_02575FF8; else goto L_02576008;
|
|
L_02575FF8: ; // 0x2575ff8
|
|
/* 02575FF8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02575FFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02576000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576004 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576004 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02576004 */ if (_t11) goto L_02576018; else goto L_02576008;
|
|
L_02576008: ; // 0x2576008
|
|
/* 02576008 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0257600C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0257600C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02576010 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBCCu;
|
|
/* 02576014 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02576014 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02576018: ; // 0x2576018
|
|
/* 02576018 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0257601C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 0257601C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02576020 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu;
|
|
/* 02576024 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02576024 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02576028: ; // 0x2576028
|
|
/* 02576028 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02576028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0257602C */ cpu->r[3] = cpu->r[31];
|
|
/* 02576030 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02576034 */ cpu->lr = cpu->r[0];
|
|
/* 02576038 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02576038 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257603C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576040 */ return;
|
|
}
|
|
|
|
// fn_02575FC4 @ 0x2575fc4
|
|
void Gambit_fn_02575FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02575FC4: ; // 0x2575fc4
|
|
/* 02575FC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575FC4 */ cpu->r[1] = _t0;
|
|
/* 02575FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575FCC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02575FCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02575FD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02575FD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575FD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575FD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FD8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02575FD8 */ if (_t5) goto L_02575FDC; else goto L_02575FEC;
|
|
L_02575FDC: ; // 0x2575fdc
|
|
/* 02575FDC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02575FE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02575FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02575FE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02575FE8 */ if (_t7) goto L_02576028; else goto L_02575FEC;
|
|
L_02575FEC: ; // 0x2575fec
|
|
/* 02575FEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02575FF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02575FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575FF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575FF4 */ if (_t9) goto L_02575FF8; else goto L_02576008;
|
|
L_02575FF8: ; // 0x2575ff8
|
|
/* 02575FF8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02575FFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02576000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576004 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576004 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02576004 */ if (_t11) goto L_02576018; else goto L_02576008;
|
|
L_02576008: ; // 0x2576008
|
|
/* 02576008 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0257600C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 0257600C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02576010 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBCCu;
|
|
/* 02576014 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02576014 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02576018: ; // 0x2576018
|
|
/* 02576018 */ cpu->r[0] = 0x100D0000u;
|
|
/* 0257601C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 0257601C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02576020 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu;
|
|
/* 02576024 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02576024 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02576028: ; // 0x2576028
|
|
/* 02576028 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02576028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0257602C */ cpu->r[3] = cpu->r[31];
|
|
/* 02576030 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02576034 */ cpu->lr = cpu->r[0];
|
|
/* 02576038 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02576038 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257603C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576040 */ return;
|
|
}
|
|
|
|
// fn_02576044 @ 0x2576044
|
|
void Gambit_fn_02576044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02576044: ; // 0x2576044
|
|
/* 02576044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02576048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02576048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576048 */ cpu->r[1] = _t0;
|
|
/* 0257604C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257604C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257604C */ if (_t2) goto L_02576050; else goto L_02576064;
|
|
L_02576050: ; // 0x2576050
|
|
/* 02576050 */ cpu->r[12] = 0x00000001u;
|
|
/* 02576054 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02576054 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02576058 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02576058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257605C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0257605C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02576060 */ goto L_02576074;
|
|
L_02576064: ; // 0x2576064
|
|
/* 02576064 */ cpu->r[11] = 0x00000000u;
|
|
/* 02576068 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02576068 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0257606C */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0257606C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576070 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576070 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02576074: ; // 0x2576074
|
|
/* 02576074 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02576078 */ return;
|
|
}
|
|
|
|
// fn_02576048 @ 0x2576048
|
|
void Gambit_fn_02576048(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02576048: ; // 0x2576048
|
|
/* 02576048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02576048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576048 */ cpu->r[1] = _t0;
|
|
/* 0257604C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257604C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257604C */ if (_t2) goto L_02576050; else goto L_02576064;
|
|
L_02576050: ; // 0x2576050
|
|
/* 02576050 */ cpu->r[12] = 0x00000001u;
|
|
/* 02576054 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02576054 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02576058 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02576058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257605C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0257605C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02576060 */ goto L_02576074;
|
|
L_02576064: ; // 0x2576064
|
|
/* 02576064 */ cpu->r[11] = 0x00000000u;
|
|
/* 02576068 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02576068 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0257606C */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0257606C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576070 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576070 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02576074: ; // 0x2576074
|
|
/* 02576074 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02576078 */ return;
|
|
}
|
|
|
|
// fn_0257607C @ 0x257607c
|
|
void Gambit_fn_0257607C(CPUState* cpu) {
|
|
L_0257607C: ; // 0x257607c
|
|
/* 0257607C */ return;
|
|
}
|
|
|
|
// fn_02576080 @ 0x2576080
|
|
void Gambit_fn_02576080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02576080: ; // 0x2576080
|
|
/* 02576080 */ cpu->r[0] = cpu->lr;
|
|
/* 02576084 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02576084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576084 */ cpu->r[1] = _t0;
|
|
/* 02576088 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02576088 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0257608C */ /* nop */
|
|
/* 02576090 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02576090 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02576094 */ cpu->f[31] = cpu->f[2];
|
|
/* 02576098 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02576098 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0257609C */ /* nop */
|
|
/* 025760A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025760A4 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 025760A4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 025760A8 */ cpu->f[30] = cpu->f[1];
|
|
/* 025760AC */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 025760AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025760B0 */ Gambit_fn_02575F78(cpu);
|
|
/* 025760B4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 025760B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025760B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 025760BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025760BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 025760BC */ if (_t8) goto L_025760D0; else goto L_025760C0;
|
|
L_025760C0: ; // 0x25760c0
|
|
/* 025760C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025760C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025760C0 */ if (_t10) goto L_025760F8; else goto L_025760C4;
|
|
L_025760C4: ; // 0x25760c4
|
|
/* 025760C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025760C8 */ _t11 = cpu->r[12] + 0xFFFFFBECu;
|
|
/* 025760C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025760CC */ goto L_025760FC;
|
|
L_025760D0: ; // 0x25760d0
|
|
/* 025760D0 */ cpu->f[1] = cpu->f[30];
|
|
/* 025760D4 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 025760D4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025760D8 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 025760D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025760DC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 025760DC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 025760E0 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 025760E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 025760E4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025760E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 025760E4 */ if (_t17) goto L_025760E8; // else: addr-0 trap, fall-through
|
|
L_025760E8: ; // 0x25760e8
|
|
/* 025760E8 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 025760E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025760EC */ cpu->lr = cpu->r[0];
|
|
/* 025760F0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025760F4 */ return;
|
|
L_025760F8: ; // 0x25760f8
|
|
/* 025760F8 */ cpu->f[1] = cpu->f[31];
|
|
L_025760FC: ; // 0x25760fc
|
|
/* 025760FC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 025760FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02576100 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02576100 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02576104 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02576104 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02576108 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02576108 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 0257610C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257610C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0257610C */ if (_t24) goto L_02576110; // else: addr-0 trap, fall-through
|
|
L_02576110: ; // 0x2576110
|
|
/* 02576110 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02576110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02576114 */ cpu->lr = cpu->r[0];
|
|
/* 02576118 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0257611C */ return;
|
|
}
|
|
|
|
// fn_02576084 @ 0x2576084
|
|
void Gambit_fn_02576084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02576084: ; // 0x2576084
|
|
/* 02576084 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02576084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576084 */ cpu->r[1] = _t0;
|
|
/* 02576088 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02576088 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0257608C */ /* nop */
|
|
/* 02576090 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02576090 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02576094 */ cpu->f[31] = cpu->f[2];
|
|
/* 02576098 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02576098 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0257609C */ /* nop */
|
|
/* 025760A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025760A4 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 025760A4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 025760A8 */ cpu->f[30] = cpu->f[1];
|
|
/* 025760AC */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 025760AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025760B0 */ Gambit_fn_02575F78(cpu);
|
|
/* 025760B4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 025760B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025760B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 025760BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025760BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 025760BC */ if (_t8) goto L_025760D0; else goto L_025760C0;
|
|
L_025760C0: ; // 0x25760c0
|
|
/* 025760C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025760C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025760C0 */ if (_t10) goto L_025760F8; else goto L_025760C4;
|
|
L_025760C4: ; // 0x25760c4
|
|
/* 025760C4 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025760C8 */ _t11 = cpu->r[12] + 0xFFFFFBECu;
|
|
/* 025760C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025760CC */ goto L_025760FC;
|
|
L_025760D0: ; // 0x25760d0
|
|
/* 025760D0 */ cpu->f[1] = cpu->f[30];
|
|
/* 025760D4 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 025760D4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025760D8 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 025760D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025760DC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 025760DC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 025760E0 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 025760E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 025760E4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025760E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 025760E4 */ if (_t17) goto L_025760E8; // else: addr-0 trap, fall-through
|
|
L_025760E8: ; // 0x25760e8
|
|
/* 025760E8 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 025760E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025760EC */ cpu->lr = cpu->r[0];
|
|
/* 025760F0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025760F4 */ return;
|
|
L_025760F8: ; // 0x25760f8
|
|
/* 025760F8 */ cpu->f[1] = cpu->f[31];
|
|
L_025760FC: ; // 0x25760fc
|
|
/* 025760FC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 025760FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02576100 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02576100 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02576104 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02576104 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02576108 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02576108 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 0257610C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257610C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0257610C */ if (_t24) goto L_02576110; // else: addr-0 trap, fall-through
|
|
L_02576110: ; // 0x2576110
|
|
/* 02576110 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02576110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02576114 */ cpu->lr = cpu->r[0];
|
|
/* 02576118 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0257611C */ return;
|
|
}
|
|
|
|
// fn_02576120 @ 0x2576120
|
|
void Gambit_fn_02576120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02576120: ; // 0x2576120
|
|
/* 02576120 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02576124 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02576128 */ _t0 = cpu->r[10] + 0xFFFFFBF0u;
|
|
/* 02576128 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0257612C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02576130 */ _t1 = cpu->r[11] + 0xFFFFFBFCu;
|
|
/* 02576130 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02576134 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576138 */ _t2 = cpu->r[12] + 0xFFFFFC00u;
|
|
/* 02576138 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0257613C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02576140 */ _t3 = cpu->r[9] + 0xFFFFFBF4u;
|
|
/* 02576140 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02576144 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02576148 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257614C */ _t4 = cpu->r[12] + 0xFFFFB3A4u;
|
|
/* 0257614C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[9]);
|
|
/* 0257614C */ cpu->r[12] = _t4;
|
|
/* 02576150 */ _t5 = cpu->r[10] + 0xFFFFFBF8u;
|
|
/* 02576150 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02576154 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02576154 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02576158 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0257615C */ _t7 = cpu->r[11] + 0xFFFFB3B4u;
|
|
/* 0257615C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 0257615C */ cpu->r[11] = _t7;
|
|
/* 02576160 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02576164 */ _t8 = cpu->r[12] + 0xFFFFFBECu;
|
|
/* 02576164 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02576168 */ _t9 = cpu->r[9] + 0xFFFFB3BCu;
|
|
/* 02576168 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02576168 */ cpu->r[9] = _t9;
|
|
/* 0257616C */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 0257616C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[10]);
|
|
/* 02576170 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02576174 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02576178 */ _t11 = cpu->r[11] + 0xFFFFFC04u;
|
|
/* 02576178 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0257617C */ _t12 = cpu->r[10] + 0xFFFFB3ACu;
|
|
/* 0257617C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 0257617C */ cpu->r[10] = _t12;
|
|
/* 02576180 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02576180 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02576184 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02576184 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02576188 */ return;
|
|
}
|
|
|
|
// fn_0257618C @ 0x257618c
|
|
void Gambit_fn_0257618C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_0257618C: ; // 0x257618c
|
|
/* 0257618C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0257618C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257618C */ cpu->r[1] = _t0;
|
|
/* 02576190 */ /* nop */
|
|
/* 02576194 */ cpu->r[0] = cpu->lr;
|
|
/* 02576198 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02576198 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0257619C */ cpu->r[29] = cpu->r[3];
|
|
/* 0257619C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025761A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025761A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025761A0 */ if (_t3) goto L_025761A4; else goto L_025761B4;
|
|
L_025761A4: ; // 0x25761a4
|
|
/* 025761A4 */ cpu->r[3] = 0x00000204u;
|
|
/* 025761A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025761AC */ cpu->r[29] = cpu->r[3];
|
|
/* 025761AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025761B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025761B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025761B0 */ if (_t5) goto L_0257644C; else goto L_025761B4;
|
|
L_025761B4: ; // 0x25761b4
|
|
/* 025761B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 025761B8 */ Gambit_fn_02001FA8(cpu);
|
|
/* 025761BC */ cpu->r[0] = 0x100D0000u;
|
|
/* 025761C0 */ cpu->r[31] = cpu->r[29] + 0x000001CCu;
|
|
/* 025761C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025761C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD00u;
|
|
/* 025761C8 */ cpu->r[27] = 0x00000000u;
|
|
/* 025761CC */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 025761CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025761D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025761D0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025761D0 */ if (_t8) goto L_025761D4; else goto L_025761E4;
|
|
L_025761D4: ; // 0x25761d4
|
|
/* 025761D4 */ cpu->r[3] = 0x00000038u;
|
|
/* 025761D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025761DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025761DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025761E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025761E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025761E0 */ if (_t10) goto L_02576214; else goto L_025761E4;
|
|
L_025761E4: ; // 0x25761e4
|
|
/* 025761E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025761E8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 025761EC */ cpu->r[8] = 0x100D0000u;
|
|
/* 025761F0 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 025761F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 025761F4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFB6Cu;
|
|
/* 025761F8 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 025761F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 025761FC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 025761FC */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02576200 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02576200 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02576204 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02576204 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 02576208 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02576208 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0257620C */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0257620C */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 02576210 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02576210 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_02576214: ; // 0x2576214
|
|
/* 02576214 */ cpu->r[0] = 0x00000002u;
|
|
/* 02576218 */ cpu->r[3] = cpu->r[29] + 0x000001CCu;
|
|
/* 0257621C */ cpu->r[4] = cpu->r[29];
|
|
/* 02576220 */ cpu->r[6] = 0x00000000u;
|
|
/* 02576224 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02576228 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02576228 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 0257622C */ Gambit_fn_02576AB8(cpu);
|
|
/* 02576230 */ cpu->r[3] = cpu->r[29];
|
|
/* 02576234 */ cpu->r[4] = cpu->r[29] + 0x000001CCu;
|
|
/* 02576238 */ Gambit_fn_02000834(cpu);
|
|
/* 0257623C */ cpu->r[28] = 0x100D0000u;
|
|
/* 02576240 */ cpu->r[26] = 0x02570000u;
|
|
/* 02576244 */ cpu->r[28] = cpu->r[28] + 0xFFFFFC18u;
|
|
/* 02576248 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0257624C */ cpu->r[26] = cpu->r[26] + 0x00006710u;
|
|
/* 02576250 */ cpu->r[11] = cpu->r[11] + 0xFFFFFCC0u;
|
|
/* 02576254 */ cpu->ctr = cpu->r[26];
|
|
/* 02576258 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576258 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0257625C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0257625C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02576260 */ _t22 = cpu->r[29] + 0x000001E4u;
|
|
/* 02576260 */ cpu->r[24] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02576264 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576268 */ _t23 = cpu->r[24] + 0x00000000u;
|
|
/* 02576268 */ cpu->r[25] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0257626C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576270 */ cpu->r[31] = 0x10110000u;
|
|
/* 02576274 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02576278 */ _t25 = cpu->r[31] + 0x00007399u;
|
|
/* 02576278 */ cpu->r[31] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0257627C */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 0257627C */ cpu->r[12] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02576280 */ cpu->r[30] = 0x00000000u;
|
|
/* 02576284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02576288 */ cpu->r[11] = 0x00080000u;
|
|
/* 0257628C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257628C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0257628C */ if (_t28) goto L_025762B4; else goto L_02576290;
|
|
L_02576290: ; // 0x2576290
|
|
/* 02576290 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02576294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02576298 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0257629C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257629C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0257629C */ if (_t30) goto L_025762B0; else goto L_025762A0;
|
|
L_025762A0: ; // 0x25762a0
|
|
/* 025762A0 */ _t31 = cpu->r[9] + 0x00000000u;
|
|
/* 025762A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 025762A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 025762A8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025762A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025762A8 */ if (_t33) goto L_025762AC; else goto L_02576290;
|
|
L_025762AC: ; // 0x25762ac
|
|
/* 025762AC */ goto L_025762B4;
|
|
L_025762B0: ; // 0x25762b0
|
|
/* 025762B0 */ cpu->r[30] = 0x00000000u;
|
|
L_025762B4: ; // 0x25762b4
|
|
/* 025762B4 */ _t34 = cpu->r[24] + 0x00000008u;
|
|
/* 025762B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025762B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 025762BC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025762BC */ _t36 = _t35 & 0x00000001u;
|
|
/* 025762BC */ if (_t36) goto L_025762C4; else goto L_025762C0;
|
|
L_025762C0: ; // 0x25762c0
|
|
/* 025762C0 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_025762C4: ; // 0x25762c4
|
|
/* 025762C4 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 025762C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025762C8 */ _t38 = cpu->r[5] + 0x00000014u;
|
|
/* 025762C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025762CC */ cpu->ctr = cpu->r[7];
|
|
/* 025762D0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025762D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025762D8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025762D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 025762DC */ cpu->r[3] = cpu->r[25];
|
|
/* 025762E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 025762E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025762E8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025762EC */ _t40 = cpu->r[25] + cpu->r[30];
|
|
/* 025762EC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
/* 025762F0 */ cpu->r[10] = 0x02570000u;
|
|
/* 025762F4 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025762F4 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[27]);
|
|
/* 025762F8 */ cpu->r[10] = cpu->r[10] + 0x00006A60u;
|
|
/* 025762FC */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 025762FC */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[27]);
|
|
/* 02576300 */ cpu->r[7] = 0x00000000u;
|
|
/* 02576304 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02576304 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02576308 */ cpu->r[0] = 0x02570000u;
|
|
/* 0257630C */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 0257630C */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02576310 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02576314 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02576314 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[7]);
|
|
/* 02576318 */ cpu->r[0] = cpu->r[0] + 0x00006A64u;
|
|
/* 0257631C */ _t46 = cpu->r[1] + 0x00000016u;
|
|
/* 0257631C */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[10]);
|
|
/* 02576320 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576324 */ _t47 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02576324 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[10]);
|
|
/* 02576328 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0257632C */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 0257632C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02576330 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02576334 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02576338 */ _t49 = cpu->r[1] + 0x00000026u;
|
|
/* 02576338 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[27]);
|
|
/* 0257633C */ cpu->r[3] = cpu->r[29] + 0x000001CCu;
|
|
/* 02576340 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02576340 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[27]);
|
|
/* 02576344 */ Gambit_fn_02576D68(cpu);
|
|
/* 02576348 */ cpu->r[7] = 0x100D0000u;
|
|
/* 0257634C */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 0257634C */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 02576350 */ cpu->r[7] = cpu->r[7] + 0xFFFFFCD0u;
|
|
/* 02576354 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576354 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02576358 */ _t53 = cpu->r[29] + 0x000001E0u;
|
|
/* 02576358 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0257635C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000001u);
|
|
/* 02576360 */ _t54 = cpu->r[29] + 0x000001E4u;
|
|
/* 02576360 */ cpu->r[28] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02576364 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576364 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02576364 */ if (_t56) goto L_02576368; else goto L_0257636C;
|
|
L_02576368: ; // 0x2576368
|
|
/* 02576368 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
L_0257636C: ; // 0x257636c
|
|
/* 0257636C */ cpu->ctr = cpu->r[26];
|
|
/* 02576370 */ _t57 = cpu->r[28] + 0x00000000u;
|
|
/* 02576370 */ cpu->r[25] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02576374 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576378 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257637C */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257637C */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02576380 */ _t59 = cpu->r[6] + 0x00000000u;
|
|
/* 02576380 */ cpu->r[12] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02576384 */ cpu->r[30] = 0x00000000u;
|
|
/* 02576388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0257638C */ cpu->r[0] = 0x00080000u;
|
|
/* 02576390 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576390 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02576390 */ if (_t61) goto L_025763B8; else goto L_02576394;
|
|
L_02576394: ; // 0x2576394
|
|
/* 02576394 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02576398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0257639C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 025763A0 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025763A0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 025763A0 */ if (_t63) goto L_025763B4; else goto L_025763A4;
|
|
L_025763A4: ; // 0x25763a4
|
|
/* 025763A4 */ _t64 = cpu->r[6] + 0x00000000u;
|
|
/* 025763A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 025763A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 025763AC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025763AC */ _t66 = _t65 & 0x00000001u;
|
|
/* 025763AC */ if (_t66) goto L_025763B0; else goto L_02576394;
|
|
L_025763B0: ; // 0x25763b0
|
|
/* 025763B0 */ goto L_025763B8;
|
|
L_025763B4: ; // 0x25763b4
|
|
/* 025763B4 */ cpu->r[30] = 0x00000000u;
|
|
L_025763B8: ; // 0x25763b8
|
|
/* 025763B8 */ _t67 = cpu->r[28] + 0x00000008u;
|
|
/* 025763B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 025763BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 025763C0 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025763C0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025763C0 */ if (_t69) goto L_025763C8; else goto L_025763C4;
|
|
L_025763C4: ; // 0x25763c4
|
|
/* 025763C4 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_025763C8: ; // 0x25763c8
|
|
/* 025763C8 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 025763C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 025763CC */ _t71 = cpu->r[6] + 0x00000014u;
|
|
/* 025763CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 025763D0 */ cpu->ctr = cpu->r[0];
|
|
/* 025763D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025763D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025763DC */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025763DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t72);
|
|
/* 025763E0 */ cpu->r[6] = 0x00000000u;
|
|
/* 025763E4 */ cpu->r[5] = cpu->r[30];
|
|
/* 025763E8 */ cpu->r[3] = cpu->r[25];
|
|
/* 025763EC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025763F0 */ _t73 = cpu->r[25] + cpu->r[30];
|
|
/* 025763F0 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[31]);
|
|
/* 025763F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025763F8 */ _t74 = cpu->r[1] + 0x00000014u;
|
|
/* 025763F8 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[27]);
|
|
/* 025763FC */ cpu->r[11] = 0x02570000u;
|
|
/* 02576400 */ _t75 = cpu->r[1] + 0x00000028u;
|
|
/* 02576400 */ rbrew_write32(cpu->mem, _t75, cpu->r[27]);
|
|
/* 02576404 */ cpu->r[11] = cpu->r[11] + 0x00006A68u;
|
|
/* 02576408 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 02576408 */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[27]);
|
|
/* 0257640C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02576410 */ _t77 = cpu->r[1] + 0x00000026u;
|
|
/* 02576410 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[27]);
|
|
/* 02576414 */ cpu->r[3] = cpu->r[29] + 0x000001CCu;
|
|
/* 02576418 */ _t78 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02576418 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[8]);
|
|
/* 0257641C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02576420 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 02576420 */ rbrew_write32(cpu->mem, _t79, cpu->r[11]);
|
|
/* 02576424 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576428 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02576428 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
|
|
/* 0257642C */ cpu->r[0] = 0x02570000u;
|
|
/* 02576430 */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576430 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[27]);
|
|
/* 02576434 */ cpu->r[0] = cpu->r[0] + 0x00006A6Cu;
|
|
/* 02576438 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0257643C */ _t82 = cpu->r[1] + 0x00000016u;
|
|
/* 0257643C */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[8]);
|
|
/* 02576440 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02576444 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 02576444 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 02576448 */ Gambit_fn_02576D68(cpu);
|
|
L_0257644C: ; // 0x257644c
|
|
/* 0257644C */ cpu->r[3] = cpu->r[29];
|
|
/* 02576450 */ /* nop */
|
|
/* 02576454 */ _t84 = cpu->r[1] + 0x00000054u;
|
|
/* 02576454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02576458 */ cpu->lr = cpu->r[0];
|
|
/* 0257645C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02576460 */ return;
|
|
}
|
|
|
|
// fn_02576464 @ 0x2576464
|
|
void Gambit_fn_02576464(CPUState* cpu) {
|
|
uint32_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_02576464: ; // 0x2576464
|
|
/* 02576464 */ cpu->r[0] = cpu->lr;
|
|
/* 02576468 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02576468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576468 */ cpu->r[1] = _t0;
|
|
/* 0257646C */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0257646C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02576470 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576474 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02576474 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02576478 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02576478 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0257647C */ cpu->r[0] = 0x00000002u;
|
|
/* 02576480 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02576484 */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02576484 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02576488 */ _t5 = cpu->r[12] + 0x00006000u;
|
|
/* 02576488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257648C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576490 */ cpu->r[0] = cpu->r[0] + 0xFFFFFC18u;
|
|
/* 02576494 */ _t6 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02576494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02576498 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0257649C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257649C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 025764A0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFCE0u;
|
|
/* 025764A4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025764A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025764A8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025764AC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025764AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 025764B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFCE4u;
|
|
/* 025764B4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 025764B8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 025764B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025764BC */ Gambit_fn_02982574(cpu);
|
|
/* 025764C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025764C4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025764C8 */ _t11 = cpu->r[9] + 0xFFFF97D0u;
|
|
/* 025764C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025764CC */ _t12 = cpu->r[10] + 0xFFFF97D8u;
|
|
/* 025764CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 025764D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025764D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 025764D4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025764D8 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 025764D8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 025764DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 025764E0 */ _t15 = cpu->r[9] + 0xFFFF97D9u;
|
|
/* 025764E0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 025764E4 */ _t16 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 025764E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025764E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025764EC */ _t17 = cpu->r[1] + 0x00000031u;
|
|
/* 025764EC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 025764F0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 025764F4 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025764F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 025764F8 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 025764F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025764FC */ cpu->r[7] = cpu->r[1] + 0x00000018u;
|
|
/* 02576500 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02576504 */ Gambit_fn_0200237C(cpu);
|
|
/* 02576508 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02576508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0257650C */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257650C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576510 */ cpu->lr = cpu->r[0];
|
|
/* 02576514 */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 02576514 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02576518 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0257651C */ return;
|
|
}
|
|
|
|
// fn_02576468 @ 0x2576468
|
|
void Gambit_fn_02576468(CPUState* cpu) {
|
|
uint32_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_02576468: ; // 0x2576468
|
|
/* 02576468 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02576468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576468 */ cpu->r[1] = _t0;
|
|
/* 0257646C */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0257646C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02576470 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576474 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02576474 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02576478 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02576478 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0257647C */ cpu->r[0] = 0x00000002u;
|
|
/* 02576480 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02576484 */ _t4 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02576484 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02576488 */ _t5 = cpu->r[12] + 0x00006000u;
|
|
/* 02576488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257648C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576490 */ cpu->r[0] = cpu->r[0] + 0xFFFFFC18u;
|
|
/* 02576494 */ _t6 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02576494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02576498 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0257649C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257649C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 025764A0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFCE0u;
|
|
/* 025764A4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 025764A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025764A8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025764AC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025764AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 025764B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFCE4u;
|
|
/* 025764B4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 025764B8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 025764B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025764BC */ Gambit_fn_02982574(cpu);
|
|
/* 025764C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025764C4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025764C8 */ _t11 = cpu->r[9] + 0xFFFF97D0u;
|
|
/* 025764C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025764CC */ _t12 = cpu->r[10] + 0xFFFF97D8u;
|
|
/* 025764CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 025764D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025764D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 025764D4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025764D8 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 025764D8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 025764DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 025764E0 */ _t15 = cpu->r[9] + 0xFFFF97D9u;
|
|
/* 025764E0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 025764E4 */ _t16 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 025764E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025764E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025764EC */ _t17 = cpu->r[1] + 0x00000031u;
|
|
/* 025764EC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 025764F0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 025764F4 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025764F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 025764F8 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 025764F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025764FC */ cpu->r[7] = cpu->r[1] + 0x00000018u;
|
|
/* 02576500 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02576504 */ Gambit_fn_0200237C(cpu);
|
|
/* 02576508 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 02576508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0257650C */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257650C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576510 */ cpu->lr = cpu->r[0];
|
|
/* 02576514 */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 02576514 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02576518 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0257651C */ return;
|
|
}
|
|
|
|
// fn_02576520 @ 0x2576520
|
|
void Gambit_fn_02576520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02576520: ; // 0x2576520
|
|
/* 02576520 */ cpu->r[0] = cpu->lr;
|
|
/* 02576524 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576524 */ cpu->r[1] = _t0;
|
|
/* 02576528 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576528 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257652C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257652C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576530 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02576530 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02576534 */ _t4 = cpu->r[10] + 0x00000184u;
|
|
/* 02576534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576538 */ cpu->ctr = cpu->r[0];
|
|
/* 0257653C */ cpu->r[31] = cpu->r[3];
|
|
/* 02576540 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576544 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02576548 */ cpu->r[12] = cpu->r[12] + 0x00005DDCu;
|
|
/* 0257654C */ _t5 = cpu->r[12] + 0x00000018u;
|
|
/* 0257654C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02576550 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02576550 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02576554 */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02576554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02576558 */ _t8 = cpu->r[31] + 0x00000050u;
|
|
/* 02576558 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 0257655C */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 0257655C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02576560 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02576560 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02576564 */ _t11 = cpu->r[12] + 0x00000010u;
|
|
/* 02576564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02576568 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02576568 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0257656C */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 0257656C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02576570 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 02576570 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02576574 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02576574 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02576578 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02576578 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0257657C */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 0257657C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02576580 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02576580 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02576584 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 02576584 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02576588 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 02576588 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0257658C */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0257658C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02576590 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02576594 */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02576594 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02576598 */ _t23 = cpu->r[12] + 0x00006338u;
|
|
/* 02576598 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02576598 */ cpu->r[12] = _t23;
|
|
/* 0257659C */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 0257659C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 025765A0 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 025765A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025765A4 */ _t26 = cpu->r[31] + 0x00000078u;
|
|
/* 025765A4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025765A8 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 025765A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025765AC */ _t28 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025765AC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025765B0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 025765B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025765B4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025765B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025765B8 */ cpu->lr = cpu->r[0];
|
|
/* 025765BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025765C0 */ return;
|
|
}
|
|
|
|
// fn_02576524 @ 0x2576524
|
|
void Gambit_fn_02576524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02576524: ; // 0x2576524
|
|
/* 02576524 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576524 */ cpu->r[1] = _t0;
|
|
/* 02576528 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576528 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257652C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0257652C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576530 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02576530 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02576534 */ _t4 = cpu->r[10] + 0x00000184u;
|
|
/* 02576534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576538 */ cpu->ctr = cpu->r[0];
|
|
/* 0257653C */ cpu->r[31] = cpu->r[3];
|
|
/* 02576540 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576544 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02576548 */ cpu->r[12] = cpu->r[12] + 0x00005DDCu;
|
|
/* 0257654C */ _t5 = cpu->r[12] + 0x00000018u;
|
|
/* 0257654C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02576550 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02576550 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02576554 */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02576554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02576558 */ _t8 = cpu->r[31] + 0x00000050u;
|
|
/* 02576558 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 0257655C */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 0257655C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02576560 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02576560 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02576564 */ _t11 = cpu->r[12] + 0x00000010u;
|
|
/* 02576564 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02576568 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02576568 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0257656C */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 0257656C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02576570 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 02576570 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02576574 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02576574 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02576578 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02576578 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 0257657C */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 0257657C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02576580 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02576580 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02576584 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 02576584 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02576588 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 02576588 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0257658C */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 0257658C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02576590 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02576594 */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02576594 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02576598 */ _t23 = cpu->r[12] + 0x00006338u;
|
|
/* 02576598 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02576598 */ cpu->r[12] = _t23;
|
|
/* 0257659C */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 0257659C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 025765A0 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 025765A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025765A4 */ _t26 = cpu->r[31] + 0x00000078u;
|
|
/* 025765A4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025765A8 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 025765A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025765AC */ _t28 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025765AC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025765B0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 025765B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025765B4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025765B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025765B8 */ cpu->lr = cpu->r[0];
|
|
/* 025765BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025765C0 */ return;
|
|
}
|
|
|
|
// fn_025765C4 @ 0x25765c4
|
|
void Gambit_fn_025765C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_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_025765C4: ; // 0x25765c4
|
|
/* 025765C4 */ _t46 = cpu->r[3] + 0x000001D8u;
|
|
/* 025765C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 025765C8 */ /* nop */
|
|
/* 025765CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 025765D0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025765D0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 025765D0 */ _t49 = _t48 ^ 0x00000001u;
|
|
/* 025765D0 */ if (_t49) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025765D0 */ goto L_025765D4;
|
|
L_025765D4: ; // 0x25765d4
|
|
/* 025765D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 025765D8 */ goto L_0200300C;
|
|
}
|
|
|
|
// fn_025765DC @ 0x25765dc
|
|
void Gambit_fn_025765DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_025765DC: ; // 0x25765dc
|
|
/* 025765DC */ cpu->r[0] = cpu->lr;
|
|
/* 025765E0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 025765E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025765E0 */ cpu->r[1] = _t0;
|
|
/* 025765E4 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 025765E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025765E8 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025765E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025765EC */ cpu->r[30] = cpu->r[3];
|
|
/* 025765F0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 025765F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025765F4 */ _t4 = cpu->r[30] + 0x000001D8u;
|
|
/* 025765F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025765F8 */ /* nop */
|
|
/* 025765FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02576600 */ cpu->r[31] = cpu->r[4];
|
|
/* 02576604 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576604 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02576604 */ if (_t6) goto L_02576608; else goto L_0257669C;
|
|
L_02576608: ; // 0x2576608
|
|
/* 02576608 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0257660C */ _t7 = cpu->r[3] + 0x00000E14u;
|
|
/* 0257660C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576610 */ cpu->r[4] = 0x00000000u;
|
|
/* 02576614 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 02576618 */ Gambit_fn_02014444(cpu);
|
|
/* 0257661C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02576620 */ Gambit_fn_0200F04C(cpu);
|
|
/* 02576624 */ _t8 = cpu->r[1] + 0x00000030u;
|
|
/* 02576624 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02576628 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02576628 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0257662C */ _t10 = cpu->r[30] + 0x00000070u;
|
|
/* 0257662C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02576630 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02576630 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02576634 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576634 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02576638 */ _t13 = cpu->r[30] + 0x00000068u;
|
|
/* 02576638 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 0257663C */ _t14 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0257663C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02576640 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02576640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02576644 */ _t16 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02576644 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02576648 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02576648 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0257664C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 0257664C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02576650 */ _t19 = cpu->r[30] + 0x00000054u;
|
|
/* 02576650 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02576654 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02576658 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02576658 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 0257665C */ _t22 = cpu->r[30] + 0x00000060u;
|
|
/* 0257665C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02576660 */ _t23 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02576660 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02576664 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 02576664 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02576668 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02576668 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257666C */ _t26 = cpu->r[30] + 0x00000058u;
|
|
/* 0257666C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
|
|
/* 02576670 */ _t27 = cpu->r[30] + 0x00000074u;
|
|
/* 02576670 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02576674 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02576674 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02576678 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02576678 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257667C */ _t30 = cpu->r[30] + 0x00000064u;
|
|
/* 0257667C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 02576680 */ _t31 = cpu->r[30] + 0x00000050u;
|
|
/* 02576680 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 02576684 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02576684 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02576688 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257668C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02576690 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02576694 */ _t33 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02576694 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02576698 */ Gambit_fn_02C69510(cpu);
|
|
L_0257669C: ; // 0x257669c
|
|
/* 0257669C */ _t34 = cpu->r[1] + 0x00000044u;
|
|
/* 0257669C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025766A0 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 025766A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025766A4 */ cpu->lr = cpu->r[0];
|
|
/* 025766A8 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025766A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025766AC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025766B0 */ return;
|
|
}
|
|
|
|
// fn_025765E0 @ 0x25765e0
|
|
void Gambit_fn_025765E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_025765E0: ; // 0x25765e0
|
|
/* 025765E0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 025765E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025765E0 */ cpu->r[1] = _t0;
|
|
/* 025765E4 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 025765E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025765E8 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025765E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025765EC */ cpu->r[30] = cpu->r[3];
|
|
/* 025765F0 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 025765F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025765F4 */ _t4 = cpu->r[30] + 0x000001D8u;
|
|
/* 025765F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025765F8 */ /* nop */
|
|
/* 025765FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02576600 */ cpu->r[31] = cpu->r[4];
|
|
/* 02576604 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576604 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02576604 */ if (_t6) goto L_02576608; else goto L_0257669C;
|
|
L_02576608: ; // 0x2576608
|
|
/* 02576608 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0257660C */ _t7 = cpu->r[3] + 0x00000E14u;
|
|
/* 0257660C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576610 */ cpu->r[4] = 0x00000000u;
|
|
/* 02576614 */ Gambit_fn_0200CBD8(cpu);
|
|
/* 02576618 */ Gambit_fn_02014444(cpu);
|
|
/* 0257661C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02576620 */ Gambit_fn_0200F04C(cpu);
|
|
/* 02576624 */ _t8 = cpu->r[1] + 0x00000030u;
|
|
/* 02576624 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02576628 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02576628 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0257662C */ _t10 = cpu->r[30] + 0x00000070u;
|
|
/* 0257662C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02576630 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02576630 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02576634 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576634 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02576638 */ _t13 = cpu->r[30] + 0x00000068u;
|
|
/* 02576638 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 0257663C */ _t14 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0257663C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02576640 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02576640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02576644 */ _t16 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02576644 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02576648 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02576648 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0257664C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 0257664C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02576650 */ _t19 = cpu->r[30] + 0x00000054u;
|
|
/* 02576650 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02576654 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576654 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02576658 */ _t21 = cpu->r[30] + 0x00000078u;
|
|
/* 02576658 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 0257665C */ _t22 = cpu->r[30] + 0x00000060u;
|
|
/* 0257665C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02576660 */ _t23 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02576660 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02576664 */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 02576664 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02576668 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02576668 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0257666C */ _t26 = cpu->r[30] + 0x00000058u;
|
|
/* 0257666C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
|
|
/* 02576670 */ _t27 = cpu->r[30] + 0x00000074u;
|
|
/* 02576670 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02576674 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02576674 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02576678 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02576678 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0257667C */ _t30 = cpu->r[30] + 0x00000064u;
|
|
/* 0257667C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 02576680 */ _t31 = cpu->r[30] + 0x00000050u;
|
|
/* 02576680 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 02576684 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02576684 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02576688 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257668C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02576690 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02576694 */ _t33 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02576694 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 02576698 */ Gambit_fn_02C69510(cpu);
|
|
L_0257669C: ; // 0x257669c
|
|
/* 0257669C */ _t34 = cpu->r[1] + 0x00000044u;
|
|
/* 0257669C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025766A0 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 025766A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025766A4 */ cpu->lr = cpu->r[0];
|
|
/* 025766A8 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025766A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025766AC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025766B0 */ return;
|
|
}
|
|
|
|
// fn_025766B4 @ 0x25766b4
|
|
void Gambit_fn_025766B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575C80: ; // 0x2575c80
|
|
/* 02575C80 */ cpu->r[0] = cpu->lr;
|
|
/* 02575C84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575C84 */ cpu->r[1] = _t0;
|
|
/* 02575C88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575C8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575C94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575C94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575C98 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575C98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575C9C */ /* nop */
|
|
/* 02575CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575CA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575CA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575CA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575CA8 */ if (_t6) goto L_02575CAC; else goto L_02575CC0;
|
|
L_02575CAC: ; // 0x2575cac
|
|
/* 02575CAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575CAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575CB0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575CB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02575CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575CC0: ; // 0x2575cc0
|
|
/* 02575CC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575CC8 */ Gambit_fn_02575BF8(cpu);
|
|
/* 02575CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CD0 */ /* nop */
|
|
/* 02575CD4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575CD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575CDC */ Gambit_fn_02575A78(cpu);
|
|
/* 02575CE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575CE4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575CE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575CE8 */ cpu->lr = cpu->r[0];
|
|
/* 02575CEC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575CEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575CF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575CF4 */ return;
|
|
L_025766B4: ; // 0x25766b4
|
|
/* 025766B4 */ cpu->r[3] = cpu->r[3] + 0x000001CCu;
|
|
/* 025766B8 */ cpu->r[4] = 0x00000001u;
|
|
/* 025766BC */ goto L_02575C80;
|
|
}
|
|
|
|
// fn_025766C0 @ 0x25766c0
|
|
void Gambit_fn_025766C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_025766C0: ; // 0x25766c0
|
|
/* 025766C0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025766C4 */ _t0 = cpu->r[12] + 0xFFFFFCF8u;
|
|
/* 025766C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025766C8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025766CC */ _t1 = cpu->r[12] + 0xFFFFFCFCu;
|
|
/* 025766CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 025766D0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 025766D4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 025766D8 */ _t2 = cpu->r[12] + 0xFFFFB3D4u;
|
|
/* 025766D8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 025766D8 */ cpu->r[12] = _t2;
|
|
/* 025766DC */ cpu->r[11] = cpu->r[11] + 0xFFFFB3C4u;
|
|
/* 025766E0 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 025766E0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 025766E4 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 025766E4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 025766E8 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 025766E8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 025766EC */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 025766EC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025766F0 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 025766F0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 025766F4 */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 025766F4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 025766F8 */ return;
|
|
}
|
|
|
|
// fn_025766FC @ 0x25766fc
|
|
void Gambit_fn_025766FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025766FC: ; // 0x25766fc
|
|
/* 025766FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576700 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576700 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02576700 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576700 */ goto L_02576704;
|
|
L_02576704: ; // 0x2576704
|
|
/* 02576704 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02576704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576708 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576708 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02576708 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576708 */ goto L_0257670C;
|
|
L_0257670C: ; // 0x257670c
|
|
/* 0257670C */ 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_02576710 @ 0x2576710
|
|
void Gambit_fn_02576710(CPUState* cpu) {
|
|
L_02576710: ; // 0x2576710
|
|
/* 02576710 */ return;
|
|
}
|
|
|
|
// fn_02576714 @ 0x2576714
|
|
void Gambit_fn_02576714(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02576714: ; // 0x2576714
|
|
/* 02576714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576718 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576718 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02576718 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576718 */ goto L_0257671C;
|
|
L_0257671C: ; // 0x257671c
|
|
/* 0257671C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257671C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576720 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576720 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02576720 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576720 */ goto L_02576724;
|
|
L_02576724: ; // 0x2576724
|
|
/* 02576724 */ 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_02576728 @ 0x2576728
|
|
void Gambit_fn_02576728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02576728: ; // 0x2576728
|
|
/* 02576728 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02576728 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257672C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0257672C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02576730 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02576734 */ cpu->r[11] = 0x10110000u;
|
|
/* 02576738 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02576738 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0257673C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0257673C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02576740 */ return;
|
|
}
|
|
|
|
// fn_02576744 @ 0x2576744
|
|
void Gambit_fn_02576744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02576744: ; // 0x2576744
|
|
/* 02576744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576748 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576748 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02576748 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576748 */ goto L_0257674C;
|
|
L_0257674C: ; // 0x257674c
|
|
/* 0257674C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0257674C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576750 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576750 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02576750 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576750 */ goto L_02576754;
|
|
L_02576754: ; // 0x2576754
|
|
/* 02576754 */ 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_02576758 @ 0x2576758
|
|
void Gambit_fn_02576758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02576758: ; // 0x2576758
|
|
/* 02576758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257675C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257675C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0257675C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257675C */ goto L_02576760;
|
|
L_02576760: ; // 0x2576760
|
|
/* 02576760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02576760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576764 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576764 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02576764 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576764 */ goto L_02576768;
|
|
L_02576768: ; // 0x2576768
|
|
/* 02576768 */ 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_0257676C @ 0x257676c
|
|
void Gambit_fn_0257676C(CPUState* cpu) {
|
|
L_0257676C: ; // 0x257676c
|
|
/* 0257676C */ return;
|
|
}
|
|
|
|
// fn_02576770 @ 0x2576770
|
|
void Gambit_fn_02576770(CPUState* cpu) {
|
|
L_02576770: ; // 0x2576770
|
|
/* 02576770 */ return;
|
|
}
|
|
|
|
// fn_02576774 @ 0x2576774
|
|
void Gambit_fn_02576774(CPUState* cpu) {
|
|
L_02576774: ; // 0x2576774
|
|
/* 02576774 */ return;
|
|
}
|
|
|
|
// fn_02576778 @ 0x2576778
|
|
void Gambit_fn_02576778(CPUState* cpu) {
|
|
L_02576778: ; // 0x2576778
|
|
/* 02576778 */ return;
|
|
}
|
|
|
|
// fn_0257677C @ 0x257677c
|
|
void Gambit_fn_0257677C(CPUState* cpu) {
|
|
L_0257677C: ; // 0x257677c
|
|
/* 0257677C */ return;
|
|
}
|
|
|
|
// fn_02576780 @ 0x2576780
|
|
void Gambit_fn_02576780(CPUState* cpu) {
|
|
L_02576780: ; // 0x2576780
|
|
/* 02576780 */ return;
|
|
}
|
|
|
|
// fn_02576784 @ 0x2576784
|
|
void Gambit_fn_02576784(CPUState* cpu) {
|
|
L_02576784: ; // 0x2576784
|
|
/* 02576784 */ return;
|
|
}
|
|
|
|
// fn_02576788 @ 0x2576788
|
|
void Gambit_fn_02576788(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02576788: ; // 0x2576788
|
|
/* 02576788 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02576788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0257678C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02576790 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576790 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02576790 */ if (_t2) goto L_0257679C; else goto L_02576794;
|
|
L_02576794: ; // 0x2576794
|
|
/* 02576794 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02576798 */ return;
|
|
L_0257679C: ; // 0x257679c
|
|
/* 0257679C */ cpu->r[3] = 0x00000000u;
|
|
/* 025767A0 */ return;
|
|
}
|
|
|
|
// fn_025767A4 @ 0x25767a4
|
|
void Gambit_fn_025767A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025767A4: ; // 0x25767a4
|
|
/* 025767A4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025767A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025767A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025767AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025767AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025767AC */ if (_t2) goto L_025767B8; else goto L_025767B0;
|
|
L_025767B0: ; // 0x25767b0
|
|
/* 025767B0 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 025767B4 */ return;
|
|
L_025767B8: ; // 0x25767b8
|
|
/* 025767B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 025767BC */ return;
|
|
}
|
|
|
|
// fn_025767C0 @ 0x25767c0
|
|
void Gambit_fn_025767C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025767C0: ; // 0x25767c0
|
|
/* 025767C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025767C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025767C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025767C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025767C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025767C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025767C8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025767C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025767C8 */ goto L_025767CC;
|
|
L_025767CC: ; // 0x25767cc
|
|
/* 025767CC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025767CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025767D0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 025767D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025767D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025767D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025767DC @ 0x25767dc
|
|
void Gambit_fn_025767DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025767DC: ; // 0x25767dc
|
|
/* 025767DC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025767DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025767E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025767E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025767E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025767E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025767E4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025767E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025767E4 */ goto L_025767E8;
|
|
L_025767E8: ; // 0x25767e8
|
|
/* 025767E8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025767E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025767EC */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 025767EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025767F0 */ cpu->ctr = cpu->r[0];
|
|
/* 025767F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025767F8 @ 0x25767f8
|
|
void Gambit_fn_025767F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025767F8: ; // 0x25767f8
|
|
/* 025767F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025767F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025767FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025767FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02576800 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576800 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02576800 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02576800 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02576800 */ goto L_02576804;
|
|
L_02576804: ; // 0x2576804
|
|
/* 02576804 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02576804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576808 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02576808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0257680C */ cpu->ctr = cpu->r[0];
|
|
/* 02576810 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02576814 @ 0x2576814
|
|
void Gambit_fn_02576814(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02576814: ; // 0x2576814
|
|
/* 02576814 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02576814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02576818 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02576818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257681C */ cpu->ctr = cpu->r[0];
|
|
/* 02576820 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02576824 @ 0x2576824
|
|
void Gambit_fn_02576824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02576824: ; // 0x2576824
|
|
/* 02576824 */ cpu->r[0] = cpu->lr;
|
|
/* 02576828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576828 */ cpu->r[1] = _t0;
|
|
/* 0257682C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257682C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576830 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576834 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02576834 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576838 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02576838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257683C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02576840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576840 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576840 */ if (_t5) goto L_02576844; else goto L_02576860;
|
|
L_02576844: ; // 0x2576844
|
|
/* 02576844 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02576844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02576848 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02576848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257684C */ cpu->ctr = cpu->r[0];
|
|
/* 02576850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576854 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576858 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257685C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0257685C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02576860: ; // 0x2576860
|
|
/* 02576860 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02576860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576864 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02576868 */ cpu->lr = cpu->r[0];
|
|
/* 0257686C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576870 */ return;
|
|
}
|
|
|
|
// fn_02576828 @ 0x2576828
|
|
void Gambit_fn_02576828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02576828: ; // 0x2576828
|
|
/* 02576828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576828 */ cpu->r[1] = _t0;
|
|
/* 0257682C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257682C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576830 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576834 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02576834 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576838 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02576838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257683C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02576840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576840 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576840 */ if (_t5) goto L_02576844; else goto L_02576860;
|
|
L_02576844: ; // 0x2576844
|
|
/* 02576844 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02576844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02576848 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02576848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257684C */ cpu->ctr = cpu->r[0];
|
|
/* 02576850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576854 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576858 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257685C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0257685C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02576860: ; // 0x2576860
|
|
/* 02576860 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02576860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576864 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02576868 */ cpu->lr = cpu->r[0];
|
|
/* 0257686C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576870 */ return;
|
|
}
|
|
|
|
// fn_02576874 @ 0x2576874
|
|
void Gambit_fn_02576874(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02576874: ; // 0x2576874
|
|
/* 02576874 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02576874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02576878 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02576878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257687C */ cpu->ctr = cpu->r[0];
|
|
/* 02576880 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02576884 @ 0x2576884
|
|
void Gambit_fn_02576884(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02576884: ; // 0x2576884
|
|
/* 02576884 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02576884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02576888 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02576888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257688C */ cpu->ctr = cpu->r[0];
|
|
/* 02576890 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02576894 @ 0x2576894
|
|
void Gambit_fn_02576894(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02576894: ; // 0x2576894
|
|
/* 02576894 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02576894 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02576898 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02576898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0257689C */ cpu->ctr = cpu->r[0];
|
|
/* 025768A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025768A4 @ 0x25768a4
|
|
void Gambit_fn_025768A4(CPUState* cpu) {
|
|
L_025768A4: ; // 0x25768a4
|
|
/* 025768A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 025768A8 */ return;
|
|
}
|
|
|
|
// fn_025768AC @ 0x25768ac
|
|
void Gambit_fn_025768AC(CPUState* cpu) {
|
|
L_025768AC: ; // 0x25768ac
|
|
/* 025768AC */ return;
|
|
}
|
|
|
|
// fn_025768B0 @ 0x25768b0
|
|
void Gambit_fn_025768B0(CPUState* cpu) {
|
|
L_025768B0: ; // 0x25768b0
|
|
/* 025768B0 */ return;
|
|
}
|
|
|
|
// fn_025768B4 @ 0x25768b4
|
|
void Gambit_fn_025768B4(CPUState* cpu) {
|
|
L_025768B4: ; // 0x25768b4
|
|
/* 025768B4 */ return;
|
|
}
|
|
|
|
// fn_025768B8 @ 0x25768b8
|
|
void Gambit_fn_025768B8(CPUState* cpu) {
|
|
L_025768B8: ; // 0x25768b8
|
|
/* 025768B8 */ return;
|
|
}
|
|
|
|
// fn_025768BC @ 0x25768bc
|
|
void Gambit_fn_025768BC(CPUState* cpu) {
|
|
L_025768BC: ; // 0x25768bc
|
|
/* 025768BC */ cpu->r[3] = 0x00000001u;
|
|
/* 025768C0 */ return;
|
|
}
|
|
|
|
// fn_025768C4 @ 0x25768c4
|
|
void Gambit_fn_025768C4(CPUState* cpu) {
|
|
L_025768C4: ; // 0x25768c4
|
|
/* 025768C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025768C8 */ return;
|
|
}
|
|
|
|
// fn_025768CC @ 0x25768cc
|
|
void Gambit_fn_025768CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_025768CC: ; // 0x25768cc
|
|
/* 025768CC */ cpu->r[0] = cpu->lr;
|
|
/* 025768D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025768D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025768D0 */ cpu->r[1] = _t0;
|
|
/* 025768D4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025768D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025768D8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025768D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025768DC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 025768DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025768E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025768E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025768E8 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 025768EC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025768EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025768F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025768F4 */ cpu->r[11] = 0x00000000u;
|
|
/* 025768F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025768F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025768F8 */ if (_t6) goto L_02576904; else goto L_025768FC;
|
|
L_025768FC: ; // 0x25768fc
|
|
/* 025768FC */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 025768FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576900 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02576900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02576904: ; // 0x2576904
|
|
/* 02576904 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02576904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576908 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02576908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0257690C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0257690C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576910 */ cpu->ctr = cpu->r[0];
|
|
/* 02576914 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02576918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257691C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257691C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02576920 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02576920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02576924 */ cpu->ctr = cpu->r[0];
|
|
/* 02576928 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257692C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576930 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02576934 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02576934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02576938 */ cpu->lr = cpu->r[0];
|
|
/* 0257693C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0257693C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02576940 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02576944 */ return;
|
|
}
|
|
|
|
// fn_025768D0 @ 0x25768d0
|
|
void Gambit_fn_025768D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_025768D0: ; // 0x25768d0
|
|
/* 025768D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025768D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025768D0 */ cpu->r[1] = _t0;
|
|
/* 025768D4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025768D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025768D8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025768D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025768DC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 025768DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025768E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025768E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025768E8 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 025768EC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025768EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025768F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025768F4 */ cpu->r[11] = 0x00000000u;
|
|
/* 025768F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025768F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025768F8 */ if (_t6) goto L_02576904; else goto L_025768FC;
|
|
L_025768FC: ; // 0x25768fc
|
|
/* 025768FC */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 025768FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576900 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02576900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02576904: ; // 0x2576904
|
|
/* 02576904 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02576904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576908 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02576908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0257690C */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0257690C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576910 */ cpu->ctr = cpu->r[0];
|
|
/* 02576914 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02576918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257691C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257691C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02576920 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02576920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02576924 */ cpu->ctr = cpu->r[0];
|
|
/* 02576928 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257692C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576930 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02576930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02576934 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02576934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02576938 */ cpu->lr = cpu->r[0];
|
|
/* 0257693C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0257693C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02576940 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02576944 */ return;
|
|
}
|
|
|
|
// fn_02576948 @ 0x2576948
|
|
void Gambit_fn_02576948(CPUState* cpu) {
|
|
L_02576948: ; // 0x2576948
|
|
/* 02576948 */ return;
|
|
}
|
|
|
|
// fn_0257694C @ 0x257694c
|
|
void Gambit_fn_0257694C(CPUState* cpu) {
|
|
L_0257694C: ; // 0x257694c
|
|
/* 0257694C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02576950 */ cpu->r[3] = cpu->r[3] + 0xFFFFFCA8u;
|
|
/* 02576954 */ return;
|
|
}
|
|
|
|
// fn_02576958 @ 0x2576958
|
|
void Gambit_fn_02576958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02576958: ; // 0x2576958
|
|
/* 02576958 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0257695C */ _t0 = cpu->r[9] + 0x00000AB8u;
|
|
/* 0257695C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02576960 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02576964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02576968 */ cpu->r[11] = cpu->r[11] + 0x00000AC0u;
|
|
/* 0257696C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257696C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0257696C */ if (_t2) goto L_02576970; else goto L_02576988;
|
|
L_02576970: ; // 0x2576970
|
|
/* 02576970 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576974 */ cpu->r[0] = 0x00000001u;
|
|
/* 02576978 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0257697C */ cpu->r[9] = cpu->r[9] + 0xFFFFFC98u;
|
|
/* 02576980 */ _t3 = cpu->r[12] + 0x00000AB8u;
|
|
/* 02576980 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576984 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02576984 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02576988: ; // 0x2576988
|
|
/* 02576988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0257698C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257698C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0257698C */ if (_t6) goto L_02576990; else goto L_02576998;
|
|
L_02576990: ; // 0x2576990
|
|
/* 02576990 */ cpu->r[3] = 0x00000001u;
|
|
/* 02576994 */ return;
|
|
L_02576998: ; // 0x2576998
|
|
/* 02576998 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0257699C */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 0257699C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025769A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025769A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025769A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 025769AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025769AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 025769AC */ if (_t9) goto L_025769B0; else goto L_025769C8;
|
|
L_025769B0: ; // 0x25769b0
|
|
/* 025769B0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025769B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 025769B8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025769BC */ cpu->r[11] = cpu->r[11] + 0xFFFFFC88u;
|
|
/* 025769C0 */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 025769C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 025769C4 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 025769C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_025769C8: ; // 0x25769c8
|
|
/* 025769C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 025769CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025769CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025769CC */ if (_t13) goto L_025769D0; else goto L_025769D8;
|
|
L_025769D0: ; // 0x25769d0
|
|
/* 025769D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025769D4 */ goto L_02576A4C;
|
|
L_025769D8: ; // 0x25769d8
|
|
/* 025769D8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025769DC */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 025769DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025769DC */ cpu->r[10] = _t14;
|
|
/* 025769E0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025769E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025769E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 025769EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025769EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025769EC */ if (_t16) goto L_025769F0; else goto L_02576A04;
|
|
L_025769F0: ; // 0x25769f0
|
|
/* 025769F0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025769F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025769F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFC78u;
|
|
/* 025769FC */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 025769FC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02576A00 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02576A00 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02576A04: ; // 0x2576a04
|
|
/* 02576A04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02576A08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576A08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02576A08 */ if (_t20) goto L_02576A0C; else goto L_02576A14;
|
|
L_02576A0C: ; // 0x2576a0c
|
|
/* 02576A0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02576A10 */ goto L_02576A4C;
|
|
L_02576A14: ; // 0x2576a14
|
|
/* 02576A14 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02576A18 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02576A18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576A18 */ cpu->r[9] = _t21;
|
|
/* 02576A1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02576A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02576A24 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02576A28 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576A28 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02576A28 */ if (_t23) goto L_02576A2C; else goto L_02576A40;
|
|
L_02576A2C: ; // 0x2576a2c
|
|
/* 02576A2C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576A30 */ cpu->r[11] = 0x00000001u;
|
|
/* 02576A34 */ cpu->r[0] = cpu->r[0] + 0xFFFFFC08u;
|
|
/* 02576A38 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02576A38 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02576A3C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02576A3C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02576A40: ; // 0x2576a40
|
|
/* 02576A40 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02576A44 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02576A48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02576A4C: ; // 0x2576a4c
|
|
/* 02576A4C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02576A50 */ return;
|
|
}
|
|
|
|
// fn_02576A54 @ 0x2576a54
|
|
void Gambit_fn_02576A54(CPUState* cpu) {
|
|
L_02576A54: ; // 0x2576a54
|
|
/* 02576A54 */ return;
|
|
}
|
|
|
|
// fn_02576A58 @ 0x2576a58
|
|
void Gambit_fn_02576A58(CPUState* cpu) {
|
|
L_02576A58: ; // 0x2576a58
|
|
/* 02576A58 */ return;
|
|
}
|
|
|
|
// fn_02576A5C @ 0x2576a5c
|
|
void Gambit_fn_02576A5C(CPUState* cpu) {
|
|
L_02576A5C: ; // 0x2576a5c
|
|
/* 02576A5C */ return;
|
|
}
|
|
|
|
// fn_02576A70 @ 0x2576a70
|
|
void Gambit_fn_02576A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575B88: ; // 0x2575b88
|
|
/* 02575B88 */ cpu->r[0] = cpu->lr;
|
|
/* 02575B8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575B8C */ cpu->r[1] = _t0;
|
|
/* 02575B90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575B94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575B98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575B9C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575BA0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575BA8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575BA8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575BAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575BAC */ if (_t6) goto L_02575BD4; else goto L_02575BB0;
|
|
L_02575BB0: ; // 0x2575bb0
|
|
/* 02575BB0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575BB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575BB4 */ /* nop */
|
|
/* 02575BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575BBC */ if (_t9) goto L_02575BC0; else goto L_02575BD4;
|
|
L_02575BC0: ; // 0x2575bc0
|
|
/* 02575BC0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575BC4 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02575BCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575BD4: ; // 0x2575bd4
|
|
/* 02575BD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BD8 */ Gambit_fn_02575B00(cpu);
|
|
/* 02575BDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02575BE0 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575BE4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575BE8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575BEC */ cpu->lr = cpu->r[0];
|
|
/* 02575BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575BF4 */ return;
|
|
L_02576A70: ; // 0x2576a70
|
|
/* 02576A70 */ cpu->r[3] = cpu->r[3] + 0x000001CCu;
|
|
/* 02576A74 */ goto L_02575B88;
|
|
}
|
|
|
|
// fn_02576A78 @ 0x2576a78
|
|
void Gambit_fn_02576A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02576A78: ; // 0x2576a78
|
|
/* 02576A78 */ cpu->r[0] = cpu->lr;
|
|
/* 02576A7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576A7C */ cpu->r[1] = _t0;
|
|
/* 02576A80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576A88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02576A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576A8C */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02576A8C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02576A90 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02576A94 */ /* nop */
|
|
/* 02576A98 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02576A9C */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02576AA0 */ Gambit_fn_02575A78(cpu);
|
|
/* 02576AA4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02576AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576AA8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02576AAC */ cpu->lr = cpu->r[0];
|
|
/* 02576AB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576AB4 */ return;
|
|
}
|
|
|
|
// fn_02576A7C @ 0x2576a7c
|
|
void Gambit_fn_02576A7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02576A7C: ; // 0x2576a7c
|
|
/* 02576A7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576A7C */ cpu->r[1] = _t0;
|
|
/* 02576A80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576A88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02576A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02576A8C */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02576A8C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02576A90 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02576A94 */ /* nop */
|
|
/* 02576A98 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02576A9C */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02576AA0 */ Gambit_fn_02575A78(cpu);
|
|
/* 02576AA4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02576AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576AA8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02576AAC */ cpu->lr = cpu->r[0];
|
|
/* 02576AB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576AB4 */ return;
|
|
}
|
|
|
|
// fn_02576AB8 @ 0x2576ab8
|
|
void Gambit_fn_02576AB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02576AB8: ; // 0x2576ab8
|
|
/* 02576AB8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02576AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576AB8 */ cpu->r[1] = _t0;
|
|
/* 02576ABC */ /* nop */
|
|
/* 02576AC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02576AC4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02576AC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02576AC8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02576ACC */ cpu->r[28] = cpu->r[3];
|
|
/* 02576AD0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02576AD4 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02576AD4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02576AD8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02576ADC */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02576ADC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02576AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576AE4 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02576AE4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02576AE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576AE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02576AE8 */ if (_t6) goto L_02576B2C; else goto L_02576AEC;
|
|
L_02576AEC: ; // 0x2576aec
|
|
/* 02576AEC */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02576AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576AF0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02576AF4 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02576AF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02576AF8 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02576AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02576B00 */ cpu->r[5] = 0x00000004u;
|
|
/* 02576B04 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576B10 */ cpu->r[0] = cpu->r[27];
|
|
/* 02576B14 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576B14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02576B14 */ if (_t11) goto L_02576B1C; else goto L_02576B18;
|
|
L_02576B18: ; // 0x2576b18
|
|
/* 02576B18 */ cpu->r[0] = 0x00000001u;
|
|
L_02576B1C: ; // 0x2576b1c
|
|
/* 02576B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576B20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576B20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02576B20 */ if (_t13) goto L_02576B2C; else goto L_02576B24;
|
|
L_02576B24: ; // 0x2576b24
|
|
/* 02576B24 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02576B24 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02576B28 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02576B28 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02576B2C: ; // 0x2576b2c
|
|
/* 02576B2C */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02576B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02576B30 */ cpu->r[0] = 0x00000000u;
|
|
/* 02576B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02576B38 */ cpu->r[12] = cpu->r[0];
|
|
/* 02576B3C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576B3C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02576B3C */ if (_t18) goto L_02576B40; else goto L_02576B64;
|
|
L_02576B40: ; // 0x2576b40
|
|
/* 02576B40 */ cpu->ctr = cpu->r[7];
|
|
/* 02576B44 */ cpu->r[10] = 0x00000000u;
|
|
L_02576B48: ; // 0x2576b48
|
|
/* 02576B48 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02576B48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02576B4C */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02576B4C */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02576B50 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02576B54 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02576B54 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02576B58 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02576B5C */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02576B5C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02576B60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02576B60 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02576B60 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02576B60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02576B60 */ if (_t25) goto L_02576B48; else goto L_02576B64;
|
|
L_02576B64: ; // 0x2576b64
|
|
/* 02576B64 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02576B64 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02576B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576B6C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576B6C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02576B6C */ if (_t28) goto L_02576BB0; else goto L_02576B70;
|
|
L_02576B70: ; // 0x2576b70
|
|
/* 02576B70 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02576B70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02576B74 */ Gambit_fn_02826F20(cpu);
|
|
/* 02576B78 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02576B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02576B7C */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02576B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02576B80 */ cpu->ctr = cpu->r[0];
|
|
/* 02576B84 */ cpu->r[5] = 0x00000004u;
|
|
/* 02576B88 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576B8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576B94 */ cpu->r[11] = cpu->r[27];
|
|
/* 02576B98 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576B98 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02576B98 */ if (_t33) goto L_02576BA0; else goto L_02576B9C;
|
|
L_02576B9C: ; // 0x2576b9c
|
|
/* 02576B9C */ cpu->r[11] = 0x00000001u;
|
|
L_02576BA0: ; // 0x2576ba0
|
|
/* 02576BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576BA4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576BA4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02576BA4 */ if (_t35) goto L_02576BB0; else goto L_02576BA8;
|
|
L_02576BA8: ; // 0x2576ba8
|
|
/* 02576BA8 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02576BA8 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02576BAC */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02576BAC */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02576BB0: ; // 0x2576bb0
|
|
/* 02576BB0 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02576BB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02576BB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02576BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02576BBC */ cpu->r[12] = cpu->r[0];
|
|
/* 02576BC0 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576BC0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02576BC0 */ if (_t40) goto L_02576BC4; else goto L_02576BE8;
|
|
L_02576BC4: ; // 0x2576bc4
|
|
/* 02576BC4 */ cpu->ctr = cpu->r[6];
|
|
/* 02576BC8 */ cpu->r[9] = 0x00000000u;
|
|
L_02576BCC: ; // 0x2576bcc
|
|
/* 02576BCC */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02576BCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02576BD0 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02576BD0 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02576BD4 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02576BD8 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02576BD8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02576BDC */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02576BE0 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02576BE0 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02576BE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02576BE4 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02576BE4 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02576BE4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02576BE4 */ if (_t47) goto L_02576BCC; else goto L_02576BE8;
|
|
L_02576BE8: ; // 0x2576be8
|
|
/* 02576BE8 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02576BE8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02576BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576BF0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576BF0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02576BF0 */ if (_t50) goto L_02576C34; else goto L_02576BF4;
|
|
L_02576BF4: ; // 0x2576bf4
|
|
/* 02576BF4 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02576BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02576BF8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02576BFC */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02576BFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02576C00 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02576C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02576C04 */ cpu->ctr = cpu->r[0];
|
|
/* 02576C08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02576C0C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576C10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576C18 */ cpu->r[10] = cpu->r[27];
|
|
/* 02576C1C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576C1C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02576C1C */ if (_t55) goto L_02576C24; else goto L_02576C20;
|
|
L_02576C20: ; // 0x2576c20
|
|
/* 02576C20 */ cpu->r[10] = 0x00000001u;
|
|
L_02576C24: ; // 0x2576c24
|
|
/* 02576C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02576C28 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576C28 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02576C28 */ if (_t57) goto L_02576C34; else goto L_02576C2C;
|
|
L_02576C2C: ; // 0x2576c2c
|
|
/* 02576C2C */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02576C2C */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02576C30 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02576C30 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02576C34: ; // 0x2576c34
|
|
/* 02576C34 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02576C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02576C38 */ cpu->r[0] = 0x00000000u;
|
|
/* 02576C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02576C40 */ cpu->r[5] = cpu->r[0];
|
|
/* 02576C44 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576C44 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02576C44 */ if (_t62) goto L_02576C48; else goto L_02576C6C;
|
|
L_02576C48: ; // 0x2576c48
|
|
/* 02576C48 */ cpu->ctr = cpu->r[12];
|
|
/* 02576C4C */ cpu->r[8] = 0x00000000u;
|
|
L_02576C50: ; // 0x2576c50
|
|
/* 02576C50 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02576C50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02576C54 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02576C54 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02576C58 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02576C5C */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02576C5C */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02576C60 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02576C64 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02576C64 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02576C68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02576C68 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02576C68 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02576C68 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02576C68 */ if (_t69) goto L_02576C50; else goto L_02576C6C;
|
|
L_02576C6C: ; // 0x2576c6c
|
|
/* 02576C6C */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02576C6C */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02576C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02576C74 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576C74 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02576C74 */ if (_t72) goto L_02576D50; else goto L_02576C78;
|
|
L_02576C78: ; // 0x2576c78
|
|
/* 02576C78 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02576C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02576C7C */ Gambit_fn_02826F20(cpu);
|
|
/* 02576C80 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02576C80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02576C84 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02576C84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02576C88 */ cpu->ctr = cpu->r[12];
|
|
/* 02576C8C */ cpu->r[5] = 0x00000004u;
|
|
/* 02576C90 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02576C94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576C98 */ cpu->r[24] = cpu->r[3];
|
|
/* 02576C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02576CA0 */ cpu->r[30] = cpu->r[25];
|
|
/* 02576CA4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02576CA8 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02576CA8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02576CA8 */ if (_t77) goto L_02576CB0; else goto L_02576CAC;
|
|
L_02576CAC: ; // 0x2576cac
|
|
/* 02576CAC */ cpu->r[30] = 0x00000001u;
|
|
L_02576CB0: ; // 0x2576cb0
|
|
/* 02576CB0 */ cpu->r[31] = 0x10110000u;
|
|
/* 02576CB4 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02576CB8 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02576CB8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02576CBC */ cpu->r[23] = 0x00000018u;
|
|
L_02576CC0: ; // 0x2576cc0
|
|
/* 02576CC0 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02576CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02576CC4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576CC4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02576CC4 */ if (_t80) goto L_02576D34; else goto L_02576CC8;
|
|
L_02576CC8: ; // 0x2576cc8
|
|
/* 02576CC8 */ cpu->r[26] = cpu->r[27];
|
|
/* 02576CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02576CCC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576CCC */ _t82 = _t81 & 0x00000001u;
|
|
/* 02576CCC */ if (_t82) goto L_02576CD0; else goto L_02576CE0;
|
|
L_02576CD0: ; // 0x2576cd0
|
|
/* 02576CD0 */ cpu->r[3] = 0x00000024u;
|
|
/* 02576CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02576CD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02576CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02576CDC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576CDC */ _t84 = _t83 & 0x00000001u;
|
|
/* 02576CDC */ if (_t84) goto L_02576D28; else goto L_02576CE0;
|
|
L_02576CE0: ; // 0x2576ce0
|
|
/* 02576CE0 */ cpu->r[11] = cpu->r[26];
|
|
/* 02576CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02576CE4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576CE4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02576CE4 */ if (_t86) goto L_02576CE8; else goto L_02576CF8;
|
|
L_02576CE8: ; // 0x2576ce8
|
|
/* 02576CE8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02576CEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02576CF0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02576CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02576CF4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576CF4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02576CF4 */ if (_t88) goto L_02576D14; else goto L_02576CF8;
|
|
L_02576CF8: ; // 0x2576cf8
|
|
/* 02576CF8 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02576CFC */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02576CFC */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02576D00 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02576D04 */ cpu->r[5] = cpu->r[5] + 0xFFFFFC30u;
|
|
/* 02576D08 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02576D08 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02576D0C */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02576D0C */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02576D10 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02576D10 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02576D14: ; // 0x2576d14
|
|
/* 02576D14 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02576D18 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02576D18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02576D1C */ cpu->r[6] = cpu->r[6] + 0xFFFFFC48u;
|
|
/* 02576D20 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02576D20 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02576D24 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02576D24 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02576D28: ; // 0x2576d28
|
|
/* 02576D28 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576D2C */ cpu->r[0] = cpu->r[0] + 0xFFFFFC60u;
|
|
/* 02576D30 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02576D30 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02576D34: ; // 0x2576d34
|
|
/* 02576D34 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02576D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02576D38 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02576D3C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576D3C */ _t98 = _t97 & 0x00000001u;
|
|
/* 02576D3C */ if (_t98) goto L_02576D40; else goto L_02576CC0;
|
|
L_02576D40: ; // 0x2576d40
|
|
/* 02576D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02576D44 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576D44 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02576D44 */ if (_t100) goto L_02576D50; else goto L_02576D48;
|
|
L_02576D48: ; // 0x2576d48
|
|
/* 02576D48 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02576D48 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02576D4C */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02576D4C */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02576D50: ; // 0x2576d50
|
|
/* 02576D50 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02576D50 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02576D54 */ /* nop */
|
|
/* 02576D58 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02576D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02576D5C */ cpu->lr = cpu->r[0];
|
|
/* 02576D60 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02576D64 */ return;
|
|
}
|
|
|
|
// fn_02576D68 @ 0x2576d68
|
|
void Gambit_fn_02576D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02576D68: ; // 0x2576d68
|
|
/* 02576D68 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02576D68 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02576D6C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02576D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02576D70 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02576D70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02576D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02576D78 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02576D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02576D7C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02576D7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576D7C */ if (_t5) goto L_02576D80; else goto L_02576D88;
|
|
L_02576D80: ; // 0x2576d80
|
|
/* 02576D80 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576D84 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02576D88: ; // 0x2576d88
|
|
/* 02576D88 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02576D88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02576D8C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02576D8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576D90 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02576D90 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02576D94 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02576D94 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02576D98 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02576D98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02576D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02576DA0 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02576DA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576DA4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02576DA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02576DA4 */ if (_t13) goto L_02576DA8; else goto L_02576DB0;
|
|
L_02576DA8: ; // 0x2576da8
|
|
/* 02576DA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576DAC */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02576DB0: ; // 0x2576db0
|
|
/* 02576DB0 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02576DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02576DB4 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02576DB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02576DB8 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02576DB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02576DBC */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02576DBC */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02576DC0 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02576DC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02576DC4 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02576DC4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02576DC8 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02576DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02576DCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02576DD0 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02576DD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576DD4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02576DD4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02576DD4 */ if (_t23) goto L_02576DD8; else goto L_02576DE0;
|
|
L_02576DD8: ; // 0x2576dd8
|
|
/* 02576DD8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02576DDC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02576DE0: ; // 0x2576de0
|
|
/* 02576DE0 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02576DE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02576DE4 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02576DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02576DE8 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02576DE8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02576DEC */ return;
|
|
}
|
|
|
|
// fn_02576DF0 @ 0x2576df0
|
|
void Gambit_fn_02576DF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02576DF0: ; // 0x2576df0
|
|
/* 02576DF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02576DF4 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02576DF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576DF4 */ cpu->r[1] = _t0;
|
|
/* 02576DF8 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02576DF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576DFC */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02576DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576E00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02576E04 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02576E04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576E08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576E08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576E08 */ if (_t5) goto L_02576E0C; else goto L_02576E1C;
|
|
L_02576E0C: ; // 0x2576e0c
|
|
/* 02576E0C */ cpu->r[3] = 0x000002E4u;
|
|
/* 02576E10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02576E14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02576E18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576E18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02576E18 */ if (_t7) goto L_02576EE8; else goto L_02576E1C;
|
|
L_02576E1C: ; // 0x2576e1c
|
|
/* 02576E1C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576E20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576E24 */ cpu->r[0] = cpu->r[0] + 0xFFFFFF08u;
|
|
/* 02576E28 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576E2C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02576E2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02576E30 */ cpu->r[9] = cpu->r[9] + 0xFFFFFF78u;
|
|
/* 02576E34 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02576E38 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02576E38 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02576E3C */ Gambit_fn_0200CCF0(cpu);
|
|
/* 02576E40 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02576E44 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFA8u;
|
|
/* 02576E48 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576E4C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02576E4C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02576E50 */ Gambit_fn_02175308(cpu);
|
|
/* 02576E54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576E58 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576E5C */ Gambit_fn_021755E8(cpu);
|
|
/* 02576E60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576E64 */ cpu->r[12] = 0x10110000u;
|
|
/* 02576E68 */ cpu->r[0] = cpu->r[1] + 0x00000030u;
|
|
/* 02576E6C */ _t12 = cpu->r[12] + 0x00007399u;
|
|
/* 02576E6C */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02576E70 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02576E70 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02576E74 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576E78 */ _t14 = cpu->r[1] + 0x0000006Fu;
|
|
/* 02576E78 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02576E7C */ cpu->r[9] = cpu->r[9] + 0xFFFFFF50u;
|
|
/* 02576E80 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02576E80 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 02576E84 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02576E84 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 02576E88 */ cpu->r[12] = 0x00000040u;
|
|
/* 02576E8C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02576E8C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02576E90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02576E94 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02576E94 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02576E98 */ Gambit_fn_02622308(cpu);
|
|
/* 02576E9C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02576E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02576EA0 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02576EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02576EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02576EA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576EB0 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02576EB4 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02576EB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576EB8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02576EBC */ cpu->r[4] = cpu->r[4] + 0xFFFFFF98u;
|
|
/* 02576EC0 */ _t22 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02576EC0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02576EC0 */ if (_t23) goto L_02576EC4; // else: addr-0 trap, fall-through
|
|
L_02576EC4: ; // 0x2576ec4
|
|
/* 02576EC4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02576EC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02576ECC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02576ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576ED4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02576ED8 */ Gambit_fn_0200CD70(cpu);
|
|
/* 02576EDC */ cpu->r[4] = 0x00000002u;
|
|
/* 02576EE0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576EE4 */ Gambit_fn_021753A0(cpu);
|
|
L_02576EE8: ; // 0x2576ee8
|
|
/* 02576EE8 */ _t24 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02576EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02576EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02576EF0 */ _t25 = cpu->r[1] + 0x00000074u;
|
|
/* 02576EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02576EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02576EF8 */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 02576EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02576EFC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02576F00 */ return;
|
|
}
|
|
|
|
// fn_02576DF4 @ 0x2576df4
|
|
void Gambit_fn_02576DF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02576DF4: ; // 0x2576df4
|
|
/* 02576DF4 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02576DF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576DF4 */ cpu->r[1] = _t0;
|
|
/* 02576DF8 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02576DF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576DFC */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02576DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576E00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02576E04 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02576E04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576E08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576E08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576E08 */ if (_t5) goto L_02576E0C; else goto L_02576E1C;
|
|
L_02576E0C: ; // 0x2576e0c
|
|
/* 02576E0C */ cpu->r[3] = 0x000002E4u;
|
|
/* 02576E10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02576E14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02576E18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576E18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02576E18 */ if (_t7) goto L_02576EE8; else goto L_02576E1C;
|
|
L_02576E1C: ; // 0x2576e1c
|
|
/* 02576E1C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02576E20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576E24 */ cpu->r[0] = cpu->r[0] + 0xFFFFFF08u;
|
|
/* 02576E28 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576E2C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02576E2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02576E30 */ cpu->r[9] = cpu->r[9] + 0xFFFFFF78u;
|
|
/* 02576E34 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02576E38 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02576E38 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02576E3C */ Gambit_fn_0200CCF0(cpu);
|
|
/* 02576E40 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02576E44 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFA8u;
|
|
/* 02576E48 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576E4C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02576E4C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02576E50 */ Gambit_fn_02175308(cpu);
|
|
/* 02576E54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576E58 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576E5C */ Gambit_fn_021755E8(cpu);
|
|
/* 02576E60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576E64 */ cpu->r[12] = 0x10110000u;
|
|
/* 02576E68 */ cpu->r[0] = cpu->r[1] + 0x00000030u;
|
|
/* 02576E6C */ _t12 = cpu->r[12] + 0x00007399u;
|
|
/* 02576E6C */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02576E70 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02576E70 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02576E74 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02576E78 */ _t14 = cpu->r[1] + 0x0000006Fu;
|
|
/* 02576E78 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02576E7C */ cpu->r[9] = cpu->r[9] + 0xFFFFFF50u;
|
|
/* 02576E80 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02576E80 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 02576E84 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02576E84 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 02576E88 */ cpu->r[12] = 0x00000040u;
|
|
/* 02576E8C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02576E8C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02576E90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02576E94 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02576E94 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02576E98 */ Gambit_fn_02622308(cpu);
|
|
/* 02576E9C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02576E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02576EA0 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02576EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02576EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02576EA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02576EB0 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02576EB4 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02576EB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02576EB8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02576EBC */ cpu->r[4] = cpu->r[4] + 0xFFFFFF98u;
|
|
/* 02576EC0 */ _t22 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02576EC0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02576EC0 */ if (_t23) goto L_02576EC4; // else: addr-0 trap, fall-through
|
|
L_02576EC4: ; // 0x2576ec4
|
|
/* 02576EC4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02576EC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02576ECC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02576ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02576ED4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02576ED8 */ Gambit_fn_0200CD70(cpu);
|
|
/* 02576EDC */ cpu->r[4] = 0x00000002u;
|
|
/* 02576EE0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02576EE4 */ Gambit_fn_021753A0(cpu);
|
|
L_02576EE8: ; // 0x2576ee8
|
|
/* 02576EE8 */ _t24 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02576EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02576EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02576EF0 */ _t25 = cpu->r[1] + 0x00000074u;
|
|
/* 02576EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02576EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02576EF8 */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 02576EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02576EFC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02576F00 */ return;
|
|
}
|
|
|
|
// fn_02576F04 @ 0x2576f04
|
|
void Gambit_fn_02576F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02576F04: ; // 0x2576f04
|
|
/* 02576F04 */ cpu->r[0] = cpu->lr;
|
|
/* 02576F08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576F08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576F08 */ cpu->r[1] = _t0;
|
|
/* 02576F0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576F10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576F14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02576F18 */ cpu->r[31] = cpu->r[4];
|
|
/* 02576F1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576F20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576F20 */ if (_t5) goto L_02576F60; else goto L_02576F24;
|
|
L_02576F24: ; // 0x2576f24
|
|
/* 02576F24 */ cpu->r[3] = cpu->r[30] + 0x00000138u;
|
|
/* 02576F28 */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F2C */ Gambit_fn_0200D628(cpu);
|
|
/* 02576F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02576F34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02576F34 */ if (_t7) goto L_02576F50; else goto L_02576F38;
|
|
L_02576F38: ; // 0x2576f38
|
|
/* 02576F38 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 02576F3C */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F40 */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02576F44 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02576F48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F4C */ Gambit_fn_0281ADA0(cpu);
|
|
L_02576F50: ; // 0x2576f50
|
|
/* 02576F50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02576F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576F54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02576F54 */ if (_t9) goto L_02576F60; else goto L_02576F58;
|
|
L_02576F58: ; // 0x2576f58
|
|
/* 02576F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02576F5C */ Gambit_fn_02801BB0(cpu);
|
|
L_02576F60: ; // 0x2576f60
|
|
/* 02576F60 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02576F64 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576F68 */ cpu->lr = cpu->r[0];
|
|
/* 02576F6C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02576F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576F74 */ return;
|
|
}
|
|
|
|
// fn_02576F08 @ 0x2576f08
|
|
void Gambit_fn_02576F08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02576F08: ; // 0x2576f08
|
|
/* 02576F08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576F08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576F08 */ cpu->r[1] = _t0;
|
|
/* 02576F0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576F10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576F14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02576F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02576F18 */ cpu->r[31] = cpu->r[4];
|
|
/* 02576F1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576F20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02576F20 */ if (_t5) goto L_02576F60; else goto L_02576F24;
|
|
L_02576F24: ; // 0x2576f24
|
|
/* 02576F24 */ cpu->r[3] = cpu->r[30] + 0x00000138u;
|
|
/* 02576F28 */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F2C */ Gambit_fn_0200D628(cpu);
|
|
/* 02576F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02576F34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02576F34 */ if (_t7) goto L_02576F50; else goto L_02576F38;
|
|
L_02576F38: ; // 0x2576f38
|
|
/* 02576F38 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 02576F3C */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F40 */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02576F44 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02576F48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02576F4C */ Gambit_fn_0281ADA0(cpu);
|
|
L_02576F50: ; // 0x2576f50
|
|
/* 02576F50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02576F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02576F54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02576F54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02576F54 */ if (_t9) goto L_02576F60; else goto L_02576F58;
|
|
L_02576F58: ; // 0x2576f58
|
|
/* 02576F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02576F5C */ Gambit_fn_02801BB0(cpu);
|
|
L_02576F60: ; // 0x2576f60
|
|
/* 02576F60 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02576F64 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02576F68 */ cpu->lr = cpu->r[0];
|
|
/* 02576F6C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02576F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576F74 */ return;
|
|
}
|
|
|
|
// fn_02576F78 @ 0x2576f78
|
|
void Gambit_fn_02576F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02576F78: ; // 0x2576f78
|
|
/* 02576F78 */ cpu->r[0] = cpu->lr;
|
|
/* 02576F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576F7C */ cpu->r[1] = _t0;
|
|
/* 02576F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576F88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576F8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576F90 */ Gambit_fn_0200D024(cpu);
|
|
/* 02576F94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02576F98 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02576F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576F9C */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02576F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02576FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02576FA4 */ Gambit_fn_0261F774(cpu);
|
|
/* 02576FA8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02576FAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02576FB0 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02576FB4 */ _t6 = cpu->r[31] + 0x00000130u;
|
|
/* 02576FB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02576FB8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02576FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576FBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02576FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02576FC4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02576FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576FC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576FCC */ return;
|
|
}
|
|
|
|
// fn_02576F7C @ 0x2576f7c
|
|
void Gambit_fn_02576F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02576F7C: ; // 0x2576f7c
|
|
/* 02576F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02576F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576F7C */ cpu->r[1] = _t0;
|
|
/* 02576F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02576F84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02576F88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02576F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02576F8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02576F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02576F90 */ Gambit_fn_0200D024(cpu);
|
|
/* 02576F94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02576F98 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02576F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02576F9C */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 02576F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02576FA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02576FA4 */ Gambit_fn_0261F774(cpu);
|
|
/* 02576FA8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02576FAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02576FB0 */ Gambit_fn_0261F55C(cpu);
|
|
/* 02576FB4 */ _t6 = cpu->r[31] + 0x00000130u;
|
|
/* 02576FB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02576FB8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02576FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02576FBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02576FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02576FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02576FC4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02576FC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02576FC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02576FCC */ return;
|
|
}
|
|
|
|
// fn_02576FD0 @ 0x2576fd0
|
|
void Gambit_fn_02576FD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0200D1EC: ; // 0x200d1ec
|
|
/* 0200D1EC */ cpu->r[0] = cpu->lr;
|
|
/* 0200D1F0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0200D1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0200D1F0 */ cpu->r[1] = _t0;
|
|
/* 0200D1F4 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0200D1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0200D1F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200D1FC */ _t2 = cpu->r[1] + 0x00000064u;
|
|
/* 0200D1FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0200D200 */ _t3 = cpu->r[31] + 0x000002E0u;
|
|
/* 0200D200 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0200D204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200D208 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200D208 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0200D208 */ if (_t5) goto L_0200D304; else goto L_0200D20C;
|
|
L_0200D20C: ; // 0x200d20c
|
|
/* 0200D20C */ cpu->r[3] = cpu->r[31] + 0x00000138u;
|
|
/* 0200D210 */ Gambit_fn_0200E514(cpu);
|
|
/* 0200D214 */ cpu->r[3] = cpu->r[31] + 0x00000138u;
|
|
/* 0200D218 */ Gambit_fn_0200E6B8(cpu);
|
|
/* 0200D21C */ cpu->r[4] = cpu->r[3];
|
|
/* 0200D220 */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D224 */ Gambit_fn_0200F100(cpu);
|
|
/* 0200D228 */ cpu->r[3] = cpu->r[31] + 0x00000138u;
|
|
/* 0200D22C */ Gambit_fn_0200E6A0(cpu);
|
|
/* 0200D230 */ cpu->r[4] = cpu->r[3];
|
|
/* 0200D234 */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D238 */ Gambit_fn_0200F2B0(cpu);
|
|
/* 0200D23C */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D240 */ Gambit_fn_0200ED68(cpu);
|
|
/* 0200D244 */ cpu->r[5] = cpu->r[3];
|
|
/* 0200D248 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0200D24C */ cpu->r[4] = cpu->r[31];
|
|
/* 0200D250 */ Gambit_fn_0200D060(cpu);
|
|
/* 0200D254 */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D258 */ Gambit_fn_0200ED78(cpu);
|
|
/* 0200D25C */ cpu->r[5] = cpu->r[3];
|
|
/* 0200D260 */ cpu->r[4] = cpu->r[31];
|
|
/* 0200D264 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0200D268 */ Gambit_fn_0200D060(cpu);
|
|
/* 0200D26C */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D270 */ Gambit_fn_0200ED70(cpu);
|
|
/* 0200D274 */ cpu->r[5] = cpu->r[3];
|
|
/* 0200D278 */ cpu->r[4] = cpu->r[31];
|
|
/* 0200D27C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0200D280 */ Gambit_fn_0200D060(cpu);
|
|
/* 0200D284 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0200D288 */ cpu->r[4] = cpu->r[31];
|
|
/* 0200D28C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0200D290 */ cpu->r[5] = cpu->r[5] + 0x00006338u;
|
|
/* 0200D294 */ Gambit_fn_0200D060(cpu);
|
|
/* 0200D298 */ /* nop */
|
|
/* 0200D29C */ /* nop */
|
|
/* 0200D2A0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0200D2A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0200D2A4 */ /* nop */
|
|
/* 0200D2A8 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 0200D2A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0200D2AC */ /* nop */
|
|
/* 0200D2B0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0200D2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0200D2B4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0200D2B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0200D2B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0200D2BC */ _t10 = cpu->r[1] + 0x00000044u;
|
|
/* 0200D2BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0200D2C0 */ cpu->r[6] = cpu->r[1] + 0x00000044u;
|
|
/* 0200D2C4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0200D2C4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0200D2C8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0200D2C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0200D2CC */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 0200D2D0 */ _t13 = cpu->r[1] + 0x00000048u;
|
|
/* 0200D2D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0200D2D4 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0200D2D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D2DC */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0200D2DC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0200D2E0 */ Gambit_fn_0200F7AC(cpu);
|
|
/* 0200D2E4 */ _t15 = cpu->r[31] + 0x00000134u;
|
|
/* 0200D2E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0200D2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0200D2EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0200D2EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0200D2EC */ if (_t17) goto L_0200D304; else goto L_0200D2F0;
|
|
L_0200D2F0: ; // 0x200d2f0
|
|
/* 0200D2F0 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0200D2F4 */ Gambit_fn_0200D450(cpu);
|
|
/* 0200D2F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0200D2FC */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 0200D300 */ Gambit_fn_0200F380(cpu);
|
|
L_0200D304: ; // 0x200d304
|
|
/* 0200D304 */ _t18 = cpu->r[1] + 0x00000064u;
|
|
/* 0200D304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0200D308 */ _t19 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0200D308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0200D30C */ cpu->lr = cpu->r[0];
|
|
/* 0200D310 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0200D314 */ return;
|
|
L_02576FD0: ; // 0x2576fd0
|
|
/* 02576FD0 */ goto L_0200D1EC;
|
|
}
|
|
|
|
// fn_02576FD4 @ 0x2576fd4
|
|
void Gambit_fn_02576FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02576FD4: ; // 0x2576fd4
|
|
/* 02576FD4 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02576FD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02576FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576FD8 */ cpu->r[1] = _t0;
|
|
/* 02576FDC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02576FE0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02576FE4 */ _t1 = cpu->r[10] + 0xFFFFB3E0u;
|
|
/* 02576FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02576FE4 */ cpu->r[10] = _t1;
|
|
/* 02576FE8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02576FEC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02576FEC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02576FF0 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02576FF4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02576FF8 */ _t3 = cpu->r[7] + 0xFFFFB3F0u;
|
|
/* 02576FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02576FF8 */ cpu->r[7] = _t3;
|
|
/* 02576FFC */ _t4 = cpu->r[8] + 0xFFFFB3E8u;
|
|
/* 02576FFC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02576FFC */ cpu->r[8] = _t4;
|
|
/* 02577000 */ cpu->r[0] = 0x00000002u;
|
|
/* 02577004 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02577004 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02577008 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0257700C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0257700C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02577010 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02577014 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02577014 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02577018 */ _t8 = cpu->r[8] + 0xFFFFB400u;
|
|
/* 02577018 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02577018 */ cpu->r[8] = _t8;
|
|
/* 0257701C */ _t9 = cpu->r[12] + 0xFFFFB3F8u;
|
|
/* 0257701C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0257701C */ cpu->r[12] = _t9;
|
|
/* 02577020 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02577020 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02577024 */ cpu->r[0] = 0x00000004u;
|
|
/* 02577028 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02577028 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0257702C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02577030 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02577030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02577034 */ _t13 = cpu->r[11] + 0xFFFFB408u;
|
|
/* 02577034 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02577038 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257703C */ return;
|
|
}
|
|
|
|
// fn_02576FD8 @ 0x2576fd8
|
|
void Gambit_fn_02576FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02576FD8: ; // 0x2576fd8
|
|
/* 02576FD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02576FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02576FD8 */ cpu->r[1] = _t0;
|
|
/* 02576FDC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02576FE0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02576FE4 */ _t1 = cpu->r[10] + 0xFFFFB3E0u;
|
|
/* 02576FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02576FE4 */ cpu->r[10] = _t1;
|
|
/* 02576FE8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02576FEC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02576FEC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02576FF0 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02576FF4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02576FF8 */ _t3 = cpu->r[7] + 0xFFFFB3F0u;
|
|
/* 02576FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02576FF8 */ cpu->r[7] = _t3;
|
|
/* 02576FFC */ _t4 = cpu->r[8] + 0xFFFFB3E8u;
|
|
/* 02576FFC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02576FFC */ cpu->r[8] = _t4;
|
|
/* 02577000 */ cpu->r[0] = 0x00000002u;
|
|
/* 02577004 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02577004 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02577008 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0257700C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0257700C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02577010 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02577014 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02577014 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02577018 */ _t8 = cpu->r[8] + 0xFFFFB400u;
|
|
/* 02577018 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02577018 */ cpu->r[8] = _t8;
|
|
/* 0257701C */ _t9 = cpu->r[12] + 0xFFFFB3F8u;
|
|
/* 0257701C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0257701C */ cpu->r[12] = _t9;
|
|
/* 02577020 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02577020 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02577024 */ cpu->r[0] = 0x00000004u;
|
|
/* 02577028 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02577028 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0257702C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02577030 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02577030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02577034 */ _t13 = cpu->r[11] + 0xFFFFB408u;
|
|
/* 02577034 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02577038 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257703C */ return;
|
|
}
|
|
|
|
// fn_02577040 @ 0x2577040
|
|
void Gambit_fn_02577040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577040: ; // 0x2577040
|
|
/* 02577040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577044 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577044 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02577044 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577044 */ goto L_02577048;
|
|
L_02577048: ; // 0x2577048
|
|
/* 02577048 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257704C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257704C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0257704C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257704C */ goto L_02577050;
|
|
L_02577050: ; // 0x2577050
|
|
/* 02577050 */ 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_02577054 @ 0x2577054
|
|
void Gambit_fn_02577054(CPUState* cpu) {
|
|
L_02577054: ; // 0x2577054
|
|
/* 02577054 */ return;
|
|
}
|
|
|
|
// fn_02577058 @ 0x2577058
|
|
void Gambit_fn_02577058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577058: ; // 0x2577058
|
|
/* 02577058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257705C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257705C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0257705C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257705C */ goto L_02577060;
|
|
L_02577060: ; // 0x2577060
|
|
/* 02577060 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577064 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577064 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577064 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577064 */ goto L_02577068;
|
|
L_02577068: ; // 0x2577068
|
|
/* 02577068 */ 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_0257706C @ 0x257706c
|
|
void Gambit_fn_0257706C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0257706C: ; // 0x257706c
|
|
/* 0257706C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0257706C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577070 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02577070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02577074 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02577078 */ cpu->r[11] = 0x10110000u;
|
|
/* 0257707C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0257707C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02577080 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02577080 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02577084 */ return;
|
|
}
|
|
|
|
// fn_02577088 @ 0x2577088
|
|
void Gambit_fn_02577088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577088: ; // 0x2577088
|
|
/* 02577088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257708C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257708C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0257708C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0257708C */ goto L_02577090;
|
|
L_02577090: ; // 0x2577090
|
|
/* 02577090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577094 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577094 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577094 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577094 */ goto L_02577098;
|
|
L_02577098: ; // 0x2577098
|
|
/* 02577098 */ 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_0257709C @ 0x257709c
|
|
void Gambit_fn_0257709C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0257709C: ; // 0x257709c
|
|
/* 0257709C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025770A0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025770A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025770A0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025770A0 */ goto L_025770A4;
|
|
L_025770A4: ; // 0x25770a4
|
|
/* 025770A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025770A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025770A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025770A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025770A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025770A8 */ goto L_025770AC;
|
|
L_025770AC: ; // 0x25770ac
|
|
/* 025770AC */ 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_025770B0 @ 0x25770b0
|
|
void Gambit_fn_025770B0(CPUState* cpu) {
|
|
L_025770B0: ; // 0x25770b0
|
|
/* 025770B0 */ return;
|
|
}
|
|
|
|
// fn_025770B4 @ 0x25770b4
|
|
void Gambit_fn_025770B4(CPUState* cpu) {
|
|
L_025770B4: ; // 0x25770b4
|
|
/* 025770B4 */ return;
|
|
}
|
|
|
|
// fn_025770B8 @ 0x25770b8
|
|
void Gambit_fn_025770B8(CPUState* cpu) {
|
|
L_025770B8: ; // 0x25770b8
|
|
/* 025770B8 */ return;
|
|
}
|
|
|
|
// fn_025770BC @ 0x25770bc
|
|
void Gambit_fn_025770BC(CPUState* cpu) {
|
|
L_025770BC: ; // 0x25770bc
|
|
/* 025770BC */ cpu->r[3] = 0x00000000u;
|
|
/* 025770C0 */ return;
|
|
}
|
|
|
|
// fn_025770C4 @ 0x25770c4
|
|
void Gambit_fn_025770C4(CPUState* cpu) {
|
|
L_025770C4: ; // 0x25770c4
|
|
/* 025770C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025770C8 */ return;
|
|
}
|
|
|
|
// fn_025770CC @ 0x25770cc
|
|
void Gambit_fn_025770CC(CPUState* cpu) {
|
|
L_025770CC: ; // 0x25770cc
|
|
/* 025770CC */ cpu->r[3] = 0x00000000u;
|
|
/* 025770D0 */ return;
|
|
}
|
|
|
|
// fn_025770D4 @ 0x25770d4
|
|
void Gambit_fn_025770D4(CPUState* cpu) {
|
|
L_025770D4: ; // 0x25770d4
|
|
/* 025770D4 */ return;
|
|
}
|
|
|
|
// fn_025770D8 @ 0x25770d8
|
|
void Gambit_fn_025770D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025770D8: ; // 0x25770d8
|
|
/* 025770D8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025770DC */ _t0 = cpu->r[9] + 0xFFFFDDC4u;
|
|
/* 025770DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025770DC */ cpu->r[9] = _t0;
|
|
/* 025770E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025770E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025770E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC8u;
|
|
/* 025770EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025770EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025770EC */ if (_t2) goto L_025770F0; else goto L_02577104;
|
|
L_025770F0: ; // 0x25770f0
|
|
/* 025770F0 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025770F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025770F8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFF68u;
|
|
/* 025770FC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 025770FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02577100 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02577100 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02577104: ; // 0x2577104
|
|
/* 02577104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02577108 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577108 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02577108 */ if (_t6) goto L_0257710C; else goto L_02577114;
|
|
L_0257710C: ; // 0x257710c
|
|
/* 0257710C */ cpu->r[3] = 0x00000001u;
|
|
/* 02577110 */ return;
|
|
L_02577114: ; // 0x2577114
|
|
/* 02577114 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02577118 */ _t7 = cpu->r[7] + 0xFFFFDDB8u;
|
|
/* 02577118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577118 */ cpu->r[7] = _t7;
|
|
/* 0257711C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02577120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02577124 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDC0u;
|
|
/* 02577128 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577128 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02577128 */ if (_t9) goto L_0257712C; else goto L_02577140;
|
|
L_0257712C: ; // 0x257712c
|
|
/* 0257712C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02577130 */ cpu->r[9] = 0x00000001u;
|
|
/* 02577134 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEF8u;
|
|
/* 02577138 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02577138 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0257713C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0257713C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02577140: ; // 0x2577140
|
|
/* 02577140 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02577144 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02577148 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0257714C */ return;
|
|
}
|
|
|
|
// fn_02577150 @ 0x2577150
|
|
void Gambit_fn_02577150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90;
|
|
|
|
L_02577150: ; // 0x2577150
|
|
/* 02577150 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02577150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577150 */ cpu->r[1] = _t0;
|
|
/* 02577154 */ cpu->r[0] = cpu->lr;
|
|
/* 02577158 */ /* nop */
|
|
/* 0257715C */ cpu->r[30] = cpu->r[3];
|
|
/* 0257715C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02577160 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02577160 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02577164 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577164 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577164 */ if (_t3) goto L_02577168; else goto L_02577178;
|
|
L_02577168: ; // 0x2577168
|
|
/* 02577168 */ cpu->r[3] = 0x00000210u;
|
|
/* 0257716C */ Gambit_fn_02801A78(cpu);
|
|
/* 02577170 */ cpu->r[30] = cpu->r[3];
|
|
/* 02577170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02577174 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577174 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02577174 */ if (_t5) goto L_02577430; else goto L_02577178;
|
|
L_02577178: ; // 0x2577178
|
|
/* 02577178 */ cpu->r[3] = cpu->r[30];
|
|
/* 0257717C */ Gambit_fn_02001FA8(cpu);
|
|
/* 02577180 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02577184 */ cpu->r[31] = cpu->r[30] + 0x000001CCu;
|
|
/* 02577184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02577188 */ cpu->r[6] = cpu->r[6] + 0x00000184u;
|
|
/* 0257718C */ cpu->r[27] = 0x00000000u;
|
|
/* 02577190 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02577190 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02577194 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577194 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02577194 */ if (_t8) goto L_02577198; else goto L_025771A8;
|
|
L_02577198: ; // 0x2577198
|
|
/* 02577198 */ cpu->r[3] = 0x00000038u;
|
|
/* 0257719C */ Gambit_fn_02801A78(cpu);
|
|
/* 025771A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025771A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025771A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025771A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025771A4 */ if (_t10) goto L_025771D8; else goto L_025771A8;
|
|
L_025771A8: ; // 0x25771a8
|
|
/* 025771A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025771AC */ Gambit_fn_027FC29C(cpu);
|
|
/* 025771B0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025771B4 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 025771B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 025771B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFB9Cu;
|
|
/* 025771BC */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 025771BC */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 025771C0 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 025771C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025771C4 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 025771C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 025771C8 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 025771C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 025771CC */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025771CC */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 025771D0 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025771D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 025771D4 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 025771D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_025771D8: ; // 0x25771d8
|
|
/* 025771D8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 025771DC */ _t19 = cpu->r[8] + 0x00006338u;
|
|
/* 025771DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025771DC */ cpu->r[8] = _t19;
|
|
/* 025771E0 */ _t20 = cpu->r[30] + 0x00000204u;
|
|
/* 025771E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 025771E4 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 025771E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025771E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025771EC */ _t22 = cpu->r[30] + 0x00000208u;
|
|
/* 025771EC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 025771F0 */ _t23 = cpu->r[8] + 0x00000008u;
|
|
/* 025771F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025771F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 025771F8 */ cpu->r[3] = cpu->r[30] + 0x000001CCu;
|
|
/* 025771FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02577200 */ _t24 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02577200 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02577204 */ cpu->r[6] = 0x00000000u;
|
|
/* 02577208 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02577208 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0257720C */ Gambit_fn_02577DA0(cpu);
|
|
/* 02577210 */ cpu->r[4] = cpu->r[30] + 0x000001CCu;
|
|
/* 02577214 */ cpu->r[3] = cpu->r[30];
|
|
/* 02577218 */ Gambit_fn_02000834(cpu);
|
|
/* 0257721C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02577220 */ cpu->r[26] = 0x02570000u;
|
|
/* 02577224 */ cpu->r[12] = cpu->r[12] + 0x0000012Cu;
|
|
/* 02577228 */ cpu->r[28] = 0x100D0000u;
|
|
/* 0257722C */ cpu->r[26] = cpu->r[26] + 0x000079C0u;
|
|
/* 02577230 */ cpu->r[28] = cpu->r[28] + 0x00000058u;
|
|
/* 02577234 */ cpu->ctr = cpu->r[26];
|
|
/* 02577238 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02577238 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 0257723C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257723C */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02577240 */ _t28 = cpu->r[30] + 0x000001E4u;
|
|
/* 02577240 */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02577244 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577248 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 02577248 */ cpu->r[25] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0257724C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577250 */ cpu->r[31] = 0x10110000u;
|
|
/* 02577254 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02577258 */ _t31 = cpu->r[31] + 0x00007399u;
|
|
/* 02577258 */ cpu->r[31] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0257725C */ _t32 = cpu->r[6] + 0x00000000u;
|
|
/* 0257725C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02577260 */ cpu->r[29] = 0x00000000u;
|
|
/* 02577264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02577268 */ cpu->r[0] = 0x00080000u;
|
|
/* 0257726C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257726C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0257726C */ if (_t34) goto L_02577294; else goto L_02577270;
|
|
L_02577270: ; // 0x2577270
|
|
/* 02577270 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02577274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02577278 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0257727C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257727C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0257727C */ if (_t36) goto L_02577290; else goto L_02577280;
|
|
L_02577280: ; // 0x2577280
|
|
/* 02577280 */ _t37 = cpu->r[6] + 0x00000000u;
|
|
/* 02577280 */ cpu->r[5] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02577284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02577288 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577288 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02577288 */ if (_t39) goto L_0257728C; else goto L_02577270;
|
|
L_0257728C: ; // 0x257728c
|
|
/* 0257728C */ goto L_02577294;
|
|
L_02577290: ; // 0x2577290
|
|
/* 02577290 */ cpu->r[29] = 0x00000000u;
|
|
L_02577294: ; // 0x2577294
|
|
/* 02577294 */ _t40 = cpu->r[24] + 0x00000008u;
|
|
/* 02577294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02577298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0257729C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257729C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0257729C */ if (_t42) goto L_025772A4; else goto L_025772A0;
|
|
L_025772A0: ; // 0x25772a0
|
|
/* 025772A0 */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_025772A4: ; // 0x25772a4
|
|
/* 025772A4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 025772A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025772A8 */ _t44 = cpu->r[7] + 0x00000014u;
|
|
/* 025772A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025772AC */ cpu->ctr = cpu->r[8];
|
|
/* 025772B0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025772B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025772B8 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025772B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025772BC */ cpu->r[3] = cpu->r[25];
|
|
/* 025772C0 */ cpu->r[5] = cpu->r[29];
|
|
/* 025772C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025772C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025772CC */ cpu->r[9] = 0x02570000u;
|
|
/* 025772D0 */ _t46 = cpu->r[25] + cpu->r[29];
|
|
/* 025772D0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
/* 025772D4 */ cpu->r[9] = cpu->r[9] + 0x00007D50u;
|
|
/* 025772D8 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025772D8 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[27]);
|
|
/* 025772DC */ cpu->r[0] = 0x00000000u;
|
|
/* 025772E0 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 025772E0 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 025772E4 */ cpu->r[11] = 0x02570000u;
|
|
/* 025772E8 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 025772E8 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 025772EC */ cpu->r[11] = cpu->r[11] + 0x00007D54u;
|
|
/* 025772F0 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 025772F0 */ rbrew_write32(cpu->mem, _t50, cpu->r[27]);
|
|
/* 025772F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 025772F8 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 025772F8 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[27]);
|
|
/* 025772FC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02577300 */ _t52 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02577300 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[7]);
|
|
/* 02577304 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02577308 */ _t53 = cpu->r[1] + 0x00000016u;
|
|
/* 02577308 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[12]);
|
|
/* 0257730C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577310 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02577310 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]);
|
|
/* 02577314 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02577318 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0257731C */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 0257731C */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[27]);
|
|
/* 02577320 */ cpu->r[3] = cpu->r[30] + 0x000001CCu;
|
|
/* 02577324 */ _t56 = cpu->r[1] + 0x00000026u;
|
|
/* 02577324 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[27]);
|
|
/* 02577328 */ Gambit_fn_02578050(cpu);
|
|
/* 0257732C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02577330 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02577330 */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
/* 02577334 */ cpu->r[6] = cpu->r[6] + 0x0000013Cu;
|
|
/* 02577338 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577338 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
|
|
/* 0257733C */ _t59 = cpu->r[30] + 0x000001E0u;
|
|
/* 0257733C */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02577340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 02577344 */ _t60 = cpu->r[30] + 0x000001E4u;
|
|
/* 02577344 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02577348 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577348 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02577348 */ if (_t62) goto L_0257734C; else goto L_02577350;
|
|
L_0257734C: ; // 0x257734c
|
|
/* 0257734C */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
L_02577350: ; // 0x2577350
|
|
/* 02577350 */ cpu->ctr = cpu->r[26];
|
|
/* 02577354 */ _t63 = cpu->r[28] + 0x00000000u;
|
|
/* 02577354 */ cpu->r[25] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02577358 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257735C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577360 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02577364 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 02577364 */ cpu->r[10] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02577368 */ cpu->r[5] = 0x00080000u;
|
|
/* 0257736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02577370 */ cpu->r[29] = 0x00000000u;
|
|
/* 02577374 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577374 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02577374 */ if (_t67) goto L_0257739C; else goto L_02577378;
|
|
L_02577378: ; // 0x2577378
|
|
/* 02577378 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0257737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 02577380 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02577384 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577384 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02577384 */ if (_t69) goto L_02577398; else goto L_02577388;
|
|
L_02577388: ; // 0x2577388
|
|
/* 02577388 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 02577388 */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0257738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02577390 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577390 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02577390 */ if (_t72) goto L_02577394; else goto L_02577378;
|
|
L_02577394: ; // 0x2577394
|
|
/* 02577394 */ goto L_0257739C;
|
|
L_02577398: ; // 0x2577398
|
|
/* 02577398 */ cpu->r[29] = 0x00000000u;
|
|
L_0257739C: ; // 0x257739c
|
|
/* 0257739C */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 0257739C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025773A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 025773A4 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025773A4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 025773A4 */ if (_t75) goto L_025773AC; else goto L_025773A8;
|
|
L_025773A8: ; // 0x25773a8
|
|
/* 025773A8 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_025773AC: ; // 0x25773ac
|
|
/* 025773AC */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 025773AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 025773B0 */ _t77 = cpu->r[6] + 0x00000014u;
|
|
/* 025773B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 025773B4 */ cpu->ctr = cpu->r[8];
|
|
/* 025773B8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025773BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025773C0 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025773C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 025773C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025773C8 */ cpu->r[5] = cpu->r[29];
|
|
/* 025773CC */ cpu->r[3] = cpu->r[25];
|
|
/* 025773D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025773D4 */ _t79 = cpu->r[25] + cpu->r[29];
|
|
/* 025773D4 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[31]);
|
|
/* 025773D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 025773DC */ _t80 = cpu->r[1] + 0x00000014u;
|
|
/* 025773DC */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[27]);
|
|
/* 025773E0 */ cpu->r[9] = 0x02570000u;
|
|
/* 025773E4 */ _t81 = cpu->r[1] + 0x00000028u;
|
|
/* 025773E4 */ rbrew_write32(cpu->mem, _t81, cpu->r[27]);
|
|
/* 025773E8 */ cpu->r[9] = cpu->r[9] + 0x00007864u;
|
|
/* 025773EC */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 025773EC */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[27]);
|
|
/* 025773F0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 025773F4 */ _t83 = cpu->r[1] + 0x00000026u;
|
|
/* 025773F4 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[27]);
|
|
/* 025773F8 */ cpu->r[3] = cpu->r[30] + 0x000001CCu;
|
|
/* 025773FC */ _t84 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025773FC */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[8]);
|
|
/* 02577400 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02577404 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02577404 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 02577408 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257740C */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 0257740C */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[0]);
|
|
/* 02577410 */ cpu->r[0] = 0x02570000u;
|
|
/* 02577414 */ _t87 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577414 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[27]);
|
|
/* 02577418 */ cpu->r[0] = cpu->r[0] + 0x00007870u;
|
|
/* 0257741C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02577420 */ _t88 = cpu->r[1] + 0x00000016u;
|
|
/* 02577420 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[8]);
|
|
/* 02577424 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02577428 */ _t89 = cpu->r[1] + 0x00000018u;
|
|
/* 02577428 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0257742C */ Gambit_fn_02578050(cpu);
|
|
L_02577430: ; // 0x2577430
|
|
/* 02577430 */ cpu->r[3] = cpu->r[30];
|
|
/* 02577434 */ /* nop */
|
|
/* 02577438 */ _t90 = cpu->r[1] + 0x00000054u;
|
|
/* 02577438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0257743C */ cpu->lr = cpu->r[0];
|
|
/* 02577440 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02577444 */ return;
|
|
}
|
|
|
|
// fn_02577448 @ 0x2577448
|
|
void Gambit_fn_02577448(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02577448: ; // 0x2577448
|
|
/* 02577448 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 02577448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577448 */ cpu->r[1] = _t0;
|
|
/* 0257744C */ cpu->r[0] = cpu->lr;
|
|
/* 02577450 */ /* nop */
|
|
/* 02577454 */ _t1 = cpu->r[1] + 0x00000174u;
|
|
/* 02577454 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02577458 */ cpu->r[29] = cpu->r[3];
|
|
/* 0257745C */ cpu->r[0] = cpu->r[1] + 0x00000058u;
|
|
/* 02577460 */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02577460 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577464 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02577468 */ cpu->r[0] = cpu->r[0] + 0x000000A0u;
|
|
/* 0257746C */ cpu->r[11] = 0x00000100u;
|
|
/* 02577470 */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 02577470 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02577474 */ cpu->r[7] = 0x00000002u;
|
|
/* 02577478 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02577478 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0257747C */ cpu->r[30] = 0x10110000u;
|
|
/* 02577480 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02577480 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02577484 */ cpu->r[27] = 0x100D0000u;
|
|
/* 02577488 */ _t6 = cpu->r[30] + 0x00007399u;
|
|
/* 02577488 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0257748C */ cpu->r[27] = cpu->r[27] + 0x00000058u;
|
|
/* 02577490 */ _t7 = cpu->r[1] + 0x00000157u;
|
|
/* 02577490 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 02577494 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02577498 */ _t8 = cpu->r[1] + 0x00000058u;
|
|
/* 02577498 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 0257749C */ Gambit_fn_02019890(cpu);
|
|
/* 025774A0 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 025774A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025774A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 025774A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025774A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025774A8 */ if (_t11) goto L_025774AC; else goto L_025775EC;
|
|
L_025774AC: ; // 0x25774ac
|
|
/* 025774AC */ cpu->r[3] = 0x101C0000u;
|
|
/* 025774B0 */ _t12 = cpu->r[3] + 0x00006BD0u;
|
|
/* 025774B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025774B4 */ Gambit_fn_025754A8(cpu);
|
|
/* 025774B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025774BC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025774BC */ _t14 = _t13 & 0x00000001u;
|
|
/* 025774BC */ if (_t14) goto L_025775EC; else goto L_025774C0;
|
|
L_025774C0: ; // 0x25774c0
|
|
/* 025774C0 */ _t15 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025774C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025774C4 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025774C8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025774C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 025774CC */ cpu->r[7] = cpu->r[7] + 0x00000150u;
|
|
/* 025774D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025774D4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 025774D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 025774D8 */ Gambit_fn_025779C0(cpu);
|
|
/* 025774DC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 025774DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025774E0 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 025774E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 025774E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 025774E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 025774EC */ cpu->r[9] = 0x00080000u;
|
|
/* 025774F0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025774F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 025774F0 */ if (_t21) goto L_02577518; else goto L_025774F4;
|
|
L_025774F4: ; // 0x25774f4
|
|
/* 025774F4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 025774F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 025774FC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02577500 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577500 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02577500 */ if (_t23) goto L_02577514; else goto L_02577504;
|
|
L_02577504: ; // 0x2577504
|
|
/* 02577504 */ _t24 = cpu->r[7] + 0x00000000u;
|
|
/* 02577504 */ cpu->r[11] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02577508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0257750C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257750C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0257750C */ if (_t26) goto L_02577510; else goto L_025774F4;
|
|
L_02577510: ; // 0x2577510
|
|
/* 02577510 */ goto L_02577518;
|
|
L_02577514: ; // 0x2577514
|
|
/* 02577514 */ cpu->r[31] = 0x00000000u;
|
|
L_02577518: ; // 0x2577518
|
|
/* 02577518 */ _t27 = cpu->r[1] + 0x00000054u;
|
|
/* 02577518 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0257751C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257751C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02577520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02577524 */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 02577524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02577528 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02577528 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02577528 */ if (_t31) goto L_02577530; else goto L_0257752C;
|
|
L_0257752C: ; // 0x257752c
|
|
/* 0257752C */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02577530: ; // 0x2577530
|
|
/* 02577530 */ cpu->ctr = cpu->r[0];
|
|
/* 02577534 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02577538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257753C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0257753C */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02577540 */ cpu->r[3] = cpu->r[28];
|
|
/* 02577544 */ cpu->r[5] = cpu->r[31];
|
|
/* 02577548 */ cpu->r[6] = 0x00000000u;
|
|
/* 0257754C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02577550 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02577554 */ _t33 = cpu->r[28] + cpu->r[31];
|
|
/* 02577554 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 02577558 */ _t34 = cpu->r[9] + 0x00006000u;
|
|
/* 02577558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0257755C */ cpu->r[5] = 0x100D0000u;
|
|
/* 02577560 */ _t35 = cpu->r[9] + 0x0000025Cu;
|
|
/* 02577560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02577564 */ cpu->r[5] = cpu->r[5] + 0x0000014Cu;
|
|
/* 02577568 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02577568 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 0257756C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02577570 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577570 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]);
|
|
/* 02577574 */ Gambit_fn_02982574(cpu);
|
|
/* 02577578 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0257757C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02577580 */ _t38 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 02577580 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02577584 */ _t39 = cpu->r[12] + 0xFFFF97D8u;
|
|
/* 02577584 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02577588 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02577588 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0257758C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02577590 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02577590 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02577594 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02577598 */ _t42 = cpu->r[10] + 0xFFFF97D9u;
|
|
/* 02577598 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0257759C */ _t43 = cpu->r[11] + 0xFFFF97D4u;
|
|
/* 0257759C */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025775A0 */ _t44 = cpu->r[1] + 0x0000003Du;
|
|
/* 025775A0 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
|
|
/* 025775A4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 025775A8 */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 025775A8 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 025775AC */ Gambit_fn_02984F3C(cpu);
|
|
/* 025775B0 */ cpu->r[8] = 0x00000006u;
|
|
/* 025775B4 */ cpu->r[7] = cpu->r[1] + 0x00000024u;
|
|
/* 025775B8 */ cpu->r[5] = cpu->r[1] + 0x0000004Cu;
|
|
/* 025775BC */ _t46 = cpu->r[1] + 0x00000044u;
|
|
/* 025775BC */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 025775C0 */ cpu->r[9] = 0x00000003u;
|
|
/* 025775C4 */ _t47 = cpu->r[31] + 0x00000008u;
|
|
/* 025775C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025775C8 */ cpu->r[8] = cpu->r[1] + 0x00000040u;
|
|
/* 025775CC */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025775D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 025775D4 */ Gambit_fn_020022D4(cpu);
|
|
/* 025775D8 */ cpu->r[4] = 0x101C0000u;
|
|
/* 025775DC */ cpu->r[3] = cpu->r[29];
|
|
/* 025775E0 */ cpu->r[4] = cpu->r[4] + 0x00006BDCu;
|
|
/* 025775E4 */ Gambit_fn_02002684(cpu);
|
|
/* 025775E8 */ goto L_02577714;
|
|
L_025775EC: ; // 0x25775ec
|
|
/* 025775EC */ _t48 = cpu->r[1] + 0x0000004Cu;
|
|
/* 025775EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025775F0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025775F4 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 025775F4 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 025775F8 */ cpu->r[0] = cpu->r[0] + 0x00000160u;
|
|
/* 025775FC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02577600 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02577600 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02577604 */ Gambit_fn_025779C0(cpu);
|
|
/* 02577608 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02577608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0257760C */ _t52 = cpu->r[12] + 0x00000000u;
|
|
/* 0257760C */ cpu->r[6] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02577610 */ cpu->r[31] = 0x00000000u;
|
|
/* 02577614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02577618 */ cpu->r[0] = 0x00080000u;
|
|
/* 0257761C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257761C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0257761C */ if (_t54) goto L_02577644; else goto L_02577620;
|
|
L_02577620: ; // 0x2577620
|
|
/* 02577620 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02577624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02577628 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0257762C */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257762C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0257762C */ if (_t56) goto L_02577640; else goto L_02577630;
|
|
L_02577630: ; // 0x2577630
|
|
/* 02577630 */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 02577630 */ cpu->r[8] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02577634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02577638 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577638 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02577638 */ if (_t59) goto L_0257763C; else goto L_02577620;
|
|
L_0257763C: ; // 0x257763c
|
|
/* 0257763C */ goto L_02577644;
|
|
L_02577640: ; // 0x2577640
|
|
/* 02577640 */ cpu->r[31] = 0x00000000u;
|
|
L_02577644: ; // 0x2577644
|
|
/* 02577644 */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02577644 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02577648 */ _t61 = cpu->r[1] + 0x00000014u;
|
|
/* 02577648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0257764C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02577650 */ _t62 = cpu->r[10] + 0x00000014u;
|
|
/* 02577650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02577654 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02577654 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02577654 */ if (_t64) goto L_0257765C; else goto L_02577658;
|
|
L_02577658: ; // 0x2577658
|
|
/* 02577658 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0257765C: ; // 0x257765c
|
|
/* 0257765C */ cpu->ctr = cpu->r[11];
|
|
/* 02577660 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02577664 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577668 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02577668 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0257766C */ cpu->r[3] = cpu->r[28];
|
|
/* 02577670 */ cpu->r[5] = cpu->r[31];
|
|
/* 02577674 */ cpu->r[6] = 0x00000000u;
|
|
/* 02577678 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0257767C */ cpu->r[9] = 0x101C0000u;
|
|
/* 02577680 */ _t66 = cpu->r[28] + cpu->r[31];
|
|
/* 02577680 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[30]);
|
|
/* 02577684 */ _t67 = cpu->r[9] + 0x00006000u;
|
|
/* 02577684 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02577688 */ cpu->r[5] = 0x100D0000u;
|
|
/* 0257768C */ _t68 = cpu->r[9] + 0x0000025Cu;
|
|
/* 0257768C */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02577690 */ cpu->r[5] = cpu->r[5] + 0x0000014Cu;
|
|
/* 02577694 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02577694 */ rbrew_write32(cpu->mem, _t69, cpu->r[27]);
|
|
/* 02577698 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0257769C */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257769C */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 025776A0 */ Gambit_fn_02982574(cpu);
|
|
/* 025776A4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025776A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025776AC */ _t71 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 025776AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 025776B0 */ _t72 = cpu->r[12] + 0xFFFF97D8u;
|
|
/* 025776B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t72);
|
|
/* 025776B4 */ _t73 = cpu->r[1] + 0x00000028u;
|
|
/* 025776B4 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 025776B8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025776BC */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025776BC */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[0]);
|
|
/* 025776C0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025776C4 */ _t75 = cpu->r[10] + 0xFFFF97D9u;
|
|
/* 025776C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 025776C8 */ _t76 = cpu->r[11] + 0xFFFF97D4u;
|
|
/* 025776C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 025776CC */ _t77 = cpu->r[1] + 0x0000003Du;
|
|
/* 025776CC */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[0]);
|
|
/* 025776D0 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 025776D4 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 025776D4 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
|
|
/* 025776D8 */ Gambit_fn_02984F3C(cpu);
|
|
/* 025776DC */ cpu->r[8] = 0x00000006u;
|
|
/* 025776E0 */ cpu->r[7] = cpu->r[1] + 0x00000024u;
|
|
/* 025776E4 */ cpu->r[5] = cpu->r[1] + 0x0000004Cu;
|
|
/* 025776E8 */ _t79 = cpu->r[1] + 0x00000044u;
|
|
/* 025776E8 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 025776EC */ cpu->r[9] = 0x00000003u;
|
|
/* 025776F0 */ _t80 = cpu->r[31] + 0x00000008u;
|
|
/* 025776F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 025776F4 */ cpu->r[8] = cpu->r[1] + 0x00000040u;
|
|
/* 025776F8 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025776FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02577700 */ Gambit_fn_020022D4(cpu);
|
|
/* 02577704 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02577708 */ cpu->r[3] = cpu->r[29];
|
|
/* 0257770C */ cpu->r[4] = cpu->r[4] + 0x00006BDCu;
|
|
/* 02577710 */ Gambit_fn_02002684(cpu);
|
|
L_02577714: ; // 0x2577714
|
|
/* 02577714 */ /* nop */
|
|
/* 02577718 */ _t81 = cpu->r[1] + 0x00000174u;
|
|
/* 02577718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0257771C */ cpu->lr = cpu->r[0];
|
|
/* 02577720 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02577724 */ return;
|
|
}
|
|
|
|
// fn_02577728 @ 0x2577728
|
|
void Gambit_fn_02577728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02577728: ; // 0x2577728
|
|
/* 02577728 */ cpu->r[0] = cpu->lr;
|
|
/* 0257772C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0257772C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257772C */ cpu->r[1] = _t0;
|
|
/* 02577730 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577730 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577734 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577738 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02577738 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257773C */ _t4 = cpu->r[10] + 0x00000184u;
|
|
/* 0257773C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577740 */ cpu->ctr = cpu->r[0];
|
|
/* 02577744 */ cpu->r[31] = cpu->r[3];
|
|
/* 02577748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257774C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02577750 */ cpu->r[12] = cpu->r[12] + 0x00005DDCu;
|
|
/* 02577754 */ _t5 = cpu->r[12] + 0x00000018u;
|
|
/* 02577754 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02577758 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02577758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0257775C */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0257775C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02577760 */ _t8 = cpu->r[31] + 0x00000050u;
|
|
/* 02577760 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02577764 */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02577764 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02577768 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02577768 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0257776C */ _t11 = cpu->r[12] + 0x00000010u;
|
|
/* 0257776C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02577770 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02577770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02577774 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02577774 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02577778 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 02577778 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 0257777C */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 0257777C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02577780 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02577780 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 02577784 */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 02577784 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02577788 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02577788 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257778C */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0257778C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02577790 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 02577790 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02577794 */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 02577794 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02577798 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0257779C */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0257779C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 025777A0 */ _t23 = cpu->r[12] + 0x00006338u;
|
|
/* 025777A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025777A0 */ cpu->r[12] = _t23;
|
|
/* 025777A4 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 025777A4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 025777A8 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 025777A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025777AC */ _t26 = cpu->r[31] + 0x00000078u;
|
|
/* 025777AC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025777B0 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 025777B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025777B4 */ _t28 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025777B4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025777B8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 025777B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025777BC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025777BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025777C0 */ cpu->lr = cpu->r[0];
|
|
/* 025777C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025777C8 */ return;
|
|
}
|
|
|
|
// fn_0257772C @ 0x257772c
|
|
void Gambit_fn_0257772C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0257772C: ; // 0x257772c
|
|
/* 0257772C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0257772C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0257772C */ cpu->r[1] = _t0;
|
|
/* 02577730 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577730 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577734 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577738 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02577738 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0257773C */ _t4 = cpu->r[10] + 0x00000184u;
|
|
/* 0257773C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577740 */ cpu->ctr = cpu->r[0];
|
|
/* 02577744 */ cpu->r[31] = cpu->r[3];
|
|
/* 02577748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257774C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02577750 */ cpu->r[12] = cpu->r[12] + 0x00005DDCu;
|
|
/* 02577754 */ _t5 = cpu->r[12] + 0x00000018u;
|
|
/* 02577754 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02577758 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02577758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0257775C */ _t7 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0257775C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02577760 */ _t8 = cpu->r[31] + 0x00000050u;
|
|
/* 02577760 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02577764 */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02577764 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02577768 */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02577768 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 0257776C */ _t11 = cpu->r[12] + 0x00000010u;
|
|
/* 0257776C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02577770 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02577770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02577774 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02577774 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02577778 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 02577778 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 0257777C */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 0257777C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02577780 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02577780 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 02577784 */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 02577784 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02577788 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02577788 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0257778C */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0257778C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02577790 */ _t20 = cpu->r[31] + 0x00000070u;
|
|
/* 02577790 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02577794 */ _t21 = cpu->r[31] + 0x00000068u;
|
|
/* 02577794 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02577798 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0257779C */ _t22 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0257779C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 025777A0 */ _t23 = cpu->r[12] + 0x00006338u;
|
|
/* 025777A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 025777A0 */ cpu->r[12] = _t23;
|
|
/* 025777A4 */ _t24 = cpu->r[31] + 0x00000074u;
|
|
/* 025777A4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 025777A8 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 025777A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025777AC */ _t26 = cpu->r[31] + 0x00000078u;
|
|
/* 025777AC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 025777B0 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 025777B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025777B4 */ _t28 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025777B4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 025777B8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 025777B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025777BC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025777BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025777C0 */ cpu->lr = cpu->r[0];
|
|
/* 025777C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025777C8 */ return;
|
|
}
|
|
|
|
// fn_025777CC @ 0x25777cc
|
|
void Gambit_fn_025777CC(CPUState* cpu) {
|
|
uint32_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_025777CC: ; // 0x25777cc
|
|
/* 025777CC */ cpu->r[0] = cpu->lr;
|
|
/* 025777D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025777D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025777D0 */ cpu->r[1] = _t0;
|
|
/* 025777D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025777D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025777D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025777DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 025777DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025777E0 */ _t3 = cpu->r[31] + 0x000001D8u;
|
|
/* 025777E0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025777E4 */ /* nop */
|
|
/* 025777E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025777E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025777E8 */ if (_t5) goto L_02577844; else goto L_025777EC;
|
|
L_025777EC: ; // 0x25777ec
|
|
/* 025777EC */ cpu->r[3] = cpu->r[31];
|
|
/* 025777F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025777F4 */ Gambit_fn_0200300C(cpu);
|
|
/* 025777F8 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 025777F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025777FC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02577800 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02577804 */ _t7 = cpu->r[10] + 0x00006338u;
|
|
/* 02577804 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577804 */ cpu->r[10] = _t7;
|
|
/* 02577808 */ _t8 = cpu->r[11] + 0x0000016Cu;
|
|
/* 02577808 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0257780C */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 0257780C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577810 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02577810 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02577814 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577814 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02577818 */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 02577818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257781C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0257781C */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02577820 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02577824 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02577824 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02577828 */ Gambit_fn_02981CB0(cpu);
|
|
/* 0257782C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0257782C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02577830 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02577830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02577834 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577834 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02577838 */ _t18 = cpu->r[31] + 0x00000204u;
|
|
/* 02577838 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0257783C */ _t19 = cpu->r[31] + 0x00000208u;
|
|
/* 0257783C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02577840 */ _t20 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02577840 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
L_02577844: ; // 0x2577844
|
|
/* 02577844 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02577844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02577848 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257784C */ cpu->lr = cpu->r[0];
|
|
/* 02577850 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02577854 */ return;
|
|
}
|
|
|
|
// fn_025777D0 @ 0x25777d0
|
|
void Gambit_fn_025777D0(CPUState* cpu) {
|
|
uint32_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_025777D0: ; // 0x25777d0
|
|
/* 025777D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 025777D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025777D0 */ cpu->r[1] = _t0;
|
|
/* 025777D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025777D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025777D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025777DC */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 025777DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025777E0 */ _t3 = cpu->r[31] + 0x000001D8u;
|
|
/* 025777E0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025777E4 */ /* nop */
|
|
/* 025777E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025777E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025777E8 */ if (_t5) goto L_02577844; else goto L_025777EC;
|
|
L_025777EC: ; // 0x25777ec
|
|
/* 025777EC */ cpu->r[3] = cpu->r[31];
|
|
/* 025777F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025777F4 */ Gambit_fn_0200300C(cpu);
|
|
/* 025777F8 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 025777F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025777FC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02577800 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02577804 */ _t7 = cpu->r[10] + 0x00006338u;
|
|
/* 02577804 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577804 */ cpu->r[10] = _t7;
|
|
/* 02577808 */ _t8 = cpu->r[11] + 0x0000016Cu;
|
|
/* 02577808 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0257780C */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 0257780C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577810 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02577810 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02577814 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577814 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02577818 */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 02577818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0257781C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0257781C */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02577820 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02577824 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02577824 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02577828 */ Gambit_fn_02981CB0(cpu);
|
|
/* 0257782C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0257782C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02577830 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02577830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02577834 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577834 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02577838 */ _t18 = cpu->r[31] + 0x00000204u;
|
|
/* 02577838 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0257783C */ _t19 = cpu->r[31] + 0x00000208u;
|
|
/* 0257783C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02577840 */ _t20 = cpu->r[31] + 0x0000020Cu;
|
|
/* 02577840 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
L_02577844: ; // 0x2577844
|
|
/* 02577844 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02577844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02577848 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0257784C */ cpu->lr = cpu->r[0];
|
|
/* 02577850 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02577854 */ return;
|
|
}
|
|
|
|
// fn_02577858 @ 0x2577858
|
|
void Gambit_fn_02577858(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02575F00: ; // 0x2575f00
|
|
/* 02575F00 */ cpu->r[0] = cpu->lr;
|
|
/* 02575F04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575F04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575F04 */ cpu->r[1] = _t0;
|
|
/* 02575F08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02575F0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02575F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 02575F14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02575F18 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02575F18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02575F1C */ /* nop */
|
|
/* 02575F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02575F24 */ cpu->r[31] = cpu->r[4];
|
|
/* 02575F28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575F28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575F28 */ if (_t6) goto L_02575F2C; else goto L_02575F40;
|
|
L_02575F2C: ; // 0x2575f2c
|
|
/* 02575F2C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02575F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02575F30 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02575F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02575F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02575F38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575F40: ; // 0x2575f40
|
|
/* 02575F40 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02575F48 */ Gambit_fn_02575E78(cpu);
|
|
/* 02575F4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F50 */ /* nop */
|
|
/* 02575F54 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02575F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02575F5C */ Gambit_fn_02575CF8(cpu);
|
|
/* 02575F60 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02575F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02575F64 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02575F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575F68 */ cpu->lr = cpu->r[0];
|
|
/* 02575F6C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575F74 */ return;
|
|
L_02577858: ; // 0x2577858
|
|
/* 02577858 */ cpu->r[3] = cpu->r[3] + 0x000001CCu;
|
|
/* 0257785C */ cpu->r[4] = 0x00000001u;
|
|
/* 02577860 */ goto L_02575F00;
|
|
}
|
|
|
|
// fn_02577874 @ 0x2577874
|
|
void Gambit_fn_02577874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02577874: ; // 0x2577874
|
|
/* 02577874 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02577874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577874 */ cpu->r[1] = _t0;
|
|
/* 02577878 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02577878 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0257787C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257787C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02577880 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02577884 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02577884 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02577888 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02577888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0257788C */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 0257788C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577890 */ cpu->r[31] = cpu->r[3];
|
|
/* 02577894 */ cpu->r[3] = cpu->r[30];
|
|
/* 02577898 */ Gambit_fn_0261F774(cpu);
|
|
/* 0257789C */ cpu->r[4] = cpu->r[3];
|
|
/* 025778A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025778A4 */ Gambit_fn_0261F55C(cpu);
|
|
/* 025778A8 */ _t6 = cpu->r[3] + 0x00000220u;
|
|
/* 025778A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025778AC */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 025778AC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 025778B0 */ _t8 = cpu->r[3] + 0x00000224u;
|
|
/* 025778B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025778B4 */ _t9 = cpu->r[31] + 0x00000054u;
|
|
/* 025778B4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 025778B8 */ _t10 = cpu->r[3] + 0x00000228u;
|
|
/* 025778B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025778BC */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 025778BC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 025778C0 */ _t12 = cpu->r[3] + 0x0000022Cu;
|
|
/* 025778C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 025778C4 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025778C4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 025778C8 */ _t14 = cpu->r[3] + 0x00000230u;
|
|
/* 025778C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025778CC */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 025778CC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 025778D0 */ _t16 = cpu->r[3] + 0x00000234u;
|
|
/* 025778D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025778D4 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 025778D4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 025778D8 */ _t18 = cpu->r[3] + 0x00000238u;
|
|
/* 025778D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 025778DC */ _t19 = cpu->r[31] + 0x00000068u;
|
|
/* 025778DC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 025778E0 */ _t20 = cpu->r[3] + 0x0000023Cu;
|
|
/* 025778E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025778E4 */ _t21 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025778E4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 025778E8 */ _t22 = cpu->r[3] + 0x00000240u;
|
|
/* 025778E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 025778EC */ _t23 = cpu->r[31] + 0x00000070u;
|
|
/* 025778EC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 025778F0 */ _t24 = cpu->r[3] + 0x00000244u;
|
|
/* 025778F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 025778F4 */ _t25 = cpu->r[31] + 0x00000074u;
|
|
/* 025778F4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 025778F8 */ _t26 = cpu->r[3] + 0x00000248u;
|
|
/* 025778F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025778FC */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 025778FC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02577900 */ _t28 = cpu->r[3] + 0x0000024Cu;
|
|
/* 02577900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02577904 */ _t29 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02577904 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02577908 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02577908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0257790C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0257790C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02577910 */ cpu->lr = cpu->r[0];
|
|
/* 02577914 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02577918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257791C */ return;
|
|
}
|
|
|
|
// fn_02577920 @ 0x2577920
|
|
void Gambit_fn_02577920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577920: ; // 0x2577920
|
|
/* 02577920 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02577924 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02577928 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0257792C */ _t0 = cpu->r[11] + 0x00000170u;
|
|
/* 0257792C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02577930 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02577934 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02577938 */ cpu->r[10] = cpu->r[10] + 0x00006BDCu;
|
|
/* 0257793C */ cpu->r[11] = cpu->r[11] + 0x00000058u;
|
|
/* 02577940 */ _t1 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02577940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02577944 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02577948 */ cpu->r[0] = cpu->r[0] + 0x00000174u;
|
|
/* 0257794C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0257794C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02577950 */ cpu->r[12] = cpu->r[12] + 0xFFFFB40Cu;
|
|
/* 02577954 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 02577954 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02577958 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0257795C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0257795C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 02577960 */ cpu->r[9] = cpu->r[9] + 0xFFFFB41Cu;
|
|
/* 02577964 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02577964 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02577968 */ _t6 = cpu->r[9] + 0x00000004u;
|
|
/* 02577968 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 0257796C */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 0257796C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02577970 */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 02577970 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02577974 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02577978 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02577978 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 0257797C */ cpu->r[3] = cpu->r[3] + 0x00006BE8u;
|
|
/* 02577980 */ _t10 = cpu->r[9] + 0x00000008u;
|
|
/* 02577980 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02577984 */ goto L_02C83090;
|
|
L_02C83090: ; // 0x2c83090
|
|
/* 02C83090 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C83094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83098 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83098 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C83098 */ _t14 = _t13 ^ 0x00000001u;
|
|
/* 02C83098 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83098 */ goto L_02C8309C;
|
|
L_02C8309C: ; // 0x2c8309c
|
|
/* 02C8309C */ cpu->r[11] = 0x10250000u;
|
|
/* 02C830A0 */ _t15 = cpu->r[11] + 0xFFFFE70Cu;
|
|
/* 02C830A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C830A0 */ cpu->r[11] = _t15;
|
|
/* 02C830A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C830A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830A8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C830A8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C830A8 */ goto L_02C830AC;
|
|
L_02C830AC: ; // 0x2c830ac
|
|
/* 02C830AC */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02C830AC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02C830B0 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02C830B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C830B4 */ return;
|
|
}
|
|
|
|
// fn_02577988 @ 0x2577988
|
|
void Gambit_fn_02577988(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02577988: ; // 0x2577988
|
|
/* 02577988 */ cpu->r[6] = 0x02570000u;
|
|
/* 0257798C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02577990 */ cpu->r[7] = 0x00000000u;
|
|
/* 02577994 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02577998 */ cpu->r[4] = 0x00000001u;
|
|
/* 0257799C */ cpu->r[8] = cpu->r[7];
|
|
/* 025779A0 */ cpu->r[3] = cpu->r[3] + 0x00006BDCu;
|
|
/* 025779A4 */ cpu->r[6] = cpu->r[6] + 0x00007C28u;
|
|
/* 025779A8 */ 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_025779AC @ 0x25779ac
|
|
void Gambit_fn_025779AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025779AC: ; // 0x25779ac
|
|
/* 025779AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025779B0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025779B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025779B0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025779B0 */ goto L_025779B4;
|
|
L_025779B4: ; // 0x25779b4
|
|
/* 025779B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025779B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025779B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025779B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025779B8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025779B8 */ goto L_025779BC;
|
|
L_025779BC: ; // 0x25779bc
|
|
/* 025779BC */ 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_025779C0 @ 0x25779c0
|
|
void Gambit_fn_025779C0(CPUState* cpu) {
|
|
L_025779C0: ; // 0x25779c0
|
|
/* 025779C0 */ return;
|
|
}
|
|
|
|
// fn_025779C4 @ 0x25779c4
|
|
void Gambit_fn_025779C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025779C4: ; // 0x25779c4
|
|
/* 025779C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025779C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025779C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025779C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025779C8 */ goto L_025779CC;
|
|
L_025779CC: ; // 0x25779cc
|
|
/* 025779CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025779CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025779D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025779D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025779D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025779D0 */ goto L_025779D4;
|
|
L_025779D4: ; // 0x25779d4
|
|
/* 025779D4 */ 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_025779D8 @ 0x25779d8
|
|
void Gambit_fn_025779D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_025779D8: ; // 0x25779d8
|
|
/* 025779D8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 025779D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025779DC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 025779DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025779E0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 025779E4 */ cpu->r[11] = 0x10110000u;
|
|
/* 025779E8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 025779E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 025779EC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 025779EC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 025779F0 */ return;
|
|
}
|
|
|
|
// fn_025779F4 @ 0x25779f4
|
|
void Gambit_fn_025779F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025779F4: ; // 0x25779f4
|
|
/* 025779F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025779F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025779F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025779F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025779F8 */ goto L_025779FC;
|
|
L_025779FC: ; // 0x25779fc
|
|
/* 025779FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025779FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577A00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577A00 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A00 */ goto L_02577A04;
|
|
L_02577A04: ; // 0x2577a04
|
|
/* 02577A04 */ 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_02577A08 @ 0x2577a08
|
|
void Gambit_fn_02577A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577A08: ; // 0x2577a08
|
|
/* 02577A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577A0C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A0C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02577A0C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A0C */ goto L_02577A10;
|
|
L_02577A10: ; // 0x2577a10
|
|
/* 02577A10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577A14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577A14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A14 */ goto L_02577A18;
|
|
L_02577A18: ; // 0x2577a18
|
|
/* 02577A18 */ 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_02577A1C @ 0x2577a1c
|
|
void Gambit_fn_02577A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577A1C: ; // 0x2577a1c
|
|
/* 02577A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577A20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02577A20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A20 */ goto L_02577A24;
|
|
L_02577A24: ; // 0x2577a24
|
|
/* 02577A24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577A28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577A28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A28 */ goto L_02577A2C;
|
|
L_02577A2C: ; // 0x2577a2c
|
|
/* 02577A2C */ 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_02577A30 @ 0x2577a30
|
|
void Gambit_fn_02577A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02577A30: ; // 0x2577a30
|
|
/* 02577A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577A34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02577A34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A34 */ goto L_02577A38;
|
|
L_02577A38: ; // 0x2577a38
|
|
/* 02577A38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577A3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02577A3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577A3C */ goto L_02577A40;
|
|
L_02577A40: ; // 0x2577a40
|
|
/* 02577A40 */ 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_02577A44 @ 0x2577a44
|
|
void Gambit_fn_02577A44(CPUState* cpu) {
|
|
L_02577A44: ; // 0x2577a44
|
|
/* 02577A44 */ return;
|
|
}
|
|
|
|
// fn_02577A48 @ 0x2577a48
|
|
void Gambit_fn_02577A48(CPUState* cpu) {
|
|
L_02577A48: ; // 0x2577a48
|
|
/* 02577A48 */ return;
|
|
}
|
|
|
|
// fn_02577A4C @ 0x2577a4c
|
|
void Gambit_fn_02577A4C(CPUState* cpu) {
|
|
L_02577A4C: ; // 0x2577a4c
|
|
/* 02577A4C */ return;
|
|
}
|
|
|
|
// fn_02577A50 @ 0x2577a50
|
|
void Gambit_fn_02577A50(CPUState* cpu) {
|
|
L_02577A50: ; // 0x2577a50
|
|
/* 02577A50 */ return;
|
|
}
|
|
|
|
// fn_02577A54 @ 0x2577a54
|
|
void Gambit_fn_02577A54(CPUState* cpu) {
|
|
L_02577A54: ; // 0x2577a54
|
|
/* 02577A54 */ return;
|
|
}
|
|
|
|
// fn_02577A58 @ 0x2577a58
|
|
void Gambit_fn_02577A58(CPUState* cpu) {
|
|
L_02577A58: ; // 0x2577a58
|
|
/* 02577A58 */ return;
|
|
}
|
|
|
|
// fn_02577A5C @ 0x2577a5c
|
|
void Gambit_fn_02577A5C(CPUState* cpu) {
|
|
L_02577A5C: ; // 0x2577a5c
|
|
/* 02577A5C */ return;
|
|
}
|
|
|
|
// fn_02577A60 @ 0x2577a60
|
|
void Gambit_fn_02577A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02577A60: ; // 0x2577a60
|
|
/* 02577A60 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02577A60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577A68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A68 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577A68 */ if (_t2) goto L_02577A74; else goto L_02577A6C;
|
|
L_02577A6C: ; // 0x2577a6c
|
|
/* 02577A6C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02577A70 */ return;
|
|
L_02577A74: ; // 0x2577a74
|
|
/* 02577A74 */ cpu->r[3] = 0x00000000u;
|
|
/* 02577A78 */ return;
|
|
}
|
|
|
|
// fn_02577A7C @ 0x2577a7c
|
|
void Gambit_fn_02577A7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02577A7C: ; // 0x2577a7c
|
|
/* 02577A7C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02577A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577A84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577A84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577A84 */ if (_t2) goto L_02577A90; else goto L_02577A88;
|
|
L_02577A88: ; // 0x2577a88
|
|
/* 02577A88 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02577A8C */ return;
|
|
L_02577A90: ; // 0x2577a90
|
|
/* 02577A90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02577A94 */ return;
|
|
}
|
|
|
|
// fn_02577A98 @ 0x2577a98
|
|
void Gambit_fn_02577A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02577A98: ; // 0x2577a98
|
|
/* 02577A98 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577A9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577AA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577AA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577AA0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02577AA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577AA0 */ goto L_02577AA4;
|
|
L_02577AA4: ; // 0x2577aa4
|
|
/* 02577AA4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02577AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577AA8 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02577AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577AAC */ cpu->ctr = cpu->r[0];
|
|
/* 02577AB0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577AB4 @ 0x2577ab4
|
|
void Gambit_fn_02577AB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02577AB4: ; // 0x2577ab4
|
|
/* 02577AB4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577AB8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577ABC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577ABC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577ABC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02577ABC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577ABC */ goto L_02577AC0;
|
|
L_02577AC0: ; // 0x2577ac0
|
|
/* 02577AC0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02577AC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577AC4 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02577AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577AC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02577ACC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577AD0 @ 0x2577ad0
|
|
void Gambit_fn_02577AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02577AD0: ; // 0x2577ad0
|
|
/* 02577AD0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577AD4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02577AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577AD8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577AD8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577AD8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02577AD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02577AD8 */ goto L_02577ADC;
|
|
L_02577ADC: ; // 0x2577adc
|
|
/* 02577ADC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02577ADC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577AE0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02577AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577AE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02577AE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577AEC @ 0x2577aec
|
|
void Gambit_fn_02577AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02577AEC: ; // 0x2577aec
|
|
/* 02577AEC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02577AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577AF0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02577AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02577AF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02577AF8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577AFC @ 0x2577afc
|
|
void Gambit_fn_02577AFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02577AFC: ; // 0x2577afc
|
|
/* 02577AFC */ cpu->r[0] = cpu->lr;
|
|
/* 02577B00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02577B00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577B00 */ cpu->r[1] = _t0;
|
|
/* 02577B04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577B04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577B08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02577B0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577B0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577B10 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577B10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02577B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02577B18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577B18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02577B18 */ if (_t5) goto L_02577B1C; else goto L_02577B38;
|
|
L_02577B1C: ; // 0x2577b1c
|
|
/* 02577B1C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02577B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02577B20 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02577B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577B24 */ cpu->ctr = cpu->r[0];
|
|
/* 02577B28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02577B2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577B30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02577B34 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577B34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02577B38: ; // 0x2577b38
|
|
/* 02577B38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02577B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577B3C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02577B40 */ cpu->lr = cpu->r[0];
|
|
/* 02577B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02577B48 */ return;
|
|
}
|
|
|
|
// fn_02577B00 @ 0x2577b00
|
|
void Gambit_fn_02577B00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02577B00: ; // 0x2577b00
|
|
/* 02577B00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02577B00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577B00 */ cpu->r[1] = _t0;
|
|
/* 02577B04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577B04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577B08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02577B0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577B0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577B10 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577B10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02577B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02577B18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577B18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02577B18 */ if (_t5) goto L_02577B1C; else goto L_02577B38;
|
|
L_02577B1C: ; // 0x2577b1c
|
|
/* 02577B1C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02577B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02577B20 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02577B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577B24 */ cpu->ctr = cpu->r[0];
|
|
/* 02577B28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02577B2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577B30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02577B34 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577B34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02577B38: ; // 0x2577b38
|
|
/* 02577B38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02577B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577B3C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02577B40 */ cpu->lr = cpu->r[0];
|
|
/* 02577B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02577B48 */ return;
|
|
}
|
|
|
|
// fn_02577B4C @ 0x2577b4c
|
|
void Gambit_fn_02577B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02577B4C: ; // 0x2577b4c
|
|
/* 02577B4C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02577B4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577B50 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02577B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02577B54 */ cpu->ctr = cpu->r[0];
|
|
/* 02577B58 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577B5C @ 0x2577b5c
|
|
void Gambit_fn_02577B5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02577B5C: ; // 0x2577b5c
|
|
/* 02577B5C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02577B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577B60 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02577B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02577B64 */ cpu->ctr = cpu->r[0];
|
|
/* 02577B68 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577B6C @ 0x2577b6c
|
|
void Gambit_fn_02577B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02577B6C: ; // 0x2577b6c
|
|
/* 02577B6C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02577B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577B70 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02577B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02577B74 */ cpu->ctr = cpu->r[0];
|
|
/* 02577B78 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02577B7C @ 0x2577b7c
|
|
void Gambit_fn_02577B7C(CPUState* cpu) {
|
|
L_02577B7C: ; // 0x2577b7c
|
|
/* 02577B7C */ cpu->r[3] = 0x00000001u;
|
|
/* 02577B80 */ return;
|
|
}
|
|
|
|
// fn_02577B84 @ 0x2577b84
|
|
void Gambit_fn_02577B84(CPUState* cpu) {
|
|
L_02577B84: ; // 0x2577b84
|
|
/* 02577B84 */ return;
|
|
}
|
|
|
|
// fn_02577B88 @ 0x2577b88
|
|
void Gambit_fn_02577B88(CPUState* cpu) {
|
|
L_02577B88: ; // 0x2577b88
|
|
/* 02577B88 */ return;
|
|
}
|
|
|
|
// fn_02577B8C @ 0x2577b8c
|
|
void Gambit_fn_02577B8C(CPUState* cpu) {
|
|
L_02577B8C: ; // 0x2577b8c
|
|
/* 02577B8C */ return;
|
|
}
|
|
|
|
// fn_02577B90 @ 0x2577b90
|
|
void Gambit_fn_02577B90(CPUState* cpu) {
|
|
L_02577B90: ; // 0x2577b90
|
|
/* 02577B90 */ return;
|
|
}
|
|
|
|
// fn_02577B94 @ 0x2577b94
|
|
void Gambit_fn_02577B94(CPUState* cpu) {
|
|
L_02577B94: ; // 0x2577b94
|
|
/* 02577B94 */ return;
|
|
}
|
|
|
|
// fn_02577B98 @ 0x2577b98
|
|
void Gambit_fn_02577B98(CPUState* cpu) {
|
|
L_02577B98: ; // 0x2577b98
|
|
/* 02577B98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02577B9C */ return;
|
|
}
|
|
|
|
// fn_02577BA0 @ 0x2577ba0
|
|
void Gambit_fn_02577BA0(CPUState* cpu) {
|
|
L_02577BA0: ; // 0x2577ba0
|
|
/* 02577BA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02577BA4 */ return;
|
|
}
|
|
|
|
// fn_02577BA8 @ 0x2577ba8
|
|
void Gambit_fn_02577BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02577BA8: ; // 0x2577ba8
|
|
/* 02577BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02577BAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02577BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577BAC */ cpu->r[1] = _t0;
|
|
/* 02577BB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02577BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577BB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577BB8 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02577BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02577BBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02577BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02577BC4 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02577BC8 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577BD0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02577BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02577BD4 */ if (_t6) goto L_02577BE0; else goto L_02577BD8;
|
|
L_02577BD8: ; // 0x2577bd8
|
|
/* 02577BD8 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02577BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577BDC */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02577BDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02577BE0: ; // 0x2577be0
|
|
/* 02577BE0 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02577BE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577BE4 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02577BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02577BE8 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02577BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02577BEC */ cpu->ctr = cpu->r[0];
|
|
/* 02577BF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02577BF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577BF8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02577BFC */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02577BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02577C00 */ cpu->ctr = cpu->r[0];
|
|
/* 02577C04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02577C08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577C0C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02577C10 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02577C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02577C14 */ cpu->lr = cpu->r[0];
|
|
/* 02577C18 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02577C18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02577C1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02577C20 */ return;
|
|
}
|
|
|
|
// fn_02577BAC @ 0x2577bac
|
|
void Gambit_fn_02577BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02577BAC: ; // 0x2577bac
|
|
/* 02577BAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02577BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577BAC */ cpu->r[1] = _t0;
|
|
/* 02577BB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02577BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577BB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577BB8 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02577BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02577BBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02577BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02577BC4 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02577BC8 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02577BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02577BD0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02577BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02577BD4 */ if (_t6) goto L_02577BE0; else goto L_02577BD8;
|
|
L_02577BD8: ; // 0x2577bd8
|
|
/* 02577BD8 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02577BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577BDC */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02577BDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_02577BE0: ; // 0x2577be0
|
|
/* 02577BE0 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02577BE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577BE4 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 02577BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02577BE8 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02577BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02577BEC */ cpu->ctr = cpu->r[0];
|
|
/* 02577BF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02577BF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577BF8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02577BFC */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02577BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02577C00 */ cpu->ctr = cpu->r[0];
|
|
/* 02577C04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02577C08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577C0C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02577C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02577C10 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02577C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02577C14 */ cpu->lr = cpu->r[0];
|
|
/* 02577C18 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02577C18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02577C1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02577C20 */ return;
|
|
}
|
|
|
|
// fn_02577C24 @ 0x2577c24
|
|
void Gambit_fn_02577C24(CPUState* cpu) {
|
|
L_02577C24: ; // 0x2577c24
|
|
/* 02577C24 */ return;
|
|
}
|
|
|
|
// fn_02577C3C @ 0x2577c3c
|
|
void Gambit_fn_02577C3C(CPUState* cpu) {
|
|
L_02577C3C: ; // 0x2577c3c
|
|
/* 02577C3C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02577C40 */ cpu->r[3] = cpu->r[3] + 0x00000118u;
|
|
/* 02577C44 */ return;
|
|
}
|
|
|
|
// fn_02577C48 @ 0x2577c48
|
|
void Gambit_fn_02577C48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02577C48: ; // 0x2577c48
|
|
/* 02577C48 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02577C4C */ _t0 = cpu->r[9] + 0x00000ABCu;
|
|
/* 02577C4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02577C50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02577C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02577C58 */ cpu->r[11] = cpu->r[11] + 0x00000AC4u;
|
|
/* 02577C5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577C5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02577C5C */ if (_t2) goto L_02577C60; else goto L_02577C78;
|
|
L_02577C60: ; // 0x2577c60
|
|
/* 02577C60 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02577C64 */ cpu->r[0] = 0x00000001u;
|
|
/* 02577C68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02577C6C */ cpu->r[9] = cpu->r[9] + 0x00000108u;
|
|
/* 02577C70 */ _t3 = cpu->r[12] + 0x00000ABCu;
|
|
/* 02577C70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02577C74 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02577C74 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02577C78: ; // 0x2577c78
|
|
/* 02577C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02577C7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577C7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02577C7C */ if (_t6) goto L_02577C80; else goto L_02577C88;
|
|
L_02577C80: ; // 0x2577c80
|
|
/* 02577C80 */ cpu->r[3] = 0x00000001u;
|
|
/* 02577C84 */ return;
|
|
L_02577C88: ; // 0x2577c88
|
|
/* 02577C88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02577C8C */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02577C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577C94 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02577C98 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 02577C9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577C9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02577C9C */ if (_t9) goto L_02577CA0; else goto L_02577CB8;
|
|
L_02577CA0: ; // 0x2577ca0
|
|
/* 02577CA0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02577CA4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02577CA8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02577CAC */ cpu->r[11] = cpu->r[11] + 0x000000F8u;
|
|
/* 02577CB0 */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 02577CB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02577CB4 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02577CB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02577CB8: ; // 0x2577cb8
|
|
/* 02577CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02577CBC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577CBC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02577CBC */ if (_t13) goto L_02577CC0; else goto L_02577CC8;
|
|
L_02577CC0: ; // 0x2577cc0
|
|
/* 02577CC0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02577CC4 */ goto L_02577D3C;
|
|
L_02577CC8: ; // 0x2577cc8
|
|
/* 02577CC8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02577CCC */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02577CCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02577CCC */ cpu->r[10] = _t14;
|
|
/* 02577CD0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02577CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577CD8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02577CDC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577CDC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02577CDC */ if (_t16) goto L_02577CE0; else goto L_02577CF4;
|
|
L_02577CE0: ; // 0x2577ce0
|
|
/* 02577CE0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02577CE4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02577CE8 */ cpu->r[9] = cpu->r[9] + 0x000000E8u;
|
|
/* 02577CEC */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02577CEC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02577CF0 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02577CF0 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02577CF4: ; // 0x2577cf4
|
|
/* 02577CF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02577CF8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577CF8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02577CF8 */ if (_t20) goto L_02577CFC; else goto L_02577D04;
|
|
L_02577CFC: ; // 0x2577cfc
|
|
/* 02577CFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02577D00 */ goto L_02577D3C;
|
|
L_02577D04: ; // 0x2577d04
|
|
/* 02577D04 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02577D08 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02577D08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02577D08 */ cpu->r[9] = _t21;
|
|
/* 02577D0C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02577D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02577D14 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02577D18 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577D18 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02577D18 */ if (_t23) goto L_02577D1C; else goto L_02577D30;
|
|
L_02577D1C: ; // 0x2577d1c
|
|
/* 02577D1C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02577D20 */ cpu->r[11] = 0x00000001u;
|
|
/* 02577D24 */ cpu->r[0] = cpu->r[0] + 0x00000048u;
|
|
/* 02577D28 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02577D28 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02577D2C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02577D2C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02577D30: ; // 0x2577d30
|
|
/* 02577D30 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02577D34 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02577D38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02577D3C: ; // 0x2577d3c
|
|
/* 02577D3C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02577D40 */ return;
|
|
}
|
|
|
|
// fn_02577D44 @ 0x2577d44
|
|
void Gambit_fn_02577D44(CPUState* cpu) {
|
|
L_02577D44: ; // 0x2577d44
|
|
/* 02577D44 */ return;
|
|
}
|
|
|
|
// fn_02577D48 @ 0x2577d48
|
|
void Gambit_fn_02577D48(CPUState* cpu) {
|
|
L_02577D48: ; // 0x2577d48
|
|
/* 02577D48 */ return;
|
|
}
|
|
|
|
// fn_02577D4C @ 0x2577d4c
|
|
void Gambit_fn_02577D4C(CPUState* cpu) {
|
|
L_02577D4C: ; // 0x2577d4c
|
|
/* 02577D4C */ return;
|
|
}
|
|
|
|
// fn_02577D58 @ 0x2577d58
|
|
void Gambit_fn_02577D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02575E08: ; // 0x2575e08
|
|
/* 02575E08 */ cpu->r[0] = cpu->lr;
|
|
/* 02575E0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02575E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02575E0C */ cpu->r[1] = _t0;
|
|
/* 02575E10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02575E14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02575E18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02575E1C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02575E1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02575E20 */ cpu->r[12] = 0x00000000u;
|
|
/* 02575E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02575E28 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02575E28 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02575E2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02575E2C */ if (_t6) goto L_02575E54; else goto L_02575E30;
|
|
L_02575E30: ; // 0x2575e30
|
|
/* 02575E30 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02575E30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02575E34 */ /* nop */
|
|
/* 02575E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02575E3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02575E3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02575E3C */ if (_t9) goto L_02575E40; else goto L_02575E54;
|
|
L_02575E40: ; // 0x2575e40
|
|
/* 02575E40 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02575E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02575E44 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02575E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02575E48 */ cpu->ctr = cpu->r[0];
|
|
/* 02575E4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02575E54: ; // 0x2575e54
|
|
/* 02575E54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E58 */ Gambit_fn_02575D80(cpu);
|
|
/* 02575E5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02575E60 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02575E64 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02575E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02575E68 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02575E68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02575E6C */ cpu->lr = cpu->r[0];
|
|
/* 02575E70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02575E74 */ return;
|
|
L_02577D58: ; // 0x2577d58
|
|
/* 02577D58 */ cpu->r[3] = cpu->r[3] + 0x000001CCu;
|
|
/* 02577D5C */ goto L_02575E08;
|
|
}
|
|
|
|
// fn_02577D60 @ 0x2577d60
|
|
void Gambit_fn_02577D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02577D60: ; // 0x2577d60
|
|
/* 02577D60 */ cpu->r[0] = cpu->lr;
|
|
/* 02577D64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02577D64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577D64 */ cpu->r[1] = _t0;
|
|
/* 02577D68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577D68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577D6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02577D70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577D70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577D74 */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02577D74 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02577D78 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02577D7C */ /* nop */
|
|
/* 02577D80 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02577D84 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02577D88 */ Gambit_fn_02575CF8(cpu);
|
|
/* 02577D8C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02577D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577D90 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577D94 */ cpu->lr = cpu->r[0];
|
|
/* 02577D98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02577D9C */ return;
|
|
}
|
|
|
|
// fn_02577D64 @ 0x2577d64
|
|
void Gambit_fn_02577D64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02577D64: ; // 0x2577d64
|
|
/* 02577D64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02577D64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577D64 */ cpu->r[1] = _t0;
|
|
/* 02577D68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577D68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02577D6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02577D70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02577D70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02577D74 */ _t3 = cpu->r[31] + 0x000001DAu;
|
|
/* 02577D74 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02577D78 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02577D7C */ /* nop */
|
|
/* 02577D80 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02577D84 */ cpu->r[3] = cpu->r[31] + 0x000001CCu;
|
|
/* 02577D88 */ Gambit_fn_02575CF8(cpu);
|
|
/* 02577D8C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02577D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02577D90 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02577D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02577D94 */ cpu->lr = cpu->r[0];
|
|
/* 02577D98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02577D9C */ return;
|
|
}
|
|
|
|
// fn_02577DA0 @ 0x2577da0
|
|
void Gambit_fn_02577DA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02577DA0: ; // 0x2577da0
|
|
/* 02577DA0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02577DA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02577DA0 */ cpu->r[1] = _t0;
|
|
/* 02577DA4 */ /* nop */
|
|
/* 02577DA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02577DAC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02577DAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02577DB0 */ cpu->r[29] = cpu->r[6];
|
|
/* 02577DB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02577DB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02577DBC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02577DBC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02577DC0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02577DC4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02577DC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02577DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577DCC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02577DCC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02577DD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577DD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02577DD0 */ if (_t6) goto L_02577E14; else goto L_02577DD4;
|
|
L_02577DD4: ; // 0x2577dd4
|
|
/* 02577DD4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02577DD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02577DD8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02577DDC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577DDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02577DE0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02577DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02577DE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02577DE8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02577DEC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02577DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577DF8 */ cpu->r[0] = cpu->r[27];
|
|
/* 02577DFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577DFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02577DFC */ if (_t11) goto L_02577E04; else goto L_02577E00;
|
|
L_02577E00: ; // 0x2577e00
|
|
/* 02577E00 */ cpu->r[0] = 0x00000001u;
|
|
L_02577E04: ; // 0x2577e04
|
|
/* 02577E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577E08 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577E08 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02577E08 */ if (_t13) goto L_02577E14; else goto L_02577E0C;
|
|
L_02577E0C: ; // 0x2577e0c
|
|
/* 02577E0C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02577E0C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02577E10 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02577E10 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02577E14: ; // 0x2577e14
|
|
/* 02577E14 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02577E14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02577E18 */ cpu->r[0] = 0x00000000u;
|
|
/* 02577E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02577E20 */ cpu->r[12] = cpu->r[0];
|
|
/* 02577E24 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577E24 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02577E24 */ if (_t18) goto L_02577E28; else goto L_02577E4C;
|
|
L_02577E28: ; // 0x2577e28
|
|
/* 02577E28 */ cpu->ctr = cpu->r[7];
|
|
/* 02577E2C */ cpu->r[10] = 0x00000000u;
|
|
L_02577E30: ; // 0x2577e30
|
|
/* 02577E30 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02577E30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02577E34 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02577E34 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02577E38 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02577E3C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02577E3C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02577E40 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02577E44 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02577E44 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02577E48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02577E48 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02577E48 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02577E48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02577E48 */ if (_t25) goto L_02577E30; else goto L_02577E4C;
|
|
L_02577E4C: ; // 0x2577e4c
|
|
/* 02577E4C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02577E4C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02577E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577E54 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577E54 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02577E54 */ if (_t28) goto L_02577E98; else goto L_02577E58;
|
|
L_02577E58: ; // 0x2577e58
|
|
/* 02577E58 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02577E58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02577E5C */ Gambit_fn_02826F20(cpu);
|
|
/* 02577E60 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02577E64 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02577E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02577E68 */ cpu->ctr = cpu->r[0];
|
|
/* 02577E6C */ cpu->r[5] = 0x00000004u;
|
|
/* 02577E70 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02577E74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577E7C */ cpu->r[11] = cpu->r[27];
|
|
/* 02577E80 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577E80 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02577E80 */ if (_t33) goto L_02577E88; else goto L_02577E84;
|
|
L_02577E84: ; // 0x2577e84
|
|
/* 02577E84 */ cpu->r[11] = 0x00000001u;
|
|
L_02577E88: ; // 0x2577e88
|
|
/* 02577E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577E8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577E8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02577E8C */ if (_t35) goto L_02577E98; else goto L_02577E90;
|
|
L_02577E90: ; // 0x2577e90
|
|
/* 02577E90 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02577E90 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02577E94 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02577E94 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02577E98: ; // 0x2577e98
|
|
/* 02577E98 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02577E98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02577E9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02577EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02577EA4 */ cpu->r[12] = cpu->r[0];
|
|
/* 02577EA8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577EA8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02577EA8 */ if (_t40) goto L_02577EAC; else goto L_02577ED0;
|
|
L_02577EAC: ; // 0x2577eac
|
|
/* 02577EAC */ cpu->ctr = cpu->r[6];
|
|
/* 02577EB0 */ cpu->r[9] = 0x00000000u;
|
|
L_02577EB4: ; // 0x2577eb4
|
|
/* 02577EB4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02577EB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02577EB8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02577EB8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02577EBC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02577EC0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02577EC0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02577EC4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02577EC8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02577EC8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02577ECC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02577ECC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02577ECC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02577ECC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02577ECC */ if (_t47) goto L_02577EB4; else goto L_02577ED0;
|
|
L_02577ED0: ; // 0x2577ed0
|
|
/* 02577ED0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02577ED0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02577ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577ED8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577ED8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02577ED8 */ if (_t50) goto L_02577F1C; else goto L_02577EDC;
|
|
L_02577EDC: ; // 0x2577edc
|
|
/* 02577EDC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02577EDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02577EE0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02577EE4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577EE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02577EE8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02577EE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02577EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02577EF0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02577EF4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02577EF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577F00 */ cpu->r[10] = cpu->r[27];
|
|
/* 02577F04 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577F04 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02577F04 */ if (_t55) goto L_02577F0C; else goto L_02577F08;
|
|
L_02577F08: ; // 0x2577f08
|
|
/* 02577F08 */ cpu->r[10] = 0x00000001u;
|
|
L_02577F0C: ; // 0x2577f0c
|
|
/* 02577F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02577F10 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577F10 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02577F10 */ if (_t57) goto L_02577F1C; else goto L_02577F14;
|
|
L_02577F14: ; // 0x2577f14
|
|
/* 02577F14 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02577F14 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02577F18 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02577F18 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02577F1C: ; // 0x2577f1c
|
|
/* 02577F1C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02577F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02577F20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02577F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02577F28 */ cpu->r[5] = cpu->r[0];
|
|
/* 02577F2C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577F2C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02577F2C */ if (_t62) goto L_02577F30; else goto L_02577F54;
|
|
L_02577F30: ; // 0x2577f30
|
|
/* 02577F30 */ cpu->ctr = cpu->r[12];
|
|
/* 02577F34 */ cpu->r[8] = 0x00000000u;
|
|
L_02577F38: ; // 0x2577f38
|
|
/* 02577F38 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02577F38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02577F3C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02577F3C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02577F40 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02577F44 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02577F44 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02577F48 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02577F4C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02577F4C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02577F50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02577F50 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02577F50 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02577F50 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02577F50 */ if (_t69) goto L_02577F38; else goto L_02577F54;
|
|
L_02577F54: ; // 0x2577f54
|
|
/* 02577F54 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02577F54 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02577F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02577F5C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577F5C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02577F5C */ if (_t72) goto L_02578038; else goto L_02577F60;
|
|
L_02577F60: ; // 0x2577f60
|
|
/* 02577F60 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02577F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02577F64 */ Gambit_fn_02826F20(cpu);
|
|
/* 02577F68 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02577F68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02577F6C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02577F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02577F70 */ cpu->ctr = cpu->r[12];
|
|
/* 02577F74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02577F78 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02577F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02577F80 */ cpu->r[24] = cpu->r[3];
|
|
/* 02577F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02577F88 */ cpu->r[30] = cpu->r[25];
|
|
/* 02577F8C */ cpu->r[7] = 0x00000000u;
|
|
/* 02577F90 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02577F90 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02577F90 */ if (_t77) goto L_02577F98; else goto L_02577F94;
|
|
L_02577F94: ; // 0x2577f94
|
|
/* 02577F94 */ cpu->r[30] = 0x00000001u;
|
|
L_02577F98: ; // 0x2577f98
|
|
/* 02577F98 */ cpu->r[31] = 0x10110000u;
|
|
/* 02577F9C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02577FA0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02577FA0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02577FA4 */ cpu->r[23] = 0x00000018u;
|
|
L_02577FA8: ; // 0x2577fa8
|
|
/* 02577FA8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02577FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02577FAC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577FAC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02577FAC */ if (_t80) goto L_0257801C; else goto L_02577FB0;
|
|
L_02577FB0: ; // 0x2577fb0
|
|
/* 02577FB0 */ cpu->r[26] = cpu->r[27];
|
|
/* 02577FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02577FB4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577FB4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02577FB4 */ if (_t82) goto L_02577FB8; else goto L_02577FC8;
|
|
L_02577FB8: ; // 0x2577fb8
|
|
/* 02577FB8 */ cpu->r[3] = 0x00000024u;
|
|
/* 02577FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02577FC0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02577FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02577FC4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577FC4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02577FC4 */ if (_t84) goto L_02578010; else goto L_02577FC8;
|
|
L_02577FC8: ; // 0x2577fc8
|
|
/* 02577FC8 */ cpu->r[11] = cpu->r[26];
|
|
/* 02577FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02577FCC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577FCC */ _t86 = _t85 & 0x00000001u;
|
|
/* 02577FCC */ if (_t86) goto L_02577FD0; else goto L_02577FE0;
|
|
L_02577FD0: ; // 0x2577fd0
|
|
/* 02577FD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02577FD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02577FD8 */ cpu->r[11] = cpu->r[3];
|
|
/* 02577FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02577FDC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02577FDC */ _t88 = _t87 & 0x00000001u;
|
|
/* 02577FDC */ if (_t88) goto L_02577FFC; else goto L_02577FE0;
|
|
L_02577FE0: ; // 0x2577fe0
|
|
/* 02577FE0 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02577FE4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02577FE4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02577FE8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02577FEC */ cpu->r[5] = cpu->r[5] + 0x00000070u;
|
|
/* 02577FF0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02577FF0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02577FF4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02577FF4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02577FF8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02577FF8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02577FFC: ; // 0x2577ffc
|
|
/* 02577FFC */ cpu->r[6] = 0x100D0000u;
|
|
/* 02578000 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02578000 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02578004 */ cpu->r[6] = cpu->r[6] + 0x000000B8u;
|
|
/* 02578008 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02578008 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0257800C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0257800C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02578010: ; // 0x2578010
|
|
/* 02578010 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02578014 */ cpu->r[0] = cpu->r[0] + 0x000000D0u;
|
|
/* 02578018 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02578018 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0257801C: ; // 0x257801c
|
|
/* 0257801C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0257801C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02578020 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02578024 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578024 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02578024 */ if (_t98) goto L_02578028; else goto L_02577FA8;
|
|
L_02578028: ; // 0x2578028
|
|
/* 02578028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0257802C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257802C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0257802C */ if (_t100) goto L_02578038; else goto L_02578030;
|
|
L_02578030: ; // 0x2578030
|
|
/* 02578030 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02578030 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02578034 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02578034 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02578038: ; // 0x2578038
|
|
/* 02578038 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02578038 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0257803C */ /* nop */
|
|
/* 02578040 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02578040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02578044 */ cpu->lr = cpu->r[0];
|
|
/* 02578048 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0257804C */ return;
|
|
}
|
|
|
|
// fn_02578050 @ 0x2578050
|
|
void Gambit_fn_02578050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02578050: ; // 0x2578050
|
|
/* 02578050 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02578050 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02578054 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02578054 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02578058 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02578058 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0257805C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02578060 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02578060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02578064 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578064 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02578064 */ if (_t5) goto L_02578068; else goto L_02578070;
|
|
L_02578068: ; // 0x2578068
|
|
/* 02578068 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0257806C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02578070: ; // 0x2578070
|
|
/* 02578070 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02578070 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02578074 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02578074 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02578078 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02578078 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0257807C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0257807C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02578080 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02578080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02578084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02578088 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02578088 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257808C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0257808C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0257808C */ if (_t13) goto L_02578090; else goto L_02578098;
|
|
L_02578090: ; // 0x2578090
|
|
/* 02578090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02578094 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02578098: ; // 0x2578098
|
|
/* 02578098 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02578098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0257809C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0257809C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025780A0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 025780A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025780A4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 025780A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 025780A8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 025780A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025780AC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 025780AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 025780B0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 025780B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025780B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 025780B8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 025780B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025780BC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025780BC */ _t23 = _t22 & 0x00000001u;
|
|
/* 025780BC */ if (_t23) goto L_025780C0; else goto L_025780C8;
|
|
L_025780C0: ; // 0x25780c0
|
|
/* 025780C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025780C4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_025780C8: ; // 0x25780c8
|
|
/* 025780C8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 025780C8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 025780CC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 025780CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025780D0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 025780D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 025780D4 */ return;
|
|
}
|
|
|
|
// fn_025780D8 @ 0x25780d8
|
|
void Gambit_fn_025780D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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;
|
|
|
|
L_025780D8: ; // 0x25780d8
|
|
/* 025780D8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 025780D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025780D8 */ cpu->r[1] = _t0;
|
|
/* 025780DC */ cpu->r[0] = cpu->lr;
|
|
/* 025780E0 */ /* nop */
|
|
/* 025780E4 */ cpu->r[27] = cpu->r[3];
|
|
/* 025780E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025780E8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 025780E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 025780EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025780EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025780EC */ if (_t3) goto L_025780F0; else goto L_02578100;
|
|
L_025780F0: ; // 0x25780f0
|
|
/* 025780F0 */ cpu->r[3] = 0x00000644u;
|
|
/* 025780F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025780F8 */ cpu->r[27] = cpu->r[3];
|
|
/* 025780F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025780FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025780FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 025780FC */ if (_t5) goto L_02578F94; else goto L_02578100;
|
|
L_02578100: ; // 0x2578100
|
|
/* 02578100 */ cpu->r[3] = cpu->r[27];
|
|
/* 02578104 */ Gambit_fn_023B3EE0(cpu);
|
|
/* 02578108 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0257810C */ cpu->r[10] = 0x00000001u;
|
|
/* 02578110 */ cpu->r[9] = cpu->r[9] + 0x000006E8u;
|
|
/* 02578114 */ _t6 = cpu->r[27] + 0x00000271u;
|
|
/* 02578114 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 02578118 */ cpu->r[26] = 0x00000000u;
|
|
/* 0257811C */ _t7 = cpu->r[27] + 0x00000004u;
|
|
/* 0257811C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02578120 */ _t8 = cpu->r[27] + 0x0000024Cu;
|
|
/* 02578120 */ rbrew_write32(cpu->mem, _t8, cpu->r[26]);
|
|
/* 02578124 */ _t9 = cpu->r[27] + 0x00000258u;
|
|
/* 02578124 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[26]);
|
|
/* 02578128 */ _t10 = cpu->r[27] + 0x0000025Cu;
|
|
/* 02578128 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 0257812C */ _t11 = cpu->r[27] + 0x00000270u;
|
|
/* 0257812C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[26]);
|
|
/* 02578130 */ _t12 = cpu->r[27] + 0x00000260u;
|
|
/* 02578130 */ rbrew_write32(cpu->mem, _t12, cpu->r[26]);
|
|
/* 02578134 */ _t13 = cpu->r[27] + 0x00000254u;
|
|
/* 02578134 */ rbrew_write32(cpu->mem, _t13, cpu->r[26]);
|
|
/* 02578138 */ _t14 = cpu->r[27] + 0x0000026Cu;
|
|
/* 02578138 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]);
|
|
/* 0257813C */ _t15 = cpu->r[27] + 0x00000264u;
|
|
/* 0257813C */ rbrew_write32(cpu->mem, _t15, cpu->r[26]);
|
|
/* 02578140 */ _t16 = cpu->r[27] + 0x00000259u;
|
|
/* 02578140 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[26]);
|
|
/* 02578144 */ _t17 = cpu->r[27] + 0x00000248u;
|
|
/* 02578144 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 02578148 */ _t18 = cpu->r[27] + 0x00000268u;
|
|
/* 02578148 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[26]);
|
|
/* 0257814C */ cpu->r[31] = cpu->r[27] + 0x00000274u;
|
|
/* 0257814C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02578150 */ _t19 = cpu->r[27] + 0x00000250u;
|
|
/* 02578150 */ rbrew_write32(cpu->mem, _t19, cpu->r[26]);
|
|
/* 02578154 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578154 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02578154 */ if (_t21) goto L_02578158; else goto L_02578168;
|
|
L_02578158: ; // 0x2578158
|
|
/* 02578158 */ cpu->r[3] = 0x00000038u;
|
|
/* 0257815C */ Gambit_fn_02801A78(cpu);
|
|
/* 02578160 */ cpu->r[31] = cpu->r[3];
|
|
/* 02578160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02578164 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578164 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02578164 */ if (_t23) goto L_02578198; else goto L_02578168;
|
|
L_02578168: ; // 0x2578168
|
|
/* 02578168 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257816C */ Gambit_fn_027FC29C(cpu);
|
|
/* 02578170 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02578174 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02578174 */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 02578178 */ cpu->r[5] = cpu->r[5] + 0x00000818u;
|
|
/* 0257817C */ _t25 = cpu->r[31] + 0x00000034u;
|
|
/* 0257817C */ rbrew_write32(cpu->mem, _t25, cpu->r[26]);
|
|
/* 02578180 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02578180 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 02578184 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02578184 */ rbrew_write32(cpu->mem, _t27, cpu->r[26]);
|
|
/* 02578188 */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02578188 */ rbrew_write32(cpu->mem, _t28, cpu->r[26]);
|
|
/* 0257818C */ _t29 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0257818C */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
|
|
/* 02578190 */ _t30 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02578190 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 02578194 */ _t31 = cpu->r[31] + 0x00000020u;
|
|
/* 02578194 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
L_02578198: ; // 0x2578198
|
|
/* 02578198 */ _t32 = cpu->r[27] + 0x000002CCu;
|
|
/* 02578198 */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
/* 0257819C */ cpu->r[11] = 0x100D0000u;
|
|
/* 025781A0 */ _t33 = cpu->r[27] + 0x000002C8u;
|
|
/* 025781A0 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[26]);
|
|
/* 025781A4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 025781A8 */ _t34 = cpu->r[11] + 0x000004F8u;
|
|
/* 025781A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 025781AC */ _t35 = cpu->r[27] + 0x000002C4u;
|
|
/* 025781AC */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
|
|
/* 025781B0 */ _t36 = cpu->r[27] + 0x000002ACu;
|
|
/* 025781B0 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[26]);
|
|
/* 025781B4 */ _t37 = cpu->r[27] + 0x000002B0u;
|
|
/* 025781B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 025781B8 */ _t38 = cpu->r[27] + 0x000002ADu;
|
|
/* 025781B8 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[26]);
|
|
/* 025781BC */ cpu->r[0] = 0x00000003u;
|
|
/* 025781C0 */ _t39 = cpu->r[27] + 0x000002B4u;
|
|
/* 025781C0 */ rbrew_write32(cpu->mem, _t39, cpu->r[26]);
|
|
/* 025781C4 */ _t40 = cpu->r[27] + 0x000002BCu;
|
|
/* 025781C4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 025781C8 */ _t41 = cpu->r[27] + 0x000002B8u;
|
|
/* 025781C8 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 025781CC */ cpu->r[3] = cpu->r[27] + 0x000002D0u;
|
|
/* 025781D0 */ _t42 = cpu->r[27] + 0x000002C0u;
|
|
/* 025781D0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 025781D4 */ Gambit_fn_02800E08(cpu);
|
|
/* 025781D8 */ cpu->r[0] = 0x0000000Du;
|
|
/* 025781DC */ _t43 = cpu->r[27] + 0x00000641u;
|
|
/* 025781DC */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[26]);
|
|
/* 025781E0 */ cpu->r[4] = cpu->r[27];
|
|
/* 025781E4 */ _t44 = cpu->r[27] + 0x00000640u;
|
|
/* 025781E4 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[26]);
|
|
/* 025781E8 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 025781EC */ _t45 = cpu->r[27] + 0x0000063Cu;
|
|
/* 025781EC */ rbrew_write32(cpu->mem, _t45, cpu->r[26]);
|
|
/* 025781F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025781F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025781F8 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 025781F8 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 025781FC */ Gambit_fn_0257C5D4(cpu);
|
|
/* 02578200 */ cpu->r[30] = 0x100D0000u;
|
|
/* 02578204 */ cpu->r[29] = 0x02580000u;
|
|
/* 02578208 */ cpu->r[30] = cpu->r[30] + 0x000003D8u;
|
|
/* 0257820C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02578210 */ cpu->r[29] = cpu->r[29] + 0xFFFFBFACu;
|
|
/* 02578214 */ cpu->r[8] = cpu->r[8] + 0x0000052Cu;
|
|
/* 02578218 */ cpu->ctr = cpu->r[29];
|
|
/* 0257821C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257821C */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 02578220 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02578220 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02578224 */ _t49 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578224 */ cpu->r[24] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02578228 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257822C */ _t50 = cpu->r[24] + 0x00000000u;
|
|
/* 0257822C */ cpu->r[25] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02578230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578234 */ cpu->r[31] = 0x10110000u;
|
|
/* 02578238 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578238 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0257823C */ _t52 = cpu->r[31] + 0x00007399u;
|
|
/* 0257823C */ cpu->r[31] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02578240 */ _t53 = cpu->r[8] + 0x00000000u;
|
|
/* 02578240 */ cpu->r[10] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02578244 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0257824C */ cpu->r[10] = 0x00080000u;
|
|
/* 02578250 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578250 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02578250 */ if (_t55) goto L_02578278; else goto L_02578254;
|
|
L_02578254: ; // 0x2578254
|
|
/* 02578254 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 0257825C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02578260 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578260 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02578260 */ if (_t57) goto L_02578274; else goto L_02578264;
|
|
L_02578264: ; // 0x2578264
|
|
/* 02578264 */ _t58 = cpu->r[8] + 0x00000000u;
|
|
/* 02578264 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02578268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0257826C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257826C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0257826C */ if (_t60) goto L_02578270; else goto L_02578254;
|
|
L_02578270: ; // 0x2578270
|
|
/* 02578270 */ goto L_02578278;
|
|
L_02578274: ; // 0x2578274
|
|
/* 02578274 */ cpu->r[28] = 0x00000000u;
|
|
L_02578278: ; // 0x2578278
|
|
/* 02578278 */ _t61 = cpu->r[24] + 0x00000008u;
|
|
/* 02578278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0257827C */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0257827C */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02578280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02578284 */ _t63 = cpu->r[12] + 0x00000014u;
|
|
/* 02578284 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02578288 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578288 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02578288 */ if (_t65) goto L_02578290; else goto L_0257828C;
|
|
L_0257828C: ; // 0x257828c
|
|
/* 0257828C */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02578290: ; // 0x2578290
|
|
/* 02578290 */ cpu->ctr = cpu->r[5];
|
|
/* 02578294 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257829C */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257829C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 025782A0 */ cpu->r[3] = cpu->r[25];
|
|
/* 025782A4 */ cpu->r[5] = cpu->r[28];
|
|
/* 025782A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025782AC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025782B0 */ _t67 = cpu->r[25] + cpu->r[28];
|
|
/* 025782B0 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[31]);
|
|
/* 025782B4 */ cpu->r[6] = 0x02580000u;
|
|
/* 025782B8 */ _t68 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025782B8 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[26]);
|
|
/* 025782BC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 025782C0 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 025782C0 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[26]);
|
|
/* 025782C4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 025782C8 */ _t70 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025782C8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[7]);
|
|
/* 025782CC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025782D0 */ _t71 = cpu->r[1] + 0x00000016u;
|
|
/* 025782D0 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[7]);
|
|
/* 025782D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFC548u;
|
|
/* 025782D8 */ cpu->r[12] = 0x02580000u;
|
|
/* 025782DC */ cpu->r[0] = 0x00000000u;
|
|
/* 025782E0 */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 025782E0 */ rbrew_write32(cpu->mem, _t72, cpu->r[6]);
|
|
/* 025782E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFAECCu;
|
|
/* 025782E8 */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 025782E8 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[0]);
|
|
/* 025782EC */ cpu->r[0] = 0x02580000u;
|
|
/* 025782F0 */ _t74 = cpu->r[1] + 0x00000024u;
|
|
/* 025782F0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[26]);
|
|
/* 025782F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFAFB8u;
|
|
/* 025782F8 */ _t75 = cpu->r[1] + 0x00000026u;
|
|
/* 025782F8 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[7]);
|
|
/* 025782FC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578300 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578304 */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 02578304 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02578308 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0257830C */ _t77 = cpu->r[1] + 0x00000020u;
|
|
/* 0257830C */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
/* 02578310 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578314 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02578318 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 02578318 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 0257831C */ cpu->r[6] = cpu->r[6] + 0x000004FCu;
|
|
/* 02578320 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578320 */ rbrew_write32(cpu->mem, _t79, cpu->r[6]);
|
|
/* 02578324 */ _t80 = cpu->r[27] + 0x00000288u;
|
|
/* 02578324 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02578328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 0257832C */ _t81 = cpu->r[27] + 0x0000028Cu;
|
|
/* 0257832C */ cpu->r[25] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02578330 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578330 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02578330 */ if (_t83) goto L_02578334; else goto L_02578338;
|
|
L_02578334: ; // 0x2578334
|
|
/* 02578334 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_02578338: ; // 0x2578338
|
|
/* 02578338 */ cpu->ctr = cpu->r[29];
|
|
/* 0257833C */ _t84 = cpu->r[25] + 0x00000000u;
|
|
/* 0257833C */ cpu->r[24] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02578340 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578344 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578348 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0257834C */ _t86 = cpu->r[9] + 0x00000000u;
|
|
/* 0257834C */ cpu->r[10] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02578350 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02578358 */ cpu->r[12] = 0x00080000u;
|
|
/* 0257835C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257835C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0257835C */ if (_t88) goto L_02578384; else goto L_02578360;
|
|
L_02578360: ; // 0x2578360
|
|
/* 02578360 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02578368 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0257836C */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257836C */ _t90 = _t89 & 0x00000001u;
|
|
/* 0257836C */ if (_t90) goto L_02578380; else goto L_02578370;
|
|
L_02578370: ; // 0x2578370
|
|
/* 02578370 */ _t91 = cpu->r[9] + 0x00000000u;
|
|
/* 02578370 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02578374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02578378 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578378 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02578378 */ if (_t93) goto L_0257837C; else goto L_02578360;
|
|
L_0257837C: ; // 0x257837c
|
|
/* 0257837C */ goto L_02578384;
|
|
L_02578380: ; // 0x2578380
|
|
/* 02578380 */ cpu->r[28] = 0x00000000u;
|
|
L_02578384: ; // 0x2578384
|
|
/* 02578384 */ _t94 = cpu->r[25] + 0x00000008u;
|
|
/* 02578384 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02578388 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 02578388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0257838C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 02578390 */ _t96 = cpu->r[12] + 0x00000014u;
|
|
/* 02578390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02578394 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578394 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02578394 */ if (_t98) goto L_0257839C; else goto L_02578398;
|
|
L_02578398: ; // 0x2578398
|
|
/* 02578398 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0257839C: ; // 0x257839c
|
|
/* 0257839C */ cpu->ctr = cpu->r[0];
|
|
/* 025783A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025783A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025783A8 */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025783A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99);
|
|
/* 025783AC */ cpu->r[3] = cpu->r[24];
|
|
/* 025783B0 */ cpu->r[5] = cpu->r[28];
|
|
/* 025783B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 025783B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025783BC */ _t100 = cpu->r[24] + cpu->r[28];
|
|
/* 025783BC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[31]);
|
|
/* 025783C0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 025783C4 */ _t101 = cpu->r[1] + 0x00000024u;
|
|
/* 025783C4 */ rbrew_write16(cpu->mem, _t101, (uint16_t)cpu->r[26]);
|
|
/* 025783C8 */ cpu->r[4] = 0x02580000u;
|
|
/* 025783CC */ _t102 = cpu->r[1] + 0x00000016u;
|
|
/* 025783CC */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[8]);
|
|
/* 025783D0 */ cpu->r[4] = cpu->r[4] + 0xFFFFB224u;
|
|
/* 025783D4 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025783D4 */ rbrew_write16(cpu->mem, _t103, (uint16_t)cpu->r[26]);
|
|
/* 025783D8 */ cpu->r[10] = 0x02580000u;
|
|
/* 025783DC */ _t104 = cpu->r[1] + 0x00000026u;
|
|
/* 025783DC */ rbrew_write16(cpu->mem, _t104, (uint16_t)cpu->r[8]);
|
|
/* 025783E0 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 025783E0 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[26]);
|
|
/* 025783E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 025783E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFB018u;
|
|
/* 025783EC */ _t106 = cpu->r[1] + 0x00000018u;
|
|
/* 025783EC */ rbrew_write32(cpu->mem, _t106, cpu->r[4]);
|
|
/* 025783F0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 025783F4 */ cpu->r[9] = 0x02580000u;
|
|
/* 025783F8 */ _t107 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025783F8 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]);
|
|
/* 025783FC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578400 */ cpu->r[9] = cpu->r[9] + 0xFFFFB670u;
|
|
/* 02578404 */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 02578404 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[5]);
|
|
/* 02578408 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 0257840C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578410 */ _t109 = cpu->r[1] + 0x00000020u;
|
|
/* 02578410 */ rbrew_write32(cpu->mem, _t109, cpu->r[10]);
|
|
/* 02578414 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578418 */ _t110 = cpu->r[1] + 0x00000028u;
|
|
/* 02578418 */ rbrew_write32(cpu->mem, _t110, cpu->r[9]);
|
|
/* 0257841C */ Gambit_fn_0257C884(cpu);
|
|
/* 02578420 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02578424 */ _t111 = cpu->r[1] + 0x00000010u;
|
|
/* 02578424 */ rbrew_write32(cpu->mem, _t111, cpu->r[30]);
|
|
/* 02578428 */ cpu->r[10] = cpu->r[10] + 0x0000050Cu;
|
|
/* 0257842C */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257842C */ rbrew_write32(cpu->mem, _t112, cpu->r[10]);
|
|
/* 02578430 */ _t113 = cpu->r[27] + 0x00000288u;
|
|
/* 02578430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02578434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02578438 */ _t114 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578438 */ cpu->r[25] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0257843C */ _t115 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257843C */ _t116 = _t115 & 0x00000001u;
|
|
/* 0257843C */ if (_t116) goto L_02578440; else goto L_02578444;
|
|
L_02578440: ; // 0x2578440
|
|
/* 02578440 */ cpu->r[25] = cpu->r[25] + 0x00000048u;
|
|
L_02578444: ; // 0x2578444
|
|
/* 02578444 */ cpu->ctr = cpu->r[29];
|
|
/* 02578448 */ _t117 = cpu->r[25] + 0x00000000u;
|
|
/* 02578448 */ cpu->r[24] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0257844C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578454 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578454 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02578458 */ _t119 = cpu->r[5] + 0x00000000u;
|
|
/* 02578458 */ cpu->r[0] = rbrew_read8(cpu->mem, _t119);
|
|
/* 0257845C */ cpu->r[28] = 0x00000000u;
|
|
/* 02578460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02578464 */ cpu->r[7] = 0x00080000u;
|
|
/* 02578468 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578468 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02578468 */ if (_t121) goto L_02578490; else goto L_0257846C;
|
|
L_0257846C: ; // 0x257846c
|
|
/* 0257846C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02578474 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02578478 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578478 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02578478 */ if (_t123) goto L_0257848C; else goto L_0257847C;
|
|
L_0257847C: ; // 0x257847c
|
|
/* 0257847C */ _t124 = cpu->r[5] + 0x00000000u;
|
|
/* 0257847C */ cpu->r[4] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02578480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02578484 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578484 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02578484 */ if (_t126) goto L_02578488; else goto L_0257846C;
|
|
L_02578488: ; // 0x2578488
|
|
/* 02578488 */ goto L_02578490;
|
|
L_0257848C: ; // 0x257848c
|
|
/* 0257848C */ cpu->r[28] = 0x00000000u;
|
|
L_02578490: ; // 0x2578490
|
|
/* 02578490 */ _t127 = cpu->r[25] + 0x00000008u;
|
|
/* 02578490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02578494 */ _t128 = cpu->r[1] + 0x00000010u;
|
|
/* 02578494 */ cpu->r[5] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02578498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 0257849C */ _t129 = cpu->r[5] + 0x00000014u;
|
|
/* 0257849C */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 025784A0 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025784A0 */ _t131 = _t130 & 0x00000001u;
|
|
/* 025784A0 */ if (_t131) goto L_025784A8; else goto L_025784A4;
|
|
L_025784A4: ; // 0x25784a4
|
|
/* 025784A4 */ cpu->r[28] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_025784A8: ; // 0x25784a8
|
|
/* 025784A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025784AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025784B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025784B4 */ _t132 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025784B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 025784B8 */ cpu->r[3] = cpu->r[24];
|
|
/* 025784BC */ cpu->r[5] = cpu->r[28];
|
|
/* 025784C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 025784C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025784C8 */ _t133 = cpu->r[24] + cpu->r[28];
|
|
/* 025784C8 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[31]);
|
|
/* 025784CC */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 025784D0 */ _t134 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025784D0 */ rbrew_write16(cpu->mem, _t134, (uint16_t)cpu->r[26]);
|
|
/* 025784D4 */ cpu->r[0] = 0x00000002u;
|
|
/* 025784D8 */ _t135 = cpu->r[1] + 0x00000026u;
|
|
/* 025784D8 */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[9]);
|
|
/* 025784DC */ cpu->r[12] = 0x02580000u;
|
|
/* 025784E0 */ _t136 = cpu->r[1] + 0x00000016u;
|
|
/* 025784E0 */ rbrew_write16(cpu->mem, _t136, (uint16_t)cpu->r[9]);
|
|
/* 025784E4 */ cpu->r[7] = 0x02580000u;
|
|
/* 025784E8 */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 025784E8 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[0]);
|
|
/* 025784EC */ _t138 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025784EC */ rbrew_write16(cpu->mem, _t138, (uint16_t)cpu->r[9]);
|
|
/* 025784F0 */ cpu->r[9] = 0x02580000u;
|
|
/* 025784F4 */ _t139 = cpu->r[1] + 0x00000014u;
|
|
/* 025784F4 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[26]);
|
|
/* 025784F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFB6B8u;
|
|
/* 025784FC */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578500 */ cpu->r[7] = cpu->r[7] + 0xFFFFC54Cu;
|
|
/* 02578504 */ _t140 = cpu->r[1] + 0x00000018u;
|
|
/* 02578504 */ rbrew_write32(cpu->mem, _t140, cpu->r[9]);
|
|
/* 02578508 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257850C */ cpu->r[12] = cpu->r[12] + 0xFFFFB6FCu;
|
|
/* 02578510 */ _t141 = cpu->r[1] + 0x00000020u;
|
|
/* 02578510 */ rbrew_write32(cpu->mem, _t141, cpu->r[7]);
|
|
/* 02578514 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578518 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0257851C */ _t142 = cpu->r[1] + 0x00000024u;
|
|
/* 0257851C */ rbrew_write16(cpu->mem, _t142, (uint16_t)cpu->r[26]);
|
|
/* 02578520 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578524 */ _t143 = cpu->r[1] + 0x00000028u;
|
|
/* 02578524 */ rbrew_write32(cpu->mem, _t143, cpu->r[12]);
|
|
/* 02578528 */ Gambit_fn_0257C884(cpu);
|
|
/* 0257852C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02578530 */ _t144 = cpu->r[1] + 0x00000010u;
|
|
/* 02578530 */ rbrew_write32(cpu->mem, _t144, cpu->r[30]);
|
|
/* 02578534 */ cpu->r[6] = cpu->r[6] + 0x00000564u;
|
|
/* 02578538 */ _t145 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578538 */ rbrew_write32(cpu->mem, _t145, cpu->r[6]);
|
|
/* 0257853C */ _t146 = cpu->r[27] + 0x00000288u;
|
|
/* 0257853C */ cpu->r[7] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02578540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000003u);
|
|
/* 02578544 */ _t147 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578544 */ cpu->r[25] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02578548 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578548 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02578548 */ if (_t149) goto L_0257854C; else goto L_02578550;
|
|
L_0257854C: ; // 0x257854c
|
|
/* 0257854C */ cpu->r[25] = cpu->r[25] + 0x0000006Cu;
|
|
L_02578550: ; // 0x2578550
|
|
/* 02578550 */ cpu->ctr = cpu->r[29];
|
|
/* 02578554 */ _t150 = cpu->r[25] + 0x00000000u;
|
|
/* 02578554 */ cpu->r[24] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02578558 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257855C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578560 */ _t151 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578560 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02578564 */ _t152 = cpu->r[11] + 0x00000000u;
|
|
/* 02578564 */ cpu->r[8] = rbrew_read8(cpu->mem, _t152);
|
|
/* 02578568 */ cpu->r[28] = 0x00000000u;
|
|
/* 0257856C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02578570 */ cpu->r[12] = 0x00080000u;
|
|
/* 02578574 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578574 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02578574 */ if (_t154) goto L_0257859C; else goto L_02578578;
|
|
L_02578578: ; // 0x2578578
|
|
/* 02578578 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0257857C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02578580 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02578584 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578584 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02578584 */ if (_t156) goto L_02578598; else goto L_02578588;
|
|
L_02578588: ; // 0x2578588
|
|
/* 02578588 */ _t157 = cpu->r[11] + 0x00000000u;
|
|
/* 02578588 */ cpu->r[9] = rbrew_read8(cpu->mem, _t157);
|
|
/* 0257858C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02578590 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578590 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02578590 */ if (_t159) goto L_02578594; else goto L_02578578;
|
|
L_02578594: ; // 0x2578594
|
|
/* 02578594 */ goto L_0257859C;
|
|
L_02578598: ; // 0x2578598
|
|
/* 02578598 */ cpu->r[28] = 0x00000000u;
|
|
L_0257859C: ; // 0x257859c
|
|
/* 0257859C */ _t160 = cpu->r[25] + 0x00000008u;
|
|
/* 0257859C */ cpu->r[5] = rbrew_read32(cpu->mem, _t160);
|
|
/* 025785A0 */ _t161 = cpu->r[1] + 0x00000010u;
|
|
/* 025785A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t161);
|
|
/* 025785A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 025785A8 */ _t162 = cpu->r[10] + 0x00000014u;
|
|
/* 025785A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
|
|
/* 025785AC */ _t163 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025785AC */ _t164 = _t163 & 0x00000001u;
|
|
/* 025785AC */ if (_t164) goto L_025785B4; else goto L_025785B0;
|
|
L_025785B0: ; // 0x25785b0
|
|
/* 025785B0 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_025785B4: ; // 0x25785b4
|
|
/* 025785B4 */ cpu->ctr = cpu->r[11];
|
|
/* 025785B8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025785BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025785C0 */ _t165 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025785C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t165);
|
|
/* 025785C4 */ cpu->r[3] = cpu->r[24];
|
|
/* 025785C8 */ cpu->r[5] = cpu->r[28];
|
|
/* 025785CC */ cpu->r[6] = 0x00000000u;
|
|
/* 025785D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025785D4 */ _t166 = cpu->r[24] + cpu->r[28];
|
|
/* 025785D4 */ rbrew_write8(cpu->mem, _t166, (uint8_t)cpu->r[31]);
|
|
/* 025785D8 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 025785DC */ _t167 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025785DC */ rbrew_write16(cpu->mem, _t167, (uint16_t)cpu->r[26]);
|
|
/* 025785E0 */ cpu->r[12] = 0x02580000u;
|
|
/* 025785E4 */ _t168 = cpu->r[1] + 0x0000001Eu;
|
|
/* 025785E4 */ rbrew_write16(cpu->mem, _t168, (uint16_t)cpu->r[4]);
|
|
/* 025785E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFC550u;
|
|
/* 025785EC */ _t169 = cpu->r[1] + 0x00000016u;
|
|
/* 025785EC */ rbrew_write16(cpu->mem, _t169, (uint16_t)cpu->r[4]);
|
|
/* 025785F0 */ _t170 = cpu->r[1] + 0x00000026u;
|
|
/* 025785F0 */ rbrew_write16(cpu->mem, _t170, (uint16_t)cpu->r[4]);
|
|
/* 025785F4 */ cpu->r[4] = 0x02580000u;
|
|
/* 025785F8 */ _t171 = cpu->r[1] + 0x00000024u;
|
|
/* 025785F8 */ rbrew_write16(cpu->mem, _t171, (uint16_t)cpu->r[26]);
|
|
/* 025785FC */ cpu->r[4] = cpu->r[4] + 0xFFFFB748u;
|
|
/* 02578600 */ cpu->r[9] = 0x02580000u;
|
|
/* 02578604 */ _t172 = cpu->r[1] + 0x00000020u;
|
|
/* 02578604 */ rbrew_write32(cpu->mem, _t172, cpu->r[12]);
|
|
/* 02578608 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0257860C */ cpu->r[9] = cpu->r[9] + 0xFFFFC554u;
|
|
/* 02578610 */ _t173 = cpu->r[1] + 0x00000018u;
|
|
/* 02578610 */ rbrew_write32(cpu->mem, _t173, cpu->r[4]);
|
|
/* 02578614 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578618 */ cpu->r[0] = 0x00000003u;
|
|
/* 0257861C */ _t174 = cpu->r[1] + 0x00000014u;
|
|
/* 0257861C */ rbrew_write16(cpu->mem, _t174, (uint16_t)cpu->r[26]);
|
|
/* 02578620 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578624 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578628 */ _t175 = cpu->r[1] + 0x00000028u;
|
|
/* 02578628 */ rbrew_write32(cpu->mem, _t175, cpu->r[9]);
|
|
/* 0257862C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578630 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 02578630 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[0]);
|
|
/* 02578634 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578638 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0257863C */ _t177 = cpu->r[1] + 0x00000010u;
|
|
/* 0257863C */ rbrew_write32(cpu->mem, _t177, cpu->r[30]);
|
|
/* 02578640 */ cpu->r[10] = cpu->r[10] + 0x00000540u;
|
|
/* 02578644 */ _t178 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578644 */ rbrew_write32(cpu->mem, _t178, cpu->r[10]);
|
|
/* 02578648 */ _t179 = cpu->r[27] + 0x00000288u;
|
|
/* 02578648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179);
|
|
/* 0257864C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u);
|
|
/* 02578650 */ _t180 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578650 */ cpu->r[25] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02578654 */ _t181 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578654 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02578654 */ if (_t182) goto L_02578658; else goto L_0257865C;
|
|
L_02578658: ; // 0x2578658
|
|
/* 02578658 */ cpu->r[25] = cpu->r[25] + 0x00000090u;
|
|
L_0257865C: ; // 0x257865c
|
|
/* 0257865C */ cpu->ctr = cpu->r[29];
|
|
/* 02578660 */ _t183 = cpu->r[25] + 0x00000000u;
|
|
/* 02578660 */ cpu->r[24] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02578664 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0257866C */ _t184 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257866C */ cpu->r[7] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02578670 */ _t185 = cpu->r[7] + 0x00000000u;
|
|
/* 02578670 */ cpu->r[12] = rbrew_read8(cpu->mem, _t185);
|
|
/* 02578674 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0257867C */ cpu->r[8] = 0x00080000u;
|
|
/* 02578680 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578680 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02578680 */ if (_t187) goto L_025786A8; else goto L_02578684;
|
|
L_02578684: ; // 0x2578684
|
|
/* 02578684 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 0257868C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02578690 */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578690 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02578690 */ if (_t189) goto L_025786A4; else goto L_02578694;
|
|
L_02578694: ; // 0x2578694
|
|
/* 02578694 */ _t190 = cpu->r[7] + 0x00000000u;
|
|
/* 02578694 */ cpu->r[0] = rbrew_read8(cpu->mem, _t190);
|
|
/* 02578698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0257869C */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257869C */ _t192 = _t191 & 0x00000001u;
|
|
/* 0257869C */ if (_t192) goto L_025786A0; else goto L_02578684;
|
|
L_025786A0: ; // 0x25786a0
|
|
/* 025786A0 */ goto L_025786A8;
|
|
L_025786A4: ; // 0x25786a4
|
|
/* 025786A4 */ cpu->r[28] = 0x00000000u;
|
|
L_025786A8: ; // 0x25786a8
|
|
/* 025786A8 */ _t193 = cpu->r[25] + 0x00000008u;
|
|
/* 025786A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t193);
|
|
/* 025786AC */ _t194 = cpu->r[1] + 0x00000010u;
|
|
/* 025786AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t194);
|
|
/* 025786B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 025786B4 */ _t195 = cpu->r[4] + 0x00000014u;
|
|
/* 025786B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t195);
|
|
/* 025786B8 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025786B8 */ _t197 = _t196 & 0x00000001u;
|
|
/* 025786B8 */ if (_t197) goto L_025786C0; else goto L_025786BC;
|
|
L_025786BC: ; // 0x25786bc
|
|
/* 025786BC */ cpu->r[28] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_025786C0: ; // 0x25786c0
|
|
/* 025786C0 */ cpu->ctr = cpu->r[5];
|
|
/* 025786C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025786C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025786CC */ _t198 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025786CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t198);
|
|
/* 025786D0 */ cpu->r[3] = cpu->r[24];
|
|
/* 025786D4 */ cpu->r[5] = cpu->r[28];
|
|
/* 025786D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025786DC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025786E0 */ _t199 = cpu->r[24] + cpu->r[28];
|
|
/* 025786E0 */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[31]);
|
|
/* 025786E4 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 025786E8 */ _t200 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025786E8 */ rbrew_write16(cpu->mem, _t200, (uint16_t)cpu->r[26]);
|
|
/* 025786EC */ cpu->r[0] = 0x00000004u;
|
|
/* 025786F0 */ _t201 = cpu->r[1] + 0x00000026u;
|
|
/* 025786F0 */ rbrew_write16(cpu->mem, _t201, (uint16_t)cpu->r[10]);
|
|
/* 025786F4 */ cpu->r[11] = 0x02580000u;
|
|
/* 025786F8 */ _t202 = cpu->r[1] + 0x00000024u;
|
|
/* 025786F8 */ rbrew_write16(cpu->mem, _t202, (uint16_t)cpu->r[26]);
|
|
/* 025786FC */ cpu->r[11] = cpu->r[11] + 0xFFFFC55Cu;
|
|
/* 02578700 */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 02578700 */ rbrew_write8(cpu->mem, _t203, (uint8_t)cpu->r[0]);
|
|
/* 02578704 */ _t204 = cpu->r[1] + 0x00000014u;
|
|
/* 02578704 */ rbrew_write16(cpu->mem, _t204, (uint16_t)cpu->r[26]);
|
|
/* 02578708 */ cpu->r[6] = 0x02580000u;
|
|
/* 0257870C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578710 */ _t205 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578710 */ rbrew_write16(cpu->mem, _t205, (uint16_t)cpu->r[10]);
|
|
/* 02578714 */ cpu->r[6] = cpu->r[6] + 0xFFFFC558u;
|
|
/* 02578718 */ cpu->r[9] = 0x02580000u;
|
|
/* 0257871C */ _t206 = cpu->r[1] + 0x00000016u;
|
|
/* 0257871C */ rbrew_write16(cpu->mem, _t206, (uint16_t)cpu->r[10]);
|
|
/* 02578720 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578724 */ cpu->r[9] = cpu->r[9] + 0xFFFFB788u;
|
|
/* 02578728 */ _t207 = cpu->r[1] + 0x00000020u;
|
|
/* 02578728 */ rbrew_write32(cpu->mem, _t207, cpu->r[6]);
|
|
/* 0257872C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578730 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578734 */ _t208 = cpu->r[1] + 0x00000018u;
|
|
/* 02578734 */ rbrew_write32(cpu->mem, _t208, cpu->r[9]);
|
|
/* 02578738 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 0257873C */ _t209 = cpu->r[1] + 0x00000028u;
|
|
/* 0257873C */ rbrew_write32(cpu->mem, _t209, cpu->r[11]);
|
|
/* 02578740 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578744 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02578748 */ _t210 = cpu->r[1] + 0x00000010u;
|
|
/* 02578748 */ rbrew_write32(cpu->mem, _t210, cpu->r[30]);
|
|
/* 0257874C */ cpu->r[12] = cpu->r[12] + 0x00000578u;
|
|
/* 02578750 */ _t211 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578750 */ rbrew_write32(cpu->mem, _t211, cpu->r[12]);
|
|
/* 02578754 */ _t212 = cpu->r[27] + 0x00000288u;
|
|
/* 02578754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02578758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 0257875C */ _t213 = cpu->r[27] + 0x0000028Cu;
|
|
/* 0257875C */ cpu->r[25] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02578760 */ _t214 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578760 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02578760 */ if (_t215) goto L_02578764; else goto L_02578768;
|
|
L_02578764: ; // 0x2578764
|
|
/* 02578764 */ cpu->r[25] = cpu->r[25] + 0x000000B4u;
|
|
L_02578768: ; // 0x2578768
|
|
/* 02578768 */ cpu->ctr = cpu->r[29];
|
|
/* 0257876C */ _t216 = cpu->r[25] + 0x00000000u;
|
|
/* 0257876C */ cpu->r[24] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02578770 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578778 */ _t217 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t217);
|
|
/* 0257877C */ _t218 = cpu->r[8] + 0x00000000u;
|
|
/* 0257877C */ cpu->r[4] = rbrew_read8(cpu->mem, _t218);
|
|
/* 02578780 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02578788 */ cpu->r[11] = 0x00080000u;
|
|
/* 0257878C */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257878C */ _t220 = _t219 & 0x00000001u;
|
|
/* 0257878C */ if (_t220) goto L_025787B4; else goto L_02578790;
|
|
L_02578790: ; // 0x2578790
|
|
/* 02578790 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02578798 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0257879C */ _t221 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257879C */ _t222 = _t221 & 0x00000001u;
|
|
/* 0257879C */ if (_t222) goto L_025787B0; else goto L_025787A0;
|
|
L_025787A0: ; // 0x25787a0
|
|
/* 025787A0 */ _t223 = cpu->r[8] + 0x00000000u;
|
|
/* 025787A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t223);
|
|
/* 025787A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 025787A8 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025787A8 */ _t225 = _t224 & 0x00000001u;
|
|
/* 025787A8 */ if (_t225) goto L_025787AC; else goto L_02578790;
|
|
L_025787AC: ; // 0x25787ac
|
|
/* 025787AC */ goto L_025787B4;
|
|
L_025787B0: ; // 0x25787b0
|
|
/* 025787B0 */ cpu->r[28] = 0x00000000u;
|
|
L_025787B4: ; // 0x25787b4
|
|
/* 025787B4 */ _t226 = cpu->r[25] + 0x00000008u;
|
|
/* 025787B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t226);
|
|
/* 025787B8 */ _t227 = cpu->r[1] + 0x00000010u;
|
|
/* 025787B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t227);
|
|
/* 025787BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 025787C0 */ _t228 = cpu->r[6] + 0x00000014u;
|
|
/* 025787C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t228);
|
|
/* 025787C4 */ _t229 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025787C4 */ _t230 = _t229 & 0x00000001u;
|
|
/* 025787C4 */ if (_t230) goto L_025787CC; else goto L_025787C8;
|
|
L_025787C8: ; // 0x25787c8
|
|
/* 025787C8 */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_025787CC: ; // 0x25787cc
|
|
/* 025787CC */ cpu->ctr = cpu->r[7];
|
|
/* 025787D0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025787D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025787D8 */ _t231 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025787D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t231);
|
|
/* 025787DC */ cpu->r[6] = 0x00000000u;
|
|
/* 025787E0 */ cpu->r[5] = cpu->r[28];
|
|
/* 025787E4 */ cpu->r[3] = cpu->r[24];
|
|
/* 025787E8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025787EC */ _t232 = cpu->r[24] + cpu->r[28];
|
|
/* 025787EC */ rbrew_write8(cpu->mem, _t232, (uint8_t)cpu->r[31]);
|
|
/* 025787F0 */ cpu->r[0] = 0x00000005u;
|
|
/* 025787F4 */ _t233 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025787F4 */ rbrew_write16(cpu->mem, _t233, (uint16_t)cpu->r[26]);
|
|
/* 025787F8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 025787FC */ _t234 = cpu->r[1] + 0x00000024u;
|
|
/* 025787FC */ rbrew_write16(cpu->mem, _t234, (uint16_t)cpu->r[26]);
|
|
/* 02578800 */ cpu->r[12] = 0x02580000u;
|
|
/* 02578804 */ _t235 = cpu->r[1] + 0x00000016u;
|
|
/* 02578804 */ rbrew_write16(cpu->mem, _t235, (uint16_t)cpu->r[11]);
|
|
/* 02578808 */ cpu->r[12] = cpu->r[12] + 0xFFFFC560u;
|
|
/* 0257880C */ _t236 = cpu->r[1] + 0x00000008u;
|
|
/* 0257880C */ rbrew_write8(cpu->mem, _t236, (uint8_t)cpu->r[0]);
|
|
/* 02578810 */ _t237 = cpu->r[1] + 0x00000026u;
|
|
/* 02578810 */ rbrew_write16(cpu->mem, _t237, (uint16_t)cpu->r[11]);
|
|
/* 02578814 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578818 */ cpu->r[10] = 0x02580000u;
|
|
/* 0257881C */ _t238 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0257881C */ rbrew_write16(cpu->mem, _t238, (uint16_t)cpu->r[11]);
|
|
/* 02578820 */ cpu->r[8] = 0x02580000u;
|
|
/* 02578824 */ cpu->r[10] = cpu->r[10] + 0xFFFFB79Cu;
|
|
/* 02578828 */ _t239 = cpu->r[1] + 0x00000014u;
|
|
/* 02578828 */ rbrew_write16(cpu->mem, _t239, (uint16_t)cpu->r[26]);
|
|
/* 0257882C */ cpu->r[8] = cpu->r[8] + 0xFFFFB78Cu;
|
|
/* 02578830 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578834 */ _t240 = cpu->r[1] + 0x00000018u;
|
|
/* 02578834 */ rbrew_write32(cpu->mem, _t240, cpu->r[10]);
|
|
/* 02578838 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0257883C */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578840 */ _t241 = cpu->r[1] + 0x00000020u;
|
|
/* 02578840 */ rbrew_write32(cpu->mem, _t241, cpu->r[8]);
|
|
/* 02578844 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578848 */ _t242 = cpu->r[1] + 0x00000028u;
|
|
/* 02578848 */ rbrew_write32(cpu->mem, _t242, cpu->r[12]);
|
|
/* 0257884C */ Gambit_fn_0257C884(cpu);
|
|
/* 02578850 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02578854 */ _t243 = cpu->r[1] + 0x00000010u;
|
|
/* 02578854 */ rbrew_write32(cpu->mem, _t243, cpu->r[30]);
|
|
/* 02578858 */ cpu->r[4] = cpu->r[4] + 0x00000590u;
|
|
/* 0257885C */ _t244 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257885C */ rbrew_write32(cpu->mem, _t244, cpu->r[4]);
|
|
/* 02578860 */ _t245 = cpu->r[27] + 0x00000288u;
|
|
/* 02578860 */ cpu->r[5] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02578864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000006u);
|
|
/* 02578868 */ _t246 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578868 */ cpu->r[25] = rbrew_read32(cpu->mem, _t246);
|
|
/* 0257886C */ _t247 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0257886C */ _t248 = _t247 & 0x00000001u;
|
|
/* 0257886C */ if (_t248) goto L_02578870; else goto L_02578874;
|
|
L_02578870: ; // 0x2578870
|
|
/* 02578870 */ cpu->r[25] = cpu->r[25] + 0x000000D8u;
|
|
L_02578874: ; // 0x2578874
|
|
/* 02578874 */ cpu->ctr = cpu->r[29];
|
|
/* 02578878 */ _t249 = cpu->r[25] + 0x00000000u;
|
|
/* 02578878 */ cpu->r[24] = rbrew_read32(cpu->mem, _t249);
|
|
/* 0257887C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578880 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578884 */ _t250 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578884 */ cpu->r[4] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02578888 */ _t251 = cpu->r[4] + 0x00000000u;
|
|
/* 02578888 */ cpu->r[6] = rbrew_read8(cpu->mem, _t251);
|
|
/* 0257888C */ cpu->r[28] = 0x00000000u;
|
|
/* 02578890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02578894 */ cpu->r[5] = 0x00080000u;
|
|
/* 02578898 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578898 */ _t253 = _t252 & 0x00000001u;
|
|
/* 02578898 */ if (_t253) goto L_025788C0; else goto L_0257889C;
|
|
L_0257889C: ; // 0x257889c
|
|
/* 0257889C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 025788A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 025788A4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 025788A8 */ _t254 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025788A8 */ _t255 = _t254 & 0x00000001u;
|
|
/* 025788A8 */ if (_t255) goto L_025788BC; else goto L_025788AC;
|
|
L_025788AC: ; // 0x25788ac
|
|
/* 025788AC */ _t256 = cpu->r[4] + 0x00000000u;
|
|
/* 025788AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t256);
|
|
/* 025788B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 025788B4 */ _t257 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025788B4 */ _t258 = _t257 & 0x00000001u;
|
|
/* 025788B4 */ if (_t258) goto L_025788B8; else goto L_0257889C;
|
|
L_025788B8: ; // 0x25788b8
|
|
/* 025788B8 */ goto L_025788C0;
|
|
L_025788BC: ; // 0x25788bc
|
|
/* 025788BC */ cpu->r[28] = 0x00000000u;
|
|
L_025788C0: ; // 0x25788c0
|
|
/* 025788C0 */ _t259 = cpu->r[25] + 0x00000008u;
|
|
/* 025788C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t259);
|
|
/* 025788C4 */ _t260 = cpu->r[1] + 0x00000010u;
|
|
/* 025788C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t260);
|
|
/* 025788C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 025788CC */ _t261 = cpu->r[8] + 0x00000014u;
|
|
/* 025788CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t261);
|
|
/* 025788D0 */ _t262 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025788D0 */ _t263 = _t262 & 0x00000001u;
|
|
/* 025788D0 */ if (_t263) goto L_025788D8; else goto L_025788D4;
|
|
L_025788D4: ; // 0x25788d4
|
|
/* 025788D4 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_025788D8: ; // 0x25788d8
|
|
/* 025788D8 */ cpu->ctr = cpu->r[9];
|
|
/* 025788DC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025788E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025788E4 */ _t264 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025788E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t264);
|
|
/* 025788E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 025788EC */ cpu->r[5] = cpu->r[28];
|
|
/* 025788F0 */ cpu->r[3] = cpu->r[24];
|
|
/* 025788F4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025788F8 */ _t265 = cpu->r[24] + cpu->r[28];
|
|
/* 025788F8 */ rbrew_write8(cpu->mem, _t265, (uint8_t)cpu->r[31]);
|
|
/* 025788FC */ cpu->r[0] = 0x00000006u;
|
|
/* 02578900 */ _t266 = cpu->r[1] + 0x00000028u;
|
|
/* 02578900 */ rbrew_write32(cpu->mem, _t266, cpu->r[26]);
|
|
/* 02578904 */ cpu->r[10] = 0x02580000u;
|
|
/* 02578908 */ _t267 = cpu->r[1] + 0x00000008u;
|
|
/* 02578908 */ rbrew_write8(cpu->mem, _t267, (uint8_t)cpu->r[0]);
|
|
/* 0257890C */ cpu->r[12] = 0x02580000u;
|
|
/* 02578910 */ _t268 = cpu->r[1] + 0x00000024u;
|
|
/* 02578910 */ rbrew_write16(cpu->mem, _t268, (uint16_t)cpu->r[26]);
|
|
/* 02578914 */ cpu->r[12] = cpu->r[12] + 0xFFFFB944u;
|
|
/* 02578918 */ _t269 = cpu->r[1] + 0x00000026u;
|
|
/* 02578918 */ rbrew_write16(cpu->mem, _t269, (uint16_t)cpu->r[26]);
|
|
/* 0257891C */ _t270 = cpu->r[1] + 0x00000018u;
|
|
/* 0257891C */ rbrew_write32(cpu->mem, _t270, cpu->r[12]);
|
|
/* 02578920 */ cpu->r[10] = cpu->r[10] + 0xFFFFC564u;
|
|
/* 02578924 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578928 */ _t271 = cpu->r[1] + 0x00000020u;
|
|
/* 02578928 */ rbrew_write32(cpu->mem, _t271, cpu->r[10]);
|
|
/* 0257892C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02578930 */ _t272 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578930 */ rbrew_write16(cpu->mem, _t272, (uint16_t)cpu->r[26]);
|
|
/* 02578934 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578938 */ _t273 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578938 */ rbrew_write16(cpu->mem, _t273, (uint16_t)cpu->r[4]);
|
|
/* 0257893C */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578940 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578944 */ _t274 = cpu->r[1] + 0x00000016u;
|
|
/* 02578944 */ rbrew_write16(cpu->mem, _t274, (uint16_t)cpu->r[4]);
|
|
/* 02578948 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0257894C */ _t275 = cpu->r[1] + 0x00000014u;
|
|
/* 0257894C */ rbrew_write16(cpu->mem, _t275, (uint16_t)cpu->r[26]);
|
|
/* 02578950 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578954 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02578958 */ _t276 = cpu->r[1] + 0x00000010u;
|
|
/* 02578958 */ rbrew_write32(cpu->mem, _t276, cpu->r[30]);
|
|
/* 0257895C */ cpu->r[0] = cpu->r[0] + 0x00000554u;
|
|
/* 02578960 */ _t277 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578960 */ rbrew_write32(cpu->mem, _t277, cpu->r[0]);
|
|
/* 02578964 */ _t278 = cpu->r[27] + 0x00000288u;
|
|
/* 02578964 */ cpu->r[5] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02578968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000007u);
|
|
/* 0257896C */ _t279 = cpu->r[27] + 0x0000028Cu;
|
|
/* 0257896C */ cpu->r[28] = rbrew_read32(cpu->mem, _t279);
|
|
/* 02578970 */ _t280 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578970 */ _t281 = _t280 & 0x00000001u;
|
|
/* 02578970 */ if (_t281) goto L_02578974; else goto L_02578978;
|
|
L_02578974: ; // 0x2578974
|
|
/* 02578974 */ cpu->r[28] = cpu->r[28] + 0x000000FCu;
|
|
L_02578978: ; // 0x2578978
|
|
/* 02578978 */ cpu->ctr = cpu->r[29];
|
|
/* 0257897C */ _t282 = cpu->r[28] + 0x00000000u;
|
|
/* 0257897C */ cpu->r[24] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02578980 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578984 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578988 */ _t283 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578988 */ cpu->r[9] = rbrew_read32(cpu->mem, _t283);
|
|
/* 0257898C */ _t284 = cpu->r[9] + 0x00000000u;
|
|
/* 0257898C */ cpu->r[6] = rbrew_read8(cpu->mem, _t284);
|
|
/* 02578990 */ cpu->r[25] = 0x00000000u;
|
|
/* 02578994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02578998 */ cpu->r[11] = 0x00080000u;
|
|
/* 0257899C */ _t285 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257899C */ _t286 = _t285 & 0x00000001u;
|
|
/* 0257899C */ if (_t286) goto L_025789C4; else goto L_025789A0;
|
|
L_025789A0: ; // 0x25789a0
|
|
/* 025789A0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 025789A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 025789A8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 025789AC */ _t287 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025789AC */ _t288 = _t287 & 0x00000001u;
|
|
/* 025789AC */ if (_t288) goto L_025789C0; else goto L_025789B0;
|
|
L_025789B0: ; // 0x25789b0
|
|
/* 025789B0 */ _t289 = cpu->r[9] + 0x00000000u;
|
|
/* 025789B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t289);
|
|
/* 025789B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 025789B8 */ _t290 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025789B8 */ _t291 = _t290 & 0x00000001u;
|
|
/* 025789B8 */ if (_t291) goto L_025789BC; else goto L_025789A0;
|
|
L_025789BC: ; // 0x25789bc
|
|
/* 025789BC */ goto L_025789C4;
|
|
L_025789C0: ; // 0x25789c0
|
|
/* 025789C0 */ cpu->r[25] = 0x00000000u;
|
|
L_025789C4: ; // 0x25789c4
|
|
/* 025789C4 */ _t292 = cpu->r[28] + 0x00000008u;
|
|
/* 025789C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t292);
|
|
/* 025789C8 */ _t293 = cpu->r[1] + 0x00000010u;
|
|
/* 025789C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t293);
|
|
/* 025789CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[12]);
|
|
/* 025789D0 */ _t294 = cpu->r[8] + 0x00000014u;
|
|
/* 025789D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t294);
|
|
/* 025789D4 */ _t295 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025789D4 */ _t296 = _t295 & 0x00000001u;
|
|
/* 025789D4 */ if (_t296) goto L_025789DC; else goto L_025789D8;
|
|
L_025789D8: ; // 0x25789d8
|
|
/* 025789D8 */ cpu->r[25] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_025789DC: ; // 0x25789dc
|
|
/* 025789DC */ cpu->ctr = cpu->r[9];
|
|
/* 025789E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025789E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025789E8 */ _t297 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025789E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t297);
|
|
/* 025789EC */ cpu->r[6] = 0x00000000u;
|
|
/* 025789F0 */ cpu->r[5] = cpu->r[25];
|
|
/* 025789F4 */ cpu->r[3] = cpu->r[24];
|
|
/* 025789F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025789FC */ _t298 = cpu->r[24] + cpu->r[25];
|
|
/* 025789FC */ rbrew_write8(cpu->mem, _t298, (uint8_t)cpu->r[31]);
|
|
/* 02578A00 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02578A04 */ _t299 = cpu->r[1] + 0x00000028u;
|
|
/* 02578A04 */ rbrew_write32(cpu->mem, _t299, cpu->r[26]);
|
|
/* 02578A08 */ cpu->r[12] = 0x02580000u;
|
|
/* 02578A0C */ _t300 = cpu->r[1] + 0x00000024u;
|
|
/* 02578A0C */ rbrew_write16(cpu->mem, _t300, (uint16_t)cpu->r[26]);
|
|
/* 02578A10 */ cpu->r[12] = cpu->r[12] + 0xFFFFB980u;
|
|
/* 02578A14 */ _t301 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578A14 */ rbrew_write16(cpu->mem, _t301, (uint16_t)cpu->r[9]);
|
|
/* 02578A18 */ cpu->r[4] = 0x00000007u;
|
|
/* 02578A1C */ _t302 = cpu->r[1] + 0x00000016u;
|
|
/* 02578A1C */ rbrew_write16(cpu->mem, _t302, (uint16_t)cpu->r[9]);
|
|
/* 02578A20 */ _t303 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578A20 */ rbrew_write16(cpu->mem, _t303, (uint16_t)cpu->r[26]);
|
|
/* 02578A24 */ cpu->r[10] = 0x02580000u;
|
|
/* 02578A28 */ _t304 = cpu->r[1] + 0x00000008u;
|
|
/* 02578A28 */ rbrew_write8(cpu->mem, _t304, (uint8_t)cpu->r[4]);
|
|
/* 02578A2C */ cpu->r[10] = cpu->r[10] + 0xFFFFB95Cu;
|
|
/* 02578A30 */ _t305 = cpu->r[1] + 0x00000018u;
|
|
/* 02578A30 */ rbrew_write32(cpu->mem, _t305, cpu->r[12]);
|
|
/* 02578A34 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578A38 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578A3C */ _t306 = cpu->r[1] + 0x00000020u;
|
|
/* 02578A3C */ rbrew_write32(cpu->mem, _t306, cpu->r[10]);
|
|
/* 02578A40 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578A44 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578A48 */ _t307 = cpu->r[1] + 0x00000026u;
|
|
/* 02578A48 */ rbrew_write16(cpu->mem, _t307, (uint16_t)cpu->r[26]);
|
|
/* 02578A4C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578A50 */ _t308 = cpu->r[1] + 0x00000014u;
|
|
/* 02578A50 */ rbrew_write16(cpu->mem, _t308, (uint16_t)cpu->r[26]);
|
|
/* 02578A54 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578A58 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02578A5C */ _t309 = cpu->r[1] + 0x00000010u;
|
|
/* 02578A5C */ rbrew_write32(cpu->mem, _t309, cpu->r[30]);
|
|
/* 02578A60 */ cpu->r[4] = cpu->r[4] + 0x000005A4u;
|
|
/* 02578A64 */ _t310 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578A64 */ rbrew_write32(cpu->mem, _t310, cpu->r[4]);
|
|
/* 02578A68 */ _t311 = cpu->r[27] + 0x00000288u;
|
|
/* 02578A68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02578A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000008u);
|
|
/* 02578A70 */ _t312 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578A70 */ cpu->r[25] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02578A74 */ _t313 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578A74 */ _t314 = _t313 & 0x00000001u;
|
|
/* 02578A74 */ if (_t314) goto L_02578A78; else goto L_02578A7C;
|
|
L_02578A78: ; // 0x2578a78
|
|
/* 02578A78 */ cpu->r[25] = cpu->r[25] + 0x00000120u;
|
|
L_02578A7C: ; // 0x2578a7c
|
|
/* 02578A7C */ cpu->ctr = cpu->r[29];
|
|
/* 02578A80 */ _t315 = cpu->r[25] + 0x00000000u;
|
|
/* 02578A80 */ cpu->r[24] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02578A84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578A88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578A8C */ _t316 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578A8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02578A90 */ _t317 = cpu->r[5] + 0x00000000u;
|
|
/* 02578A90 */ cpu->r[7] = rbrew_read8(cpu->mem, _t317);
|
|
/* 02578A94 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02578A9C */ cpu->r[7] = 0x00080000u;
|
|
/* 02578AA0 */ _t318 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578AA0 */ _t319 = _t318 & 0x00000001u;
|
|
/* 02578AA0 */ if (_t319) goto L_02578AC8; else goto L_02578AA4;
|
|
L_02578AA4: ; // 0x2578aa4
|
|
/* 02578AA4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02578AAC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02578AB0 */ _t320 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578AB0 */ _t321 = _t320 & 0x00000001u;
|
|
/* 02578AB0 */ if (_t321) goto L_02578AC4; else goto L_02578AB4;
|
|
L_02578AB4: ; // 0x2578ab4
|
|
/* 02578AB4 */ _t322 = cpu->r[5] + 0x00000000u;
|
|
/* 02578AB4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t322);
|
|
/* 02578AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02578ABC */ _t323 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578ABC */ _t324 = _t323 & 0x00000001u;
|
|
/* 02578ABC */ if (_t324) goto L_02578AC0; else goto L_02578AA4;
|
|
L_02578AC0: ; // 0x2578ac0
|
|
/* 02578AC0 */ goto L_02578AC8;
|
|
L_02578AC4: ; // 0x2578ac4
|
|
/* 02578AC4 */ cpu->r[28] = 0x00000000u;
|
|
L_02578AC8: ; // 0x2578ac8
|
|
/* 02578AC8 */ _t325 = cpu->r[25] + 0x00000008u;
|
|
/* 02578AC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02578ACC */ _t326 = cpu->r[1] + 0x00000010u;
|
|
/* 02578ACC */ cpu->r[10] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02578AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[4]);
|
|
/* 02578AD4 */ _t327 = cpu->r[10] + 0x00000014u;
|
|
/* 02578AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02578AD8 */ _t328 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578AD8 */ _t329 = _t328 & 0x00000001u;
|
|
/* 02578AD8 */ if (_t329) goto L_02578AE0; else goto L_02578ADC;
|
|
L_02578ADC: ; // 0x2578adc
|
|
/* 02578ADC */ cpu->r[28] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02578AE0: ; // 0x2578ae0
|
|
/* 02578AE0 */ cpu->ctr = cpu->r[12];
|
|
/* 02578AE4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578AE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578AEC */ _t330 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578AEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02578AF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02578AF4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02578AF8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02578AFC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02578B00 */ _t331 = cpu->r[24] + cpu->r[28];
|
|
/* 02578B00 */ rbrew_write8(cpu->mem, _t331, (uint8_t)cpu->r[31]);
|
|
/* 02578B04 */ cpu->r[8] = 0x02580000u;
|
|
/* 02578B08 */ _t332 = cpu->r[1] + 0x00000014u;
|
|
/* 02578B08 */ rbrew_write16(cpu->mem, _t332, (uint16_t)cpu->r[26]);
|
|
/* 02578B0C */ cpu->r[8] = cpu->r[8] + 0xFFFFC568u;
|
|
/* 02578B10 */ _t333 = cpu->r[1] + 0x00000024u;
|
|
/* 02578B10 */ rbrew_write16(cpu->mem, _t333, (uint16_t)cpu->r[26]);
|
|
/* 02578B14 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02578B18 */ _t334 = cpu->r[1] + 0x00000018u;
|
|
/* 02578B18 */ rbrew_write32(cpu->mem, _t334, cpu->r[8]);
|
|
/* 02578B1C */ cpu->r[12] = 0x02580000u;
|
|
/* 02578B20 */ _t335 = cpu->r[1] + 0x00000026u;
|
|
/* 02578B20 */ rbrew_write16(cpu->mem, _t335, (uint16_t)cpu->r[7]);
|
|
/* 02578B24 */ _t336 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578B24 */ rbrew_write16(cpu->mem, _t336, (uint16_t)cpu->r[7]);
|
|
/* 02578B28 */ cpu->r[0] = 0x00000008u;
|
|
/* 02578B2C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578B30 */ _t337 = cpu->r[1] + 0x00000016u;
|
|
/* 02578B30 */ rbrew_write16(cpu->mem, _t337, (uint16_t)cpu->r[7]);
|
|
/* 02578B34 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578B38 */ cpu->r[4] = 0x02580000u;
|
|
/* 02578B3C */ _t338 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578B3C */ rbrew_write16(cpu->mem, _t338, (uint16_t)cpu->r[26]);
|
|
/* 02578B40 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578B44 */ cpu->r[4] = cpu->r[4] + 0xFFFFB984u;
|
|
/* 02578B48 */ _t339 = cpu->r[1] + 0x00000008u;
|
|
/* 02578B48 */ rbrew_write8(cpu->mem, _t339, (uint8_t)cpu->r[0]);
|
|
/* 02578B4C */ cpu->r[12] = cpu->r[12] + 0xFFFFB9A0u;
|
|
/* 02578B50 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578B54 */ _t340 = cpu->r[1] + 0x00000020u;
|
|
/* 02578B54 */ rbrew_write32(cpu->mem, _t340, cpu->r[4]);
|
|
/* 02578B58 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578B5C */ _t341 = cpu->r[1] + 0x00000028u;
|
|
/* 02578B5C */ rbrew_write32(cpu->mem, _t341, cpu->r[12]);
|
|
/* 02578B60 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578B64 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02578B68 */ _t342 = cpu->r[1] + 0x00000010u;
|
|
/* 02578B68 */ rbrew_write32(cpu->mem, _t342, cpu->r[30]);
|
|
/* 02578B6C */ cpu->r[4] = cpu->r[4] + 0x0000051Cu;
|
|
/* 02578B70 */ _t343 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578B70 */ rbrew_write32(cpu->mem, _t343, cpu->r[4]);
|
|
/* 02578B74 */ _t344 = cpu->r[27] + 0x00000288u;
|
|
/* 02578B74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02578B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000009u);
|
|
/* 02578B7C */ _t345 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578B7C */ cpu->r[25] = rbrew_read32(cpu->mem, _t345);
|
|
/* 02578B80 */ _t346 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578B80 */ _t347 = _t346 & 0x00000001u;
|
|
/* 02578B80 */ if (_t347) goto L_02578B84; else goto L_02578B88;
|
|
L_02578B84: ; // 0x2578b84
|
|
/* 02578B84 */ cpu->r[25] = cpu->r[25] + 0x00000144u;
|
|
L_02578B88: ; // 0x2578b88
|
|
/* 02578B88 */ cpu->ctr = cpu->r[29];
|
|
/* 02578B8C */ _t348 = cpu->r[25] + 0x00000000u;
|
|
/* 02578B8C */ cpu->r[24] = rbrew_read32(cpu->mem, _t348);
|
|
/* 02578B90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578B94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578B98 */ _t349 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578B98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t349);
|
|
/* 02578B9C */ _t350 = cpu->r[11] + 0x00000000u;
|
|
/* 02578B9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t350);
|
|
/* 02578BA0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02578BA8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02578BAC */ _t351 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578BAC */ _t352 = _t351 & 0x00000001u;
|
|
/* 02578BAC */ if (_t352) goto L_02578BD4; else goto L_02578BB0;
|
|
L_02578BB0: ; // 0x2578bb0
|
|
/* 02578BB0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02578BB8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02578BBC */ _t353 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578BBC */ _t354 = _t353 & 0x00000001u;
|
|
/* 02578BBC */ if (_t354) goto L_02578BD0; else goto L_02578BC0;
|
|
L_02578BC0: ; // 0x2578bc0
|
|
/* 02578BC0 */ _t355 = cpu->r[11] + 0x00000000u;
|
|
/* 02578BC0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t355);
|
|
/* 02578BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02578BC8 */ _t356 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578BC8 */ _t357 = _t356 & 0x00000001u;
|
|
/* 02578BC8 */ if (_t357) goto L_02578BCC; else goto L_02578BB0;
|
|
L_02578BCC: ; // 0x2578bcc
|
|
/* 02578BCC */ goto L_02578BD4;
|
|
L_02578BD0: ; // 0x2578bd0
|
|
/* 02578BD0 */ cpu->r[28] = 0x00000000u;
|
|
L_02578BD4: ; // 0x2578bd4
|
|
/* 02578BD4 */ _t358 = cpu->r[25] + 0x00000008u;
|
|
/* 02578BD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02578BD8 */ _t359 = cpu->r[1] + 0x00000010u;
|
|
/* 02578BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t359);
|
|
/* 02578BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02578BE0 */ _t360 = cpu->r[12] + 0x00000014u;
|
|
/* 02578BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t360);
|
|
/* 02578BE4 */ _t361 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578BE4 */ _t362 = _t361 & 0x00000001u;
|
|
/* 02578BE4 */ if (_t362) goto L_02578BEC; else goto L_02578BE8;
|
|
L_02578BE8: ; // 0x2578be8
|
|
/* 02578BE8 */ cpu->r[28] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02578BEC: ; // 0x2578bec
|
|
/* 02578BEC */ cpu->ctr = cpu->r[0];
|
|
/* 02578BF0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578BF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578BF8 */ _t363 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578BF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t363);
|
|
/* 02578BFC */ cpu->r[6] = 0x00000000u;
|
|
/* 02578C00 */ cpu->r[5] = cpu->r[28];
|
|
/* 02578C04 */ cpu->r[3] = cpu->r[24];
|
|
/* 02578C08 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02578C0C */ cpu->r[6] = 0x02580000u;
|
|
/* 02578C10 */ _t364 = cpu->r[24] + cpu->r[28];
|
|
/* 02578C10 */ rbrew_write8(cpu->mem, _t364, (uint8_t)cpu->r[31]);
|
|
/* 02578C14 */ cpu->r[6] = cpu->r[6] + 0xFFFFB9ACu;
|
|
/* 02578C18 */ _t365 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578C18 */ rbrew_write16(cpu->mem, _t365, (uint16_t)cpu->r[26]);
|
|
/* 02578C1C */ cpu->r[9] = 0x02580000u;
|
|
/* 02578C20 */ _t366 = cpu->r[1] + 0x00000014u;
|
|
/* 02578C20 */ rbrew_write16(cpu->mem, _t366, (uint16_t)cpu->r[26]);
|
|
/* 02578C24 */ cpu->r[9] = cpu->r[9] + 0xFFFFB9DCu;
|
|
/* 02578C28 */ _t367 = cpu->r[1] + 0x00000020u;
|
|
/* 02578C28 */ rbrew_write32(cpu->mem, _t367, cpu->r[6]);
|
|
/* 02578C2C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02578C30 */ _t368 = cpu->r[1] + 0x00000024u;
|
|
/* 02578C30 */ rbrew_write16(cpu->mem, _t368, (uint16_t)cpu->r[26]);
|
|
/* 02578C34 */ cpu->r[8] = 0x00000009u;
|
|
/* 02578C38 */ _t369 = cpu->r[1] + 0x00000016u;
|
|
/* 02578C38 */ rbrew_write16(cpu->mem, _t369, (uint16_t)cpu->r[4]);
|
|
/* 02578C3C */ cpu->r[0] = 0x02580000u;
|
|
/* 02578C40 */ _t370 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578C40 */ rbrew_write16(cpu->mem, _t370, (uint16_t)cpu->r[4]);
|
|
/* 02578C44 */ cpu->r[0] = cpu->r[0] + 0xFFFFC56Cu;
|
|
/* 02578C48 */ _t371 = cpu->r[1] + 0x00000026u;
|
|
/* 02578C48 */ rbrew_write16(cpu->mem, _t371, (uint16_t)cpu->r[4]);
|
|
/* 02578C4C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578C50 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578C54 */ _t372 = cpu->r[1] + 0x00000008u;
|
|
/* 02578C54 */ rbrew_write8(cpu->mem, _t372, (uint8_t)cpu->r[8]);
|
|
/* 02578C58 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578C5C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578C60 */ _t373 = cpu->r[1] + 0x00000028u;
|
|
/* 02578C60 */ rbrew_write32(cpu->mem, _t373, cpu->r[0]);
|
|
/* 02578C64 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578C68 */ _t374 = cpu->r[1] + 0x00000018u;
|
|
/* 02578C68 */ rbrew_write32(cpu->mem, _t374, cpu->r[9]);
|
|
/* 02578C6C */ Gambit_fn_0257C884(cpu);
|
|
/* 02578C70 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02578C74 */ _t375 = cpu->r[1] + 0x00000010u;
|
|
/* 02578C74 */ rbrew_write32(cpu->mem, _t375, cpu->r[30]);
|
|
/* 02578C78 */ cpu->r[9] = cpu->r[9] + 0x000005BCu;
|
|
/* 02578C7C */ _t376 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578C7C */ rbrew_write32(cpu->mem, _t376, cpu->r[9]);
|
|
/* 02578C80 */ _t377 = cpu->r[27] + 0x00000288u;
|
|
/* 02578C80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t377);
|
|
/* 02578C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Au);
|
|
/* 02578C88 */ _t378 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578C88 */ cpu->r[25] = rbrew_read32(cpu->mem, _t378);
|
|
/* 02578C8C */ _t379 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578C8C */ _t380 = _t379 & 0x00000001u;
|
|
/* 02578C8C */ if (_t380) goto L_02578C90; else goto L_02578C94;
|
|
L_02578C90: ; // 0x2578c90
|
|
/* 02578C90 */ cpu->r[25] = cpu->r[25] + 0x00000168u;
|
|
L_02578C94: ; // 0x2578c94
|
|
/* 02578C94 */ cpu->ctr = cpu->r[29];
|
|
/* 02578C98 */ _t381 = cpu->r[25] + 0x00000000u;
|
|
/* 02578C98 */ cpu->r[24] = rbrew_read32(cpu->mem, _t381);
|
|
/* 02578C9C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578CA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578CA4 */ _t382 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578CA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t382);
|
|
/* 02578CA8 */ _t383 = cpu->r[5] + 0x00000000u;
|
|
/* 02578CA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t383);
|
|
/* 02578CAC */ cpu->r[28] = 0x00000000u;
|
|
/* 02578CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02578CB4 */ cpu->r[7] = 0x00080000u;
|
|
/* 02578CB8 */ _t384 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578CB8 */ _t385 = _t384 & 0x00000001u;
|
|
/* 02578CB8 */ if (_t385) goto L_02578CE0; else goto L_02578CBC;
|
|
L_02578CBC: ; // 0x2578cbc
|
|
/* 02578CBC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02578CC4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02578CC8 */ _t386 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578CC8 */ _t387 = _t386 & 0x00000001u;
|
|
/* 02578CC8 */ if (_t387) goto L_02578CDC; else goto L_02578CCC;
|
|
L_02578CCC: ; // 0x2578ccc
|
|
/* 02578CCC */ _t388 = cpu->r[5] + 0x00000000u;
|
|
/* 02578CCC */ cpu->r[4] = rbrew_read8(cpu->mem, _t388);
|
|
/* 02578CD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02578CD4 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578CD4 */ _t390 = _t389 & 0x00000001u;
|
|
/* 02578CD4 */ if (_t390) goto L_02578CD8; else goto L_02578CBC;
|
|
L_02578CD8: ; // 0x2578cd8
|
|
/* 02578CD8 */ goto L_02578CE0;
|
|
L_02578CDC: ; // 0x2578cdc
|
|
/* 02578CDC */ cpu->r[28] = 0x00000000u;
|
|
L_02578CE0: ; // 0x2578ce0
|
|
/* 02578CE0 */ _t391 = cpu->r[25] + 0x00000008u;
|
|
/* 02578CE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t391);
|
|
/* 02578CE4 */ _t392 = cpu->r[1] + 0x00000010u;
|
|
/* 02578CE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02578CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02578CEC */ _t393 = cpu->r[6] + 0x00000014u;
|
|
/* 02578CEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02578CF0 */ _t394 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578CF0 */ _t395 = _t394 & 0x00000001u;
|
|
/* 02578CF0 */ if (_t395) goto L_02578CF8; else goto L_02578CF4;
|
|
L_02578CF4: ; // 0x2578cf4
|
|
/* 02578CF4 */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02578CF8: ; // 0x2578cf8
|
|
/* 02578CF8 */ cpu->ctr = cpu->r[8];
|
|
/* 02578CFC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578D00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578D04 */ _t396 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578D04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t396);
|
|
/* 02578D08 */ cpu->r[6] = 0x00000000u;
|
|
/* 02578D0C */ cpu->r[5] = cpu->r[28];
|
|
/* 02578D10 */ cpu->r[3] = cpu->r[24];
|
|
/* 02578D14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02578D18 */ _t397 = cpu->r[24] + cpu->r[28];
|
|
/* 02578D18 */ rbrew_write8(cpu->mem, _t397, (uint8_t)cpu->r[31]);
|
|
/* 02578D1C */ cpu->r[10] = 0x02580000u;
|
|
/* 02578D20 */ _t398 = cpu->r[1] + 0x00000024u;
|
|
/* 02578D20 */ rbrew_write16(cpu->mem, _t398, (uint16_t)cpu->r[26]);
|
|
/* 02578D24 */ cpu->r[10] = cpu->r[10] + 0xFFFFBAC0u;
|
|
/* 02578D28 */ _t399 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578D28 */ rbrew_write16(cpu->mem, _t399, (uint16_t)cpu->r[26]);
|
|
/* 02578D2C */ cpu->r[4] = 0x02580000u;
|
|
/* 02578D30 */ _t400 = cpu->r[1] + 0x00000020u;
|
|
/* 02578D30 */ rbrew_write32(cpu->mem, _t400, cpu->r[10]);
|
|
/* 02578D34 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02578D38 */ _t401 = cpu->r[1] + 0x00000014u;
|
|
/* 02578D38 */ rbrew_write16(cpu->mem, _t401, (uint16_t)cpu->r[26]);
|
|
/* 02578D3C */ _t402 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578D3C */ rbrew_write16(cpu->mem, _t402, (uint16_t)cpu->r[10]);
|
|
/* 02578D40 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02578D44 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578D48 */ _t403 = cpu->r[1] + 0x00000016u;
|
|
/* 02578D48 */ rbrew_write16(cpu->mem, _t403, (uint16_t)cpu->r[10]);
|
|
/* 02578D4C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578D50 */ cpu->r[4] = cpu->r[4] + 0xFFFFBB0Cu;
|
|
/* 02578D54 */ _t404 = cpu->r[1] + 0x00000008u;
|
|
/* 02578D54 */ rbrew_write8(cpu->mem, _t404, (uint8_t)cpu->r[5]);
|
|
/* 02578D58 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578D5C */ cpu->r[11] = 0x02580000u;
|
|
/* 02578D60 */ _t405 = cpu->r[1] + 0x00000026u;
|
|
/* 02578D60 */ rbrew_write16(cpu->mem, _t405, (uint16_t)cpu->r[10]);
|
|
/* 02578D64 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578D68 */ cpu->r[11] = cpu->r[11] + 0xFFFFBB20u;
|
|
/* 02578D6C */ _t406 = cpu->r[1] + 0x00000018u;
|
|
/* 02578D6C */ rbrew_write32(cpu->mem, _t406, cpu->r[4]);
|
|
/* 02578D70 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578D74 */ _t407 = cpu->r[1] + 0x00000028u;
|
|
/* 02578D74 */ rbrew_write32(cpu->mem, _t407, cpu->r[11]);
|
|
/* 02578D78 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578D7C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02578D80 */ _t408 = cpu->r[1] + 0x00000010u;
|
|
/* 02578D80 */ rbrew_write32(cpu->mem, _t408, cpu->r[30]);
|
|
/* 02578D84 */ cpu->r[12] = cpu->r[12] + 0x000005D4u;
|
|
/* 02578D88 */ _t409 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578D88 */ rbrew_write32(cpu->mem, _t409, cpu->r[12]);
|
|
/* 02578D8C */ _t410 = cpu->r[27] + 0x00000288u;
|
|
/* 02578D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t410);
|
|
/* 02578D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Bu);
|
|
/* 02578D94 */ _t411 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578D94 */ cpu->r[25] = rbrew_read32(cpu->mem, _t411);
|
|
/* 02578D98 */ _t412 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578D98 */ _t413 = _t412 & 0x00000001u;
|
|
/* 02578D98 */ if (_t413) goto L_02578D9C; else goto L_02578DA0;
|
|
L_02578D9C: ; // 0x2578d9c
|
|
/* 02578D9C */ cpu->r[25] = cpu->r[25] + 0x0000018Cu;
|
|
L_02578DA0: ; // 0x2578da0
|
|
/* 02578DA0 */ cpu->ctr = cpu->r[29];
|
|
/* 02578DA4 */ _t414 = cpu->r[25] + 0x00000000u;
|
|
/* 02578DA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t414);
|
|
/* 02578DA8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578DAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578DB0 */ _t415 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t415);
|
|
/* 02578DB4 */ _t416 = cpu->r[11] + 0x00000000u;
|
|
/* 02578DB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t416);
|
|
/* 02578DB8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02578DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02578DC0 */ cpu->r[0] = 0x00080000u;
|
|
/* 02578DC4 */ _t417 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578DC4 */ _t418 = _t417 & 0x00000001u;
|
|
/* 02578DC4 */ if (_t418) goto L_02578DEC; else goto L_02578DC8;
|
|
L_02578DC8: ; // 0x2578dc8
|
|
/* 02578DC8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02578DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02578DD0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02578DD4 */ _t419 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578DD4 */ _t420 = _t419 & 0x00000001u;
|
|
/* 02578DD4 */ if (_t420) goto L_02578DE8; else goto L_02578DD8;
|
|
L_02578DD8: ; // 0x2578dd8
|
|
/* 02578DD8 */ _t421 = cpu->r[11] + 0x00000000u;
|
|
/* 02578DD8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t421);
|
|
/* 02578DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02578DE0 */ _t422 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578DE0 */ _t423 = _t422 & 0x00000001u;
|
|
/* 02578DE0 */ if (_t423) goto L_02578DE4; else goto L_02578DC8;
|
|
L_02578DE4: ; // 0x2578de4
|
|
/* 02578DE4 */ goto L_02578DEC;
|
|
L_02578DE8: ; // 0x2578de8
|
|
/* 02578DE8 */ cpu->r[28] = 0x00000000u;
|
|
L_02578DEC: ; // 0x2578dec
|
|
/* 02578DEC */ _t424 = cpu->r[25] + 0x00000008u;
|
|
/* 02578DEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t424);
|
|
/* 02578DF0 */ _t425 = cpu->r[1] + 0x00000010u;
|
|
/* 02578DF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t425);
|
|
/* 02578DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02578DF8 */ _t426 = cpu->r[6] + 0x00000014u;
|
|
/* 02578DF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t426);
|
|
/* 02578DFC */ _t427 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578DFC */ _t428 = _t427 & 0x00000001u;
|
|
/* 02578DFC */ if (_t428) goto L_02578E04; else goto L_02578E00;
|
|
L_02578E00: ; // 0x2578e00
|
|
/* 02578E00 */ cpu->r[28] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02578E04: ; // 0x2578e04
|
|
/* 02578E04 */ cpu->ctr = cpu->r[8];
|
|
/* 02578E08 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578E0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578E10 */ _t429 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578E10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t429);
|
|
/* 02578E14 */ cpu->r[3] = cpu->r[24];
|
|
/* 02578E18 */ cpu->r[5] = cpu->r[28];
|
|
/* 02578E1C */ cpu->r[6] = 0x00000000u;
|
|
/* 02578E20 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02578E24 */ _t430 = cpu->r[24] + cpu->r[28];
|
|
/* 02578E24 */ rbrew_write8(cpu->mem, _t430, (uint8_t)cpu->r[31]);
|
|
/* 02578E28 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02578E2C */ _t431 = cpu->r[1] + 0x00000014u;
|
|
/* 02578E2C */ rbrew_write16(cpu->mem, _t431, (uint16_t)cpu->r[26]);
|
|
/* 02578E30 */ cpu->r[5] = 0x02580000u;
|
|
/* 02578E34 */ _t432 = cpu->r[1] + 0x00000024u;
|
|
/* 02578E34 */ rbrew_write16(cpu->mem, _t432, (uint16_t)cpu->r[26]);
|
|
/* 02578E38 */ cpu->r[10] = 0x02580000u;
|
|
/* 02578E3C */ _t433 = cpu->r[1] + 0x00000016u;
|
|
/* 02578E3C */ rbrew_write16(cpu->mem, _t433, (uint16_t)cpu->r[4]);
|
|
/* 02578E40 */ cpu->r[5] = cpu->r[5] + 0xFFFFBB7Cu;
|
|
/* 02578E44 */ _t434 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578E44 */ rbrew_write16(cpu->mem, _t434, (uint16_t)cpu->r[4]);
|
|
/* 02578E48 */ cpu->r[0] = 0x0000000Bu;
|
|
/* 02578E4C */ _t435 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578E4C */ rbrew_write16(cpu->mem, _t435, (uint16_t)cpu->r[26]);
|
|
/* 02578E50 */ cpu->r[10] = cpu->r[10] + 0xFFFFC574u;
|
|
/* 02578E54 */ _t436 = cpu->r[1] + 0x00000008u;
|
|
/* 02578E54 */ rbrew_write8(cpu->mem, _t436, (uint8_t)cpu->r[0]);
|
|
/* 02578E58 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578E5C */ cpu->r[11] = 0x02580000u;
|
|
/* 02578E60 */ _t437 = cpu->r[1] + 0x00000026u;
|
|
/* 02578E60 */ rbrew_write16(cpu->mem, _t437, (uint16_t)cpu->r[4]);
|
|
/* 02578E64 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578E68 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578E6C */ _t438 = cpu->r[1] + 0x00000028u;
|
|
/* 02578E6C */ rbrew_write32(cpu->mem, _t438, cpu->r[10]);
|
|
/* 02578E70 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578E74 */ cpu->r[11] = cpu->r[11] + 0xFFFFC570u;
|
|
/* 02578E78 */ _t439 = cpu->r[1] + 0x00000018u;
|
|
/* 02578E78 */ rbrew_write32(cpu->mem, _t439, cpu->r[5]);
|
|
/* 02578E7C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578E80 */ _t440 = cpu->r[1] + 0x00000020u;
|
|
/* 02578E80 */ rbrew_write32(cpu->mem, _t440, cpu->r[11]);
|
|
/* 02578E84 */ Gambit_fn_0257C884(cpu);
|
|
/* 02578E88 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02578E8C */ _t441 = cpu->r[1] + 0x00000010u;
|
|
/* 02578E8C */ rbrew_write32(cpu->mem, _t441, cpu->r[30]);
|
|
/* 02578E90 */ cpu->r[0] = cpu->r[0] + 0x000005F0u;
|
|
/* 02578E94 */ _t442 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578E94 */ rbrew_write32(cpu->mem, _t442, cpu->r[0]);
|
|
/* 02578E98 */ _t443 = cpu->r[27] + 0x00000288u;
|
|
/* 02578E98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t443);
|
|
/* 02578E9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Cu);
|
|
/* 02578EA0 */ _t444 = cpu->r[27] + 0x0000028Cu;
|
|
/* 02578EA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t444);
|
|
/* 02578EA4 */ _t445 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578EA4 */ _t446 = _t445 & 0x00000001u;
|
|
/* 02578EA4 */ if (_t446) goto L_02578EA8; else goto L_02578EAC;
|
|
L_02578EA8: ; // 0x2578ea8
|
|
/* 02578EA8 */ cpu->r[28] = cpu->r[28] + 0x000001B0u;
|
|
L_02578EAC: ; // 0x2578eac
|
|
/* 02578EAC */ cpu->ctr = cpu->r[29];
|
|
/* 02578EB0 */ _t447 = cpu->r[28] + 0x00000000u;
|
|
/* 02578EB0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t447);
|
|
/* 02578EB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578EB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578EBC */ _t448 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578EBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t448);
|
|
/* 02578EC0 */ _t449 = cpu->r[6] + 0x00000000u;
|
|
/* 02578EC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t449);
|
|
/* 02578EC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02578EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02578ECC */ cpu->r[8] = 0x00080000u;
|
|
/* 02578ED0 */ _t450 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578ED0 */ _t451 = _t450 & 0x00000001u;
|
|
/* 02578ED0 */ if (_t451) goto L_02578EF8; else goto L_02578ED4;
|
|
L_02578ED4: ; // 0x2578ed4
|
|
/* 02578ED4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02578ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02578EDC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02578EE0 */ _t452 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02578EE0 */ _t453 = _t452 & 0x00000001u;
|
|
/* 02578EE0 */ if (_t453) goto L_02578EF4; else goto L_02578EE4;
|
|
L_02578EE4: ; // 0x2578ee4
|
|
/* 02578EE4 */ _t454 = cpu->r[6] + 0x00000000u;
|
|
/* 02578EE4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t454);
|
|
/* 02578EE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02578EEC */ _t455 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578EEC */ _t456 = _t455 & 0x00000001u;
|
|
/* 02578EEC */ if (_t456) goto L_02578EF0; else goto L_02578ED4;
|
|
L_02578EF0: ; // 0x2578ef0
|
|
/* 02578EF0 */ goto L_02578EF8;
|
|
L_02578EF4: ; // 0x2578ef4
|
|
/* 02578EF4 */ cpu->r[30] = 0x00000000u;
|
|
L_02578EF8: ; // 0x2578ef8
|
|
/* 02578EF8 */ _t457 = cpu->r[28] + 0x00000008u;
|
|
/* 02578EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t457);
|
|
/* 02578EFC */ _t458 = cpu->r[1] + 0x00000010u;
|
|
/* 02578EFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t458);
|
|
/* 02578F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02578F04 */ _t459 = cpu->r[8] + 0x00000014u;
|
|
/* 02578F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t459);
|
|
/* 02578F08 */ _t460 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02578F08 */ _t461 = _t460 & 0x00000001u;
|
|
/* 02578F08 */ if (_t461) goto L_02578F10; else goto L_02578F0C;
|
|
L_02578F0C: ; // 0x2578f0c
|
|
/* 02578F0C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02578F10: ; // 0x2578f10
|
|
/* 02578F10 */ cpu->ctr = cpu->r[0];
|
|
/* 02578F14 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02578F1C */ _t462 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02578F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t462);
|
|
/* 02578F20 */ cpu->r[3] = cpu->r[25];
|
|
/* 02578F24 */ cpu->r[5] = cpu->r[30];
|
|
/* 02578F28 */ cpu->r[6] = 0x00000000u;
|
|
/* 02578F2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02578F30 */ _t463 = cpu->r[25] + cpu->r[30];
|
|
/* 02578F30 */ rbrew_write8(cpu->mem, _t463, (uint8_t)cpu->r[31]);
|
|
/* 02578F34 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02578F38 */ _t464 = cpu->r[1] + 0x00000014u;
|
|
/* 02578F38 */ rbrew_write16(cpu->mem, _t464, (uint16_t)cpu->r[26]);
|
|
/* 02578F3C */ cpu->r[10] = 0x02580000u;
|
|
/* 02578F40 */ _t465 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02578F40 */ rbrew_write16(cpu->mem, _t465, (uint16_t)cpu->r[8]);
|
|
/* 02578F44 */ cpu->r[10] = cpu->r[10] + 0xFFFFBC2Cu;
|
|
/* 02578F48 */ _t466 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578F48 */ rbrew_write16(cpu->mem, _t466, (uint16_t)cpu->r[26]);
|
|
/* 02578F4C */ cpu->r[0] = 0x0000000Cu;
|
|
/* 02578F50 */ _t467 = cpu->r[1] + 0x00000016u;
|
|
/* 02578F50 */ rbrew_write16(cpu->mem, _t467, (uint16_t)cpu->r[8]);
|
|
/* 02578F54 */ _t468 = cpu->r[1] + 0x00000026u;
|
|
/* 02578F54 */ rbrew_write16(cpu->mem, _t468, (uint16_t)cpu->r[8]);
|
|
/* 02578F58 */ cpu->r[3] = cpu->r[27] + 0x00000274u;
|
|
/* 02578F5C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02578F60 */ _t469 = cpu->r[1] + 0x00000008u;
|
|
/* 02578F60 */ rbrew_write8(cpu->mem, _t469, (uint8_t)cpu->r[0]);
|
|
/* 02578F64 */ cpu->r[0] = 0x02580000u;
|
|
/* 02578F68 */ cpu->r[12] = 0x02580000u;
|
|
/* 02578F6C */ _t470 = cpu->r[1] + 0x00000024u;
|
|
/* 02578F6C */ rbrew_write16(cpu->mem, _t470, (uint16_t)cpu->r[26]);
|
|
/* 02578F70 */ cpu->r[0] = cpu->r[0] + 0xFFFFC578u;
|
|
/* 02578F74 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02578F78 */ _t471 = cpu->r[1] + 0x00000020u;
|
|
/* 02578F78 */ rbrew_write32(cpu->mem, _t471, cpu->r[10]);
|
|
/* 02578F7C */ cpu->r[12] = cpu->r[12] + 0xFFFFBC5Cu;
|
|
/* 02578F80 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02578F84 */ _t472 = cpu->r[1] + 0x00000028u;
|
|
/* 02578F84 */ rbrew_write32(cpu->mem, _t472, cpu->r[0]);
|
|
/* 02578F88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02578F8C */ _t473 = cpu->r[1] + 0x00000018u;
|
|
/* 02578F8C */ rbrew_write32(cpu->mem, _t473, cpu->r[12]);
|
|
/* 02578F90 */ Gambit_fn_0257C884(cpu);
|
|
L_02578F94: ; // 0x2578f94
|
|
/* 02578F94 */ cpu->r[3] = cpu->r[27];
|
|
/* 02578F98 */ /* nop */
|
|
/* 02578F9C */ _t474 = cpu->r[1] + 0x00000054u;
|
|
/* 02578F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t474);
|
|
/* 02578FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02578FA4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02578FA8 */ return;
|
|
}
|
|
|
|
// fn_02578FAC @ 0x2578fac
|
|
void Gambit_fn_02578FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02578FAC: ; // 0x2578fac
|
|
/* 02578FAC */ cpu->r[0] = cpu->lr;
|
|
/* 02578FB0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02578FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02578FB0 */ cpu->r[1] = _t0;
|
|
/* 02578FB4 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02578FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02578FB8 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02578FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02578FBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02578FC0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02578FC4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02578FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02578FC8 */ _t4 = cpu->r[30] + 0x00001358u;
|
|
/* 02578FC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02578FC8 */ cpu->r[30] = _t4;
|
|
/* 02578FCC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02578FD0 */ cpu->r[4] = cpu->r[10] + 0x0000001Cu;
|
|
/* 02578FD4 */ Gambit_fn_020F1DC0(cpu);
|
|
/* 02578FD8 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02578FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02578FDC */ cpu->r[3] = 0x000002E4u;
|
|
/* 02578FE0 */ _t6 = cpu->r[31] + 0x000002B0u;
|
|
/* 02578FE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02578FE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02578FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02578FEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578FEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02578FEC */ if (_t8) goto L_02578FF4; else goto L_02578FF0;
|
|
L_02578FF0: ; // 0x2578ff0
|
|
/* 02578FF0 */ Gambit_fn_02576DF0(cpu);
|
|
L_02578FF4: ; // 0x2578ff4
|
|
/* 02578FF4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02578FF8 */ _t9 = cpu->r[31] + 0x000002C4u;
|
|
/* 02578FF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02578FFC */ _t10 = cpu->r[12] + 0x00001344u;
|
|
/* 02578FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02579000 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02579000 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02579004 */ _t12 = cpu->r[12] + 0x00000010u;
|
|
/* 02579004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02579008 */ cpu->r[4] = cpu->r[10] + 0x0000001Cu;
|
|
/* 0257900C */ Gambit_fn_0201A440(cpu);
|
|
/* 02579010 */ cpu->r[30] = cpu->r[3];
|
|
/* 02579014 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02579018 */ Gambit_fn_02173CCC(cpu);
|
|
/* 0257901C */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 0257901C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02579020 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02579024 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02579028 */ Gambit_fn_02173E28(cpu);
|
|
/* 0257902C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02579030 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02579030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02579034 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02579038 */ _t15 = cpu->r[31] + 0x000002CCu;
|
|
/* 02579038 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0257903C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02579040 */ _t16 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02579040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579044 */ cpu->r[6] = cpu->r[6] + 0x000003D8u;
|
|
/* 02579048 */ cpu->r[8] = cpu->r[8] + 0x00000608u;
|
|
/* 0257904C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0257904C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02579050 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579050 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02579054 */ Gambit_fn_02826F20(cpu);
|
|
/* 02579058 */ cpu->r[6] = cpu->r[3];
|
|
/* 0257905C */ cpu->r[5] = 0x00000000u;
|
|
/* 02579060 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579064 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02579068 */ Gambit_fn_027C6980(cpu);
|
|
/* 0257906C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 0257906C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02579070 */ _t20 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02579070 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02579074 */ _t21 = cpu->r[9] + 0x00000024u;
|
|
/* 02579074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02579078 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02579080 */ cpu->r[12] = cpu->r[9] + 0x00000024u;
|
|
/* 02579084 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579084 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02579084 */ if (_t23) goto L_0257908C; else goto L_02579088;
|
|
L_02579088: ; // 0x2579088
|
|
/* 02579088 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_0257908C: ; // 0x257908c
|
|
/* 0257908C */ cpu->r[4] = 0x100D0000u;
|
|
/* 02579090 */ cpu->r[4] = cpu->r[4] + 0x00000618u;
|
|
/* 02579094 */ Gambit_fn_02C60464(cpu);
|
|
/* 02579098 */ _t24 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02579098 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0257909C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025790A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 025790A4 */ Gambit_fn_02173D6C(cpu);
|
|
/* 025790A8 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 025790A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025790AC */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 025790AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025790B0 */ cpu->lr = cpu->r[0];
|
|
/* 025790B4 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025790B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025790B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025790BC */ return;
|
|
}
|
|
|
|
// fn_02578FB0 @ 0x2578fb0
|
|
void Gambit_fn_02578FB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02578FB0: ; // 0x2578fb0
|
|
/* 02578FB0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02578FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02578FB0 */ cpu->r[1] = _t0;
|
|
/* 02578FB4 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02578FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02578FB8 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02578FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02578FBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02578FC0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 02578FC4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02578FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02578FC8 */ _t4 = cpu->r[30] + 0x00001358u;
|
|
/* 02578FC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02578FC8 */ cpu->r[30] = _t4;
|
|
/* 02578FCC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02578FD0 */ cpu->r[4] = cpu->r[10] + 0x0000001Cu;
|
|
/* 02578FD4 */ Gambit_fn_020F1DC0(cpu);
|
|
/* 02578FD8 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02578FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02578FDC */ cpu->r[3] = 0x000002E4u;
|
|
/* 02578FE0 */ _t6 = cpu->r[31] + 0x000002B0u;
|
|
/* 02578FE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02578FE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02578FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02578FEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02578FEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02578FEC */ if (_t8) goto L_02578FF4; else goto L_02578FF0;
|
|
L_02578FF0: ; // 0x2578ff0
|
|
/* 02578FF0 */ Gambit_fn_02576DF0(cpu);
|
|
L_02578FF4: ; // 0x2578ff4
|
|
/* 02578FF4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02578FF8 */ _t9 = cpu->r[31] + 0x000002C4u;
|
|
/* 02578FF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02578FFC */ _t10 = cpu->r[12] + 0x00001344u;
|
|
/* 02578FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02579000 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02579000 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02579004 */ _t12 = cpu->r[12] + 0x00000010u;
|
|
/* 02579004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02579008 */ cpu->r[4] = cpu->r[10] + 0x0000001Cu;
|
|
/* 0257900C */ Gambit_fn_0201A440(cpu);
|
|
/* 02579010 */ cpu->r[30] = cpu->r[3];
|
|
/* 02579014 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02579018 */ Gambit_fn_02173CCC(cpu);
|
|
/* 0257901C */ _t13 = cpu->r[30] + 0x00000010u;
|
|
/* 0257901C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02579020 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02579024 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02579028 */ Gambit_fn_02173E28(cpu);
|
|
/* 0257902C */ cpu->r[6] = 0x100D0000u;
|
|
/* 02579030 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02579030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02579034 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02579038 */ _t15 = cpu->r[31] + 0x000002CCu;
|
|
/* 02579038 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0257903C */ cpu->r[8] = 0x100D0000u;
|
|
/* 02579040 */ _t16 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02579040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579044 */ cpu->r[6] = cpu->r[6] + 0x000003D8u;
|
|
/* 02579048 */ cpu->r[8] = cpu->r[8] + 0x00000608u;
|
|
/* 0257904C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0257904C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02579050 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579050 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02579054 */ Gambit_fn_02826F20(cpu);
|
|
/* 02579058 */ cpu->r[6] = cpu->r[3];
|
|
/* 0257905C */ cpu->r[5] = 0x00000000u;
|
|
/* 02579060 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579064 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02579068 */ Gambit_fn_027C6980(cpu);
|
|
/* 0257906C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 0257906C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02579070 */ _t20 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02579070 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02579074 */ _t21 = cpu->r[9] + 0x00000024u;
|
|
/* 02579074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02579078 */ cpu->r[3] = 0x00000000u;
|
|
/* 0257907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02579080 */ cpu->r[12] = cpu->r[9] + 0x00000024u;
|
|
/* 02579084 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579084 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02579084 */ if (_t23) goto L_0257908C; else goto L_02579088;
|
|
L_02579088: ; // 0x2579088
|
|
/* 02579088 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_0257908C: ; // 0x257908c
|
|
/* 0257908C */ cpu->r[4] = 0x100D0000u;
|
|
/* 02579090 */ cpu->r[4] = cpu->r[4] + 0x00000618u;
|
|
/* 02579094 */ Gambit_fn_02C60464(cpu);
|
|
/* 02579098 */ _t24 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02579098 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0257909C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025790A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 025790A4 */ Gambit_fn_02173D6C(cpu);
|
|
/* 025790A8 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 025790A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025790AC */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 025790AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025790B0 */ cpu->lr = cpu->r[0];
|
|
/* 025790B4 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 025790B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025790B8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 025790BC */ return;
|
|
}
|
|
|
|
// fn_025790C0 @ 0x25790c0
|
|
void Gambit_fn_025790C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_025790C0: ; // 0x25790c0
|
|
/* 025790C0 */ cpu->r[0] = cpu->lr;
|
|
/* 025790C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 025790C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025790C8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025790C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 025790C8 */ cpu->r[1] = _t1;
|
|
/* 025790CC */ Gambit_fn_027E3F5C(cpu);
|
|
/* 025790D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025790D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025790D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025790D4 */ if (_t3) goto L_02579110; else goto L_025790D8;
|
|
L_025790D8: ; // 0x25790d8
|
|
/* 025790D8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025790DC */ cpu->r[11] = 0x101C0000u;
|
|
/* 025790E0 */ _t4 = cpu->r[12] + 0x00001358u;
|
|
/* 025790E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025790E4 */ _t5 = cpu->r[11] + 0x00001344u;
|
|
/* 025790E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025790E8 */ _t6 = cpu->r[12] + 0x00000274u;
|
|
/* 025790E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025790EC */ _t7 = cpu->r[11] + 0x00000044u;
|
|
/* 025790EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025790F0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 025790F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025790F4 */ _t9 = cpu->r[12] + 0x0000027Cu;
|
|
/* 025790F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025790F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025790FC */ Gambit_fn_020298E4(cpu);
|
|
/* 02579100 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02579100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02579104 */ cpu->lr = cpu->r[0];
|
|
/* 02579108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257910C */ return;
|
|
L_02579110: ; // 0x2579110
|
|
/* 02579110 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02579110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02579114 */ cpu->lr = cpu->r[0];
|
|
/* 02579118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257911C */ cpu->r[3] = 0x00000000u;
|
|
/* 02579120 */ return;
|
|
}
|
|
|
|
// fn_025790C8 @ 0x25790c8
|
|
void Gambit_fn_025790C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025790C8: ; // 0x25790c8
|
|
/* 025790C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025790C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025790C8 */ cpu->r[1] = _t0;
|
|
/* 025790CC */ Gambit_fn_027E3F5C(cpu);
|
|
/* 025790D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025790D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025790D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025790D4 */ if (_t2) goto L_02579110; else goto L_025790D8;
|
|
L_025790D8: ; // 0x25790d8
|
|
/* 025790D8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025790DC */ cpu->r[11] = 0x101C0000u;
|
|
/* 025790E0 */ _t3 = cpu->r[12] + 0x00001358u;
|
|
/* 025790E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025790E4 */ _t4 = cpu->r[11] + 0x00001344u;
|
|
/* 025790E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025790E8 */ _t5 = cpu->r[12] + 0x00000274u;
|
|
/* 025790E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025790EC */ _t6 = cpu->r[11] + 0x00000044u;
|
|
/* 025790EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025790F0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 025790F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 025790F4 */ _t8 = cpu->r[12] + 0x0000027Cu;
|
|
/* 025790F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025790F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025790FC */ Gambit_fn_020298E4(cpu);
|
|
/* 02579100 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02579100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02579104 */ cpu->lr = cpu->r[0];
|
|
/* 02579108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257910C */ return;
|
|
L_02579110: ; // 0x2579110
|
|
/* 02579110 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02579110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02579114 */ cpu->lr = cpu->r[0];
|
|
/* 02579118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0257911C */ cpu->r[3] = 0x00000000u;
|
|
/* 02579120 */ return;
|
|
}
|
|
|
|
// fn_02579124 @ 0x2579124
|
|
void Gambit_fn_02579124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02579124: ; // 0x2579124
|
|
/* 02579124 */ cpu->r[0] = cpu->lr;
|
|
/* 02579128 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02579128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579128 */ cpu->r[1] = _t0;
|
|
/* 0257912C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257912C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02579130 */ cpu->r[31] = cpu->r[3];
|
|
/* 02579134 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02579134 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02579138 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 0257913C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579140 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02579140 */ if (_t4) goto L_02579164; else goto L_02579144;
|
|
L_02579144: ; // 0x2579144
|
|
/* 02579144 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579148 */ Gambit_fn_025790C0(cpu);
|
|
/* 0257914C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0257914C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02579150 */ _t6 = cpu->r[3] + 0x00000131u;
|
|
/* 02579150 */ cpu->r[3] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02579154 */ cpu->lr = cpu->r[0];
|
|
/* 02579158 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257915C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02579160 */ return;
|
|
L_02579164: ; // 0x2579164
|
|
/* 02579164 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02579164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02579168 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0257916C */ cpu->lr = cpu->r[0];
|
|
/* 02579170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02579174 */ cpu->r[3] = 0x00000000u;
|
|
/* 02579178 */ return;
|
|
}
|
|
|
|
// fn_02579128 @ 0x2579128
|
|
void Gambit_fn_02579128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02579128: ; // 0x2579128
|
|
/* 02579128 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02579128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579128 */ cpu->r[1] = _t0;
|
|
/* 0257912C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257912C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02579130 */ cpu->r[31] = cpu->r[3];
|
|
/* 02579134 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02579134 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02579138 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 0257913C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579140 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02579140 */ if (_t4) goto L_02579164; else goto L_02579144;
|
|
L_02579144: ; // 0x2579144
|
|
/* 02579144 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579148 */ Gambit_fn_025790C0(cpu);
|
|
/* 0257914C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0257914C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02579150 */ _t6 = cpu->r[3] + 0x00000131u;
|
|
/* 02579150 */ cpu->r[3] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02579154 */ cpu->lr = cpu->r[0];
|
|
/* 02579158 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0257915C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02579160 */ return;
|
|
L_02579164: ; // 0x2579164
|
|
/* 02579164 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02579164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02579168 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0257916C */ cpu->lr = cpu->r[0];
|
|
/* 02579170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02579174 */ cpu->r[3] = 0x00000000u;
|
|
/* 02579178 */ return;
|
|
}
|
|
|
|
// fn_0257917C @ 0x257917c
|
|
void Gambit_fn_0257917C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02425414: ; // 0x2425414
|
|
/* 02425414 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02425414 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02425418 */ goto L_02426014;
|
|
L_02426014: ; // 0x2426014
|
|
/* 02426014 */ cpu->r[0] = cpu->lr;
|
|
/* 02426018 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02426018 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02426018 */ cpu->r[1] = _t1;
|
|
/* 0242601C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0242601C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02426020 */ cpu->r[12] = 0x10090000u;
|
|
/* 02426024 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02426024 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02426028 */ cpu->r[31] = cpu->r[4];
|
|
/* 0242602C */ cpu->r[4] = 0x00000001u;
|
|
/* 02426030 */ cpu->r[12] = cpu->r[12] + 0x00007EBCu;
|
|
/* 02426034 */ cpu->r[30] = cpu->r[3];
|
|
/* 02426038 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02426038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0242603C */ cpu->r[0] = 0x10090000u;
|
|
/* 02426040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02426044 */ cpu->r[0] = cpu->r[0] + 0x00007F84u;
|
|
/* 02426048 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02426048 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02426048 */ if (_t6) goto L_02426064; else goto L_0242604C;
|
|
L_0242604C: ; // 0x242604c
|
|
/* 0242604C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0242604C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02426050 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02426054 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02426054 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02426058 */ Gambit_fn_027ED624(cpu);
|
|
/* 0242605C */ _t9 = cpu->r[30] + 0x00000225u;
|
|
/* 0242605C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02426060 */ goto L_02426078;
|
|
L_02426064: ; // 0x2426064
|
|
/* 02426064 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02426064 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02426068 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0242606C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0242606C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02426070 */ Gambit_fn_027ED798(cpu);
|
|
/* 02426074 */ _t12 = cpu->r[30] + 0x00000225u;
|
|
/* 02426074 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
L_02426078: ; // 0x2426078
|
|
/* 02426078 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02426078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0242607C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0242607C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02426080 */ cpu->lr = cpu->r[0];
|
|
/* 02426084 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02426084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02426088 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0242608C */ return;
|
|
L_0257917C: ; // 0x257917c
|
|
/* 0257917C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02579180 */ _t16 = cpu->r[12] + 0x00006BD0u;
|
|
/* 02579180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579184 */ _t17 = cpu->r[3] + 0x00000268u;
|
|
/* 02579184 */ cpu->r[4] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02579188 */ _t18 = cpu->r[12] + 0x000002DCu;
|
|
/* 02579188 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0257918C */ goto L_02425414;
|
|
}
|
|
|
|
// fn_02579190 @ 0x2579190
|
|
void Gambit_fn_02579190(CPUState* cpu) {
|
|
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_02579190: ; // 0x2579190
|
|
/* 02579190 */ cpu->r[5] = 0x00000000u;
|
|
/* 02579194 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02579198 */ _t0 = cpu->r[3] + 0x000002ACu;
|
|
/* 02579198 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 0257919C */ _t1 = cpu->r[12] + 0x00006000u;
|
|
/* 0257919C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025791A0 */ _t2 = cpu->r[12] + 0x00000250u;
|
|
/* 025791A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025791A4 */ _t3 = cpu->r[12] + 0x00000254u;
|
|
/* 025791A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025791A8 */ cpu->r[4] = 0x00000005u;
|
|
/* 025791AC */ goto L_027B8224;
|
|
L_027B8224: ; // 0x27b8224
|
|
/* 027B8224 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 027B8224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027B822C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B822C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B822C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B822C */ goto L_027B8230;
|
|
L_027B8230: ; // 0x27b8230
|
|
/* 027B8230 */ goto L_027DA698;
|
|
L_027DA698: ; // 0x27da698
|
|
/* 027DA698 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA69C */ _t7 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t7, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t7;
|
|
/* 027DA6A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027DA6A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 027DA6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027DA6AC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t14) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t17) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA6F0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA6F4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_025791B0 @ 0x25791b0
|
|
void Gambit_fn_025791B0(CPUState* cpu) {
|
|
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_025791B0: ; // 0x25791b0
|
|
/* 025791B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 025791B4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025791B8 */ _t0 = cpu->r[3] + 0x000002ADu;
|
|
/* 025791B8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 025791BC */ _t1 = cpu->r[12] + 0x00006000u;
|
|
/* 025791BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025791C0 */ _t2 = cpu->r[12] + 0x00000250u;
|
|
/* 025791C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025791C4 */ _t3 = cpu->r[12] + 0x00000254u;
|
|
/* 025791C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025791C8 */ cpu->r[4] = 0x00000006u;
|
|
/* 025791CC */ goto L_027B8224;
|
|
L_027B8224: ; // 0x27b8224
|
|
/* 027B8224 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 027B8224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027B822C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B822C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B822C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B822C */ goto L_027B8230;
|
|
L_027B8230: ; // 0x27b8230
|
|
/* 027B8230 */ goto L_027DA698;
|
|
L_027DA698: ; // 0x27da698
|
|
/* 027DA698 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA69C */ _t7 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t7, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t7;
|
|
/* 027DA6A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027DA6A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 027DA6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027DA6AC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t14) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t17) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA6F0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA6F4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_025791D0 @ 0x25791d0
|
|
void Gambit_fn_025791D0(CPUState* cpu) {
|
|
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_025791D0: ; // 0x25791d0
|
|
/* 025791D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 025791D4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025791D8 */ _t0 = cpu->r[3] + 0x000002ACu;
|
|
/* 025791D8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 025791DC */ _t1 = cpu->r[12] + 0x00006000u;
|
|
/* 025791DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025791E0 */ _t2 = cpu->r[12] + 0x00000250u;
|
|
/* 025791E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025791E4 */ _t3 = cpu->r[12] + 0x00000254u;
|
|
/* 025791E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025791E8 */ cpu->r[4] = 0x00000005u;
|
|
/* 025791EC */ goto L_027B8224;
|
|
L_027B8224: ; // 0x27b8224
|
|
/* 027B8224 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 027B8224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027B822C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B822C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B822C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B822C */ goto L_027B8230;
|
|
L_027B8230: ; // 0x27b8230
|
|
/* 027B8230 */ goto L_027DA698;
|
|
L_027DA698: ; // 0x27da698
|
|
/* 027DA698 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA69C */ _t7 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t7, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t7;
|
|
/* 027DA6A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027DA6A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 027DA6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027DA6AC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t14) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t17) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA6F0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA6F4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_025791F0 @ 0x25791f0
|
|
void Gambit_fn_025791F0(CPUState* cpu) {
|
|
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_025791F0: ; // 0x25791f0
|
|
/* 025791F0 */ cpu->r[5] = 0x00000001u;
|
|
/* 025791F4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 025791F8 */ _t0 = cpu->r[3] + 0x000002ADu;
|
|
/* 025791F8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 025791FC */ _t1 = cpu->r[12] + 0x00006000u;
|
|
/* 025791FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02579200 */ _t2 = cpu->r[12] + 0x00000250u;
|
|
/* 02579200 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02579204 */ _t3 = cpu->r[12] + 0x00000254u;
|
|
/* 02579204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02579208 */ cpu->r[4] = 0x00000006u;
|
|
/* 0257920C */ goto L_027B8224;
|
|
L_027B8224: ; // 0x27b8224
|
|
/* 027B8224 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 027B8224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B8228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027B822C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B822C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B822C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B822C */ goto L_027B8230;
|
|
L_027B8230: ; // 0x27b8230
|
|
/* 027B8230 */ goto L_027DA698;
|
|
L_027DA698: ; // 0x27da698
|
|
/* 027DA698 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA69C */ _t7 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t7, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t7;
|
|
/* 027DA6A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027DA6A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 027DA6A8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027DA6AC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t14) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t17) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA6F0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA6F4 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_02579210 @ 0x2579210
|
|
void Gambit_fn_02579210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80;
|
|
|
|
L_02579210: ; // 0x2579210
|
|
/* 02579210 */ cpu->r[0] = cpu->lr;
|
|
/* 02579214 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02579214 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579214 */ cpu->r[1] = _t0;
|
|
/* 02579218 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02579218 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0257921C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0257921C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02579220 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579220 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02579224 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02579224 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02579228 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0257922C */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257922C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02579230 */ _t6 = cpu->r[11] + 0x00006BD0u;
|
|
/* 02579230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02579234 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02579238 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257923C */ _t7 = cpu->r[11] + 0x000002DCu;
|
|
/* 0257923C */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02579240 */ _t8 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579240 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02579244 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 02579248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257924C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257924C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0257924C */ if (_t10) goto L_02579284; else goto L_02579250;
|
|
L_02579250: ; // 0x2579250
|
|
/* 02579250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579254 */ Gambit_fn_025790C0(cpu);
|
|
/* 02579258 */ _t11 = cpu->r[3] + 0x00000128u;
|
|
/* 02579258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257925C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02579260 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02579260 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02579260 */ if (_t13) goto L_02579264; else goto L_02579284;
|
|
L_02579264: ; // 0x2579264
|
|
/* 02579264 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu);
|
|
/* 02579268 */ cpu->r[3] = cpu->r[28];
|
|
/* 0257926C */ _t14 = cpu->r[31] + 0x000002B8u;
|
|
/* 0257926C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02579270 */ Gambit_fn_024256DC(cpu);
|
|
/* 02579274 */ _t15 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02579278 */ cpu->r[5] = 0x00000708u;
|
|
/* 0257927C */ cpu->r[3] = cpu->r[28];
|
|
/* 02579280 */ Gambit_fn_0242574C(cpu);
|
|
L_02579284: ; // 0x2579284
|
|
/* 02579284 */ _t16 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579288 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257928C */ _t17 = cpu->r[31] + 0x000002B4u;
|
|
/* 0257928C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02579290 */ Gambit_fn_02579124(cpu);
|
|
/* 02579294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579298 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579298 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02579298 */ if (_t19) goto L_025792A8; else goto L_0257929C;
|
|
L_0257929C: ; // 0x257929c
|
|
/* 0257929C */ cpu->r[3] = cpu->r[28];
|
|
/* 025792A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025792A4 */ Gambit_fn_024253F4(cpu);
|
|
L_025792A8: ; // 0x25792a8
|
|
/* 025792A8 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025792AC */ cpu->r[7] = 0x00000003u;
|
|
/* 025792B0 */ _t20 = cpu->r[8] + 0x000004F8u;
|
|
/* 025792B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025792B4 */ _t21 = cpu->r[31] + 0x000002BCu;
|
|
/* 025792B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 025792B8 */ _t22 = cpu->r[31] + 0x000002C0u;
|
|
/* 025792B8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 025792BC */ Gambit_fn_027E3F5C(cpu);
|
|
/* 025792C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025792C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025792C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 025792C4 */ if (_t24) goto L_0257930C; else goto L_025792C8;
|
|
L_025792C8: ; // 0x25792c8
|
|
/* 025792C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025792CC */ Gambit_fn_025790C0(cpu);
|
|
/* 025792D0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025792D4 */ _t25 = cpu->r[3] + 0x0000012Cu;
|
|
/* 025792D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025792D8 */ _t26 = cpu->r[11] + 0x00000628u;
|
|
/* 025792D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025792DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025792E0 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025792E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025792E0 */ if (_t28) goto L_025792E4; else goto L_0257930C;
|
|
L_025792E4: ; // 0x25792e4
|
|
/* 025792E4 */ cpu->f[1] = cpu->f[13];
|
|
/* 025792E8 */ _t29 = cpu->r[31] + 0x000002C0u;
|
|
/* 025792E8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 025792EC */ cpu->r[3] = cpu->r[28];
|
|
/* 025792F0 */ Gambit_fn_02425434(cpu);
|
|
/* 025792F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 025792F8 */ Gambit_fn_02425454(cpu);
|
|
/* 025792FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579300 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579300 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02579300 */ if (_t31) goto L_0257930C; else goto L_02579304;
|
|
L_02579304: ; // 0x2579304
|
|
/* 02579304 */ cpu->r[3] = cpu->r[28];
|
|
/* 02579308 */ Gambit_fn_02425444(cpu);
|
|
L_0257930C: ; // 0x257930c
|
|
/* 0257930C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02579310 */ _t32 = cpu->r[30] + 0x00006000u;
|
|
/* 02579310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02579314 */ _t33 = cpu->r[12] + 0x00000270u;
|
|
/* 02579314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02579318 */ Gambit_fn_0240D924(cpu);
|
|
/* 0257931C */ _t34 = cpu->r[31] + 0x00000264u;
|
|
/* 0257931C */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02579320 */ cpu->r[29] = 0x00000000u;
|
|
/* 02579324 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02579328 */ _t35 = cpu->r[31] + 0x0000026Cu;
|
|
/* 02579328 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 0257932C */ Gambit_fn_02173CCC(cpu);
|
|
/* 02579330 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02579334 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02579338 */ _t36 = cpu->r[10] + 0x00001344u;
|
|
/* 02579338 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0257933C */ _t37 = cpu->r[9] + 0x00001358u;
|
|
/* 0257933C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02579340 */ _t38 = cpu->r[10] + 0x00000010u;
|
|
/* 02579340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02579344 */ cpu->r[4] = cpu->r[9] + 0x0000001Cu;
|
|
/* 02579348 */ Gambit_fn_0201A440(cpu);
|
|
/* 0257934C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257934C */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 02579350 */ _t40 = cpu->r[3] + 0x00000010u;
|
|
/* 02579350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02579354 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579358 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0257935C */ Gambit_fn_02173F74(cpu);
|
|
/* 02579360 */ _t41 = cpu->r[31] + 0x00000268u;
|
|
/* 02579360 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[3]);
|
|
/* 02579364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579368 */ Gambit_fn_0257917C(cpu);
|
|
/* 0257936C */ cpu->r[4] = 0x00000002u;
|
|
/* 02579370 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02579374 */ Gambit_fn_02173D6C(cpu);
|
|
/* 02579378 */ _t42 = cpu->r[31] + 0x000002BCu;
|
|
/* 02579378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0257937C */ cpu->r[3] = cpu->r[28];
|
|
/* 02579380 */ Gambit_fn_024253E4(cpu);
|
|
/* 02579384 */ _t43 = cpu->r[31] + 0x00000282u;
|
|
/* 02579384 */ cpu->r[4] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02579388 */ cpu->r[11] = 0x00000001u;
|
|
/* 0257938C */ _t44 = cpu->r[31] + 0x000002C8u;
|
|
/* 0257938C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[29]);
|
|
/* 02579390 */ /* nop */
|
|
/* 02579394 */ _t45 = cpu->r[31] + 0x00000271u;
|
|
/* 02579394 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[11]);
|
|
/* 02579398 */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 0257939C */ _t46 = cpu->r[31] + 0x00000248u;
|
|
/* 0257939C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[11]);
|
|
/* 025793A0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025793A4 */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 025793A8 */ Gambit_fn_0257C90C(cpu);
|
|
/* 025793AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025793B0 */ Gambit_fn_02579190(cpu);
|
|
/* 025793B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025793B8 */ Gambit_fn_025791B0(cpu);
|
|
/* 025793BC */ _t47 = cpu->r[30] + 0x00006000u;
|
|
/* 025793BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025793C0 */ _t48 = cpu->r[8] + 0x0000026Cu;
|
|
/* 025793C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025793C4 */ _t49 = cpu->r[30] + 0x00000030u;
|
|
/* 025793C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025793C8 */ _t50 = cpu->r[11] + 0x0000002Cu;
|
|
/* 025793C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025793CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025793D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 025793D0 */ if (_t52) goto L_025793D4; else goto L_025793F8;
|
|
L_025793D4: ; // 0x25793d4
|
|
/* 025793D4 */ _t53 = cpu->r[11] + 0x00000034u;
|
|
/* 025793D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025793D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025793DC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793DC */ _t55 = _t54 & 0x00000001u;
|
|
/* 025793DC */ if (_t55) goto L_025793E0; else goto L_025793F8;
|
|
L_025793E0: ; // 0x25793e0
|
|
/* 025793E0 */ _t56 = cpu->r[11] + 0x0000003Cu;
|
|
/* 025793E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 025793E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025793E8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793E8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 025793E8 */ if (_t58) goto L_025793EC; else goto L_025793F8;
|
|
L_025793EC: ; // 0x25793ec
|
|
/* 025793EC */ _t59 = cpu->r[11] + 0x0000007Cu;
|
|
/* 025793EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 025793F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025793F4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793F4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 025793F4 */ if (_t61) goto L_02579404; else goto L_025793F8;
|
|
L_025793F8: ; // 0x25793f8
|
|
/* 025793F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025793FC */ Gambit_fn_025791D0(cpu);
|
|
/* 02579400 */ _t62 = cpu->r[30] + 0x00000030u;
|
|
/* 02579400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
L_02579404: ; // 0x2579404
|
|
/* 02579404 */ _t63 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02579404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02579408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257940C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257940C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0257940C */ if (_t65) goto L_02579418; else goto L_02579410;
|
|
L_02579410: ; // 0x2579410
|
|
/* 02579410 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579414 */ Gambit_fn_025791F0(cpu);
|
|
L_02579418: ; // 0x2579418
|
|
/* 02579418 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 0257941C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579420 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579420 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02579420 */ if (_t67) goto L_02579444; else goto L_02579424;
|
|
L_02579424: ; // 0x2579424
|
|
/* 02579424 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02579428 */ _t68 = cpu->r[12] + 0x000044E4u;
|
|
/* 02579428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0257942C */ _t69 = cpu->r[12] + 0x00000254u;
|
|
/* 0257942C */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02579430 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 02579434 */ cpu->r[4] = 0x00000007u;
|
|
/* 02579438 */ cpu->r[5] = cpu->r[3];
|
|
/* 0257943C */ cpu->r[3] = cpu->r[30];
|
|
/* 02579440 */ Gambit_fn_027B8224(cpu);
|
|
L_02579444: ; // 0x2579444
|
|
/* 02579444 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02579448 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257944C */ _t70 = cpu->r[7] + 0x00000388u;
|
|
/* 0257944C */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02579450 */ cpu->r[12] = 0x00000004u;
|
|
/* 02579454 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02579454 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 02579458 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257945C */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 0257945C */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 02579460 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579464 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02579468 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579468 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 0257946C */ Gambit_fn_02791774(cpu);
|
|
/* 02579470 */ _t74 = cpu->r[31] + 0x00000230u;
|
|
/* 02579470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02579474 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02579478 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 02579478 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 0257947C */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 0257947C */ cpu->r[28] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02579480 */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579480 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02579484 */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02579484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02579488 */ _t79 = cpu->r[1] + 0x00000034u;
|
|
/* 02579488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0257948C */ cpu->lr = cpu->r[0];
|
|
/* 02579490 */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 02579490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02579494 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02579498 */ return;
|
|
}
|
|
|
|
// fn_02579214 @ 0x2579214
|
|
void Gambit_fn_02579214(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80;
|
|
|
|
L_02579214: ; // 0x2579214
|
|
/* 02579214 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02579214 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579214 */ cpu->r[1] = _t0;
|
|
/* 02579218 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02579218 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0257921C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0257921C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02579220 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579220 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02579224 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02579224 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02579228 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0257922C */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0257922C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02579230 */ _t6 = cpu->r[11] + 0x00006BD0u;
|
|
/* 02579230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02579234 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02579238 */ cpu->r[31] = cpu->r[3];
|
|
/* 0257923C */ _t7 = cpu->r[11] + 0x000002DCu;
|
|
/* 0257923C */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02579240 */ _t8 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579240 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02579244 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 02579248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0257924C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257924C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0257924C */ if (_t10) goto L_02579284; else goto L_02579250;
|
|
L_02579250: ; // 0x2579250
|
|
/* 02579250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579254 */ Gambit_fn_025790C0(cpu);
|
|
/* 02579258 */ _t11 = cpu->r[3] + 0x00000128u;
|
|
/* 02579258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0257925C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02579260 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02579260 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02579260 */ if (_t13) goto L_02579264; else goto L_02579284;
|
|
L_02579264: ; // 0x2579264
|
|
/* 02579264 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu);
|
|
/* 02579268 */ cpu->r[3] = cpu->r[28];
|
|
/* 0257926C */ _t14 = cpu->r[31] + 0x000002B8u;
|
|
/* 0257926C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02579270 */ Gambit_fn_024256DC(cpu);
|
|
/* 02579274 */ _t15 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02579278 */ cpu->r[5] = 0x00000708u;
|
|
/* 0257927C */ cpu->r[3] = cpu->r[28];
|
|
/* 02579280 */ Gambit_fn_0242574C(cpu);
|
|
L_02579284: ; // 0x2579284
|
|
/* 02579284 */ _t16 = cpu->r[31] + 0x000002B8u;
|
|
/* 02579284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579288 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257928C */ _t17 = cpu->r[31] + 0x000002B4u;
|
|
/* 0257928C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02579290 */ Gambit_fn_02579124(cpu);
|
|
/* 02579294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579298 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579298 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02579298 */ if (_t19) goto L_025792A8; else goto L_0257929C;
|
|
L_0257929C: ; // 0x257929c
|
|
/* 0257929C */ cpu->r[3] = cpu->r[28];
|
|
/* 025792A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025792A4 */ Gambit_fn_024253F4(cpu);
|
|
L_025792A8: ; // 0x25792a8
|
|
/* 025792A8 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025792AC */ cpu->r[7] = 0x00000003u;
|
|
/* 025792B0 */ _t20 = cpu->r[8] + 0x000004F8u;
|
|
/* 025792B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025792B4 */ _t21 = cpu->r[31] + 0x000002BCu;
|
|
/* 025792B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 025792B8 */ _t22 = cpu->r[31] + 0x000002C0u;
|
|
/* 025792B8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 025792BC */ Gambit_fn_027E3F5C(cpu);
|
|
/* 025792C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025792C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025792C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 025792C4 */ if (_t24) goto L_0257930C; else goto L_025792C8;
|
|
L_025792C8: ; // 0x25792c8
|
|
/* 025792C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025792CC */ Gambit_fn_025790C0(cpu);
|
|
/* 025792D0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025792D4 */ _t25 = cpu->r[3] + 0x0000012Cu;
|
|
/* 025792D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 025792D8 */ _t26 = cpu->r[11] + 0x00000628u;
|
|
/* 025792D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 025792DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 025792E0 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025792E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025792E0 */ if (_t28) goto L_025792E4; else goto L_0257930C;
|
|
L_025792E4: ; // 0x25792e4
|
|
/* 025792E4 */ cpu->f[1] = cpu->f[13];
|
|
/* 025792E8 */ _t29 = cpu->r[31] + 0x000002C0u;
|
|
/* 025792E8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 025792EC */ cpu->r[3] = cpu->r[28];
|
|
/* 025792F0 */ Gambit_fn_02425434(cpu);
|
|
/* 025792F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 025792F8 */ Gambit_fn_02425454(cpu);
|
|
/* 025792FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579300 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579300 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02579300 */ if (_t31) goto L_0257930C; else goto L_02579304;
|
|
L_02579304: ; // 0x2579304
|
|
/* 02579304 */ cpu->r[3] = cpu->r[28];
|
|
/* 02579308 */ Gambit_fn_02425444(cpu);
|
|
L_0257930C: ; // 0x257930c
|
|
/* 0257930C */ cpu->r[30] = 0x101C0000u;
|
|
/* 02579310 */ _t32 = cpu->r[30] + 0x00006000u;
|
|
/* 02579310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02579314 */ _t33 = cpu->r[12] + 0x00000270u;
|
|
/* 02579314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02579318 */ Gambit_fn_0240D924(cpu);
|
|
/* 0257931C */ _t34 = cpu->r[31] + 0x00000264u;
|
|
/* 0257931C */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02579320 */ cpu->r[29] = 0x00000000u;
|
|
/* 02579324 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02579328 */ _t35 = cpu->r[31] + 0x0000026Cu;
|
|
/* 02579328 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 0257932C */ Gambit_fn_02173CCC(cpu);
|
|
/* 02579330 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02579334 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02579338 */ _t36 = cpu->r[10] + 0x00001344u;
|
|
/* 02579338 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0257933C */ _t37 = cpu->r[9] + 0x00001358u;
|
|
/* 0257933C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02579340 */ _t38 = cpu->r[10] + 0x00000010u;
|
|
/* 02579340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02579344 */ cpu->r[4] = cpu->r[9] + 0x0000001Cu;
|
|
/* 02579348 */ Gambit_fn_0201A440(cpu);
|
|
/* 0257934C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257934C */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 02579350 */ _t40 = cpu->r[3] + 0x00000010u;
|
|
/* 02579350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02579354 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579358 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0257935C */ Gambit_fn_02173F74(cpu);
|
|
/* 02579360 */ _t41 = cpu->r[31] + 0x00000268u;
|
|
/* 02579360 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[3]);
|
|
/* 02579364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579368 */ Gambit_fn_0257917C(cpu);
|
|
/* 0257936C */ cpu->r[4] = 0x00000002u;
|
|
/* 02579370 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02579374 */ Gambit_fn_02173D6C(cpu);
|
|
/* 02579378 */ _t42 = cpu->r[31] + 0x000002BCu;
|
|
/* 02579378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0257937C */ cpu->r[3] = cpu->r[28];
|
|
/* 02579380 */ Gambit_fn_024253E4(cpu);
|
|
/* 02579384 */ _t43 = cpu->r[31] + 0x00000282u;
|
|
/* 02579384 */ cpu->r[4] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02579388 */ cpu->r[11] = 0x00000001u;
|
|
/* 0257938C */ _t44 = cpu->r[31] + 0x000002C8u;
|
|
/* 0257938C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[29]);
|
|
/* 02579390 */ /* nop */
|
|
/* 02579394 */ _t45 = cpu->r[31] + 0x00000271u;
|
|
/* 02579394 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[11]);
|
|
/* 02579398 */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 0257939C */ _t46 = cpu->r[31] + 0x00000248u;
|
|
/* 0257939C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[11]);
|
|
/* 025793A0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 025793A4 */ cpu->r[3] = cpu->r[31] + 0x00000274u;
|
|
/* 025793A8 */ Gambit_fn_0257C90C(cpu);
|
|
/* 025793AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025793B0 */ Gambit_fn_02579190(cpu);
|
|
/* 025793B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025793B8 */ Gambit_fn_025791B0(cpu);
|
|
/* 025793BC */ _t47 = cpu->r[30] + 0x00006000u;
|
|
/* 025793BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025793C0 */ _t48 = cpu->r[8] + 0x0000026Cu;
|
|
/* 025793C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025793C4 */ _t49 = cpu->r[30] + 0x00000030u;
|
|
/* 025793C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025793C8 */ _t50 = cpu->r[11] + 0x0000002Cu;
|
|
/* 025793C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025793CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025793D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 025793D0 */ if (_t52) goto L_025793D4; else goto L_025793F8;
|
|
L_025793D4: ; // 0x25793d4
|
|
/* 025793D4 */ _t53 = cpu->r[11] + 0x00000034u;
|
|
/* 025793D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025793D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025793DC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793DC */ _t55 = _t54 & 0x00000001u;
|
|
/* 025793DC */ if (_t55) goto L_025793E0; else goto L_025793F8;
|
|
L_025793E0: ; // 0x25793e0
|
|
/* 025793E0 */ _t56 = cpu->r[11] + 0x0000003Cu;
|
|
/* 025793E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 025793E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025793E8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793E8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 025793E8 */ if (_t58) goto L_025793EC; else goto L_025793F8;
|
|
L_025793EC: ; // 0x25793ec
|
|
/* 025793EC */ _t59 = cpu->r[11] + 0x0000007Cu;
|
|
/* 025793EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 025793F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025793F4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025793F4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 025793F4 */ if (_t61) goto L_02579404; else goto L_025793F8;
|
|
L_025793F8: ; // 0x25793f8
|
|
/* 025793F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025793FC */ Gambit_fn_025791D0(cpu);
|
|
/* 02579400 */ _t62 = cpu->r[30] + 0x00000030u;
|
|
/* 02579400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
L_02579404: ; // 0x2579404
|
|
/* 02579404 */ _t63 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02579404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02579408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0257940C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0257940C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0257940C */ if (_t65) goto L_02579418; else goto L_02579410;
|
|
L_02579410: ; // 0x2579410
|
|
/* 02579410 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579414 */ Gambit_fn_025791F0(cpu);
|
|
L_02579418: ; // 0x2579418
|
|
/* 02579418 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 0257941C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02579420 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579420 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02579420 */ if (_t67) goto L_02579444; else goto L_02579424;
|
|
L_02579424: ; // 0x2579424
|
|
/* 02579424 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02579428 */ _t68 = cpu->r[12] + 0x000044E4u;
|
|
/* 02579428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0257942C */ _t69 = cpu->r[12] + 0x00000254u;
|
|
/* 0257942C */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02579430 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 02579434 */ cpu->r[4] = 0x00000007u;
|
|
/* 02579438 */ cpu->r[5] = cpu->r[3];
|
|
/* 0257943C */ cpu->r[3] = cpu->r[30];
|
|
/* 02579440 */ Gambit_fn_027B8224(cpu);
|
|
L_02579444: ; // 0x2579444
|
|
/* 02579444 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02579448 */ cpu->r[0] = 0x00000002u;
|
|
/* 0257944C */ _t70 = cpu->r[7] + 0x00000388u;
|
|
/* 0257944C */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02579450 */ cpu->r[12] = 0x00000004u;
|
|
/* 02579454 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02579454 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 02579458 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257945C */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 0257945C */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 02579460 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579464 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02579468 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579468 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 0257946C */ Gambit_fn_02791774(cpu);
|
|
/* 02579470 */ _t74 = cpu->r[31] + 0x00000230u;
|
|
/* 02579470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02579474 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02579478 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 02579478 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 0257947C */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 0257947C */ cpu->r[28] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02579480 */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579480 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02579484 */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02579484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02579488 */ _t79 = cpu->r[1] + 0x00000034u;
|
|
/* 02579488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0257948C */ cpu->lr = cpu->r[0];
|
|
/* 02579490 */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 02579490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02579494 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02579498 */ return;
|
|
}
|
|
|
|
// fn_0257949C @ 0x257949c
|
|
void Gambit_fn_0257949C(CPUState* cpu) {
|
|
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_0257949C: ; // 0x257949c
|
|
/* 0257949C */ cpu->r[0] = cpu->lr;
|
|
/* 025794A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025794A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025794A0 */ cpu->r[1] = _t0;
|
|
/* 025794A4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025794A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025794A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025794A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025794AC */ cpu->r[31] = cpu->r[3];
|
|
/* 025794B0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025794B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025794B4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025794B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025794B8 */ Gambit_fn_027FA9BC(cpu);
|
|
/* 025794BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025794C0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 025794C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025794C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025794C4 */ if (_t6) goto L_02579510; else goto L_025794C8;
|
|
L_025794C8: ; // 0x25794c8
|
|
/* 025794C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025794CC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 025794D0 */ Gambit_fn_023B3FEC(cpu);
|
|
/* 025794D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025794D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025794D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025794D8 */ if (_t8) goto L_025794DC; else goto L_02579510;
|
|
L_025794DC: ; // 0x25794dc
|
|
/* 025794DC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025794E0 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 025794E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025794E4 */ _t10 = cpu->r[30] + 0x00006BD0u;
|
|
/* 025794E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025794E8 */ _t11 = cpu->r[12] + 0x00000270u;
|
|
/* 025794E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025794EC */ _t12 = cpu->r[9] + 0x000002DCu;
|
|
/* 025794EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025794F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025794F4 */ Gambit_fn_0240D924(cpu);
|
|
/* 025794F8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025794FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02579500 */ Gambit_fn_02425404(cpu);
|
|
/* 02579504 */ _t13 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02579504 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 02579508 */ cpu->r[3] = cpu->r[29];
|
|
/* 0257950C */ Gambit_fn_0242540C(cpu);
|
|
L_02579510: ; // 0x2579510
|
|
/* 02579510 */ _t14 = cpu->r[30] + 0x00006BD0u;
|
|
/* 02579510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02579514 */ _t15 = cpu->r[11] + 0x00000268u;
|
|
/* 02579514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02579518 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257951C */ Gambit_fn_0261F774(cpu);
|
|
/* 02579520 */ cpu->r[4] = cpu->r[3];
|
|
/* 02579524 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579528 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0257952C */ cpu->r[4] = 0x00000000u;
|
|
/* 02579530 */ Gambit_fn_025A97C4(cpu);
|
|
/* 02579534 */ _t16 = cpu->r[30] + 0x00006BD0u;
|
|
/* 02579534 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579538 */ cpu->r[4] = cpu->r[3];
|
|
/* 0257953C */ _t17 = cpu->r[10] + 0x000002DCu;
|
|
/* 0257953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02579540 */ Gambit_fn_024253A4(cpu);
|
|
/* 02579544 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02579548 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0257954C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0257954C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02579550 */ cpu->lr = cpu->r[0];
|
|
/* 02579554 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02579554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02579558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257955C */ return;
|
|
}
|
|
|
|
// fn_025794A0 @ 0x25794a0
|
|
void Gambit_fn_025794A0(CPUState* cpu) {
|
|
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_025794A0: ; // 0x25794a0
|
|
/* 025794A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025794A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025794A0 */ cpu->r[1] = _t0;
|
|
/* 025794A4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 025794A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025794A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025794A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025794AC */ cpu->r[31] = cpu->r[3];
|
|
/* 025794B0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025794B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025794B4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025794B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025794B8 */ Gambit_fn_027FA9BC(cpu);
|
|
/* 025794BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025794C0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 025794C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025794C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025794C4 */ if (_t6) goto L_02579510; else goto L_025794C8;
|
|
L_025794C8: ; // 0x25794c8
|
|
/* 025794C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025794CC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 025794D0 */ Gambit_fn_023B3FEC(cpu);
|
|
/* 025794D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025794D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025794D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025794D8 */ if (_t8) goto L_025794DC; else goto L_02579510;
|
|
L_025794DC: ; // 0x25794dc
|
|
/* 025794DC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025794E0 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 025794E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025794E4 */ _t10 = cpu->r[30] + 0x00006BD0u;
|
|
/* 025794E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025794E8 */ _t11 = cpu->r[12] + 0x00000270u;
|
|
/* 025794E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025794EC */ _t12 = cpu->r[9] + 0x000002DCu;
|
|
/* 025794EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025794F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 025794F4 */ Gambit_fn_0240D924(cpu);
|
|
/* 025794F8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025794FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02579500 */ Gambit_fn_02425404(cpu);
|
|
/* 02579504 */ _t13 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02579504 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 02579508 */ cpu->r[3] = cpu->r[29];
|
|
/* 0257950C */ Gambit_fn_0242540C(cpu);
|
|
L_02579510: ; // 0x2579510
|
|
/* 02579510 */ _t14 = cpu->r[30] + 0x00006BD0u;
|
|
/* 02579510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02579514 */ _t15 = cpu->r[11] + 0x00000268u;
|
|
/* 02579514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02579518 */ cpu->r[3] = cpu->r[31];
|
|
/* 0257951C */ Gambit_fn_0261F774(cpu);
|
|
/* 02579520 */ cpu->r[4] = cpu->r[3];
|
|
/* 02579524 */ cpu->r[3] = cpu->r[31];
|
|
/* 02579528 */ Gambit_fn_0261F55C(cpu);
|
|
/* 0257952C */ cpu->r[4] = 0x00000000u;
|
|
/* 02579530 */ Gambit_fn_025A97C4(cpu);
|
|
/* 02579534 */ _t16 = cpu->r[30] + 0x00006BD0u;
|
|
/* 02579534 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02579538 */ cpu->r[4] = cpu->r[3];
|
|
/* 0257953C */ _t17 = cpu->r[10] + 0x000002DCu;
|
|
/* 0257953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02579540 */ Gambit_fn_024253A4(cpu);
|
|
/* 02579544 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02579544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02579548 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02579548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0257954C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0257954C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02579550 */ cpu->lr = cpu->r[0];
|
|
/* 02579554 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02579554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02579558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0257955C */ return;
|
|
}
|
|
|
|
// fn_02579564 @ 0x2579564
|
|
void Gambit_fn_02579564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02579564: ; // 0x2579564
|
|
/* 02579564 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02579564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579564 */ cpu->r[1] = _t0;
|
|
/* 02579568 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579568 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257956C */ cpu->r[31] = cpu->r[3];
|
|
/* 02579570 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02579570 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02579574 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02579574 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02579578 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0257957C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0257957C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02579580 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02579580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02579584 */ _t6 = cpu->r[30] + 0x00006000u;
|
|
/* 02579584 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02579584 */ cpu->r[30] = _t6;
|
|
/* 02579588 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257958C */ _t7 = cpu->r[10] + 0x0000026Cu;
|
|
/* 0257958C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02579590 */ cpu->r[28] = 0x00000000u;
|
|
/* 02579594 */ Gambit_fn_027906E4(cpu);
|
|
/* 02579598 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02579598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0257959C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257959C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025795A0 */ _t10 = cpu->r[8] + 0x0000002Cu;
|
|
/* 025795A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025795A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 025795A8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025795A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025795A8 */ if (_t12) goto L_025795AC; else goto L_0257961C;
|
|
L_025795AC: ; // 0x25795ac
|
|
/* 025795AC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 025795AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025795B0 */ _t14 = cpu->r[29] + 0x00000064u;
|
|
/* 025795B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025795B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025795B8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795B8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025795B8 */ if (_t16) goto L_02579600; else goto L_025795BC;
|
|
L_025795BC: ; // 0x25795bc
|
|
/* 025795BC */ _t17 = cpu->r[3] + 0x00000048u;
|
|
/* 025795BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025795C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 025795C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 025795C4 */ if (_t19) goto L_025795C8; else goto L_02579600;
|
|
L_025795C8: ; // 0x25795c8
|
|
/* 025795C8 */ Gambit_fn_023B3304(cpu);
|
|
/* 025795CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025795D0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795D0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 025795D0 */ if (_t21) goto L_02579600; else goto L_025795D4;
|
|
L_025795D4: ; // 0x25795d4
|
|
/* 025795D4 */ _t22 = cpu->r[29] + 0x0000009Cu;
|
|
/* 025795D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025795D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025795D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025795DC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795DC */ _t24 = _t23 & 0x00000001u;
|
|
/* 025795DC */ if (_t24) goto L_025795E0; else goto L_02579600;
|
|
L_025795E0: ; // 0x25795e0
|
|
/* 025795E0 */ _t25 = cpu->r[29] + 0x000000C8u;
|
|
/* 025795E0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t25);
|
|
/* 025795E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025795E8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795E8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025795E8 */ if (_t27) goto L_025795EC; else goto L_02579600;
|
|
L_025795EC: ; // 0x25795ec
|
|
/* 025795EC */ _t28 = cpu->r[31] + 0x00000640u;
|
|
/* 025795EC */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 025795F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025795F4 */ cpu->r[28] = 0x00000001u;
|
|
/* 025795F8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795F8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025795F8 */ if (_t30) goto L_0257962C; else goto L_025795FC;
|
|
L_025795FC: ; // 0x25795fc
|
|
/* 025795FC */ goto L_02579628;
|
|
L_02579600: ; // 0x2579600
|
|
/* 02579600 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02579604 */ Gambit_fn_02790880(cpu);
|
|
/* 02579608 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02579608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0257960C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257960C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02579610 */ _t33 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02579610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02579614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02579618 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02579618 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02579618 */ if (_t35) goto L_025795AC; else goto L_0257961C;
|
|
L_0257961C: ; // 0x257961c
|
|
/* 0257961C */ _t36 = cpu->r[31] + 0x00000640u;
|
|
/* 0257961C */ cpu->r[7] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02579620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02579624 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579624 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02579624 */ if (_t38) goto L_0257962C; else goto L_02579628;
|
|
L_02579628: ; // 0x2579628
|
|
/* 02579628 */ cpu->r[28] = 0x00000001u;
|
|
L_0257962C: ; // 0x257962c
|
|
/* 0257962C */ cpu->r[0] = 0x00000000u;
|
|
/* 02579630 */ _t39 = cpu->r[31] + 0x00000640u;
|
|
/* 02579630 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02579634 */ _t40 = cpu->r[30] + 0x00000000u;
|
|
/* 02579634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02579638 */ _t41 = cpu->r[9] + 0x00000250u;
|
|
/* 02579638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0257963C */ cpu->r[5] = cpu->r[28];
|
|
/* 02579640 */ _t42 = cpu->r[12] + 0x00000254u;
|
|
/* 02579640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02579644 */ cpu->r[4] = 0x00000003u;
|
|
/* 02579648 */ Gambit_fn_027B8224(cpu);
|
|
/* 0257964C */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 0257964C */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02579650 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02579650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02579654 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02579654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02579658 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0257965C */ cpu->lr = cpu->r[0];
|
|
/* 02579660 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02579660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02579664 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02579668 */ return;
|
|
}
|
|
|
|
// fn_0257966C @ 0x257966c
|
|
void Gambit_fn_0257966C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02579560: ; // 0x2579560
|
|
/* 02579560 */ cpu->r[0] = cpu->lr;
|
|
/* 02579564 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02579564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02579564 */ cpu->r[1] = _t0;
|
|
/* 02579568 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579568 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0257956C */ cpu->r[31] = cpu->r[3];
|
|
/* 02579570 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02579570 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02579574 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02579574 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02579578 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0257957C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0257957C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02579580 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02579580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02579584 */ _t6 = cpu->r[30] + 0x00006000u;
|
|
/* 02579584 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02579584 */ cpu->r[30] = _t6;
|
|
/* 02579588 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0257958C */ _t7 = cpu->r[10] + 0x0000026Cu;
|
|
/* 0257958C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02579590 */ cpu->r[28] = 0x00000000u;
|
|
/* 02579594 */ Gambit_fn_027906E4(cpu);
|
|
/* 02579598 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02579598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0257959C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257959C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025795A0 */ _t10 = cpu->r[8] + 0x0000002Cu;
|
|
/* 025795A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025795A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 025795A8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025795A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 025795A8 */ if (_t12) goto L_025795AC; else goto L_0257961C;
|
|
L_025795AC: ; // 0x25795ac
|
|
/* 025795AC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 025795AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025795B0 */ _t14 = cpu->r[29] + 0x00000064u;
|
|
/* 025795B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025795B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025795B8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795B8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025795B8 */ if (_t16) goto L_02579600; else goto L_025795BC;
|
|
L_025795BC: ; // 0x25795bc
|
|
/* 025795BC */ _t17 = cpu->r[3] + 0x00000048u;
|
|
/* 025795BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025795C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 025795C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 025795C4 */ if (_t19) goto L_025795C8; else goto L_02579600;
|
|
L_025795C8: ; // 0x25795c8
|
|
/* 025795C8 */ Gambit_fn_023B3304(cpu);
|
|
/* 025795CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025795D0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795D0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 025795D0 */ if (_t21) goto L_02579600; else goto L_025795D4;
|
|
L_025795D4: ; // 0x25795d4
|
|
/* 025795D4 */ _t22 = cpu->r[29] + 0x0000009Cu;
|
|
/* 025795D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025795D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025795D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025795DC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795DC */ _t24 = _t23 & 0x00000001u;
|
|
/* 025795DC */ if (_t24) goto L_025795E0; else goto L_02579600;
|
|
L_025795E0: ; // 0x25795e0
|
|
/* 025795E0 */ _t25 = cpu->r[29] + 0x000000C8u;
|
|
/* 025795E0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t25);
|
|
/* 025795E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025795E8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795E8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 025795E8 */ if (_t27) goto L_025795EC; else goto L_02579600;
|
|
L_025795EC: ; // 0x25795ec
|
|
/* 025795EC */ _t28 = cpu->r[31] + 0x00000640u;
|
|
/* 025795EC */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 025795F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 025795F4 */ cpu->r[28] = 0x00000001u;
|
|
/* 025795F8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025795F8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 025795F8 */ if (_t30) goto L_0257962C; else goto L_025795FC;
|
|
L_025795FC: ; // 0x25795fc
|
|
/* 025795FC */ goto L_02579628;
|
|
L_02579600: ; // 0x2579600
|
|
/* 02579600 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02579604 */ Gambit_fn_02790880(cpu);
|
|
/* 02579608 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02579608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0257960C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0257960C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02579610 */ _t33 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02579610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02579614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02579618 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02579618 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02579618 */ if (_t35) goto L_025795AC; else goto L_0257961C;
|
|
L_0257961C: ; // 0x257961c
|
|
/* 0257961C */ _t36 = cpu->r[31] + 0x00000640u;
|
|
/* 0257961C */ cpu->r[7] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02579620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02579624 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02579624 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02579624 */ if (_t38) goto L_0257962C; else goto L_02579628;
|
|
L_02579628: ; // 0x2579628
|
|
/* 02579628 */ cpu->r[28] = 0x00000001u;
|
|
L_0257962C: ; // 0x257962c
|
|
/* 0257962C */ cpu->r[0] = 0x00000000u;
|
|
/* 02579630 */ _t39 = cpu->r[31] + 0x00000640u;
|
|
/* 02579630 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02579634 */ _t40 = cpu->r[30] + 0x00000000u;
|
|
/* 02579634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02579638 */ _t41 = cpu->r[9] + 0x00000250u;
|
|
/* 02579638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0257963C */ cpu->r[5] = cpu->r[28];
|
|
/* 02579640 */ _t42 = cpu->r[12] + 0x00000254u;
|
|
/* 02579640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02579644 */ cpu->r[4] = 0x00000003u;
|
|
/* 02579648 */ Gambit_fn_027B8224(cpu);
|
|
/* 0257964C */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 0257964C */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02579650 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02579650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02579654 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02579654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02579658 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02579658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0257965C */ cpu->lr = cpu->r[0];
|
|
/* 02579660 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02579660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02579664 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02579668 */ return;
|
|
L_0257966C: ; // 0x257966c
|
|
/* 0257966C */ goto L_02579560;
|
|
}
|
|
|