mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
16150 lines
782 KiB
C++
16150 lines
782 KiB
C++
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02554EE8 @ 0x2554ee8
|
|
void Gambit_fn_02554EE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02554EE8: ; // 0x2554ee8
|
|
/* 02554EE8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02554EE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02554EF0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554EF0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02554EF0 */ if (_t2) goto L_02554EFC; else goto L_02554EF4;
|
|
L_02554EF4: ; // 0x2554ef4
|
|
/* 02554EF4 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02554EF8 */ return;
|
|
L_02554EFC: ; // 0x2554efc
|
|
/* 02554EFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02554F00 */ return;
|
|
}
|
|
|
|
// fn_02554F04 @ 0x2554f04
|
|
void Gambit_fn_02554F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02554F04: ; // 0x2554f04
|
|
/* 02554F04 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02554F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02554F0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554F0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02554F0C */ if (_t2) goto L_02554F18; else goto L_02554F10;
|
|
L_02554F10: ; // 0x2554f10
|
|
/* 02554F10 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02554F14 */ return;
|
|
L_02554F18: ; // 0x2554f18
|
|
/* 02554F18 */ cpu->r[3] = 0x00000000u;
|
|
/* 02554F1C */ return;
|
|
}
|
|
|
|
// fn_02554F20 @ 0x2554f20
|
|
void Gambit_fn_02554F20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02554F20: ; // 0x2554f20
|
|
/* 02554F20 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02554F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554F24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02554F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02554F28 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554F28 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02554F28 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02554F28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02554F28 */ goto L_02554F2C;
|
|
L_02554F2C: ; // 0x2554f2c
|
|
/* 02554F2C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02554F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02554F30 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02554F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02554F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02554F38 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02554F3C @ 0x2554f3c
|
|
void Gambit_fn_02554F3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02554F3C: ; // 0x2554f3c
|
|
/* 02554F3C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02554F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554F40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02554F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02554F44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554F44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02554F44 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02554F44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02554F44 */ goto L_02554F48;
|
|
L_02554F48: ; // 0x2554f48
|
|
/* 02554F48 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02554F48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02554F4C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02554F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02554F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02554F54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02554F58 @ 0x2554f58
|
|
void Gambit_fn_02554F58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02554F58: ; // 0x2554f58
|
|
/* 02554F58 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02554F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554F5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02554F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02554F60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554F60 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02554F60 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02554F60 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02554F60 */ goto L_02554F64;
|
|
L_02554F64: ; // 0x2554f64
|
|
/* 02554F64 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02554F64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02554F68 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02554F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02554F6C */ cpu->ctr = cpu->r[0];
|
|
/* 02554F70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02554F74 @ 0x2554f74
|
|
void Gambit_fn_02554F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02554F74: ; // 0x2554f74
|
|
/* 02554F74 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02554F74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554F78 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02554F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02554F7C */ cpu->ctr = cpu->r[0];
|
|
/* 02554F80 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02554F84 @ 0x2554f84
|
|
void Gambit_fn_02554F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02554F84: ; // 0x2554f84
|
|
/* 02554F84 */ cpu->r[0] = cpu->lr;
|
|
/* 02554F88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02554F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02554F88 */ cpu->r[1] = _t0;
|
|
/* 02554F8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02554F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02554F90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02554F94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02554F94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02554F98 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02554F98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02554F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02554FA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554FA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02554FA0 */ if (_t5) goto L_02554FA4; else goto L_02554FC0;
|
|
L_02554FA4: ; // 0x2554fa4
|
|
/* 02554FA4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02554FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02554FA8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02554FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02554FAC */ cpu->ctr = cpu->r[0];
|
|
/* 02554FB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02554FB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02554FB8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02554FBC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02554FBC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02554FC0: ; // 0x2554fc0
|
|
/* 02554FC0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02554FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02554FC4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02554FC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02554FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02554FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02554FD0 */ return;
|
|
}
|
|
|
|
// fn_02554F88 @ 0x2554f88
|
|
void Gambit_fn_02554F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02554F88: ; // 0x2554f88
|
|
/* 02554F88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02554F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02554F88 */ cpu->r[1] = _t0;
|
|
/* 02554F8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02554F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02554F90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02554F94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02554F94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02554F98 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02554F98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02554F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02554FA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554FA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02554FA0 */ if (_t5) goto L_02554FA4; else goto L_02554FC0;
|
|
L_02554FA4: ; // 0x2554fa4
|
|
/* 02554FA4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02554FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02554FA8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02554FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02554FAC */ cpu->ctr = cpu->r[0];
|
|
/* 02554FB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02554FB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02554FB8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02554FBC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02554FBC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02554FC0: ; // 0x2554fc0
|
|
/* 02554FC0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02554FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02554FC4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02554FC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02554FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02554FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02554FD0 */ return;
|
|
}
|
|
|
|
// fn_02554FDC @ 0x2554fdc
|
|
void Gambit_fn_02554FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02554FDC: ; // 0x2554fdc
|
|
/* 02554FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02554FE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554FE0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02554FE0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02554FE0 */ goto L_02554FE4;
|
|
L_02554FE4: ; // 0x2554fe4
|
|
/* 02554FE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02554FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02554FE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02554FE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02554FE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02554FE8 */ goto L_02554FEC;
|
|
L_02554FEC: ; // 0x2554fec
|
|
/* 02554FEC */ 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_02554FF0 @ 0x2554ff0
|
|
void Gambit_fn_02554FF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02554FF0: ; // 0x2554ff0
|
|
/* 02554FF0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02554FF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02554FF4 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02554FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02554FF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02554FFC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555000 @ 0x2555000
|
|
void Gambit_fn_02555000(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555000: ; // 0x2555000
|
|
/* 02555000 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555004 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02555004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555008 */ cpu->ctr = cpu->r[0];
|
|
/* 0255500C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555010 @ 0x2555010
|
|
void Gambit_fn_02555010(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555010: ; // 0x2555010
|
|
/* 02555010 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555014 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02555014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555018 */ cpu->ctr = cpu->r[0];
|
|
/* 0255501C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555020 @ 0x2555020
|
|
void Gambit_fn_02555020(CPUState* cpu) {
|
|
L_02555020: ; // 0x2555020
|
|
/* 02555020 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555024 */ return;
|
|
}
|
|
|
|
// fn_02555028 @ 0x2555028
|
|
void Gambit_fn_02555028(CPUState* cpu) {
|
|
L_02555028: ; // 0x2555028
|
|
/* 02555028 */ return;
|
|
}
|
|
|
|
// fn_0255502C @ 0x255502c
|
|
void Gambit_fn_0255502C(CPUState* cpu) {
|
|
L_0255502C: ; // 0x255502c
|
|
/* 0255502C */ return;
|
|
}
|
|
|
|
// fn_02555030 @ 0x2555030
|
|
void Gambit_fn_02555030(CPUState* cpu) {
|
|
L_02555030: ; // 0x2555030
|
|
/* 02555030 */ return;
|
|
}
|
|
|
|
// fn_02555034 @ 0x2555034
|
|
void Gambit_fn_02555034(CPUState* cpu) {
|
|
L_02555034: ; // 0x2555034
|
|
/* 02555034 */ return;
|
|
}
|
|
|
|
// fn_02555038 @ 0x2555038
|
|
void Gambit_fn_02555038(CPUState* cpu) {
|
|
L_02555038: ; // 0x2555038
|
|
/* 02555038 */ return;
|
|
}
|
|
|
|
// fn_0255503C @ 0x255503c
|
|
void Gambit_fn_0255503C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0255503C: ; // 0x255503c
|
|
/* 0255503C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02555040 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02555040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555040 */ cpu->r[10] = _t0;
|
|
/* 02555044 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02555044 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02555048 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02555048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0255504C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0255504C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02555050 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02555050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555054 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02555054 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02555058 */ return;
|
|
}
|
|
|
|
// fn_0255505C @ 0x255505c
|
|
void Gambit_fn_0255505C(CPUState* cpu) {
|
|
L_0255505C: ; // 0x255505c
|
|
/* 0255505C */ return;
|
|
}
|
|
|
|
// fn_02555060 @ 0x2555060
|
|
void Gambit_fn_02555060(CPUState* cpu) {
|
|
L_02555060: ; // 0x2555060
|
|
/* 02555060 */ return;
|
|
}
|
|
|
|
// fn_02555064 @ 0x2555064
|
|
void Gambit_fn_02555064(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02555064: ; // 0x2555064
|
|
/* 02555064 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02555064 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02555068 */ return;
|
|
}
|
|
|
|
// fn_0255506C @ 0x255506c
|
|
void Gambit_fn_0255506C(CPUState* cpu) {
|
|
L_0255506C: ; // 0x255506c
|
|
/* 0255506C */ cpu->r[3] = 0x00000001u;
|
|
/* 02555070 */ return;
|
|
}
|
|
|
|
// fn_02555074 @ 0x2555074
|
|
void Gambit_fn_02555074(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555074: ; // 0x2555074
|
|
/* 02555074 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555078 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02555078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0255507C */ cpu->ctr = cpu->r[0];
|
|
/* 02555080 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555084 @ 0x2555084
|
|
void Gambit_fn_02555084(CPUState* cpu) {
|
|
L_02555084: ; // 0x2555084
|
|
/* 02555084 */ return;
|
|
}
|
|
|
|
// fn_02555088 @ 0x2555088
|
|
void Gambit_fn_02555088(CPUState* cpu) {
|
|
L_02555088: ; // 0x2555088
|
|
/* 02555088 */ return;
|
|
}
|
|
|
|
// fn_0255508C @ 0x255508c
|
|
void Gambit_fn_0255508C(CPUState* cpu) {
|
|
L_0255508C: ; // 0x255508c
|
|
/* 0255508C */ return;
|
|
}
|
|
|
|
// fn_02555090 @ 0x2555090
|
|
void Gambit_fn_02555090(CPUState* cpu) {
|
|
L_02555090: ; // 0x2555090
|
|
/* 02555090 */ return;
|
|
}
|
|
|
|
// fn_02555094 @ 0x2555094
|
|
void Gambit_fn_02555094(CPUState* cpu) {
|
|
L_02555094: ; // 0x2555094
|
|
/* 02555094 */ return;
|
|
}
|
|
|
|
// fn_02555098 @ 0x2555098
|
|
void Gambit_fn_02555098(CPUState* cpu) {
|
|
L_02555098: ; // 0x2555098
|
|
/* 02555098 */ return;
|
|
}
|
|
|
|
// fn_0255509C @ 0x255509c
|
|
void Gambit_fn_0255509C(CPUState* cpu) {
|
|
L_0255509C: ; // 0x255509c
|
|
/* 0255509C */ return;
|
|
}
|
|
|
|
// fn_025550A0 @ 0x25550a0
|
|
void Gambit_fn_025550A0(CPUState* cpu) {
|
|
L_025550A0: ; // 0x25550a0
|
|
/* 025550A0 */ return;
|
|
}
|
|
|
|
// fn_025550A4 @ 0x25550a4
|
|
void Gambit_fn_025550A4(CPUState* cpu) {
|
|
L_025550A4: ; // 0x25550a4
|
|
/* 025550A4 */ return;
|
|
}
|
|
|
|
// fn_025550A8 @ 0x25550a8
|
|
void Gambit_fn_025550A8(CPUState* cpu) {
|
|
L_025550A8: ; // 0x25550a8
|
|
/* 025550A8 */ return;
|
|
}
|
|
|
|
// fn_025550AC @ 0x25550ac
|
|
void Gambit_fn_025550AC(CPUState* cpu) {
|
|
L_025550AC: ; // 0x25550ac
|
|
/* 025550AC */ cpu->r[3] = 0x00000000u;
|
|
/* 025550B0 */ return;
|
|
}
|
|
|
|
// fn_025550B4 @ 0x25550b4
|
|
void Gambit_fn_025550B4(CPUState* cpu) {
|
|
L_025550B4: ; // 0x25550b4
|
|
/* 025550B4 */ return;
|
|
}
|
|
|
|
// fn_025550B8 @ 0x25550b8
|
|
void Gambit_fn_025550B8(CPUState* cpu) {
|
|
L_025550B8: ; // 0x25550b8
|
|
/* 025550B8 */ return;
|
|
}
|
|
|
|
// fn_025550BC @ 0x25550bc
|
|
void Gambit_fn_025550BC(CPUState* cpu) {
|
|
L_025550BC: ; // 0x25550bc
|
|
/* 025550BC */ cpu->r[3] = 0x00000001u;
|
|
/* 025550C0 */ return;
|
|
}
|
|
|
|
// fn_025550C4 @ 0x25550c4
|
|
void Gambit_fn_025550C4(CPUState* cpu) {
|
|
L_025550C4: ; // 0x25550c4
|
|
/* 025550C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025550C8 */ return;
|
|
}
|
|
|
|
// fn_025550CC @ 0x25550cc
|
|
void Gambit_fn_025550CC(CPUState* cpu) {
|
|
L_025550CC: ; // 0x25550cc
|
|
/* 025550CC */ cpu->r[3] = 0x00000000u;
|
|
/* 025550D0 */ return;
|
|
}
|
|
|
|
// fn_025550D4 @ 0x25550d4
|
|
void Gambit_fn_025550D4(CPUState* cpu) {
|
|
L_025550D4: ; // 0x25550d4
|
|
/* 025550D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 025550D8 */ return;
|
|
}
|
|
|
|
// fn_025550DC @ 0x25550dc
|
|
void Gambit_fn_025550DC(CPUState* cpu) {
|
|
L_025550DC: ; // 0x25550dc
|
|
/* 025550DC */ cpu->r[3] = 0x00000000u;
|
|
/* 025550E0 */ return;
|
|
}
|
|
|
|
// fn_025550E4 @ 0x25550e4
|
|
void Gambit_fn_025550E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025550E4: ; // 0x25550e4
|
|
/* 025550E4 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 025550E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025550E8 */ return;
|
|
}
|
|
|
|
// fn_025550EC @ 0x25550ec
|
|
void Gambit_fn_025550EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025550EC: ; // 0x25550ec
|
|
/* 025550EC */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 025550EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025550F0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 025550F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 025550F4 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 025550F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025550F8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 025550F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025550FC */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 025550FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555100 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02555100 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02555104 */ return;
|
|
}
|
|
|
|
// fn_02555108 @ 0x2555108
|
|
void Gambit_fn_02555108(CPUState* cpu) {
|
|
L_02555108: ; // 0x2555108
|
|
/* 02555108 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0255510C */ cpu->r[3] = cpu->r[3] + 0xFFFF9898u;
|
|
/* 02555110 */ return;
|
|
}
|
|
|
|
// fn_02555114 @ 0x2555114
|
|
void Gambit_fn_02555114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02555114: ; // 0x2555114
|
|
/* 02555114 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02555118 */ _t0 = cpu->r[12] + 0x00005BFCu;
|
|
/* 02555118 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555118 */ cpu->r[12] = _t0;
|
|
/* 0255511C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0255511C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02555120 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02555120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02555124 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02555124 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555128 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02555128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0255512C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0255512C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02555130 */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02555130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555134 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02555134 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02555138 */ return;
|
|
}
|
|
|
|
// fn_0255513C @ 0x255513c
|
|
void Gambit_fn_0255513C(CPUState* cpu) {
|
|
L_0255513C: ; // 0x255513c
|
|
/* 0255513C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02555140 */ cpu->r[3] = cpu->r[3] + 0xFFFF9910u;
|
|
/* 02555144 */ return;
|
|
}
|
|
|
|
// fn_02555148 @ 0x2555148
|
|
void Gambit_fn_02555148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02555148: ; // 0x2555148
|
|
/* 02555148 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0255514C */ _t0 = cpu->r[10] + 0x000008F0u;
|
|
/* 0255514C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02555154 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02555158 */ cpu->r[10] = cpu->r[10] + 0x00000A60u;
|
|
/* 0255515C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255515C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0255515C */ if (_t2) goto L_02555160; else goto L_02555178;
|
|
L_02555160: ; // 0x2555160
|
|
/* 02555160 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02555164 */ cpu->r[9] = 0x00000001u;
|
|
/* 02555168 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0255516C */ cpu->r[0] = cpu->r[0] + 0xFFFF98F4u;
|
|
/* 02555170 */ _t3 = cpu->r[11] + 0x000008F0u;
|
|
/* 02555170 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02555174 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02555174 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02555178: ; // 0x2555178
|
|
/* 02555178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0255517C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255517C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0255517C */ if (_t6) goto L_02555180; else goto L_02555188;
|
|
L_02555180: ; // 0x2555180
|
|
/* 02555180 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555184 */ return;
|
|
L_02555188: ; // 0x2555188
|
|
/* 02555188 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0255518C */ _t7 = cpu->r[9] + 0xFFFFDA24u;
|
|
/* 0255518C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555190 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02555194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02555198 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD4u;
|
|
/* 0255519C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255519C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0255519C */ if (_t9) goto L_025551A0; else goto L_025551B8;
|
|
L_025551A0: ; // 0x25551a0
|
|
/* 025551A0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025551A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025551A8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025551AC */ cpu->r[9] = cpu->r[9] + 0xFFFF98E4u;
|
|
/* 025551B0 */ _t10 = cpu->r[10] + 0xFFFFDA24u;
|
|
/* 025551B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025551B4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 025551B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_025551B8: ; // 0x25551b8
|
|
/* 025551B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 025551BC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025551BC */ _t13 = _t12 & 0x00000001u;
|
|
/* 025551BC */ if (_t13) goto L_025551C0; else goto L_025551C8;
|
|
L_025551C0: ; // 0x25551c0
|
|
/* 025551C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025551C4 */ goto L_02555280;
|
|
L_025551C8: ; // 0x25551c8
|
|
/* 025551C8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025551CC */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 025551CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025551D0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025551D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025551D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 025551DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025551DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 025551DC */ if (_t16) goto L_025551E0; else goto L_025551F8;
|
|
L_025551E0: ; // 0x25551e0
|
|
/* 025551E0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025551E4 */ cpu->r[10] = 0x00000001u;
|
|
/* 025551E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025551EC */ cpu->r[11] = cpu->r[11] + 0xFFFF98D4u;
|
|
/* 025551F0 */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 025551F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 025551F4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 025551F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_025551F8: ; // 0x25551f8
|
|
/* 025551F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 025551FC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025551FC */ _t20 = _t19 & 0x00000001u;
|
|
/* 025551FC */ if (_t20) goto L_02555200; else goto L_02555208;
|
|
L_02555200: ; // 0x2555200
|
|
/* 02555200 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555204 */ goto L_0255527C;
|
|
L_02555208: ; // 0x2555208
|
|
/* 02555208 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0255520C */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 0255520C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0255520C */ cpu->r[9] = _t21;
|
|
/* 02555210 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02555214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02555218 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 0255521C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255521C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0255521C */ if (_t23) goto L_02555220; else goto L_02555234;
|
|
L_02555220: ; // 0x2555220
|
|
/* 02555220 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02555224 */ cpu->r[11] = 0x00000001u;
|
|
/* 02555228 */ cpu->r[0] = cpu->r[0] + 0xFFFF98C4u;
|
|
/* 0255522C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0255522C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02555230 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02555230 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02555234: ; // 0x2555234
|
|
/* 02555234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02555238 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555238 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02555238 */ if (_t27) goto L_0255523C; else goto L_02555244;
|
|
L_0255523C: ; // 0x255523c
|
|
/* 0255523C */ cpu->r[0] = 0x00000001u;
|
|
/* 02555240 */ goto L_0255527C;
|
|
L_02555244: ; // 0x2555244
|
|
/* 02555244 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02555248 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02555248 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02555248 */ cpu->r[10] = _t28;
|
|
/* 0255524C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02555250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02555254 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02555258 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555258 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02555258 */ if (_t30) goto L_0255525C; else goto L_02555270;
|
|
L_0255525C: ; // 0x255525c
|
|
/* 0255525C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02555260 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555264 */ cpu->r[9] = cpu->r[9] + 0xFFFF989Cu;
|
|
/* 02555268 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02555268 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0255526C */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 0255526C */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_02555270: ; // 0x2555270
|
|
/* 02555270 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02555274 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02555278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0255527C: ; // 0x255527c
|
|
/* 0255527C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02555280: ; // 0x2555280
|
|
/* 02555280 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02555284 */ return;
|
|
}
|
|
|
|
// fn_02555288 @ 0x2555288
|
|
void Gambit_fn_02555288(CPUState* cpu) {
|
|
L_02555288: ; // 0x2555288
|
|
/* 02555288 */ return;
|
|
}
|
|
|
|
// fn_0255528C @ 0x255528c
|
|
void Gambit_fn_0255528C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0255528C: ; // 0x255528c
|
|
/* 0255528C */ _t0 = cpu->r[3] + 0x000001DEu;
|
|
/* 0255528C */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02555290 */ return;
|
|
}
|
|
|
|
// fn_02555294 @ 0x2555294
|
|
void Gambit_fn_02555294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555294: ; // 0x2555294
|
|
/* 02555294 */ cpu->r[0] = cpu->lr;
|
|
/* 02555298 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0255529C */ cpu->r[7] = 0x02550000u;
|
|
/* 025552A0 */ cpu->r[6] = 0x02550000u;
|
|
/* 025552A4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 025552A8 */ cpu->r[7] = cpu->r[7] + 0x00004FD4u;
|
|
/* 025552AC */ cpu->r[6] = cpu->r[6] + 0x00004FD4u;
|
|
/* 025552B0 */ cpu->r[10] = cpu->r[10] + 0x00006A80u;
|
|
/* 025552B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 025552B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 025552B8 */ cpu->r[0] = 0x101C0000u;
|
|
/* 025552BC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025552BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 025552BC */ cpu->r[1] = _t1;
|
|
/* 025552C0 */ cpu->r[0] = cpu->r[0] + 0x00006A7Cu;
|
|
/* 025552C4 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025552C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025552C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 025552CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 025552CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025552D0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025552D4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025552D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 025552D8 */ Gambit_fn_02791B10(cpu);
|
|
/* 025552DC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025552DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025552E0 */ cpu->lr = cpu->r[0];
|
|
/* 025552E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025552E8 */ return;
|
|
}
|
|
|
|
// fn_025552BC @ 0x25552bc
|
|
void Gambit_fn_025552BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_025552BC: ; // 0x25552bc
|
|
/* 025552BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025552BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025552BC */ cpu->r[1] = _t0;
|
|
/* 025552C0 */ cpu->r[0] = cpu->r[0] + 0x00006A7Cu;
|
|
/* 025552C4 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 025552C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025552C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 025552CC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025552CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025552D0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025552D4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025552D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 025552D8 */ Gambit_fn_02791B10(cpu);
|
|
/* 025552DC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025552DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025552E0 */ cpu->lr = cpu->r[0];
|
|
/* 025552E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025552E8 */ return;
|
|
}
|
|
|
|
// fn_025552EC @ 0x25552ec
|
|
void Gambit_fn_025552EC(CPUState* cpu) {
|
|
uint32_t _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_025552EC: ; // 0x25552ec
|
|
/* 025552EC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025552EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025552EC */ cpu->r[1] = _t0;
|
|
/* 025552F0 */ cpu->r[0] = cpu->lr;
|
|
/* 025552F4 */ /* nop */
|
|
/* 025552F8 */ cpu->r[28] = cpu->r[5];
|
|
/* 025552FC */ cpu->r[26] = cpu->r[3];
|
|
/* 02555300 */ cpu->r[27] = cpu->r[7];
|
|
/* 02555304 */ cpu->r[3] = cpu->r[28];
|
|
/* 02555308 */ cpu->r[31] = cpu->r[6];
|
|
/* 0255530C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0255530C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02555310 */ cpu->r[29] = cpu->r[4];
|
|
/* 02555314 */ cpu->r[4] = cpu->r[27];
|
|
/* 02555318 */ Gambit_fn_027DB318(cpu);
|
|
/* 0255531C */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 0255531C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02555320 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555320 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02555320 */ if (_t3) goto L_025553C0; else goto L_02555324;
|
|
L_02555324: ; // 0x2555324
|
|
/* 02555324 */ cpu->r[5] = cpu->r[30];
|
|
/* 02555328 */ cpu->r[4] = cpu->r[29];
|
|
/* 0255532C */ cpu->r[3] = cpu->r[26];
|
|
/* 02555330 */ Gambit_fn_02555294(cpu);
|
|
/* 02555334 */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02555334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555338 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02555338 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0255533C */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 02555340 */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 02555344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02555348 */ cpu->r[25] = 0x00000000u;
|
|
/* 0255534C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255534C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255534C */ if (_t7) goto L_025553C0; else goto L_02555350;
|
|
L_02555350: ; // 0x2555350
|
|
/* 02555350 */ cpu->r[24] = 0x101C0000u;
|
|
L_02555354: ; // 0x2555354
|
|
/* 02555354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02555358 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555358 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02555358 */ if (_t9) goto L_02555370; else goto L_0255535C;
|
|
L_0255535C: ; // 0x255535c
|
|
/* 0255535C */ cpu->ctr = cpu->r[27];
|
|
/* 02555360 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555364 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02555368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255536C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255536C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0255536C */ if (_t11) goto L_025553AC; else goto L_02555370;
|
|
L_02555370: ; // 0x2555370
|
|
/* 02555370 */ _t12 = cpu->r[24] + 0x00006A7Cu;
|
|
/* 02555370 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02555374 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 02555378 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 02555378 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0255537C */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 0255537C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555380 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02555384 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 02555384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555388 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02555388 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255538C */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02555390 */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 02555390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02555394 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02555394 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02555398 */ _t19 = cpu->r[8] + 0x00000334u;
|
|
/* 02555398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0255539C */ cpu->ctr = cpu->r[0];
|
|
/* 025553A0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 025553A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 025553A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025553AC: ; // 0x25553ac
|
|
/* 025553AC */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 025553B0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 025553B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025553B4 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 025553B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 025553BC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025553BC */ _t22 = _t21 & 0x00000001u;
|
|
/* 025553BC */ if (_t22) goto L_025553C0; else goto L_02555354;
|
|
L_025553C0: ; // 0x25553c0
|
|
/* 025553C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 025553C4 */ /* nop */
|
|
/* 025553C8 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025553C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025553CC */ cpu->lr = cpu->r[0];
|
|
/* 025553D0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025553D4 */ return;
|
|
}
|
|
|
|
// fn_025553DC @ 0x25553dc
|
|
void Gambit_fn_025553DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_025553DC: ; // 0x25553dc
|
|
/* 025553DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025553DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025553DC */ cpu->r[1] = _t0;
|
|
/* 025553E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025553E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025553E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 025553E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025553E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025553E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025553EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025553EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 025553EC */ if (_t4) goto L_025553F0; else goto L_02555400;
|
|
L_025553F0: ; // 0x25553f0
|
|
/* 025553F0 */ cpu->r[3] = 0x000001C8u;
|
|
/* 025553F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 025553F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025553F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025553FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025553FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 025553FC */ if (_t6) goto L_02555478; else goto L_02555400;
|
|
L_02555400: ; // 0x2555400
|
|
/* 02555400 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555404 */ Gambit_fn_024F2B00(cpu);
|
|
/* 02555408 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0255540C */ cpu->r[10] = cpu->r[10] + 0xFFFF9D44u;
|
|
/* 02555410 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02555410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555414 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02555414 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02555418 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555418 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02555418 */ if (_t9) goto L_0255541C; else goto L_0255542C;
|
|
L_0255541C: ; // 0x255541c
|
|
/* 0255541C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02555420 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555428 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555428 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02555428 */ if (_t11) goto L_02555458; else goto L_0255542C;
|
|
L_0255542C: ; // 0x255542c
|
|
/* 0255542C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555430 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555430 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02555430 */ if (_t13) goto L_02555434; else goto L_02555444;
|
|
L_02555434: ; // 0x2555434
|
|
/* 02555434 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02555438 */ Gambit_fn_02801A78(cpu);
|
|
/* 0255543C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555440 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555440 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02555440 */ if (_t15) goto L_02555458; else goto L_02555444;
|
|
L_02555444: ; // 0x2555444
|
|
/* 02555444 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02555448 */ _t16 = cpu->r[11] + 0xFFFF9D24u;
|
|
/* 02555448 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0255544C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0255544C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02555450 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02555450 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02555454 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02555454 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
L_02555458: ; // 0x2555458
|
|
/* 02555458 */ cpu->r[0] = 0x00000000u;
|
|
/* 0255545C */ _t20 = cpu->r[31] + 0x000001BCu;
|
|
/* 0255545C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02555460 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02555464 */ _t21 = cpu->r[31] + 0x000001C0u;
|
|
/* 02555464 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02555468 */ _t22 = cpu->r[12] + 0x00007230u;
|
|
/* 02555468 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0255546C */ cpu->r[9] = 0x00000001u;
|
|
/* 02555470 */ /* nop */
|
|
/* 02555474 */ _t23 = cpu->r[31] + 0x000001C4u;
|
|
/* 02555474 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02555478: ; // 0x2555478
|
|
/* 02555478 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02555478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0255547C */ cpu->r[3] = cpu->r[31];
|
|
/* 02555480 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02555484 */ cpu->lr = cpu->r[0];
|
|
/* 02555488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255548C */ return;
|
|
}
|
|
|
|
// fn_02555490 @ 0x2555490
|
|
void Gambit_fn_02555490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02555490: ; // 0x2555490
|
|
/* 02555490 */ cpu->r[0] = cpu->lr;
|
|
/* 02555494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02555494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555494 */ cpu->r[1] = _t0;
|
|
/* 02555498 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02555498 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255549C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0255549C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025554A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025554A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025554A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025554AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025554AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025554B0 */ Gambit_fn_024F6710(cpu);
|
|
/* 025554B4 */ cpu->r[5] = cpu->r[3];
|
|
/* 025554B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025554BC */ cpu->r[4] = cpu->r[31];
|
|
/* 025554C0 */ Gambit_fn_024F4798(cpu);
|
|
/* 025554C4 */ _t4 = cpu->r[30] + 0x00000050u;
|
|
/* 025554C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025554C8 */ _t5 = cpu->r[12] + 0x0000008Cu;
|
|
/* 025554C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025554CC */ _t6 = cpu->r[30] + 0x000001B0u;
|
|
/* 025554CC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025554D0 */ _t7 = cpu->r[12] + 0x00000090u;
|
|
/* 025554D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025554D4 */ _t8 = cpu->r[30] + 0x000001B8u;
|
|
/* 025554D4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 025554D8 */ _t9 = cpu->r[30] + 0x000001B4u;
|
|
/* 025554D8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 025554DC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025554DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025554E0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 025554E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025554E4 */ cpu->lr = cpu->r[0];
|
|
/* 025554E8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 025554E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025554EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025554F0 */ return;
|
|
}
|
|
|
|
// fn_02555494 @ 0x2555494
|
|
void Gambit_fn_02555494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02555494: ; // 0x2555494
|
|
/* 02555494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02555494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555494 */ cpu->r[1] = _t0;
|
|
/* 02555498 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02555498 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255549C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0255549C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025554A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025554A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025554A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 025554AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025554AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025554B0 */ Gambit_fn_024F6710(cpu);
|
|
/* 025554B4 */ cpu->r[5] = cpu->r[3];
|
|
/* 025554B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 025554BC */ cpu->r[4] = cpu->r[31];
|
|
/* 025554C0 */ Gambit_fn_024F4798(cpu);
|
|
/* 025554C4 */ _t4 = cpu->r[30] + 0x00000050u;
|
|
/* 025554C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025554C8 */ _t5 = cpu->r[12] + 0x0000008Cu;
|
|
/* 025554C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 025554CC */ _t6 = cpu->r[30] + 0x000001B0u;
|
|
/* 025554CC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 025554D0 */ _t7 = cpu->r[12] + 0x00000090u;
|
|
/* 025554D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025554D4 */ _t8 = cpu->r[30] + 0x000001B8u;
|
|
/* 025554D4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 025554D8 */ _t9 = cpu->r[30] + 0x000001B4u;
|
|
/* 025554D8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 025554DC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025554DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025554E0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 025554E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025554E4 */ cpu->lr = cpu->r[0];
|
|
/* 025554E8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 025554E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025554EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025554F0 */ return;
|
|
}
|
|
|
|
// fn_025554F4 @ 0x25554f4
|
|
void Gambit_fn_025554F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_025554F4: ; // 0x25554f4
|
|
/* 025554F4 */ cpu->r[0] = cpu->lr;
|
|
/* 025554F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025554F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025554F8 */ cpu->r[1] = _t0;
|
|
/* 025554FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025554FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02555500 */ cpu->r[30] = cpu->r[3];
|
|
/* 02555504 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555504 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02555508 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0255550C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0255550C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555510 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555514 */ cpu->r[31] = cpu->r[3];
|
|
/* 02555514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02555518 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555518 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02555518 */ if (_t5) goto L_0255554C; else goto L_0255551C;
|
|
L_0255551C: ; // 0x255551c
|
|
/* 0255551C */ cpu->r[3] = cpu->r[31];
|
|
/* 02555520 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02555524 */ Gambit_fn_02C89380(cpu);
|
|
/* 02555528 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255552C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255552C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255552C */ if (_t7) goto L_02555530; else goto L_02555540;
|
|
L_02555530: ; // 0x2555530
|
|
/* 02555530 */ cpu->r[3] = 0x00000008u;
|
|
/* 02555534 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255553C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255553C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0255553C */ if (_t9) goto L_0255554C; else goto L_02555540;
|
|
L_02555540: ; // 0x2555540
|
|
/* 02555540 */ cpu->r[12] = 0x00000000u;
|
|
/* 02555544 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02555544 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02555548 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02555548 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0255554C: ; // 0x255554c
|
|
/* 0255554C */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0255554C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02555550 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555554 */ _t13 = cpu->r[30] + 0x000001BCu;
|
|
/* 02555554 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02555558 */ Gambit_fn_024F212C(cpu);
|
|
/* 0255555C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0255555C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555560 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02555560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555564 */ cpu->lr = cpu->r[0];
|
|
/* 02555568 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255556C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555570 */ return;
|
|
}
|
|
|
|
// fn_025554F8 @ 0x25554f8
|
|
void Gambit_fn_025554F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_025554F8: ; // 0x25554f8
|
|
/* 025554F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025554F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025554F8 */ cpu->r[1] = _t0;
|
|
/* 025554FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 025554FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02555500 */ cpu->r[30] = cpu->r[3];
|
|
/* 02555504 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555504 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02555508 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0255550C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0255550C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555510 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555514 */ cpu->r[31] = cpu->r[3];
|
|
/* 02555514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02555518 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555518 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02555518 */ if (_t5) goto L_0255554C; else goto L_0255551C;
|
|
L_0255551C: ; // 0x255551c
|
|
/* 0255551C */ cpu->r[3] = cpu->r[31];
|
|
/* 02555520 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02555524 */ Gambit_fn_02C89380(cpu);
|
|
/* 02555528 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255552C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255552C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255552C */ if (_t7) goto L_02555530; else goto L_02555540;
|
|
L_02555530: ; // 0x2555530
|
|
/* 02555530 */ cpu->r[3] = 0x00000008u;
|
|
/* 02555534 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255553C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255553C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0255553C */ if (_t9) goto L_0255554C; else goto L_02555540;
|
|
L_02555540: ; // 0x2555540
|
|
/* 02555540 */ cpu->r[12] = 0x00000000u;
|
|
/* 02555544 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02555544 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02555548 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02555548 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0255554C: ; // 0x255554c
|
|
/* 0255554C */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0255554C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02555550 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555554 */ _t13 = cpu->r[30] + 0x000001BCu;
|
|
/* 02555554 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02555558 */ Gambit_fn_024F212C(cpu);
|
|
/* 0255555C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0255555C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555560 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02555560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555564 */ cpu->lr = cpu->r[0];
|
|
/* 02555568 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255556C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555570 */ return;
|
|
}
|
|
|
|
// fn_02555574 @ 0x2555574
|
|
void Gambit_fn_02555574(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_024F21E0: ; // 0x24f21e0
|
|
/* 024F21E0 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 024F21E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024F21E0 */ cpu->r[1] = _t0;
|
|
/* 024F21E4 */ /* nop */
|
|
/* 024F21E8 */ cpu->r[0] = cpu->lr;
|
|
/* 024F21EC */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F21EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024F21F0 */ cpu->r[27] = cpu->r[3];
|
|
/* 024F21F4 */ _t2 = cpu->r[27] + 0x00000008u;
|
|
/* 024F21F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024F21F8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024F21FC */ _t3 = cpu->r[10] + 0x000023B8u;
|
|
/* 024F21FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024F2200 */ cpu->r[28] = 0x00000000u;
|
|
/* 024F2204 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 024F2204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024F2208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[11]);
|
|
/* 024F220C */ _t5 = cpu->r[12] + 0x00000254u;
|
|
/* 024F220C */ cpu->r[24] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024F2210 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F2210 */ _t7 = _t6 & 0x00000001u;
|
|
/* 024F2210 */ if (_t7) goto L_024F2214; else goto L_024F252C;
|
|
L_024F2214: ; // 0x24f2214
|
|
/* 024F2214 */ cpu->r[31] = 0x10110000u;
|
|
/* 024F2218 */ cpu->r[25] = 0x100C0000u;
|
|
/* 024F221C */ cpu->r[26] = 0x100C0000u;
|
|
/* 024F2220 */ cpu->r[23] = 0x00080000u;
|
|
/* 024F2224 */ cpu->r[25] = cpu->r[25] + 0xFFFFC124u;
|
|
/* 024F2228 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 024F2228 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 024F222C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 024F2230 */ cpu->r[26] = cpu->r[26] + 0xFFFFC248u;
|
|
L_024F2234: ; // 0x24f2234
|
|
/* 024F2234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000020u);
|
|
/* 024F2238 */ cpu->r[22] = cpu->r[10] + 0x000023BCu;
|
|
/* 024F223C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F223C */ _t10 = _t9 & 0x00000001u;
|
|
/* 024F223C */ if (_t10) goto L_024F2240; else goto L_024F2248;
|
|
L_024F2240: ; // 0x24f2240
|
|
/* 024F2240 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000118u);
|
|
/* 024F2244 */ cpu->r[22] = cpu->r[22] + cpu->r[0];
|
|
L_024F2248: ; // 0x24f2248
|
|
/* 024F2248 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 024F2248 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
/* 024F224C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024F224C */ rbrew_write32(cpu->mem, _t12, cpu->r[25]);
|
|
/* 024F2250 */ _t13 = cpu->r[22] + 0x00000004u;
|
|
/* 024F2250 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024F2254 */ _t14 = cpu->r[5] + 0x00000014u;
|
|
/* 024F2254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 024F2258 */ cpu->ctr = cpu->r[7];
|
|
/* 024F225C */ cpu->r[29] = 0x00000000u;
|
|
/* 024F2260 */ cpu->r[21] = 0x00000001u;
|
|
/* 024F2264 */ cpu->r[3] = cpu->r[22];
|
|
/* 024F2268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F226C */ _t15 = cpu->r[22] + 0x00000000u;
|
|
/* 024F226C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 024F2270 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 024F2270 */ cpu->r[4] = rbrew_read8(cpu->mem, _t16);
|
|
/* 024F2274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 024F2278 */ cpu->r[4] = 0x00080000u;
|
|
/* 024F227C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F227C */ _t18 = _t17 & 0x00000001u;
|
|
/* 024F227C */ if (_t18) goto L_024F22A4; else goto L_024F2280;
|
|
L_024F2280: ; // 0x24f2280
|
|
/* 024F2280 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 024F2284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 024F2288 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 024F228C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F228C */ _t20 = _t19 & 0x00000001u;
|
|
/* 024F228C */ if (_t20) goto L_024F22A0; else goto L_024F2290;
|
|
L_024F2290: ; // 0x24f2290
|
|
/* 024F2290 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 024F2290 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
|
|
/* 024F2294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 024F2298 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2298 */ _t23 = _t22 & 0x00000001u;
|
|
/* 024F2298 */ if (_t23) goto L_024F229C; else goto L_024F2280;
|
|
L_024F229C: ; // 0x24f229c
|
|
/* 024F229C */ goto L_024F22A4;
|
|
L_024F22A0: ; // 0x24f22a0
|
|
/* 024F22A0 */ cpu->r[29] = 0x00000000u;
|
|
L_024F22A4: ; // 0x24f22a4
|
|
/* 024F22A4 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 024F22A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024F22A8 */ _t25 = cpu->r[8] + 0x00000014u;
|
|
/* 024F22A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024F22AC */ cpu->ctr = cpu->r[9];
|
|
/* 024F22B0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024F22B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F22B8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 024F22B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024F22BC */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 024F22BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 024F22C0 */ cpu->r[30] = 0x00000000u;
|
|
/* 024F22C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 024F22C8 */ cpu->r[10] = 0x00080000u;
|
|
/* 024F22CC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F22CC */ _t29 = _t28 & 0x00000001u;
|
|
/* 024F22CC */ if (_t29) goto L_024F22F4; else goto L_024F22D0;
|
|
L_024F22D0: ; // 0x24f22d0
|
|
/* 024F22D0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 024F22D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 024F22D8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 024F22DC */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F22DC */ _t31 = _t30 & 0x00000001u;
|
|
/* 024F22DC */ if (_t31) goto L_024F22F0; else goto L_024F22E0;
|
|
L_024F22E0: ; // 0x24f22e0
|
|
/* 024F22E0 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 024F22E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 024F22E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 024F22E8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F22E8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 024F22E8 */ if (_t34) goto L_024F22EC; else goto L_024F22D0;
|
|
L_024F22EC: ; // 0x24f22ec
|
|
/* 024F22EC */ goto L_024F22F4;
|
|
L_024F22F0: ; // 0x24f22f0
|
|
/* 024F22F0 */ cpu->r[30] = 0x00000000u;
|
|
L_024F22F4: ; // 0x24f22f4
|
|
/* 024F22F4 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 024F22F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 024F22F8 */ cpu->r[18] = 0x00000000u;
|
|
/* 024F22FC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F22FC */ _t36 = _t35 & 0x00000001u;
|
|
/* 024F22FC */ if (_t36) goto L_024F242C; else goto L_024F2300;
|
|
L_024F2300: ; // 0x24f2300
|
|
/* 024F2300 */ cpu->r[20] = cpu->r[31];
|
|
L_024F2304: ; // 0x24f2304
|
|
/* 024F2304 */ _t37 = cpu->r[22] + 0x00000000u;
|
|
/* 024F2304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024F2308 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024F230C */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F230C */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 024F2310 */ cpu->r[0] = cpu->r[12] + cpu->r[18];
|
|
/* 024F2314 */ cpu->r[19] = cpu->r[30];
|
|
/* 024F2318 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 024F2318 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 024F231C */ Gambit_fn_024F28F0(cpu);
|
|
/* 024F2320 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024F2320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024F2324 */ _t41 = cpu->r[4] + 0x00000014u;
|
|
/* 024F2324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 024F2328 */ cpu->ctr = cpu->r[5];
|
|
/* 024F232C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024F2330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F2334 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 024F2334 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 024F2338 */ _t43 = cpu->r[7] + 0x00000014u;
|
|
/* 024F2338 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 024F233C */ cpu->ctr = cpu->r[8];
|
|
/* 024F2340 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 024F2340 */ cpu->r[17] = rbrew_read32(cpu->mem, _t44);
|
|
/* 024F2344 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 024F2348 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F234C */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 024F234C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 024F2350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[0]);
|
|
/* 024F2354 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2354 */ _t47 = _t46 & 0x00000001u;
|
|
/* 024F2354 */ if (_t47) goto L_024F2424; else goto L_024F2358;
|
|
L_024F2358: ; // 0x24f2358
|
|
/* 024F2358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 024F235C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F235C */ _t49 = _t48 & 0x00000001u;
|
|
/* 024F235C */ if (_t49) goto L_024F2360; else goto L_024F2424;
|
|
L_024F2360: ; // 0x24f2360
|
|
/* 024F2360 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 024F2360 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 024F2364 */ cpu->ctr = cpu->r[19];
|
|
/* 024F2368 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 024F2368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
L_024F236C: ; // 0x24f236c
|
|
/* 024F236C */ _t52 = cpu->r[8] + 0x00000000u;
|
|
/* 024F236C */ cpu->r[7] = rbrew_read8(cpu->mem, _t52);
|
|
/* 024F2370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[20]);
|
|
/* 024F2374 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2374 */ _t54 = _t53 & 0x00000001u;
|
|
/* 024F2374 */ if (_t54) goto L_024F2378; else goto L_024F2388;
|
|
L_024F2378: ; // 0x24f2378
|
|
/* 024F2378 */ _t55 = cpu->r[5] + 0x00000000u;
|
|
/* 024F2378 */ cpu->r[10] = rbrew_read8(cpu->mem, _t55);
|
|
/* 024F237C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[20]);
|
|
/* 024F2380 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2380 */ _t57 = _t56 & 0x00000001u;
|
|
/* 024F2380 */ if (_t57) goto L_024F2424; else goto L_024F2384;
|
|
L_024F2384: ; // 0x24f2384
|
|
/* 024F2384 */ goto L_024F23B4;
|
|
L_024F2388: ; // 0x24f2388
|
|
/* 024F2388 */ _t58 = cpu->r[5] + 0x00000000u;
|
|
/* 024F2388 */ cpu->r[6] = rbrew_read8(cpu->mem, _t58);
|
|
/* 024F238C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[20]);
|
|
/* 024F2390 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2390 */ _t60 = _t59 & 0x00000001u;
|
|
/* 024F2390 */ if (_t60) goto L_024F23B4; else goto L_024F2394;
|
|
L_024F2394: ; // 0x24f2394
|
|
/* 024F2394 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 024F2398 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2398 */ _t62 = _t61 & 0x00000001u;
|
|
/* 024F2398 */ if (_t62) goto L_024F239C; else goto L_024F23B4;
|
|
L_024F239C: ; // 0x24f239c
|
|
/* 024F239C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 024F23A0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 024F23A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024F23A4 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024F23A4 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 024F23A4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 024F23A4 */ if (_t65) goto L_024F236C; else goto L_024F23A8;
|
|
L_024F23A8: ; // 0x24f23a8
|
|
/* 024F23A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0xFFFFFFFFu);
|
|
/* 024F23AC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F23AC */ _t67 = _t66 & 0x00000001u;
|
|
/* 024F23AC */ if (_t67) goto L_024F242C; else goto L_024F23B0;
|
|
L_024F23B0: ; // 0x24f23b0
|
|
/* 024F23B0 */ goto L_024F24BC;
|
|
L_024F23B4: ; // 0x24f23b4
|
|
/* 024F23B4 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 024F23B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[29]);
|
|
/* 024F23BC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024F23BC */ _t69 = _t68 & 0x00000001u;
|
|
/* 024F23BC */ if (_t69) goto L_024F23C0; else goto L_024F2304;
|
|
L_024F23C0: ; // 0x24f23c0
|
|
/* 024F23C0 */ cpu->r[11] = 0x100C0000u;
|
|
/* 024F23C4 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F23C4 */ rbrew_write32(cpu->mem, _t70, cpu->r[25]);
|
|
/* 024F23C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFC250u;
|
|
/* 024F23CC */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 024F23CC */ rbrew_write32(cpu->mem, _t71, cpu->r[11]);
|
|
/* 024F23D0 */ _t72 = cpu->r[22] + 0x00000004u;
|
|
/* 024F23D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 024F23D4 */ _t73 = cpu->r[12] + 0x00000014u;
|
|
/* 024F23D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 024F23D8 */ cpu->ctr = cpu->r[0];
|
|
/* 024F23DC */ cpu->r[29] = 0x00000001u;
|
|
/* 024F23E0 */ cpu->r[3] = cpu->r[22];
|
|
/* 024F23E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F23E8 */ _t74 = cpu->r[22] + 0x00000004u;
|
|
/* 024F23E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 024F23EC */ _t75 = cpu->r[4] + 0x00000014u;
|
|
/* 024F23EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 024F23F0 */ cpu->ctr = cpu->r[5];
|
|
/* 024F23F4 */ cpu->r[3] = cpu->r[22];
|
|
/* 024F23F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F23FC */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F23FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 024F2400 */ _t77 = cpu->r[6] + 0x00000014u;
|
|
/* 024F2400 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 024F2404 */ cpu->ctr = cpu->r[7];
|
|
/* 024F2408 */ _t78 = cpu->r[22] + 0x00000000u;
|
|
/* 024F2408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 024F240C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 024F2410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F2414 */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 024F2414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 024F2418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 024F241C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F241C */ _t81 = _t80 & 0x00000001u;
|
|
/* 024F241C */ if (_t81) goto L_024F24BC; else goto L_024F2420;
|
|
L_024F2420: ; // 0x24f2420
|
|
/* 024F2420 */ goto L_024F248C;
|
|
L_024F2424: ; // 0x24f2424
|
|
/* 024F2424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0xFFFFFFFFu);
|
|
/* 024F2428 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2428 */ _t83 = _t82 & 0x00000001u;
|
|
/* 024F2428 */ if (_t83) goto L_024F242C; else goto L_024F24BC;
|
|
L_024F242C: ; // 0x24f242c
|
|
/* 024F242C */ cpu->r[11] = 0x100C0000u;
|
|
/* 024F2430 */ _t84 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F2430 */ rbrew_write32(cpu->mem, _t84, cpu->r[25]);
|
|
/* 024F2434 */ cpu->r[11] = cpu->r[11] + 0xFFFFC250u;
|
|
/* 024F2438 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 024F2438 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 024F243C */ _t86 = cpu->r[22] + 0x00000004u;
|
|
/* 024F243C */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
/* 024F2440 */ _t87 = cpu->r[12] + 0x00000014u;
|
|
/* 024F2440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 024F2444 */ cpu->ctr = cpu->r[0];
|
|
/* 024F2448 */ cpu->r[29] = 0x00000001u;
|
|
/* 024F244C */ cpu->r[3] = cpu->r[22];
|
|
/* 024F2450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F2454 */ _t88 = cpu->r[22] + 0x00000004u;
|
|
/* 024F2454 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 024F2458 */ _t89 = cpu->r[4] + 0x00000014u;
|
|
/* 024F2458 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
|
|
/* 024F245C */ cpu->ctr = cpu->r[5];
|
|
/* 024F2460 */ cpu->r[3] = cpu->r[22];
|
|
/* 024F2464 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F2468 */ _t90 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F2468 */ cpu->r[6] = rbrew_read32(cpu->mem, _t90);
|
|
/* 024F246C */ _t91 = cpu->r[6] + 0x00000014u;
|
|
/* 024F246C */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 024F2470 */ cpu->ctr = cpu->r[7];
|
|
/* 024F2474 */ _t92 = cpu->r[22] + 0x00000000u;
|
|
/* 024F2474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t92);
|
|
/* 024F2478 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 024F247C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F2480 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 024F2480 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 024F2484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 024F2488 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F2488 */ _t95 = _t94 & 0x00000001u;
|
|
/* 024F2488 */ if (_t95) goto L_024F24BC; else goto L_024F248C;
|
|
L_024F248C: ; // 0x24f248c
|
|
/* 024F248C */ _t96 = cpu->r[22] + 0x00000000u;
|
|
/* 024F248C */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 024F2490 */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 024F2494 */ cpu->ctr = cpu->r[23];
|
|
/* 024F2498 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_024F249C: ; // 0x24f249c
|
|
/* 024F249C */ _t97 = cpu->r[12] + 0x00000001u;
|
|
/* 024F249C */ cpu->r[10] = rbrew_read8(cpu->mem, _t97);
|
|
/* 024F249C */ cpu->r[12] = _t97;
|
|
/* 024F24A0 */ _t98 = cpu->r[11] + 0x00000001u;
|
|
/* 024F24A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 024F24A0 */ cpu->r[11] = _t98;
|
|
/* 024F24A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 024F24A8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F24A8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 024F24A8 */ if (_t100) goto L_024F24AC; else goto L_024F24B8;
|
|
L_024F24AC: ; // 0x24f24ac
|
|
/* 024F24AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 024F24B0 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F24B0 */ _t102 = _t101 & 0x00000001u;
|
|
/* 024F24B0 */ if (_t102) goto L_024F24BC; else goto L_024F24B4;
|
|
L_024F24B4: ; // 0x24f24b4
|
|
/* 024F24B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024F24B4 */ _t103 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024F24B4 */ _t104 = _t103 >> (0x00000002u & 31u);
|
|
/* 024F24B4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 024F24B4 */ if (_t105) goto L_024F249C; else goto L_024F24B8;
|
|
L_024F24B8: ; // 0x24f24b8
|
|
/* 024F24B8 */ cpu->r[21] = 0x00000000u;
|
|
L_024F24BC: ; // 0x24f24bc
|
|
/* 024F24BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 024F24C0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F24C0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 024F24C0 */ if (_t107) goto L_024F2518; else goto L_024F24C4;
|
|
L_024F24C4: ; // 0x24f24c4
|
|
/* 024F24C4 */ _t108 = cpu->r[22] + 0x00000090u;
|
|
/* 024F24C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t108);
|
|
/* 024F24C8 */ _t109 = cpu->r[9] + 0x00000014u;
|
|
/* 024F24C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 024F24CC */ cpu->ctr = cpu->r[8];
|
|
/* 024F24D0 */ cpu->r[3] = cpu->r[22] + 0x0000008Cu;
|
|
/* 024F24D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F24D8 */ _t110 = cpu->r[22] + 0x0000008Cu;
|
|
/* 024F24D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 024F24DC */ cpu->r[3] = cpu->r[24];
|
|
/* 024F24E0 */ _t111 = cpu->r[1] + 0x00000024u;
|
|
/* 024F24E0 */ rbrew_write32(cpu->mem, _t111, cpu->r[25]);
|
|
/* 024F24E4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 024F24E8 */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 024F24E8 */ rbrew_write32(cpu->mem, _t112, cpu->r[6]);
|
|
/* 024F24EC */ Gambit_fn_020EEE28(cpu);
|
|
/* 024F24F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F24F4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F24F4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 024F24F4 */ if (_t114) goto L_024F2518; else goto L_024F24F8;
|
|
L_024F24F8: ; // 0x24f24f8
|
|
/* 024F24F8 */ _t115 = cpu->r[27] + 0x00000000u;
|
|
/* 024F24F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t115);
|
|
/* 024F24FC */ _t116 = cpu->r[27] + 0x00000004u;
|
|
/* 024F24FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t116);
|
|
/* 024F2500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 024F2504 */ _t117 = cpu->r[3] + 0x0000471Cu;
|
|
/* 024F2504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 024F2508 */ _t118 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F2508 */ _t119 = _t118 & 0x00000001u;
|
|
/* 024F2508 */ if (_t119) goto L_024F250C; else goto L_024F2514;
|
|
L_024F250C: ; // 0x24f250c
|
|
/* 024F250C */ cpu->r[10] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024F2510 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_024F2514: ; // 0x24f2514
|
|
/* 024F2514 */ _t120 = cpu->r[11] + 0x00000000u;
|
|
/* 024F2514 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
L_024F2518: ; // 0x24f2518
|
|
/* 024F2518 */ _t121 = cpu->r[27] + 0x00000008u;
|
|
/* 024F2518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 024F251C */ _t122 = cpu->r[10] + 0x000023B8u;
|
|
/* 024F251C */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 024F2520 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 024F2524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 024F2528 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024F2528 */ _t124 = _t123 & 0x00000001u;
|
|
/* 024F2528 */ if (_t124) goto L_024F2234; else goto L_024F252C;
|
|
L_024F252C: ; // 0x24f252c
|
|
/* 024F252C */ /* nop */
|
|
/* 024F2530 */ _t125 = cpu->r[1] + 0x0000006Cu;
|
|
/* 024F2530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 024F2534 */ cpu->lr = cpu->r[0];
|
|
/* 024F2538 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 024F253C */ return;
|
|
L_02555574: ; // 0x2555574
|
|
/* 02555574 */ _t126 = cpu->r[3] + 0x000001BCu;
|
|
/* 02555574 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02555578 */ goto L_024F21E0;
|
|
}
|
|
|
|
// fn_0255557C @ 0x255557c
|
|
void Gambit_fn_0255557C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0255557C: ; // 0x255557c
|
|
/* 0255557C */ cpu->r[0] = cpu->lr;
|
|
/* 02555580 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555580 */ cpu->r[1] = _t0;
|
|
/* 02555584 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555584 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555588 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255558C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02555590 */ _t2 = cpu->r[12] + 0xFFFF9D28u;
|
|
/* 02555590 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02555594 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555598 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02555598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255559C */ _t4 = cpu->r[31] + 0x000001B0u;
|
|
/* 0255559C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025555A0 */ _t5 = cpu->r[3] + 0x00001D14u;
|
|
/* 025555A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025555A4 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 025555A8 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 025555A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025555AC */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 025555AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025555B0 */ cpu->f[1] = cpu->f[0] - cpu->f[13];
|
|
/* 025555B4 */ _t8 = cpu->r[31] + 0x000001C4u;
|
|
/* 025555B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025555B8 */ cpu->f[2] = cpu->f[0] + cpu->f[13];
|
|
/* 025555BC */ cpu->r[4] = 0x101C0000u;
|
|
/* 025555C0 */ cpu->f[4] = cpu->f[12] + cpu->f[13];
|
|
/* 025555C4 */ _t9 = cpu->r[3] + 0x00005444u;
|
|
/* 025555C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025555C8 */ cpu->f[3] = cpu->f[12] - cpu->f[13];
|
|
/* 025555CC */ _t10 = cpu->r[4] + 0x00006648u;
|
|
/* 025555CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025555D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 025555D4 */ Gambit_fn_02031B20(cpu);
|
|
/* 025555D8 */ _t11 = cpu->r[31] + 0x000001C0u;
|
|
/* 025555D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 025555DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 025555DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025555E0 */ cpu->lr = cpu->r[0];
|
|
/* 025555E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025555E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025555E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025555EC */ return;
|
|
}
|
|
|
|
// fn_02555580 @ 0x2555580
|
|
void Gambit_fn_02555580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02555580: ; // 0x2555580
|
|
/* 02555580 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555580 */ cpu->r[1] = _t0;
|
|
/* 02555584 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555584 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555588 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255558C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02555590 */ _t2 = cpu->r[12] + 0xFFFF9D28u;
|
|
/* 02555590 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02555594 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555598 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02555598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255559C */ _t4 = cpu->r[31] + 0x000001B0u;
|
|
/* 0255559C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 025555A0 */ _t5 = cpu->r[3] + 0x00001D14u;
|
|
/* 025555A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025555A4 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 025555A8 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 025555A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025555AC */ _t7 = cpu->r[31] + 0x00000080u;
|
|
/* 025555AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025555B0 */ cpu->f[1] = cpu->f[0] - cpu->f[13];
|
|
/* 025555B4 */ _t8 = cpu->r[31] + 0x000001C4u;
|
|
/* 025555B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025555B8 */ cpu->f[2] = cpu->f[0] + cpu->f[13];
|
|
/* 025555BC */ cpu->r[4] = 0x101C0000u;
|
|
/* 025555C0 */ cpu->f[4] = cpu->f[12] + cpu->f[13];
|
|
/* 025555C4 */ _t9 = cpu->r[3] + 0x00005444u;
|
|
/* 025555C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025555C8 */ cpu->f[3] = cpu->f[12] - cpu->f[13];
|
|
/* 025555CC */ _t10 = cpu->r[4] + 0x00006648u;
|
|
/* 025555CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025555D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 025555D4 */ Gambit_fn_02031B20(cpu);
|
|
/* 025555D8 */ _t11 = cpu->r[31] + 0x000001C0u;
|
|
/* 025555D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 025555DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 025555DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025555E0 */ cpu->lr = cpu->r[0];
|
|
/* 025555E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025555E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025555E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025555EC */ return;
|
|
}
|
|
|
|
// fn_025555F0 @ 0x25555f0
|
|
void Gambit_fn_025555F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_025555F0: ; // 0x25555f0
|
|
/* 025555F0 */ cpu->r[0] = cpu->lr;
|
|
/* 025555F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025555F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025555F4 */ cpu->r[1] = _t0;
|
|
/* 025555F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025555F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025555FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02555600 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555604 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555604 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555608 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02555608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255560C */ cpu->r[4] = cpu->r[31] + 0x000001C0u;
|
|
/* 02555610 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02555614 */ cpu->r[0] = 0x00000000u;
|
|
/* 02555618 */ _t4 = cpu->r[31] + 0x000001C0u;
|
|
/* 02555618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0255561C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0255561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555620 */ cpu->lr = cpu->r[0];
|
|
/* 02555624 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255562C */ return;
|
|
}
|
|
|
|
// fn_025555F4 @ 0x25555f4
|
|
void Gambit_fn_025555F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_025555F4: ; // 0x25555f4
|
|
/* 025555F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025555F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025555F4 */ cpu->r[1] = _t0;
|
|
/* 025555F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025555F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025555FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02555600 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555604 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555604 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555608 */ _t3 = cpu->r[3] + 0x00001D14u;
|
|
/* 02555608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255560C */ cpu->r[4] = cpu->r[31] + 0x000001C0u;
|
|
/* 02555610 */ Gambit_fn_02031BD0(cpu);
|
|
/* 02555614 */ cpu->r[0] = 0x00000000u;
|
|
/* 02555618 */ _t4 = cpu->r[31] + 0x000001C0u;
|
|
/* 02555618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0255561C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0255561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555620 */ cpu->lr = cpu->r[0];
|
|
/* 02555624 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255562C */ return;
|
|
}
|
|
|
|
// fn_02555630 @ 0x2555630
|
|
void Gambit_fn_02555630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02555630: ; // 0x2555630
|
|
/* 02555630 */ _t0 = cpu->r[3] + 0x00000078u;
|
|
/* 02555630 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02555634 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02555634 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02555638 */ _t2 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02555638 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0255563C */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 0255563C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[12]);
|
|
/* 02555640 */ _t4 = cpu->r[3] + 0x00000080u;
|
|
/* 02555640 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02555644 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02555644 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02555648 */ _t6 = cpu->r[3] + 0x00000054u;
|
|
/* 02555648 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0255564C */ _t7 = cpu->r[4] + 0x00000010u;
|
|
/* 0255564C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02555650 */ _t8 = cpu->r[3] + 0x00000058u;
|
|
/* 02555650 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02555654 */ _t9 = cpu->r[4] + 0x00000014u;
|
|
/* 02555654 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 02555658 */ _t10 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02555658 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0255565C */ _t11 = cpu->r[4] + 0x00000018u;
|
|
/* 0255565C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02555660 */ _t12 = cpu->r[3] + 0x00000060u;
|
|
/* 02555660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02555664 */ _t13 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02555664 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02555668 */ _t14 = cpu->r[3] + 0x00000064u;
|
|
/* 02555668 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0255566C */ _t15 = cpu->r[4] + 0x00000020u;
|
|
/* 0255566C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02555670 */ _t16 = cpu->r[3] + 0x00000068u;
|
|
/* 02555670 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02555674 */ _t17 = cpu->r[4] + 0x00000024u;
|
|
/* 02555674 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02555678 */ _t18 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02555678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0255567C */ _t19 = cpu->r[4] + 0x00000028u;
|
|
/* 0255567C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02555680 */ _t20 = cpu->r[3] + 0x00000070u;
|
|
/* 02555680 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02555684 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02555688 */ _t21 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02555688 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0255568C */ _t22 = cpu->r[3] + 0x00000074u;
|
|
/* 0255568C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02555690 */ _t23 = cpu->r[12] + 0xFFFF9D28u;
|
|
/* 02555690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02555694 */ _t24 = cpu->r[4] + 0x00000030u;
|
|
/* 02555694 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02555698 */ _t25 = cpu->r[3] + 0x000001B0u;
|
|
/* 02555698 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0255569C */ cpu->f[12] = cpu->f[0] * cpu->f[13];
|
|
/* 025556A0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025556A4 */ _t26 = cpu->r[4] + 0x00000034u;
|
|
/* 025556A4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[12]);
|
|
/* 025556A8 */ _t27 = cpu->r[3] + 0x000001B4u;
|
|
/* 025556A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025556AC */ _t28 = cpu->r[12] + 0xFFFF9D2Cu;
|
|
/* 025556AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 025556B0 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025556B4 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 025556B8 */ _t29 = cpu->r[11] + 0xFFFF9D30u;
|
|
/* 025556B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 025556BC */ cpu->f[13] = cpu->f[12] * cpu->f[13];
|
|
/* 025556C0 */ _t30 = cpu->r[4] + 0x00000038u;
|
|
/* 025556C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 025556C4 */ _t31 = cpu->r[3] + 0x000001B8u;
|
|
/* 025556C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 025556C8 */ cpu->f[12] = cpu->f[0] * cpu->f[13];
|
|
/* 025556CC */ _t32 = cpu->r[4] + 0x0000003Cu;
|
|
/* 025556CC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 025556D0 */ return;
|
|
}
|
|
|
|
// fn_025556D4 @ 0x25556d4
|
|
void Gambit_fn_025556D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
|
|
L_025556D4: ; // 0x25556d4
|
|
/* 025556D4 */ cpu->r[0] = cpu->lr;
|
|
/* 025556D8 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 025556D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025556D8 */ cpu->r[1] = _t0;
|
|
/* 025556DC */ _t1 = cpu->r[1] + 0x000000C8u;
|
|
/* 025556DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025556E0 */ /* nop */
|
|
/* 025556E4 */ _t2 = cpu->r[1] + 0x000000C0u;
|
|
/* 025556E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025556E8 */ cpu->r[30] = 0x101F0000u;
|
|
/* 025556EC */ _t3 = cpu->r[1] + 0x000000BCu;
|
|
/* 025556EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025556F0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025556F4 */ _t4 = cpu->r[1] + 0x000000D0u;
|
|
/* 025556F4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025556F8 */ _t5 = cpu->r[1] + 0x000000C4u;
|
|
/* 025556F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025556FC */ _t6 = cpu->r[1] + 0x000000DCu;
|
|
/* 025556FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02555700 */ _t7 = cpu->r[30] + 0x00003840u;
|
|
/* 02555700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555700 */ cpu->r[30] = _t7;
|
|
/* 02555704 */ cpu->r[29] = cpu->r[4];
|
|
/* 02555708 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02555708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0255570C */ _t9 = cpu->r[12] + 0xFFFF9D34u;
|
|
/* 0255570C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02555710 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02555710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02555714 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02555714 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02555718 */ cpu->r[9] = 0x10110000u;
|
|
/* 0255571C */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 0255571C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02555720 */ cpu->r[8] = 0x10110000u;
|
|
/* 02555724 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02555724 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02555728 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255572C */ _t14 = cpu->r[1] + 0x00000050u;
|
|
/* 0255572C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02555730 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF7Cu;
|
|
/* 02555734 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555734 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02555738 */ cpu->r[3] = cpu->r[29];
|
|
/* 0255573C */ _t16 = cpu->r[1] + 0x00000044u;
|
|
/* 0255573C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02555740 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02555744 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02555744 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02555748 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF4Cu;
|
|
/* 0255574C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0255574C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02555750 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02555750 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02555754 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02555754 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02555758 */ _t21 = cpu->r[1] + 0x00000040u;
|
|
/* 02555758 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0255575C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0255575C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02555760 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02555760 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02555764 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02555768 */ /* nop */
|
|
/* 0255576C */ /* nop */
|
|
/* 02555770 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 02555770 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02555774 */ /* nop */
|
|
/* 02555778 */ _t25 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02555778 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0255577C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02555780 */ /* nop */
|
|
/* 02555784 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02555784 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02555788 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 0255578C */ _t27 = cpu->r[9] + 0xFFFF9D30u;
|
|
/* 0255578C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02555790 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02555790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02555794 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02555794 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 02555798 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02555798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0255579C */ _t31 = cpu->r[1] + 0x00000070u;
|
|
/* 0255579C */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 025557A0 */ _t32 = cpu->r[1] + 0x00000070u;
|
|
/* 025557A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 025557A4 */ _t33 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025557A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 025557A8 */ _t34 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025557A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 025557AC */ cpu->f[11] = cpu->f[11] * cpu->f[31];
|
|
/* 025557B0 */ _t35 = cpu->r[1] + 0x00000074u;
|
|
/* 025557B0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 025557B4 */ _t36 = cpu->r[1] + 0x00000074u;
|
|
/* 025557B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025557B8 */ cpu->f[12] = cpu->f[0] * cpu->f[31];
|
|
/* 025557BC */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 025557BC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 025557C0 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 025557C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025557C4 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025557C4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 025557C8 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025557C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025557CC */ cpu->f[12] = cpu->f[13] * cpu->f[31];
|
|
/* 025557D0 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 025557D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 025557D4 */ _t42 = cpu->r[1] + 0x00000064u;
|
|
/* 025557D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025557D8 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 025557D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 025557DC */ _t44 = cpu->r[1] + 0x00000060u;
|
|
/* 025557DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 025557E0 */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 025557E0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 025557E4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 025557E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025557E8 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025557E8 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 025557EC */ _t48 = cpu->r[1] + 0x00000068u;
|
|
/* 025557EC */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 025557F0 */ _t49 = cpu->r[1] + 0x00000068u;
|
|
/* 025557F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 025557F4 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 025557F4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 025557F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 025557FC */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 025557FC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[13]);
|
|
/* 02555800 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 02555804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555808 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555808 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02555808 */ if (_t53) goto L_02555850; else goto L_0255580C;
|
|
L_0255580C: ; // 0x255580c
|
|
/* 0255580C */ _t54 = cpu->r[30] + 0x00000008u;
|
|
/* 0255580C */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02555810 */ cpu->r[11] = 0x10110000u;
|
|
/* 02555814 */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 02555814 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02555818 */ cpu->r[11] = cpu->r[11] + 0xFFFFEFDCu;
|
|
/* 0255581C */ _t56 = cpu->r[30] + 0x00000004u;
|
|
/* 0255581C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02555820 */ _t57 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02555820 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02555824 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02555828 */ _t58 = cpu->r[1] + 0x00000050u;
|
|
/* 02555828 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0255582C */ _t59 = cpu->r[1] + 0x00000078u;
|
|
/* 0255582C */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02555830 */ cpu->r[7] = cpu->r[7] + 0x000037D8u;
|
|
/* 02555834 */ cpu->r[10] = 0x00000003u;
|
|
/* 02555838 */ _t60 = cpu->r[1] + 0x00000084u;
|
|
/* 02555838 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
|
|
/* 0255583C */ cpu->r[9] = cpu->r[1] + 0x00000084u;
|
|
/* 02555840 */ _t61 = cpu->r[1] + 0x00000080u;
|
|
/* 02555840 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02555844 */ cpu->ctr = cpu->r[10];
|
|
/* 02555848 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02555848 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[12]);
|
|
/* 0255584C */ goto L_0255589C;
|
|
L_02555850: ; // 0x2555850
|
|
/* 02555850 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02555854 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02555858 */ Gambit_fn_02C693A4(cpu);
|
|
/* 0255585C */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 0255585C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02555860 */ cpu->r[11] = 0x10110000u;
|
|
/* 02555864 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 02555864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02555868 */ cpu->f[12] = cpu->f[1] * cpu->f[31];
|
|
/* 0255586C */ _t65 = cpu->r[30] + 0x00000004u;
|
|
/* 0255586C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02555870 */ cpu->r[11] = cpu->r[11] + 0xFFFFEFDCu;
|
|
/* 02555874 */ _t66 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02555874 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02555878 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0255587C */ _t67 = cpu->r[1] + 0x00000084u;
|
|
/* 0255587C */ rbrew_write32(cpu->mem, _t67, cpu->r[5]);
|
|
/* 02555880 */ cpu->r[7] = cpu->r[7] + 0x000037D8u;
|
|
/* 02555884 */ cpu->r[10] = 0x00000003u;
|
|
/* 02555888 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 02555888 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 0255588C */ cpu->r[9] = cpu->r[1] + 0x00000084u;
|
|
/* 02555890 */ _t69 = cpu->r[1] + 0x00000080u;
|
|
/* 02555890 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02555894 */ cpu->ctr = cpu->r[10];
|
|
/* 02555898 */ _t70 = cpu->r[1] + 0x00000078u;
|
|
/* 02555898 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
L_0255589C: ; // 0x255589c
|
|
/* 0255589C */ _t71 = cpu->r[7] + 0x00000004u;
|
|
/* 0255589C */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 025558A0 */ _t72 = cpu->r[9] + 0x00000004u;
|
|
/* 025558A0 */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 025558A4 */ _t73 = cpu->r[7] + 0x00000008u;
|
|
/* 025558A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025558A8 */ _t74 = cpu->r[9] + 0x00000008u;
|
|
/* 025558A8 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 025558AC */ _t75 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025558AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025558AC */ cpu->r[7] = _t75;
|
|
/* 025558B0 */ _t76 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025558B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
/* 025558B0 */ cpu->r[9] = _t76;
|
|
/* 025558B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025558B4 */ _t77 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025558B4 */ _t78 = _t77 >> (0x00000002u & 31u);
|
|
/* 025558B4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 025558B4 */ if (_t79) goto L_0255589C; else goto L_025558B8;
|
|
L_025558B8: ; // 0x25558b8
|
|
/* 025558B8 */ _t80 = cpu->r[30] + 0x00000008u;
|
|
/* 025558B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 025558BC */ cpu->r[3] = cpu->r[31];
|
|
/* 025558C0 */ _t81 = cpu->r[30] + 0x00000004u;
|
|
/* 025558C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 025558C4 */ _t82 = cpu->r[1] + 0x000000B4u;
|
|
/* 025558C4 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 025558C8 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 025558C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 025558CC */ _t84 = cpu->r[1] + 0x000000B0u;
|
|
/* 025558CC */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 025558D0 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 025558D4 */ _t85 = cpu->r[1] + 0x000000ACu;
|
|
/* 025558D4 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 025558D8 */ Gambit_fn_02555630(cpu);
|
|
/* 025558DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025558E0 */ cpu->r[5] = 0x00000000u;
|
|
/* 025558E4 */ Gambit_fn_027DE678(cpu);
|
|
/* 025558E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025558EC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025558EC */ _t87 = _t86 & 0x00000001u;
|
|
/* 025558EC */ if (_t87) goto L_02555914; else goto L_025558F0;
|
|
L_025558F0: ; // 0x25558f0
|
|
/* 025558F0 */ _t88 = cpu->r[31] + 0x000001BCu;
|
|
/* 025558F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 025558F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 025558F8 */ _t89 = cpu->r[1] + 0x0000005Cu;
|
|
/* 025558F8 */ rbrew_write32(cpu->mem, _t89, cpu->r[4]);
|
|
/* 025558FC */ _t90 = cpu->r[1] + 0x00000054u;
|
|
/* 025558FC */ rbrew_write32(cpu->mem, _t90, cpu->r[31]);
|
|
/* 02555900 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 02555904 */ _t91 = cpu->r[1] + 0x00000058u;
|
|
/* 02555904 */ rbrew_write32(cpu->mem, _t91, cpu->r[4]);
|
|
/* 02555908 */ Gambit_fn_024F2540(cpu);
|
|
/* 0255590C */ cpu->r[3] = cpu->r[31];
|
|
/* 02555910 */ Gambit_fn_02790488(cpu);
|
|
L_02555914: ; // 0x2555914
|
|
/* 02555914 */ _t92 = cpu->r[1] + 0x000000BCu;
|
|
/* 02555914 */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02555918 */ _t93 = cpu->r[1] + 0x000000D0u;
|
|
/* 02555918 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 0255591C */ _t94 = cpu->r[1] + 0x000000C0u;
|
|
/* 0255591C */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02555920 */ _t95 = cpu->r[1] + 0x000000C8u;
|
|
/* 02555920 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02555924 */ _t96 = cpu->r[1] + 0x000000C4u;
|
|
/* 02555924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02555928 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02555928 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02555928 */ if (_t98) goto L_0255592C; // else: addr-0 trap, fall-through
|
|
L_0255592C: ; // 0x255592c
|
|
/* 0255592C */ _t99 = cpu->r[1] + 0x000000DCu;
|
|
/* 0255592C */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02555930 */ cpu->lr = cpu->r[0];
|
|
/* 02555934 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02555938 */ return;
|
|
}
|
|
|
|
// fn_025556D8 @ 0x25556d8
|
|
void Gambit_fn_025556D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
|
|
L_025556D8: ; // 0x25556d8
|
|
/* 025556D8 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 025556D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025556D8 */ cpu->r[1] = _t0;
|
|
/* 025556DC */ _t1 = cpu->r[1] + 0x000000C8u;
|
|
/* 025556DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025556E0 */ /* nop */
|
|
/* 025556E4 */ _t2 = cpu->r[1] + 0x000000C0u;
|
|
/* 025556E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025556E8 */ cpu->r[30] = 0x101F0000u;
|
|
/* 025556EC */ _t3 = cpu->r[1] + 0x000000BCu;
|
|
/* 025556EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 025556F0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025556F4 */ _t4 = cpu->r[1] + 0x000000D0u;
|
|
/* 025556F4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025556F8 */ _t5 = cpu->r[1] + 0x000000C4u;
|
|
/* 025556F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025556FC */ _t6 = cpu->r[1] + 0x000000DCu;
|
|
/* 025556FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02555700 */ _t7 = cpu->r[30] + 0x00003840u;
|
|
/* 02555700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555700 */ cpu->r[30] = _t7;
|
|
/* 02555704 */ cpu->r[29] = cpu->r[4];
|
|
/* 02555708 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02555708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0255570C */ _t9 = cpu->r[12] + 0xFFFF9D34u;
|
|
/* 0255570C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02555710 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02555710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02555714 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02555714 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02555718 */ cpu->r[9] = 0x10110000u;
|
|
/* 0255571C */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 0255571C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02555720 */ cpu->r[8] = 0x10110000u;
|
|
/* 02555724 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02555724 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02555728 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255572C */ _t14 = cpu->r[1] + 0x00000050u;
|
|
/* 0255572C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02555730 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF7Cu;
|
|
/* 02555734 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555734 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02555738 */ cpu->r[3] = cpu->r[29];
|
|
/* 0255573C */ _t16 = cpu->r[1] + 0x00000044u;
|
|
/* 0255573C */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02555740 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02555744 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02555744 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02555748 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF4Cu;
|
|
/* 0255574C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0255574C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02555750 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02555750 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02555754 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02555754 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02555758 */ _t21 = cpu->r[1] + 0x00000040u;
|
|
/* 02555758 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0255575C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0255575C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02555760 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02555760 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02555764 */ Gambit_fn_025C65E8(cpu);
|
|
/* 02555768 */ /* nop */
|
|
/* 0255576C */ /* nop */
|
|
/* 02555770 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 02555770 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02555774 */ /* nop */
|
|
/* 02555778 */ _t25 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02555778 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0255577C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02555780 */ /* nop */
|
|
/* 02555784 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02555784 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02555788 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 0255578C */ _t27 = cpu->r[9] + 0xFFFF9D30u;
|
|
/* 0255578C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02555790 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02555790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02555794 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02555794 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 02555798 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02555798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0255579C */ _t31 = cpu->r[1] + 0x00000070u;
|
|
/* 0255579C */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 025557A0 */ _t32 = cpu->r[1] + 0x00000070u;
|
|
/* 025557A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 025557A4 */ _t33 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025557A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 025557A8 */ _t34 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025557A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 025557AC */ cpu->f[11] = cpu->f[11] * cpu->f[31];
|
|
/* 025557B0 */ _t35 = cpu->r[1] + 0x00000074u;
|
|
/* 025557B0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 025557B4 */ _t36 = cpu->r[1] + 0x00000074u;
|
|
/* 025557B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 025557B8 */ cpu->f[12] = cpu->f[0] * cpu->f[31];
|
|
/* 025557BC */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 025557BC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 025557C0 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 025557C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025557C4 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025557C4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 025557C8 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025557C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025557CC */ cpu->f[12] = cpu->f[13] * cpu->f[31];
|
|
/* 025557D0 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 025557D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 025557D4 */ _t42 = cpu->r[1] + 0x00000064u;
|
|
/* 025557D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025557D8 */ _t43 = cpu->r[1] + 0x00000060u;
|
|
/* 025557D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 025557DC */ _t44 = cpu->r[1] + 0x00000060u;
|
|
/* 025557DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 025557E0 */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 025557E0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 025557E4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 025557E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025557E8 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025557E8 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 025557EC */ _t48 = cpu->r[1] + 0x00000068u;
|
|
/* 025557EC */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 025557F0 */ _t49 = cpu->r[1] + 0x00000068u;
|
|
/* 025557F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 025557F4 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 025557F4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 025557F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 025557FC */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 025557FC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[13]);
|
|
/* 02555800 */ Gambit_fn_025A9CC4(cpu);
|
|
/* 02555804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555808 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555808 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02555808 */ if (_t53) goto L_02555850; else goto L_0255580C;
|
|
L_0255580C: ; // 0x255580c
|
|
/* 0255580C */ _t54 = cpu->r[30] + 0x00000008u;
|
|
/* 0255580C */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02555810 */ cpu->r[11] = 0x10110000u;
|
|
/* 02555814 */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 02555814 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02555818 */ cpu->r[11] = cpu->r[11] + 0xFFFFEFDCu;
|
|
/* 0255581C */ _t56 = cpu->r[30] + 0x00000004u;
|
|
/* 0255581C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02555820 */ _t57 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02555820 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 02555824 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02555828 */ _t58 = cpu->r[1] + 0x00000050u;
|
|
/* 02555828 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0255582C */ _t59 = cpu->r[1] + 0x00000078u;
|
|
/* 0255582C */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02555830 */ cpu->r[7] = cpu->r[7] + 0x000037D8u;
|
|
/* 02555834 */ cpu->r[10] = 0x00000003u;
|
|
/* 02555838 */ _t60 = cpu->r[1] + 0x00000084u;
|
|
/* 02555838 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
|
|
/* 0255583C */ cpu->r[9] = cpu->r[1] + 0x00000084u;
|
|
/* 02555840 */ _t61 = cpu->r[1] + 0x00000080u;
|
|
/* 02555840 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02555844 */ cpu->ctr = cpu->r[10];
|
|
/* 02555848 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02555848 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[12]);
|
|
/* 0255584C */ goto L_0255589C;
|
|
L_02555850: ; // 0x2555850
|
|
/* 02555850 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02555854 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02555858 */ Gambit_fn_02C693A4(cpu);
|
|
/* 0255585C */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 0255585C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02555860 */ cpu->r[11] = 0x10110000u;
|
|
/* 02555864 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 02555864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02555868 */ cpu->f[12] = cpu->f[1] * cpu->f[31];
|
|
/* 0255586C */ _t65 = cpu->r[30] + 0x00000004u;
|
|
/* 0255586C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02555870 */ cpu->r[11] = cpu->r[11] + 0xFFFFEFDCu;
|
|
/* 02555874 */ _t66 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02555874 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02555878 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0255587C */ _t67 = cpu->r[1] + 0x00000084u;
|
|
/* 0255587C */ rbrew_write32(cpu->mem, _t67, cpu->r[5]);
|
|
/* 02555880 */ cpu->r[7] = cpu->r[7] + 0x000037D8u;
|
|
/* 02555884 */ cpu->r[10] = 0x00000003u;
|
|
/* 02555888 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 02555888 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 0255588C */ cpu->r[9] = cpu->r[1] + 0x00000084u;
|
|
/* 02555890 */ _t69 = cpu->r[1] + 0x00000080u;
|
|
/* 02555890 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02555894 */ cpu->ctr = cpu->r[10];
|
|
/* 02555898 */ _t70 = cpu->r[1] + 0x00000078u;
|
|
/* 02555898 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
L_0255589C: ; // 0x255589c
|
|
/* 0255589C */ _t71 = cpu->r[7] + 0x00000004u;
|
|
/* 0255589C */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 025558A0 */ _t72 = cpu->r[9] + 0x00000004u;
|
|
/* 025558A0 */ rbrew_write32(cpu->mem, _t72, cpu->r[12]);
|
|
/* 025558A4 */ _t73 = cpu->r[7] + 0x00000008u;
|
|
/* 025558A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025558A8 */ _t74 = cpu->r[9] + 0x00000008u;
|
|
/* 025558A8 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 025558AC */ _t75 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025558AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025558AC */ cpu->r[7] = _t75;
|
|
/* 025558B0 */ _t76 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025558B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
/* 025558B0 */ cpu->r[9] = _t76;
|
|
/* 025558B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025558B4 */ _t77 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025558B4 */ _t78 = _t77 >> (0x00000002u & 31u);
|
|
/* 025558B4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 025558B4 */ if (_t79) goto L_0255589C; else goto L_025558B8;
|
|
L_025558B8: ; // 0x25558b8
|
|
/* 025558B8 */ _t80 = cpu->r[30] + 0x00000008u;
|
|
/* 025558B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 025558BC */ cpu->r[3] = cpu->r[31];
|
|
/* 025558C0 */ _t81 = cpu->r[30] + 0x00000004u;
|
|
/* 025558C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 025558C4 */ _t82 = cpu->r[1] + 0x000000B4u;
|
|
/* 025558C4 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 025558C8 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 025558C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 025558CC */ _t84 = cpu->r[1] + 0x000000B0u;
|
|
/* 025558CC */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 025558D0 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 025558D4 */ _t85 = cpu->r[1] + 0x000000ACu;
|
|
/* 025558D4 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 025558D8 */ Gambit_fn_02555630(cpu);
|
|
/* 025558DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 025558E0 */ cpu->r[5] = 0x00000000u;
|
|
/* 025558E4 */ Gambit_fn_027DE678(cpu);
|
|
/* 025558E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025558EC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025558EC */ _t87 = _t86 & 0x00000001u;
|
|
/* 025558EC */ if (_t87) goto L_02555914; else goto L_025558F0;
|
|
L_025558F0: ; // 0x25558f0
|
|
/* 025558F0 */ _t88 = cpu->r[31] + 0x000001BCu;
|
|
/* 025558F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 025558F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 025558F8 */ _t89 = cpu->r[1] + 0x0000005Cu;
|
|
/* 025558F8 */ rbrew_write32(cpu->mem, _t89, cpu->r[4]);
|
|
/* 025558FC */ _t90 = cpu->r[1] + 0x00000054u;
|
|
/* 025558FC */ rbrew_write32(cpu->mem, _t90, cpu->r[31]);
|
|
/* 02555900 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 02555904 */ _t91 = cpu->r[1] + 0x00000058u;
|
|
/* 02555904 */ rbrew_write32(cpu->mem, _t91, cpu->r[4]);
|
|
/* 02555908 */ Gambit_fn_024F2540(cpu);
|
|
/* 0255590C */ cpu->r[3] = cpu->r[31];
|
|
/* 02555910 */ Gambit_fn_02790488(cpu);
|
|
L_02555914: ; // 0x2555914
|
|
/* 02555914 */ _t92 = cpu->r[1] + 0x000000BCu;
|
|
/* 02555914 */ cpu->r[29] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02555918 */ _t93 = cpu->r[1] + 0x000000D0u;
|
|
/* 02555918 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 0255591C */ _t94 = cpu->r[1] + 0x000000C0u;
|
|
/* 0255591C */ cpu->r[30] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02555920 */ _t95 = cpu->r[1] + 0x000000C8u;
|
|
/* 02555920 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02555924 */ _t96 = cpu->r[1] + 0x000000C4u;
|
|
/* 02555924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02555928 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02555928 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02555928 */ if (_t98) goto L_0255592C; // else: addr-0 trap, fall-through
|
|
L_0255592C: ; // 0x255592c
|
|
/* 0255592C */ _t99 = cpu->r[1] + 0x000000DCu;
|
|
/* 0255592C */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02555930 */ cpu->lr = cpu->r[0];
|
|
/* 02555934 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02555938 */ return;
|
|
}
|
|
|
|
// fn_0255593C @ 0x255593c
|
|
void Gambit_fn_0255593C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0255593C: ; // 0x255593c
|
|
/* 0255593C */ cpu->r[0] = cpu->lr;
|
|
/* 02555940 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02555944 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02555948 */ cpu->r[12] = cpu->r[12] + 0xFFFF9D38u;
|
|
/* 0255594C */ cpu->r[11] = cpu->r[11] + 0xFFFF9CBCu;
|
|
/* 02555950 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02555954 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02555954 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02555958 */ cpu->r[0] = 0x02550000u;
|
|
/* 0255595C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0255595C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0255595C */ cpu->r[1] = _t1;
|
|
/* 02555960 */ cpu->r[0] = cpu->r[0] + 0x00005D6Cu;
|
|
/* 02555964 */ _t2 = cpu->r[3] + 0xFFFFA908u;
|
|
/* 02555964 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02555964 */ cpu->r[3] = _t2;
|
|
/* 02555968 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0255596C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0255596C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02555970 */ cpu->r[12] = cpu->r[12] + 0xFFFF9D04u;
|
|
/* 02555974 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02555974 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02555978 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02555978 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0255597C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0255597C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02555980 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02555984 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555988 */ cpu->r[3] = cpu->r[3] + 0x00006A84u;
|
|
/* 0255598C */ Gambit_fn_02C83090(cpu);
|
|
/* 02555990 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555994 */ cpu->lr = cpu->r[0];
|
|
/* 02555998 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0255599C */ return;
|
|
}
|
|
|
|
// fn_0255595C @ 0x255595c
|
|
void Gambit_fn_0255595C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0255595C: ; // 0x255595c
|
|
/* 0255595C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0255595C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255595C */ cpu->r[1] = _t0;
|
|
/* 02555960 */ cpu->r[0] = cpu->r[0] + 0x00005D6Cu;
|
|
/* 02555964 */ _t1 = cpu->r[3] + 0xFFFFA908u;
|
|
/* 02555964 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02555964 */ cpu->r[3] = _t1;
|
|
/* 02555968 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0255596C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0255596C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02555970 */ cpu->r[12] = cpu->r[12] + 0xFFFF9D04u;
|
|
/* 02555974 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02555974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555978 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02555978 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0255597C */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0255597C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02555980 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02555984 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02555988 */ cpu->r[3] = cpu->r[3] + 0x00006A84u;
|
|
/* 0255598C */ Gambit_fn_02C83090(cpu);
|
|
/* 02555990 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555994 */ cpu->lr = cpu->r[0];
|
|
/* 02555998 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0255599C */ return;
|
|
}
|
|
|
|
// fn_025559A0 @ 0x25559a0
|
|
void Gambit_fn_025559A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_025559A0: ; // 0x25559a0
|
|
/* 025559A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025559A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025559A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025559A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025559A4 */ goto L_025559A8;
|
|
L_025559A8: ; // 0x25559a8
|
|
/* 025559A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025559A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025559AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025559AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 025559AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025559AC */ goto L_025559B0;
|
|
L_025559B0: ; // 0x25559b0
|
|
/* 025559B0 */ 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_025559B4 @ 0x25559b4
|
|
void Gambit_fn_025559B4(CPUState* cpu) {
|
|
L_025559B4: ; // 0x25559b4
|
|
/* 025559B4 */ return;
|
|
}
|
|
|
|
// fn_025559B8 @ 0x25559b8
|
|
void Gambit_fn_025559B8(CPUState* cpu) {
|
|
L_025559B8: ; // 0x25559b8
|
|
/* 025559B8 */ return;
|
|
}
|
|
|
|
// fn_025559BC @ 0x25559bc
|
|
void Gambit_fn_025559BC(CPUState* cpu) {
|
|
L_025559BC: ; // 0x25559bc
|
|
/* 025559BC */ return;
|
|
}
|
|
|
|
// fn_025559C0 @ 0x25559c0
|
|
void Gambit_fn_025559C0(CPUState* cpu) {
|
|
L_025559C0: ; // 0x25559c0
|
|
/* 025559C0 */ return;
|
|
}
|
|
|
|
// fn_025559C4 @ 0x25559c4
|
|
void Gambit_fn_025559C4(CPUState* cpu) {
|
|
L_025559C4: ; // 0x25559c4
|
|
/* 025559C4 */ return;
|
|
}
|
|
|
|
// fn_025559C8 @ 0x25559c8
|
|
void Gambit_fn_025559C8(CPUState* cpu) {
|
|
L_025559C8: ; // 0x25559c8
|
|
/* 025559C8 */ return;
|
|
}
|
|
|
|
// fn_025559CC @ 0x25559cc
|
|
void Gambit_fn_025559CC(CPUState* cpu) {
|
|
L_025559CC: ; // 0x25559cc
|
|
/* 025559CC */ return;
|
|
}
|
|
|
|
// fn_025559D0 @ 0x25559d0
|
|
void Gambit_fn_025559D0(CPUState* cpu) {
|
|
L_025559D0: ; // 0x25559d0
|
|
/* 025559D0 */ return;
|
|
}
|
|
|
|
// fn_025559D4 @ 0x25559d4
|
|
void Gambit_fn_025559D4(CPUState* cpu) {
|
|
L_025559D4: ; // 0x25559d4
|
|
/* 025559D4 */ return;
|
|
}
|
|
|
|
// fn_025559D8 @ 0x25559d8
|
|
void Gambit_fn_025559D8(CPUState* cpu) {
|
|
L_025559D8: ; // 0x25559d8
|
|
/* 025559D8 */ return;
|
|
}
|
|
|
|
// fn_025559DC @ 0x25559dc
|
|
void Gambit_fn_025559DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025559DC: ; // 0x25559dc
|
|
/* 025559DC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025559DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025559E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025559E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025559E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025559E4 */ if (_t2) goto L_025559F0; else goto L_025559E8;
|
|
L_025559E8: ; // 0x25559e8
|
|
/* 025559E8 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 025559EC */ return;
|
|
L_025559F0: ; // 0x25559f0
|
|
/* 025559F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025559F4 */ return;
|
|
}
|
|
|
|
// fn_025559F8 @ 0x25559f8
|
|
void Gambit_fn_025559F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025559F8: ; // 0x25559f8
|
|
/* 025559F8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025559F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025559FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555A00 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A00 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02555A00 */ if (_t2) goto L_02555A0C; else goto L_02555A04;
|
|
L_02555A04: ; // 0x2555a04
|
|
/* 02555A04 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02555A08 */ return;
|
|
L_02555A0C: ; // 0x2555a0c
|
|
/* 02555A0C */ cpu->r[3] = 0x00000000u;
|
|
/* 02555A10 */ return;
|
|
}
|
|
|
|
// fn_02555A14 @ 0x2555a14
|
|
void Gambit_fn_02555A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555A14: ; // 0x2555a14
|
|
/* 02555A14 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02555A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555A18 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02555A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555A1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A1C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02555A1C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02555A1C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02555A1C */ goto L_02555A20;
|
|
L_02555A20: ; // 0x2555a20
|
|
/* 02555A20 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02555A20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555A24 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02555A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555A28 */ cpu->ctr = cpu->r[0];
|
|
/* 02555A2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555A30 @ 0x2555a30
|
|
void Gambit_fn_02555A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555A30: ; // 0x2555a30
|
|
/* 02555A30 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02555A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555A34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02555A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555A38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02555A38 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02555A38 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02555A38 */ goto L_02555A3C;
|
|
L_02555A3C: ; // 0x2555a3c
|
|
/* 02555A3C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02555A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555A40 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02555A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555A44 */ cpu->ctr = cpu->r[0];
|
|
/* 02555A48 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555A4C @ 0x2555a4c
|
|
void Gambit_fn_02555A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555A4C: ; // 0x2555a4c
|
|
/* 02555A4C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02555A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555A50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02555A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555A54 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A54 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02555A54 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02555A54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02555A54 */ goto L_02555A58;
|
|
L_02555A58: ; // 0x2555a58
|
|
/* 02555A58 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02555A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555A5C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02555A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555A60 */ cpu->ctr = cpu->r[0];
|
|
/* 02555A64 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555A68 @ 0x2555a68
|
|
void Gambit_fn_02555A68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555A68: ; // 0x2555a68
|
|
/* 02555A68 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555A68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555A6C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02555A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555A70 */ cpu->ctr = cpu->r[0];
|
|
/* 02555A74 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555A78 @ 0x2555a78
|
|
void Gambit_fn_02555A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02555A78: ; // 0x2555a78
|
|
/* 02555A78 */ cpu->r[0] = cpu->lr;
|
|
/* 02555A7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555A7C */ cpu->r[1] = _t0;
|
|
/* 02555A80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02555A88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555A8C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02555A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02555A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02555A94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02555A94 */ if (_t5) goto L_02555A98; else goto L_02555AB4;
|
|
L_02555A98: ; // 0x2555a98
|
|
/* 02555A98 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02555A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555A9C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02555A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555AA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02555AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02555AAC */ cpu->r[0] = 0x00000002u;
|
|
/* 02555AB0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02555AB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02555AB4: ; // 0x2555ab4
|
|
/* 02555AB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02555AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02555AB8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555AB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02555ABC */ cpu->lr = cpu->r[0];
|
|
/* 02555AC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555AC4 */ return;
|
|
}
|
|
|
|
// fn_02555A7C @ 0x2555a7c
|
|
void Gambit_fn_02555A7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02555A7C: ; // 0x2555a7c
|
|
/* 02555A7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555A7C */ cpu->r[1] = _t0;
|
|
/* 02555A80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02555A88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555A8C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02555A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02555A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02555A94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555A94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02555A94 */ if (_t5) goto L_02555A98; else goto L_02555AB4;
|
|
L_02555A98: ; // 0x2555a98
|
|
/* 02555A98 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02555A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555A9C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02555A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555AA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02555AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02555AAC */ cpu->r[0] = 0x00000002u;
|
|
/* 02555AB0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02555AB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02555AB4: ; // 0x2555ab4
|
|
/* 02555AB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02555AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02555AB8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555AB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02555ABC */ cpu->lr = cpu->r[0];
|
|
/* 02555AC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555AC4 */ return;
|
|
}
|
|
|
|
// fn_02555AD0 @ 0x2555ad0
|
|
void Gambit_fn_02555AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02555AD0: ; // 0x2555ad0
|
|
/* 02555AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555AD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555AD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02555AD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02555AD4 */ goto L_02555AD8;
|
|
L_02555AD8: ; // 0x2555ad8
|
|
/* 02555AD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02555AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02555ADC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555ADC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02555ADC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02555ADC */ goto L_02555AE0;
|
|
L_02555AE0: ; // 0x2555ae0
|
|
/* 02555AE0 */ 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_02555AE4 @ 0x2555ae4
|
|
void Gambit_fn_02555AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555AE4: ; // 0x2555ae4
|
|
/* 02555AE4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555AE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555AE8 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02555AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555AEC */ cpu->ctr = cpu->r[0];
|
|
/* 02555AF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555AF4 @ 0x2555af4
|
|
void Gambit_fn_02555AF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555AF4: ; // 0x2555af4
|
|
/* 02555AF4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555AF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555AF8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02555AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02555B00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555B04 @ 0x2555b04
|
|
void Gambit_fn_02555B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555B04: ; // 0x2555b04
|
|
/* 02555B04 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555B04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555B08 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02555B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555B0C */ cpu->ctr = cpu->r[0];
|
|
/* 02555B10 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555B14 @ 0x2555b14
|
|
void Gambit_fn_02555B14(CPUState* cpu) {
|
|
L_02555B14: ; // 0x2555b14
|
|
/* 02555B14 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555B18 */ return;
|
|
}
|
|
|
|
// fn_02555B1C @ 0x2555b1c
|
|
void Gambit_fn_02555B1C(CPUState* cpu) {
|
|
L_02555B1C: ; // 0x2555b1c
|
|
/* 02555B1C */ return;
|
|
}
|
|
|
|
// fn_02555B20 @ 0x2555b20
|
|
void Gambit_fn_02555B20(CPUState* cpu) {
|
|
L_02555B20: ; // 0x2555b20
|
|
/* 02555B20 */ return;
|
|
}
|
|
|
|
// fn_02555B24 @ 0x2555b24
|
|
void Gambit_fn_02555B24(CPUState* cpu) {
|
|
L_02555B24: ; // 0x2555b24
|
|
/* 02555B24 */ return;
|
|
}
|
|
|
|
// fn_02555B28 @ 0x2555b28
|
|
void Gambit_fn_02555B28(CPUState* cpu) {
|
|
L_02555B28: ; // 0x2555b28
|
|
/* 02555B28 */ return;
|
|
}
|
|
|
|
// fn_02555B2C @ 0x2555b2c
|
|
void Gambit_fn_02555B2C(CPUState* cpu) {
|
|
L_02555B2C: ; // 0x2555b2c
|
|
/* 02555B2C */ return;
|
|
}
|
|
|
|
// fn_02555B30 @ 0x2555b30
|
|
void Gambit_fn_02555B30(CPUState* cpu) {
|
|
L_02555B30: ; // 0x2555b30
|
|
/* 02555B30 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555B34 */ return;
|
|
}
|
|
|
|
// fn_02555B38 @ 0x2555b38
|
|
void Gambit_fn_02555B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555B38: ; // 0x2555b38
|
|
/* 02555B38 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02555B3C */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02555B3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555B3C */ cpu->r[10] = _t0;
|
|
/* 02555B40 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02555B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02555B44 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02555B44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02555B48 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02555B48 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02555B4C */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02555B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555B50 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02555B50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02555B54 */ return;
|
|
}
|
|
|
|
// fn_02555B58 @ 0x2555b58
|
|
void Gambit_fn_02555B58(CPUState* cpu) {
|
|
L_02555B58: ; // 0x2555b58
|
|
/* 02555B58 */ return;
|
|
}
|
|
|
|
// fn_02555B5C @ 0x2555b5c
|
|
void Gambit_fn_02555B5C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02555B5C: ; // 0x2555b5c
|
|
/* 02555B5C */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02555B5C */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02555B60 */ return;
|
|
}
|
|
|
|
// fn_02555B64 @ 0x2555b64
|
|
void Gambit_fn_02555B64(CPUState* cpu) {
|
|
L_02555B64: ; // 0x2555b64
|
|
/* 02555B64 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555B68 */ return;
|
|
}
|
|
|
|
// fn_02555B6C @ 0x2555b6c
|
|
void Gambit_fn_02555B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02555B6C: ; // 0x2555b6c
|
|
/* 02555B6C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02555B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555B70 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02555B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555B74 */ cpu->ctr = cpu->r[0];
|
|
/* 02555B78 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02555B7C @ 0x2555b7c
|
|
void Gambit_fn_02555B7C(CPUState* cpu) {
|
|
L_02555B7C: ; // 0x2555b7c
|
|
/* 02555B7C */ return;
|
|
}
|
|
|
|
// fn_02555B80 @ 0x2555b80
|
|
void Gambit_fn_02555B80(CPUState* cpu) {
|
|
L_02555B80: ; // 0x2555b80
|
|
/* 02555B80 */ return;
|
|
}
|
|
|
|
// fn_02555B84 @ 0x2555b84
|
|
void Gambit_fn_02555B84(CPUState* cpu) {
|
|
L_02555B84: ; // 0x2555b84
|
|
/* 02555B84 */ return;
|
|
}
|
|
|
|
// fn_02555B88 @ 0x2555b88
|
|
void Gambit_fn_02555B88(CPUState* cpu) {
|
|
L_02555B88: ; // 0x2555b88
|
|
/* 02555B88 */ return;
|
|
}
|
|
|
|
// fn_02555B8C @ 0x2555b8c
|
|
void Gambit_fn_02555B8C(CPUState* cpu) {
|
|
L_02555B8C: ; // 0x2555b8c
|
|
/* 02555B8C */ return;
|
|
}
|
|
|
|
// fn_02555B90 @ 0x2555b90
|
|
void Gambit_fn_02555B90(CPUState* cpu) {
|
|
L_02555B90: ; // 0x2555b90
|
|
/* 02555B90 */ return;
|
|
}
|
|
|
|
// fn_02555B94 @ 0x2555b94
|
|
void Gambit_fn_02555B94(CPUState* cpu) {
|
|
L_02555B94: ; // 0x2555b94
|
|
/* 02555B94 */ return;
|
|
}
|
|
|
|
// fn_02555B98 @ 0x2555b98
|
|
void Gambit_fn_02555B98(CPUState* cpu) {
|
|
L_02555B98: ; // 0x2555b98
|
|
/* 02555B98 */ return;
|
|
}
|
|
|
|
// fn_02555B9C @ 0x2555b9c
|
|
void Gambit_fn_02555B9C(CPUState* cpu) {
|
|
L_02555B9C: ; // 0x2555b9c
|
|
/* 02555B9C */ return;
|
|
}
|
|
|
|
// fn_02555BA0 @ 0x2555ba0
|
|
void Gambit_fn_02555BA0(CPUState* cpu) {
|
|
L_02555BA0: ; // 0x2555ba0
|
|
/* 02555BA0 */ return;
|
|
}
|
|
|
|
// fn_02555BA4 @ 0x2555ba4
|
|
void Gambit_fn_02555BA4(CPUState* cpu) {
|
|
L_02555BA4: ; // 0x2555ba4
|
|
/* 02555BA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02555BA8 */ return;
|
|
}
|
|
|
|
// fn_02555BAC @ 0x2555bac
|
|
void Gambit_fn_02555BAC(CPUState* cpu) {
|
|
L_02555BAC: ; // 0x2555bac
|
|
/* 02555BAC */ return;
|
|
}
|
|
|
|
// fn_02555BB0 @ 0x2555bb0
|
|
void Gambit_fn_02555BB0(CPUState* cpu) {
|
|
L_02555BB0: ; // 0x2555bb0
|
|
/* 02555BB0 */ return;
|
|
}
|
|
|
|
// fn_02555BB4 @ 0x2555bb4
|
|
void Gambit_fn_02555BB4(CPUState* cpu) {
|
|
L_02555BB4: ; // 0x2555bb4
|
|
/* 02555BB4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555BB8 */ return;
|
|
}
|
|
|
|
// fn_02555BBC @ 0x2555bbc
|
|
void Gambit_fn_02555BBC(CPUState* cpu) {
|
|
L_02555BBC: ; // 0x2555bbc
|
|
/* 02555BBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02555BC0 */ return;
|
|
}
|
|
|
|
// fn_02555BC4 @ 0x2555bc4
|
|
void Gambit_fn_02555BC4(CPUState* cpu) {
|
|
L_02555BC4: ; // 0x2555bc4
|
|
/* 02555BC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02555BC8 */ return;
|
|
}
|
|
|
|
// fn_02555BCC @ 0x2555bcc
|
|
void Gambit_fn_02555BCC(CPUState* cpu) {
|
|
L_02555BCC: ; // 0x2555bcc
|
|
/* 02555BCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02555BD0 */ return;
|
|
}
|
|
|
|
// fn_02555BD4 @ 0x2555bd4
|
|
void Gambit_fn_02555BD4(CPUState* cpu) {
|
|
L_02555BD4: ; // 0x2555bd4
|
|
/* 02555BD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02555BD8 */ return;
|
|
}
|
|
|
|
// fn_02555BDC @ 0x2555bdc
|
|
void Gambit_fn_02555BDC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02555BDC: ; // 0x2555bdc
|
|
/* 02555BDC */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02555BDC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02555BE0 */ return;
|
|
}
|
|
|
|
// fn_02555BE4 @ 0x2555be4
|
|
void Gambit_fn_02555BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555BE4: ; // 0x2555be4
|
|
/* 02555BE4 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 02555BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555BE8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02555BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02555BEC */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02555BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02555BF0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02555BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555BF4 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 02555BF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555BF8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02555BF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02555BFC */ return;
|
|
}
|
|
|
|
// fn_02555C00 @ 0x2555c00
|
|
void Gambit_fn_02555C00(CPUState* cpu) {
|
|
L_02555C00: ; // 0x2555c00
|
|
/* 02555C00 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02555C04 */ cpu->r[3] = cpu->r[3] + 0xFFFF9D14u;
|
|
/* 02555C08 */ return;
|
|
}
|
|
|
|
// fn_02555C0C @ 0x2555c0c
|
|
void Gambit_fn_02555C0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02555C0C: ; // 0x2555c0c
|
|
/* 02555C0C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02555C10 */ _t0 = cpu->r[9] + 0x000008F4u;
|
|
/* 02555C10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02555C14 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02555C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02555C1C */ cpu->r[11] = cpu->r[11] + 0x00000A64u;
|
|
/* 02555C20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555C20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02555C20 */ if (_t2) goto L_02555C24; else goto L_02555C3C;
|
|
L_02555C24: ; // 0x2555c24
|
|
/* 02555C24 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02555C28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555C2C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02555C30 */ cpu->r[9] = cpu->r[9] + 0xFFFF9CF4u;
|
|
/* 02555C34 */ _t3 = cpu->r[12] + 0x000008F4u;
|
|
/* 02555C34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555C38 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02555C38 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02555C3C: ; // 0x2555c3c
|
|
/* 02555C3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02555C40 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555C40 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02555C40 */ if (_t6) goto L_02555C44; else goto L_02555C4C;
|
|
L_02555C44: ; // 0x2555c44
|
|
/* 02555C44 */ cpu->r[3] = 0x00000001u;
|
|
/* 02555C48 */ return;
|
|
L_02555C4C: ; // 0x2555c4c
|
|
/* 02555C4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02555C50 */ _t7 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02555C50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02555C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555C58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02555C5C */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 02555C60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555C60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02555C60 */ if (_t9) goto L_02555C64; else goto L_02555C7C;
|
|
L_02555C64: ; // 0x2555c64
|
|
/* 02555C64 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02555C68 */ cpu->r[10] = 0x00000001u;
|
|
/* 02555C6C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02555C70 */ cpu->r[11] = cpu->r[11] + 0xFFFF9CE4u;
|
|
/* 02555C74 */ _t10 = cpu->r[9] + 0xFFFFDA10u;
|
|
/* 02555C74 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02555C78 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02555C78 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02555C7C: ; // 0x2555c7c
|
|
/* 02555C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02555C80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555C80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02555C80 */ if (_t13) goto L_02555C84; else goto L_02555C8C;
|
|
L_02555C84: ; // 0x2555c84
|
|
/* 02555C84 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555C88 */ goto L_02555D00;
|
|
L_02555C8C: ; // 0x2555c8c
|
|
/* 02555C8C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02555C90 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02555C90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555C90 */ cpu->r[10] = _t14;
|
|
/* 02555C94 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02555C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555C9C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02555CA0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555CA0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02555CA0 */ if (_t16) goto L_02555CA4; else goto L_02555CB8;
|
|
L_02555CA4: ; // 0x2555ca4
|
|
/* 02555CA4 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02555CA8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555CAC */ cpu->r[9] = cpu->r[9] + 0xFFFF9CD4u;
|
|
/* 02555CB0 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02555CB0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02555CB4 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02555CB4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02555CB8: ; // 0x2555cb8
|
|
/* 02555CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02555CBC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555CBC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02555CBC */ if (_t20) goto L_02555CC0; else goto L_02555CC8;
|
|
L_02555CC0: ; // 0x2555cc0
|
|
/* 02555CC0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555CC4 */ goto L_02555D00;
|
|
L_02555CC8: ; // 0x2555cc8
|
|
/* 02555CC8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02555CCC */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02555CCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02555CCC */ cpu->r[9] = _t21;
|
|
/* 02555CD0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02555CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02555CD8 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02555CDC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555CDC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02555CDC */ if (_t23) goto L_02555CE0; else goto L_02555CF4;
|
|
L_02555CE0: ; // 0x2555ce0
|
|
/* 02555CE0 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02555CE4 */ cpu->r[11] = 0x00000001u;
|
|
/* 02555CE8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9CACu;
|
|
/* 02555CEC */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02555CEC */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02555CF0 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02555CF0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02555CF4: ; // 0x2555cf4
|
|
/* 02555CF4 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02555CF8 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02555CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02555D00: ; // 0x2555d00
|
|
/* 02555D00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02555D04 */ return;
|
|
}
|
|
|
|
// fn_02555D08 @ 0x2555d08
|
|
void Gambit_fn_02555D08(CPUState* cpu) {
|
|
L_02555D08: ; // 0x2555d08
|
|
/* 02555D08 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02555D0C */ cpu->r[3] = cpu->r[3] + 0xFFFF9CA8u;
|
|
/* 02555D10 */ return;
|
|
}
|
|
|
|
// fn_02555D14 @ 0x2555d14
|
|
void Gambit_fn_02555D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02555D14: ; // 0x2555d14
|
|
/* 02555D14 */ cpu->r[0] = cpu->lr;
|
|
/* 02555D18 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02555D1C */ cpu->r[7] = 0x02550000u;
|
|
/* 02555D20 */ cpu->r[6] = 0x02550000u;
|
|
/* 02555D24 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02555D28 */ cpu->r[7] = cpu->r[7] + 0x00005AC8u;
|
|
/* 02555D2C */ cpu->r[6] = cpu->r[6] + 0x00005AC8u;
|
|
/* 02555D30 */ cpu->r[10] = cpu->r[10] + 0x00006A94u;
|
|
/* 02555D34 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02555D34 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02555D38 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02555D3C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555D3C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02555D3C */ cpu->r[1] = _t1;
|
|
/* 02555D40 */ cpu->r[0] = cpu->r[0] + 0x00006A90u;
|
|
/* 02555D44 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02555D44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02555D48 */ cpu->r[8] = 0x00000000u;
|
|
/* 02555D4C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02555D4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02555D50 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555D54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555D54 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02555D58 */ Gambit_fn_02791B10(cpu);
|
|
/* 02555D5C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02555D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555D60 */ cpu->lr = cpu->r[0];
|
|
/* 02555D64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555D68 */ return;
|
|
}
|
|
|
|
// fn_02555D3C @ 0x2555d3c
|
|
void Gambit_fn_02555D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02555D3C: ; // 0x2555d3c
|
|
/* 02555D3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555D3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555D3C */ cpu->r[1] = _t0;
|
|
/* 02555D40 */ cpu->r[0] = cpu->r[0] + 0x00006A90u;
|
|
/* 02555D44 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02555D44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02555D48 */ cpu->r[8] = 0x00000000u;
|
|
/* 02555D4C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02555D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555D50 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555D54 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555D54 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02555D58 */ Gambit_fn_02791B10(cpu);
|
|
/* 02555D5C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02555D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555D60 */ cpu->lr = cpu->r[0];
|
|
/* 02555D64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555D68 */ return;
|
|
}
|
|
|
|
// fn_02555D6C @ 0x2555d6c
|
|
void Gambit_fn_02555D6C(CPUState* cpu) {
|
|
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_02555D6C: ; // 0x2555d6c
|
|
/* 02555D6C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02555D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555D6C */ cpu->r[1] = _t0;
|
|
/* 02555D70 */ cpu->r[0] = cpu->lr;
|
|
/* 02555D74 */ /* nop */
|
|
/* 02555D78 */ cpu->r[30] = cpu->r[5];
|
|
/* 02555D7C */ cpu->r[26] = cpu->r[3];
|
|
/* 02555D80 */ cpu->r[27] = cpu->r[7];
|
|
/* 02555D84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02555D88 */ cpu->r[31] = cpu->r[6];
|
|
/* 02555D8C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02555D8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02555D90 */ cpu->r[29] = cpu->r[4];
|
|
/* 02555D94 */ cpu->r[4] = cpu->r[27];
|
|
/* 02555D98 */ Gambit_fn_027DB318(cpu);
|
|
/* 02555D9C */ cpu->r[28] = cpu->r[3] + cpu->r[31];
|
|
/* 02555D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02555DA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555DA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02555DA0 */ if (_t3) goto L_02555E34; else goto L_02555DA4;
|
|
L_02555DA4: ; // 0x2555da4
|
|
/* 02555DA4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02555DA8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02555DAC */ cpu->r[3] = cpu->r[26];
|
|
/* 02555DB0 */ Gambit_fn_02555D14(cpu);
|
|
/* 02555DB4 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02555DB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555DB8 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02555DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555DBC */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 02555DC0 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02555DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02555DC8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02555DCC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555DCC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02555DCC */ if (_t7) goto L_02555E34; else goto L_02555DD0;
|
|
L_02555DD0: ; // 0x2555dd0
|
|
/* 02555DD0 */ cpu->r[24] = 0x101C0000u;
|
|
L_02555DD4: ; // 0x2555dd4
|
|
/* 02555DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02555DD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555DD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02555DD8 */ if (_t9) goto L_02555DF0; else goto L_02555DDC;
|
|
L_02555DDC: ; // 0x2555ddc
|
|
/* 02555DDC */ cpu->ctr = cpu->r[27];
|
|
/* 02555DE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02555DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555DEC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555DEC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02555DEC */ if (_t11) goto L_02555E20; else goto L_02555DF0;
|
|
L_02555DF0: ; // 0x2555df0
|
|
/* 02555DF0 */ _t12 = cpu->r[24] + 0x00006A90u;
|
|
/* 02555DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02555DF4 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02555DF8 */ _t13 = cpu->r[6] + 0x00000104u;
|
|
/* 02555DF8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02555DFC */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02555DFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555E00 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02555E04 */ _t15 = cpu->r[9] + cpu->r[10];
|
|
/* 02555E04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555E08 */ cpu->r[8] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02555E0C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02555E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02555E10 */ cpu->r[4] = cpu->r[31];
|
|
/* 02555E14 */ _t17 = cpu->r[8] + cpu->r[0];
|
|
/* 02555E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02555E18 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02555E1C */ Gambit_fn_02555490(cpu);
|
|
L_02555E20: ; // 0x2555e20
|
|
/* 02555E20 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02555E24 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 02555E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02555E28 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02555E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02555E30 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555E30 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02555E30 */ if (_t20) goto L_02555E34; else goto L_02555DD4;
|
|
L_02555E34: ; // 0x2555e34
|
|
/* 02555E34 */ cpu->r[3] = cpu->r[28];
|
|
/* 02555E38 */ /* nop */
|
|
/* 02555E3C */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02555E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02555E40 */ cpu->lr = cpu->r[0];
|
|
/* 02555E44 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02555E48 */ return;
|
|
}
|
|
|
|
// fn_02555E50 @ 0x2555e50
|
|
void Gambit_fn_02555E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02555E50: ; // 0x2555e50
|
|
/* 02555E50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555E50 */ cpu->r[1] = _t0;
|
|
/* 02555E54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555E58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02555E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02555E5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555E60 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555E60 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02555E60 */ if (_t4) goto L_02555E64; else goto L_02555E74;
|
|
L_02555E64: ; // 0x2555e64
|
|
/* 02555E64 */ cpu->r[3] = 0x000001B8u;
|
|
/* 02555E68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02555E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02555E70 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555E70 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02555E70 */ if (_t6) goto L_02555E94; else goto L_02555E74;
|
|
L_02555E74: ; // 0x2555e74
|
|
/* 02555E74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555E78 */ Gambit_fn_024F2B00(cpu);
|
|
/* 02555E7C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02555E80 */ cpu->r[12] = 0x00000000u;
|
|
/* 02555E84 */ cpu->r[11] = cpu->r[11] + 0xFFFFA0F4u;
|
|
/* 02555E88 */ _t7 = cpu->r[31] + 0x000001B4u;
|
|
/* 02555E88 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02555E8C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02555E8C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02555E90 */ _t9 = cpu->r[31] + 0x000001B0u;
|
|
/* 02555E90 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_02555E94: ; // 0x2555e94
|
|
/* 02555E94 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02555E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02555E98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02555E9C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555E9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02555EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02555EA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555EA8 */ return;
|
|
}
|
|
|
|
// fn_02555EAC @ 0x2555eac
|
|
void Gambit_fn_02555EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02555EAC: ; // 0x2555eac
|
|
/* 02555EAC */ cpu->r[0] = cpu->lr;
|
|
/* 02555EB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02555EB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555EB0 */ cpu->r[1] = _t0;
|
|
/* 02555EB4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02555EB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02555EB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02555EBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555EBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02555EC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02555EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02555EC8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555EC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02555ECC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02555ECC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02555ED0 */ Gambit_fn_024F6710(cpu);
|
|
/* 02555ED4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02555ED8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02555EDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02555EE0 */ Gambit_fn_024F4798(cpu);
|
|
/* 02555EE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02555EE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555EEC */ cpu->r[29] = cpu->r[3];
|
|
/* 02555EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02555EF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555EF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02555EF0 */ if (_t6) goto L_02555F24; else goto L_02555EF4;
|
|
L_02555EF4: ; // 0x2555ef4
|
|
/* 02555EF4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555EF8 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02555EFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02555F00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555F04 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555F04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02555F04 */ if (_t8) goto L_02555F08; else goto L_02555F18;
|
|
L_02555F08: ; // 0x2555f08
|
|
/* 02555F08 */ cpu->r[3] = 0x00000008u;
|
|
/* 02555F0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02555F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555F14 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555F14 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02555F14 */ if (_t10) goto L_02555F24; else goto L_02555F18;
|
|
L_02555F18: ; // 0x2555f18
|
|
/* 02555F18 */ cpu->r[12] = 0x00000000u;
|
|
/* 02555F1C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02555F1C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02555F20 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02555F20 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02555F24: ; // 0x2555f24
|
|
/* 02555F24 */ cpu->r[4] = cpu->r[31];
|
|
/* 02555F28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555F2C */ _t13 = cpu->r[30] + 0x000001B0u;
|
|
/* 02555F2C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02555F30 */ Gambit_fn_024F212C(cpu);
|
|
/* 02555F34 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555F38 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02555F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555F3C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02555F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02555F40 */ cpu->lr = cpu->r[0];
|
|
/* 02555F44 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02555F48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02555F4C */ return;
|
|
}
|
|
|
|
// fn_02555EB0 @ 0x2555eb0
|
|
void Gambit_fn_02555EB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02555EB0: ; // 0x2555eb0
|
|
/* 02555EB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02555EB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555EB0 */ cpu->r[1] = _t0;
|
|
/* 02555EB4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02555EB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02555EB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02555EBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555EBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02555EC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02555EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02555EC8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555EC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02555ECC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02555ECC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02555ED0 */ Gambit_fn_024F6710(cpu);
|
|
/* 02555ED4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02555ED8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02555EDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02555EE0 */ Gambit_fn_024F4798(cpu);
|
|
/* 02555EE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02555EE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02555EEC */ cpu->r[29] = cpu->r[3];
|
|
/* 02555EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02555EF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555EF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02555EF0 */ if (_t6) goto L_02555F24; else goto L_02555EF4;
|
|
L_02555EF4: ; // 0x2555ef4
|
|
/* 02555EF4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555EF8 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02555EFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02555F00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555F04 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555F04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02555F04 */ if (_t8) goto L_02555F08; else goto L_02555F18;
|
|
L_02555F08: ; // 0x2555f08
|
|
/* 02555F08 */ cpu->r[3] = 0x00000008u;
|
|
/* 02555F0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02555F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02555F14 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555F14 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02555F14 */ if (_t10) goto L_02555F24; else goto L_02555F18;
|
|
L_02555F18: ; // 0x2555f18
|
|
/* 02555F18 */ cpu->r[12] = 0x00000000u;
|
|
/* 02555F1C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02555F1C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02555F20 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02555F20 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02555F24: ; // 0x2555f24
|
|
/* 02555F24 */ cpu->r[4] = cpu->r[31];
|
|
/* 02555F28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02555F2C */ _t13 = cpu->r[30] + 0x000001B0u;
|
|
/* 02555F2C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02555F30 */ Gambit_fn_024F212C(cpu);
|
|
/* 02555F34 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555F38 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02555F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02555F3C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02555F3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02555F40 */ cpu->lr = cpu->r[0];
|
|
/* 02555F44 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02555F48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02555F4C */ return;
|
|
}
|
|
|
|
// fn_02555F50 @ 0x2555f50
|
|
void Gambit_fn_02555F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02555F50: ; // 0x2555f50
|
|
/* 02555F50 */ cpu->r[0] = cpu->lr;
|
|
/* 02555F54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555F54 */ cpu->r[1] = _t0;
|
|
/* 02555F58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555F5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02555F60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555F64 */ _t3 = cpu->r[31] + 0x000001B0u;
|
|
/* 02555F64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02555F68 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02555F6C */ cpu->r[0] = 0x00000000u;
|
|
/* 02555F70 */ _t4 = cpu->r[31] + 0x000001B4u;
|
|
/* 02555F70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02555F74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555F78 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555F7C */ cpu->lr = cpu->r[0];
|
|
/* 02555F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555F84 */ return;
|
|
}
|
|
|
|
// fn_02555F54 @ 0x2555f54
|
|
void Gambit_fn_02555F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02555F54: ; // 0x2555f54
|
|
/* 02555F54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02555F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555F54 */ cpu->r[1] = _t0;
|
|
/* 02555F58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02555F5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02555F60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02555F64 */ _t3 = cpu->r[31] + 0x000001B0u;
|
|
/* 02555F64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02555F68 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02555F6C */ cpu->r[0] = 0x00000000u;
|
|
/* 02555F70 */ _t4 = cpu->r[31] + 0x000001B4u;
|
|
/* 02555F70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02555F74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02555F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555F78 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555F7C */ cpu->lr = cpu->r[0];
|
|
/* 02555F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02555F84 */ return;
|
|
}
|
|
|
|
// fn_02555F88 @ 0x2555f88
|
|
void Gambit_fn_02555F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_024F46E0: ; // 0x24f46e0
|
|
/* 024F46E0 */ cpu->r[0] = cpu->lr;
|
|
/* 024F46E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024F46E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024F46E4 */ cpu->r[1] = _t0;
|
|
/* 024F46E8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 024F46E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024F46EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 024F46EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024F46F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 024F46F4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F46F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024F46F8 */ _t4 = cpu->r[30] + 0x00000030u;
|
|
/* 024F46F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024F46FC */ _t5 = cpu->r[30] + 0x00000194u;
|
|
/* 024F46FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 024F4700 */ Gambit_fn_027B7850(cpu);
|
|
/* 024F4704 */ cpu->r[9] = 0x00000000u;
|
|
/* 024F4708 */ cpu->r[3] = cpu->r[30];
|
|
/* 024F470C */ _t6 = cpu->r[30] + 0x00000039u;
|
|
/* 024F470C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[9]);
|
|
/* 024F4710 */ Gambit_fn_02790488(cpu);
|
|
/* 024F4714 */ cpu->r[0] = 0x00000001u;
|
|
/* 024F4718 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 024F4718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024F471C */ _t8 = cpu->r[30] + 0x00000039u;
|
|
/* 024F471C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 024F4720 */ _t9 = cpu->r[11] + 0x000000ECu;
|
|
/* 024F4720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024F4724 */ cpu->ctr = cpu->r[0];
|
|
/* 024F4728 */ cpu->r[3] = cpu->r[30];
|
|
/* 024F472C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024F4730 */ cpu->r[12] = 0x101C0000u;
|
|
/* 024F4734 */ _t10 = cpu->r[12] + 0x00006000u;
|
|
/* 024F4734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024F4738 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 024F4738 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024F473C */ _t12 = cpu->r[12] + 0x00000264u;
|
|
/* 024F473C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024F4740 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024F4744 */ Gambit_fn_024FC4B0(cpu);
|
|
/* 024F4748 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 024F4748 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024F474C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024F4750 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F4750 */ _t15 = _t14 & 0x00000001u;
|
|
/* 024F4750 */ if (_t15) goto L_024F4774; else goto L_024F4754;
|
|
L_024F4754: ; // 0x24f4754
|
|
/* 024F4754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 024F4758 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F4758 */ _t17 = _t16 & 0x00000001u;
|
|
/* 024F4758 */ if (_t17) goto L_024F475C; else goto L_024F476C;
|
|
L_024F475C: ; // 0x24f475c
|
|
/* 024F475C */ _t18 = cpu->r[30] + 0x00000050u;
|
|
/* 024F475C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 024F4760 */ Gambit_fn_02395444(cpu);
|
|
/* 024F4764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024F4768 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F4768 */ _t20 = _t19 & 0x00000001u;
|
|
/* 024F4768 */ if (_t20) goto L_024F4774; else goto L_024F476C;
|
|
L_024F476C: ; // 0x24f476c
|
|
/* 024F476C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024F4770 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024F4770 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024F4770 */ if (_t22) goto L_024F477C; else goto L_024F4774;
|
|
L_024F4774: ; // 0x24f4774
|
|
/* 024F4774 */ cpu->r[3] = cpu->r[30];
|
|
/* 024F4778 */ Gambit_fn_02790458(cpu);
|
|
L_024F477C: ; // 0x24f477c
|
|
/* 024F477C */ _t23 = cpu->r[30] + 0x00000194u;
|
|
/* 024F477C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 024F4780 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024F4780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024F4784 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 024F4784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024F4788 */ cpu->lr = cpu->r[0];
|
|
/* 024F478C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 024F478C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024F4790 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024F4794 */ return;
|
|
L_02555F88: ; // 0x2555f88
|
|
/* 02555F88 */ goto L_024F46E0;
|
|
}
|
|
|
|
// fn_02555F8C @ 0x2555f8c
|
|
void Gambit_fn_02555F8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02555F8C: ; // 0x2555f8c
|
|
/* 02555F8C */ cpu->r[0] = cpu->lr;
|
|
/* 02555F90 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02555F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02555F94 */ cpu->r[10] = cpu->r[3];
|
|
/* 02555F98 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02555F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02555F98 */ cpu->r[1] = _t1;
|
|
/* 02555F9C */ _t2 = cpu->r[10] + 0x000001B4u;
|
|
/* 02555F9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02555FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555FA4 */ cpu->r[11] = cpu->r[5];
|
|
/* 02555FA8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555FA8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02555FA8 */ if (_t4) goto L_02555FAC; else goto L_02555FE0;
|
|
L_02555FAC: ; // 0x2555fac
|
|
/* 02555FAC */ _t5 = cpu->r[10] + 0x00000050u;
|
|
/* 02555FAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555FB0 */ _t6 = cpu->r[9] + 0x000046C0u;
|
|
/* 02555FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02555FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02555FB8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02555FB8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02555FB8 */ if (_t8) goto L_02555FE0; else goto L_02555FBC;
|
|
L_02555FBC: ; // 0x2555fbc
|
|
/* 02555FBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02555FC0 */ _t9 = cpu->r[10] + 0x000001B0u;
|
|
/* 02555FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02555FC4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555FC8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02555FC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02555FCC */ _t11 = cpu->r[10] + 0x000001B4u;
|
|
/* 02555FCC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 02555FD0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02555FD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02555FD4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02555FD8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555FD8 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02555FDC */ Gambit_fn_024F2540(cpu);
|
|
L_02555FE0: ; // 0x2555fe0
|
|
/* 02555FE0 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02555FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02555FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02555FE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02555FEC */ return;
|
|
}
|
|
|
|
// fn_02555F98 @ 0x2555f98
|
|
void Gambit_fn_02555F98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02555F98: ; // 0x2555f98
|
|
/* 02555F98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02555F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02555F98 */ cpu->r[1] = _t0;
|
|
/* 02555F9C */ _t1 = cpu->r[10] + 0x000001B4u;
|
|
/* 02555F9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02555FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02555FA4 */ cpu->r[11] = cpu->r[5];
|
|
/* 02555FA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02555FA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02555FA8 */ if (_t3) goto L_02555FAC; else goto L_02555FE0;
|
|
L_02555FAC: ; // 0x2555fac
|
|
/* 02555FAC */ _t4 = cpu->r[10] + 0x00000050u;
|
|
/* 02555FAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02555FB0 */ _t5 = cpu->r[9] + 0x000046C0u;
|
|
/* 02555FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02555FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02555FB8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02555FB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02555FB8 */ if (_t7) goto L_02555FE0; else goto L_02555FBC;
|
|
L_02555FBC: ; // 0x2555fbc
|
|
/* 02555FBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02555FC0 */ _t8 = cpu->r[10] + 0x000001B0u;
|
|
/* 02555FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02555FC4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02555FC8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02555FC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
|
|
/* 02555FCC */ _t10 = cpu->r[10] + 0x000001B4u;
|
|
/* 02555FCC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02555FD0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02555FD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02555FD4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02555FD8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02555FD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02555FDC */ Gambit_fn_024F2540(cpu);
|
|
L_02555FE0: ; // 0x2555fe0
|
|
/* 02555FE0 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02555FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02555FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02555FE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02555FEC */ return;
|
|
}
|
|
|
|
// fn_02555FF0 @ 0x2555ff0
|
|
void Gambit_fn_02555FF0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02555FF0: ; // 0x2555ff0
|
|
/* 02555FF0 */ _t0 = cpu->r[3] + 0x000001B4u;
|
|
/* 02555FF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02555FF4 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02555FF8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02555FFC */ return;
|
|
}
|
|
|
|
// fn_02556000 @ 0x2556000
|
|
void Gambit_fn_02556000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02556000: ; // 0x2556000
|
|
/* 02556000 */ cpu->r[0] = cpu->lr;
|
|
/* 02556004 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556008 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0255600C */ cpu->r[12] = cpu->r[12] + 0xFFFFA0E8u;
|
|
/* 02556010 */ cpu->r[11] = cpu->r[11] + 0xFFFFA088u;
|
|
/* 02556014 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02556018 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02556018 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0255601C */ cpu->r[0] = 0x02550000u;
|
|
/* 02556020 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02556020 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02556020 */ cpu->r[1] = _t1;
|
|
/* 02556024 */ cpu->r[0] = cpu->r[0] + 0x00006438u;
|
|
/* 02556028 */ _t2 = cpu->r[3] + 0xFFFFA91Cu;
|
|
/* 02556028 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02556028 */ cpu->r[3] = _t2;
|
|
/* 0255602C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556030 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02556030 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02556034 */ cpu->r[12] = cpu->r[12] + 0xFFFFA0D0u;
|
|
/* 02556038 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02556038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0255603C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0255603C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02556040 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556040 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02556044 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02556048 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0255604C */ cpu->r[3] = cpu->r[3] + 0x00006A98u;
|
|
/* 02556050 */ Gambit_fn_02C83090(cpu);
|
|
/* 02556054 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556058 */ cpu->lr = cpu->r[0];
|
|
/* 0255605C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02556060 */ return;
|
|
}
|
|
|
|
// fn_02556020 @ 0x2556020
|
|
void Gambit_fn_02556020(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02556020: ; // 0x2556020
|
|
/* 02556020 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02556020 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556020 */ cpu->r[1] = _t0;
|
|
/* 02556024 */ cpu->r[0] = cpu->r[0] + 0x00006438u;
|
|
/* 02556028 */ _t1 = cpu->r[3] + 0xFFFFA91Cu;
|
|
/* 02556028 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02556028 */ cpu->r[3] = _t1;
|
|
/* 0255602C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556030 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02556030 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02556034 */ cpu->r[12] = cpu->r[12] + 0xFFFFA0D0u;
|
|
/* 02556038 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02556038 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255603C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 0255603C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02556040 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556040 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02556044 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02556048 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0255604C */ cpu->r[3] = cpu->r[3] + 0x00006A98u;
|
|
/* 02556050 */ Gambit_fn_02C83090(cpu);
|
|
/* 02556054 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556058 */ cpu->lr = cpu->r[0];
|
|
/* 0255605C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02556060 */ return;
|
|
}
|
|
|
|
// fn_02556064 @ 0x2556064
|
|
void Gambit_fn_02556064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02556064: ; // 0x2556064
|
|
/* 02556064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02556068 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556068 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02556068 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556068 */ goto L_0255606C;
|
|
L_0255606C: ; // 0x255606c
|
|
/* 0255606C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0255606C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02556070 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556070 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02556070 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556070 */ goto L_02556074;
|
|
L_02556074: ; // 0x2556074
|
|
/* 02556074 */ 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_02556078 @ 0x2556078
|
|
void Gambit_fn_02556078(CPUState* cpu) {
|
|
L_02556078: ; // 0x2556078
|
|
/* 02556078 */ return;
|
|
}
|
|
|
|
// fn_0255607C @ 0x255607c
|
|
void Gambit_fn_0255607C(CPUState* cpu) {
|
|
L_0255607C: ; // 0x255607c
|
|
/* 0255607C */ return;
|
|
}
|
|
|
|
// fn_02556080 @ 0x2556080
|
|
void Gambit_fn_02556080(CPUState* cpu) {
|
|
L_02556080: ; // 0x2556080
|
|
/* 02556080 */ return;
|
|
}
|
|
|
|
// fn_02556084 @ 0x2556084
|
|
void Gambit_fn_02556084(CPUState* cpu) {
|
|
L_02556084: ; // 0x2556084
|
|
/* 02556084 */ return;
|
|
}
|
|
|
|
// fn_02556088 @ 0x2556088
|
|
void Gambit_fn_02556088(CPUState* cpu) {
|
|
L_02556088: ; // 0x2556088
|
|
/* 02556088 */ return;
|
|
}
|
|
|
|
// fn_0255608C @ 0x255608c
|
|
void Gambit_fn_0255608C(CPUState* cpu) {
|
|
L_0255608C: ; // 0x255608c
|
|
/* 0255608C */ return;
|
|
}
|
|
|
|
// fn_02556090 @ 0x2556090
|
|
void Gambit_fn_02556090(CPUState* cpu) {
|
|
L_02556090: ; // 0x2556090
|
|
/* 02556090 */ return;
|
|
}
|
|
|
|
// fn_02556094 @ 0x2556094
|
|
void Gambit_fn_02556094(CPUState* cpu) {
|
|
L_02556094: ; // 0x2556094
|
|
/* 02556094 */ return;
|
|
}
|
|
|
|
// fn_02556098 @ 0x2556098
|
|
void Gambit_fn_02556098(CPUState* cpu) {
|
|
L_02556098: ; // 0x2556098
|
|
/* 02556098 */ return;
|
|
}
|
|
|
|
// fn_0255609C @ 0x255609c
|
|
void Gambit_fn_0255609C(CPUState* cpu) {
|
|
L_0255609C: ; // 0x255609c
|
|
/* 0255609C */ return;
|
|
}
|
|
|
|
// fn_025560A0 @ 0x25560a0
|
|
void Gambit_fn_025560A0(CPUState* cpu) {
|
|
L_025560A0: ; // 0x25560a0
|
|
/* 025560A0 */ return;
|
|
}
|
|
|
|
// fn_025560A4 @ 0x25560a4
|
|
void Gambit_fn_025560A4(CPUState* cpu) {
|
|
L_025560A4: ; // 0x25560a4
|
|
/* 025560A4 */ return;
|
|
}
|
|
|
|
// fn_025560A8 @ 0x25560a8
|
|
void Gambit_fn_025560A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025560A8: ; // 0x25560a8
|
|
/* 025560A8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025560A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025560AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025560B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025560B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025560B0 */ if (_t2) goto L_025560BC; else goto L_025560B4;
|
|
L_025560B4: ; // 0x25560b4
|
|
/* 025560B4 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 025560B8 */ return;
|
|
L_025560BC: ; // 0x25560bc
|
|
/* 025560BC */ cpu->r[3] = 0x00000000u;
|
|
/* 025560C0 */ return;
|
|
}
|
|
|
|
// fn_025560C4 @ 0x25560c4
|
|
void Gambit_fn_025560C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_025560C4: ; // 0x25560c4
|
|
/* 025560C4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 025560C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025560C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025560CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025560CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 025560CC */ if (_t2) goto L_025560D8; else goto L_025560D0;
|
|
L_025560D0: ; // 0x25560d0
|
|
/* 025560D0 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 025560D4 */ return;
|
|
L_025560D8: ; // 0x25560d8
|
|
/* 025560D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 025560DC */ return;
|
|
}
|
|
|
|
// fn_025560E0 @ 0x25560e0
|
|
void Gambit_fn_025560E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025560E0: ; // 0x25560e0
|
|
/* 025560E0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025560E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025560E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025560E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025560E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025560E8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025560E8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025560E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025560E8 */ goto L_025560EC;
|
|
L_025560EC: ; // 0x25560ec
|
|
/* 025560EC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 025560EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025560F0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 025560F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025560F4 */ cpu->ctr = cpu->r[0];
|
|
/* 025560F8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025560FC @ 0x25560fc
|
|
void Gambit_fn_025560FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025560FC: ; // 0x25560fc
|
|
/* 025560FC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025560FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556100 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556104 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556104 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556104 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02556104 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556104 */ goto L_02556108;
|
|
L_02556108: ; // 0x2556108
|
|
/* 02556108 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02556108 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0255610C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0255610C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556110 */ cpu->ctr = cpu->r[0];
|
|
/* 02556114 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556118 @ 0x2556118
|
|
void Gambit_fn_02556118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556118: ; // 0x2556118
|
|
/* 02556118 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0255611C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0255611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556120 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556120 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556120 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02556120 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556120 */ goto L_02556124;
|
|
L_02556124: ; // 0x2556124
|
|
/* 02556124 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02556124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556128 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02556128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0255612C */ cpu->ctr = cpu->r[0];
|
|
/* 02556130 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556134 @ 0x2556134
|
|
void Gambit_fn_02556134(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556134: ; // 0x2556134
|
|
/* 02556134 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556138 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02556138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0255613C */ cpu->ctr = cpu->r[0];
|
|
/* 02556140 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556144 @ 0x2556144
|
|
void Gambit_fn_02556144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02556144: ; // 0x2556144
|
|
/* 02556144 */ cpu->r[0] = cpu->lr;
|
|
/* 02556148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556148 */ cpu->r[1] = _t0;
|
|
/* 0255614C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255614C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556154 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556154 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556158 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556158 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255615C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02556160 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556160 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02556160 */ if (_t5) goto L_02556164; else goto L_02556180;
|
|
L_02556164: ; // 0x2556164
|
|
/* 02556164 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02556164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556168 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02556168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255616C */ cpu->ctr = cpu->r[0];
|
|
/* 02556170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556174 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556178 */ cpu->r[0] = 0x00000002u;
|
|
/* 0255617C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0255617C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02556180: ; // 0x2556180
|
|
/* 02556180 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02556180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556184 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556184 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556188 */ cpu->lr = cpu->r[0];
|
|
/* 0255618C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556190 */ return;
|
|
}
|
|
|
|
// fn_02556148 @ 0x2556148
|
|
void Gambit_fn_02556148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02556148: ; // 0x2556148
|
|
/* 02556148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556148 */ cpu->r[1] = _t0;
|
|
/* 0255614C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255614C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556154 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556154 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556158 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556158 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255615C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02556160 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556160 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02556160 */ if (_t5) goto L_02556164; else goto L_02556180;
|
|
L_02556164: ; // 0x2556164
|
|
/* 02556164 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02556164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556168 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02556168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255616C */ cpu->ctr = cpu->r[0];
|
|
/* 02556170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556174 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556178 */ cpu->r[0] = 0x00000002u;
|
|
/* 0255617C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0255617C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02556180: ; // 0x2556180
|
|
/* 02556180 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02556180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556184 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556184 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556188 */ cpu->lr = cpu->r[0];
|
|
/* 0255618C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556190 */ return;
|
|
}
|
|
|
|
// fn_0255619C @ 0x255619c
|
|
void Gambit_fn_0255619C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_0255619C: ; // 0x255619c
|
|
/* 0255619C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025561A0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025561A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 025561A0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025561A0 */ goto L_025561A4;
|
|
L_025561A4: ; // 0x25561a4
|
|
/* 025561A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 025561A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025561A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025561A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 025561A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025561A8 */ goto L_025561AC;
|
|
L_025561AC: ; // 0x25561ac
|
|
/* 025561AC */ 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_025561B0 @ 0x25561b0
|
|
void Gambit_fn_025561B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025561B0: ; // 0x25561b0
|
|
/* 025561B0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025561B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025561B4 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 025561B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025561B8 */ cpu->ctr = cpu->r[0];
|
|
/* 025561BC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025561C0 @ 0x25561c0
|
|
void Gambit_fn_025561C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025561C0: ; // 0x25561c0
|
|
/* 025561C0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025561C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025561C4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025561C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025561C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025561CC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025561D0 @ 0x25561d0
|
|
void Gambit_fn_025561D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_025561D0: ; // 0x25561d0
|
|
/* 025561D0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 025561D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025561D4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 025561D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025561D8 */ cpu->ctr = cpu->r[0];
|
|
/* 025561DC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_025561E0 @ 0x25561e0
|
|
void Gambit_fn_025561E0(CPUState* cpu) {
|
|
L_025561E0: ; // 0x25561e0
|
|
/* 025561E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 025561E4 */ return;
|
|
}
|
|
|
|
// fn_025561E8 @ 0x25561e8
|
|
void Gambit_fn_025561E8(CPUState* cpu) {
|
|
L_025561E8: ; // 0x25561e8
|
|
/* 025561E8 */ return;
|
|
}
|
|
|
|
// fn_025561EC @ 0x25561ec
|
|
void Gambit_fn_025561EC(CPUState* cpu) {
|
|
L_025561EC: ; // 0x25561ec
|
|
/* 025561EC */ return;
|
|
}
|
|
|
|
// fn_025561F0 @ 0x25561f0
|
|
void Gambit_fn_025561F0(CPUState* cpu) {
|
|
L_025561F0: ; // 0x25561f0
|
|
/* 025561F0 */ return;
|
|
}
|
|
|
|
// fn_025561F4 @ 0x25561f4
|
|
void Gambit_fn_025561F4(CPUState* cpu) {
|
|
L_025561F4: ; // 0x25561f4
|
|
/* 025561F4 */ return;
|
|
}
|
|
|
|
// fn_025561F8 @ 0x25561f8
|
|
void Gambit_fn_025561F8(CPUState* cpu) {
|
|
L_025561F8: ; // 0x25561f8
|
|
/* 025561F8 */ return;
|
|
}
|
|
|
|
// fn_025561FC @ 0x25561fc
|
|
void Gambit_fn_025561FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025561FC: ; // 0x25561fc
|
|
/* 025561FC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02556200 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02556200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556200 */ cpu->r[10] = _t0;
|
|
/* 02556204 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02556204 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02556208 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02556208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0255620C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0255620C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02556210 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02556210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556214 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02556214 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02556218 */ return;
|
|
}
|
|
|
|
// fn_0255621C @ 0x255621c
|
|
void Gambit_fn_0255621C(CPUState* cpu) {
|
|
L_0255621C: ; // 0x255621c
|
|
/* 0255621C */ return;
|
|
}
|
|
|
|
// fn_02556220 @ 0x2556220
|
|
void Gambit_fn_02556220(CPUState* cpu) {
|
|
L_02556220: ; // 0x2556220
|
|
/* 02556220 */ return;
|
|
}
|
|
|
|
// fn_02556224 @ 0x2556224
|
|
void Gambit_fn_02556224(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02556224: ; // 0x2556224
|
|
/* 02556224 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02556224 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02556228 */ return;
|
|
}
|
|
|
|
// fn_0255622C @ 0x255622c
|
|
void Gambit_fn_0255622C(CPUState* cpu) {
|
|
L_0255622C: ; // 0x255622c
|
|
/* 0255622C */ cpu->r[3] = 0x00000001u;
|
|
/* 02556230 */ return;
|
|
}
|
|
|
|
// fn_02556234 @ 0x2556234
|
|
void Gambit_fn_02556234(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556234: ; // 0x2556234
|
|
/* 02556234 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556238 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02556238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0255623C */ cpu->ctr = cpu->r[0];
|
|
/* 02556240 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556244 @ 0x2556244
|
|
void Gambit_fn_02556244(CPUState* cpu) {
|
|
L_02556244: ; // 0x2556244
|
|
/* 02556244 */ return;
|
|
}
|
|
|
|
// fn_02556248 @ 0x2556248
|
|
void Gambit_fn_02556248(CPUState* cpu) {
|
|
L_02556248: ; // 0x2556248
|
|
/* 02556248 */ return;
|
|
}
|
|
|
|
// fn_0255624C @ 0x255624c
|
|
void Gambit_fn_0255624C(CPUState* cpu) {
|
|
L_0255624C: ; // 0x255624c
|
|
/* 0255624C */ return;
|
|
}
|
|
|
|
// fn_02556250 @ 0x2556250
|
|
void Gambit_fn_02556250(CPUState* cpu) {
|
|
L_02556250: ; // 0x2556250
|
|
/* 02556250 */ return;
|
|
}
|
|
|
|
// fn_02556254 @ 0x2556254
|
|
void Gambit_fn_02556254(CPUState* cpu) {
|
|
L_02556254: ; // 0x2556254
|
|
/* 02556254 */ return;
|
|
}
|
|
|
|
// fn_02556258 @ 0x2556258
|
|
void Gambit_fn_02556258(CPUState* cpu) {
|
|
L_02556258: ; // 0x2556258
|
|
/* 02556258 */ return;
|
|
}
|
|
|
|
// fn_0255625C @ 0x255625c
|
|
void Gambit_fn_0255625C(CPUState* cpu) {
|
|
L_0255625C: ; // 0x255625c
|
|
/* 0255625C */ return;
|
|
}
|
|
|
|
// fn_02556260 @ 0x2556260
|
|
void Gambit_fn_02556260(CPUState* cpu) {
|
|
L_02556260: ; // 0x2556260
|
|
/* 02556260 */ return;
|
|
}
|
|
|
|
// fn_02556264 @ 0x2556264
|
|
void Gambit_fn_02556264(CPUState* cpu) {
|
|
L_02556264: ; // 0x2556264
|
|
/* 02556264 */ return;
|
|
}
|
|
|
|
// fn_02556268 @ 0x2556268
|
|
void Gambit_fn_02556268(CPUState* cpu) {
|
|
L_02556268: ; // 0x2556268
|
|
/* 02556268 */ return;
|
|
}
|
|
|
|
// fn_0255626C @ 0x255626c
|
|
void Gambit_fn_0255626C(CPUState* cpu) {
|
|
L_0255626C: ; // 0x255626c
|
|
/* 0255626C */ cpu->r[3] = 0x00000000u;
|
|
/* 02556270 */ return;
|
|
}
|
|
|
|
// fn_02556274 @ 0x2556274
|
|
void Gambit_fn_02556274(CPUState* cpu) {
|
|
L_02556274: ; // 0x2556274
|
|
/* 02556274 */ return;
|
|
}
|
|
|
|
// fn_02556278 @ 0x2556278
|
|
void Gambit_fn_02556278(CPUState* cpu) {
|
|
L_02556278: ; // 0x2556278
|
|
/* 02556278 */ return;
|
|
}
|
|
|
|
// fn_0255627C @ 0x255627c
|
|
void Gambit_fn_0255627C(CPUState* cpu) {
|
|
L_0255627C: ; // 0x255627c
|
|
/* 0255627C */ cpu->r[3] = 0x00000001u;
|
|
/* 02556280 */ return;
|
|
}
|
|
|
|
// fn_02556284 @ 0x2556284
|
|
void Gambit_fn_02556284(CPUState* cpu) {
|
|
L_02556284: ; // 0x2556284
|
|
/* 02556284 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556288 */ return;
|
|
}
|
|
|
|
// fn_0255628C @ 0x255628c
|
|
void Gambit_fn_0255628C(CPUState* cpu) {
|
|
L_0255628C: ; // 0x255628c
|
|
/* 0255628C */ cpu->r[3] = 0x00000000u;
|
|
/* 02556290 */ return;
|
|
}
|
|
|
|
// fn_02556294 @ 0x2556294
|
|
void Gambit_fn_02556294(CPUState* cpu) {
|
|
L_02556294: ; // 0x2556294
|
|
/* 02556294 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556298 */ return;
|
|
}
|
|
|
|
// fn_0255629C @ 0x255629c
|
|
void Gambit_fn_0255629C(CPUState* cpu) {
|
|
L_0255629C: ; // 0x255629c
|
|
/* 0255629C */ cpu->r[3] = 0x00000000u;
|
|
/* 025562A0 */ return;
|
|
}
|
|
|
|
// fn_025562A4 @ 0x25562a4
|
|
void Gambit_fn_025562A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025562A4: ; // 0x25562a4
|
|
/* 025562A4 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 025562A4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 025562A8 */ return;
|
|
}
|
|
|
|
// fn_025562AC @ 0x25562ac
|
|
void Gambit_fn_025562AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025562AC: ; // 0x25562ac
|
|
/* 025562AC */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 025562AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025562B0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 025562B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 025562B4 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 025562B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025562B8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 025562B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025562BC */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 025562BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025562C0 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 025562C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 025562C4 */ return;
|
|
}
|
|
|
|
// fn_025562C8 @ 0x25562c8
|
|
void Gambit_fn_025562C8(CPUState* cpu) {
|
|
L_025562C8: ; // 0x25562c8
|
|
/* 025562C8 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025562CC */ cpu->r[3] = cpu->r[3] + 0xFFFFA0DCu;
|
|
/* 025562D0 */ return;
|
|
}
|
|
|
|
// fn_025562D4 @ 0x25562d4
|
|
void Gambit_fn_025562D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_025562D4: ; // 0x25562d4
|
|
/* 025562D4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 025562D8 */ _t0 = cpu->r[9] + 0xFFFFFFE0u;
|
|
/* 025562D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025562DC */ cpu->r[11] = 0x101D0000u;
|
|
/* 025562E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025562E4 */ cpu->r[11] = cpu->r[11] + 0x00000A68u;
|
|
/* 025562E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025562E8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025562E8 */ if (_t2) goto L_025562EC; else goto L_02556304;
|
|
L_025562EC: ; // 0x25562ec
|
|
/* 025562EC */ cpu->r[9] = 0x100D0000u;
|
|
/* 025562F0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025562F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025562F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFA0C0u;
|
|
/* 025562FC */ _t3 = cpu->r[12] + 0xFFFFFFE0u;
|
|
/* 025562FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02556300 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02556300 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02556304: ; // 0x2556304
|
|
/* 02556304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02556308 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556308 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02556308 */ if (_t6) goto L_0255630C; else goto L_02556314;
|
|
L_0255630C: ; // 0x255630c
|
|
/* 0255630C */ cpu->r[3] = 0x00000001u;
|
|
/* 02556310 */ return;
|
|
L_02556314: ; // 0x2556314
|
|
/* 02556314 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556318 */ _t7 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 02556318 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255631C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556320 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556324 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 02556328 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556328 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02556328 */ if (_t9) goto L_0255632C; else goto L_02556344;
|
|
L_0255632C: ; // 0x255632c
|
|
/* 0255632C */ cpu->r[11] = 0x100D0000u;
|
|
/* 02556330 */ cpu->r[10] = 0x00000001u;
|
|
/* 02556334 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02556338 */ cpu->r[11] = cpu->r[11] + 0xFFFFA0B0u;
|
|
/* 0255633C */ _t10 = cpu->r[9] + 0xFFFFDA10u;
|
|
/* 0255633C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02556340 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02556340 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02556344: ; // 0x2556344
|
|
/* 02556344 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02556348 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556348 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02556348 */ if (_t13) goto L_0255634C; else goto L_02556354;
|
|
L_0255634C: ; // 0x255634c
|
|
/* 0255634C */ cpu->r[0] = 0x00000001u;
|
|
/* 02556350 */ goto L_025563C8;
|
|
L_02556354: ; // 0x2556354
|
|
/* 02556354 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02556358 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02556358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02556358 */ cpu->r[10] = _t14;
|
|
/* 0255635C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02556360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556364 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02556368 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556368 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02556368 */ if (_t16) goto L_0255636C; else goto L_02556380;
|
|
L_0255636C: ; // 0x255636c
|
|
/* 0255636C */ cpu->r[9] = 0x100D0000u;
|
|
/* 02556370 */ cpu->r[0] = 0x00000001u;
|
|
/* 02556374 */ cpu->r[9] = cpu->r[9] + 0xFFFFA0A0u;
|
|
/* 02556378 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02556378 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0255637C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0255637C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02556380: ; // 0x2556380
|
|
/* 02556380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02556384 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556384 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02556384 */ if (_t20) goto L_02556388; else goto L_02556390;
|
|
L_02556388: ; // 0x2556388
|
|
/* 02556388 */ cpu->r[0] = 0x00000001u;
|
|
/* 0255638C */ goto L_025563C8;
|
|
L_02556390: ; // 0x2556390
|
|
/* 02556390 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02556394 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02556394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02556394 */ cpu->r[9] = _t21;
|
|
/* 02556398 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0255639C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 025563A0 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 025563A4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025563A4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 025563A4 */ if (_t23) goto L_025563A8; else goto L_025563BC;
|
|
L_025563A8: ; // 0x25563a8
|
|
/* 025563A8 */ cpu->r[0] = 0x100D0000u;
|
|
/* 025563AC */ cpu->r[11] = 0x00000001u;
|
|
/* 025563B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFA078u;
|
|
/* 025563B4 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 025563B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 025563B8 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 025563B8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_025563BC: ; // 0x25563bc
|
|
/* 025563BC */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 025563C0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 025563C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_025563C8: ; // 0x25563c8
|
|
/* 025563C8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025563CC */ return;
|
|
}
|
|
|
|
// fn_025563D0 @ 0x25563d0
|
|
void Gambit_fn_025563D0(CPUState* cpu) {
|
|
L_025563D0: ; // 0x25563d0
|
|
/* 025563D0 */ return;
|
|
}
|
|
|
|
// fn_025563D4 @ 0x25563d4
|
|
void Gambit_fn_025563D4(CPUState* cpu) {
|
|
L_025563D4: ; // 0x25563d4
|
|
/* 025563D4 */ cpu->r[3] = 0x100D0000u;
|
|
/* 025563D8 */ cpu->r[3] = cpu->r[3] + 0xFFFFA074u;
|
|
/* 025563DC */ return;
|
|
}
|
|
|
|
// fn_025563E0 @ 0x25563e0
|
|
void Gambit_fn_025563E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025563E0: ; // 0x25563e0
|
|
/* 025563E0 */ cpu->r[0] = cpu->lr;
|
|
/* 025563E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025563E8 */ cpu->r[7] = 0x02550000u;
|
|
/* 025563EC */ cpu->r[6] = 0x02550000u;
|
|
/* 025563F0 */ cpu->r[10] = 0x101C0000u;
|
|
/* 025563F4 */ cpu->r[7] = cpu->r[7] + 0x00006194u;
|
|
/* 025563F8 */ cpu->r[6] = cpu->r[6] + 0x00006194u;
|
|
/* 025563FC */ cpu->r[10] = cpu->r[10] + 0x00006AA8u;
|
|
/* 02556400 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02556400 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02556404 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02556408 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556408 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02556408 */ cpu->r[1] = _t1;
|
|
/* 0255640C */ cpu->r[0] = cpu->r[0] + 0x00006AA4u;
|
|
/* 02556410 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02556410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02556414 */ cpu->r[8] = 0x00000000u;
|
|
/* 02556418 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02556418 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255641C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556420 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556420 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02556424 */ Gambit_fn_02791B10(cpu);
|
|
/* 02556428 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02556428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0255642C */ cpu->lr = cpu->r[0];
|
|
/* 02556430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556434 */ return;
|
|
}
|
|
|
|
// fn_02556408 @ 0x2556408
|
|
void Gambit_fn_02556408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02556408: ; // 0x2556408
|
|
/* 02556408 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556408 */ cpu->r[1] = _t0;
|
|
/* 0255640C */ cpu->r[0] = cpu->r[0] + 0x00006AA4u;
|
|
/* 02556410 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02556410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556414 */ cpu->r[8] = 0x00000000u;
|
|
/* 02556418 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02556418 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0255641C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556420 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556420 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02556424 */ Gambit_fn_02791B10(cpu);
|
|
/* 02556428 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02556428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0255642C */ cpu->lr = cpu->r[0];
|
|
/* 02556430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556434 */ return;
|
|
}
|
|
|
|
// fn_02556438 @ 0x2556438
|
|
void Gambit_fn_02556438(CPUState* cpu) {
|
|
uint32_t _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_02556438: ; // 0x2556438
|
|
/* 02556438 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02556438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556438 */ cpu->r[1] = _t0;
|
|
/* 0255643C */ cpu->r[0] = cpu->lr;
|
|
/* 02556440 */ /* nop */
|
|
/* 02556444 */ cpu->r[28] = cpu->r[5];
|
|
/* 02556448 */ cpu->r[26] = cpu->r[3];
|
|
/* 0255644C */ cpu->r[27] = cpu->r[7];
|
|
/* 02556450 */ cpu->r[3] = cpu->r[28];
|
|
/* 02556454 */ cpu->r[31] = cpu->r[6];
|
|
/* 02556458 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02556458 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0255645C */ cpu->r[29] = cpu->r[4];
|
|
/* 02556460 */ cpu->r[4] = cpu->r[27];
|
|
/* 02556464 */ Gambit_fn_027DB318(cpu);
|
|
/* 02556468 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 02556468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0255646C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255646C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0255646C */ if (_t3) goto L_0255650C; else goto L_02556470;
|
|
L_02556470: ; // 0x2556470
|
|
/* 02556470 */ cpu->r[5] = cpu->r[30];
|
|
/* 02556474 */ cpu->r[4] = cpu->r[29];
|
|
/* 02556478 */ cpu->r[3] = cpu->r[26];
|
|
/* 0255647C */ Gambit_fn_025563E0(cpu);
|
|
/* 02556480 */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02556480 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556484 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02556484 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556488 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 0255648C */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 02556490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02556494 */ cpu->r[25] = 0x00000000u;
|
|
/* 02556498 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556498 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02556498 */ if (_t7) goto L_0255650C; else goto L_0255649C;
|
|
L_0255649C: ; // 0x255649c
|
|
/* 0255649C */ cpu->r[24] = 0x101C0000u;
|
|
L_025564A0: ; // 0x25564a0
|
|
/* 025564A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025564A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025564A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025564A4 */ if (_t9) goto L_025564BC; else goto L_025564A8;
|
|
L_025564A8: ; // 0x25564a8
|
|
/* 025564A8 */ cpu->ctr = cpu->r[27];
|
|
/* 025564AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025564B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025564B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025564B8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025564B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025564B8 */ if (_t11) goto L_025564F8; else goto L_025564BC;
|
|
L_025564BC: ; // 0x25564bc
|
|
/* 025564BC */ _t12 = cpu->r[24] + 0x00006AA4u;
|
|
/* 025564BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025564C0 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 025564C4 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 025564C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 025564C8 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 025564C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025564CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025564D0 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 025564D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025564D4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 025564D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 025564D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 025564DC */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 025564DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025564E0 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 025564E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025564E4 */ _t19 = cpu->r[8] + 0x00000334u;
|
|
/* 025564E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025564E8 */ cpu->ctr = cpu->r[0];
|
|
/* 025564EC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 025564F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025564F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_025564F8: ; // 0x25564f8
|
|
/* 025564F8 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 025564FC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 025564FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02556500 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02556504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02556508 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556508 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02556508 */ if (_t22) goto L_0255650C; else goto L_025564A0;
|
|
L_0255650C: ; // 0x255650c
|
|
/* 0255650C */ cpu->r[3] = cpu->r[30];
|
|
/* 02556510 */ /* nop */
|
|
/* 02556514 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02556514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02556518 */ cpu->lr = cpu->r[0];
|
|
/* 0255651C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02556520 */ return;
|
|
}
|
|
|
|
// fn_02556528 @ 0x2556528
|
|
void Gambit_fn_02556528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02556528: ; // 0x2556528
|
|
/* 02556528 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556528 */ cpu->r[1] = _t0;
|
|
/* 0255652C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255652C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556530 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02556534 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556534 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556538 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556538 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02556538 */ if (_t4) goto L_0255653C; else goto L_0255654C;
|
|
L_0255653C: ; // 0x255653c
|
|
/* 0255653C */ cpu->r[3] = 0x0000020Cu;
|
|
/* 02556540 */ Gambit_fn_02801A78(cpu);
|
|
/* 02556544 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02556548 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556548 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02556548 */ if (_t6) goto L_02556574; else goto L_0255654C;
|
|
L_0255654C: ; // 0x255654c
|
|
/* 0255654C */ cpu->r[3] = cpu->r[31];
|
|
/* 02556550 */ Gambit_fn_02557070(cpu);
|
|
/* 02556554 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556558 */ cpu->r[0] = 0x00000000u;
|
|
/* 0255655C */ cpu->r[12] = cpu->r[12] + 0xFFFFA4ECu;
|
|
/* 02556560 */ _t7 = cpu->r[31] + 0x00000200u;
|
|
/* 02556560 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02556564 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02556564 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02556568 */ _t9 = cpu->r[31] + 0x00000208u;
|
|
/* 02556568 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 0255656C */ _t10 = cpu->r[31] + 0x00000209u;
|
|
/* 0255656C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02556570 */ _t11 = cpu->r[31] + 0x00000204u;
|
|
/* 02556570 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02556574: ; // 0x2556574
|
|
/* 02556574 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02556574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02556578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255657C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255657C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02556580 */ cpu->lr = cpu->r[0];
|
|
/* 02556584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556588 */ return;
|
|
}
|
|
|
|
// fn_0255658C @ 0x255658c
|
|
void Gambit_fn_0255658C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0255658C: ; // 0x255658c
|
|
/* 0255658C */ cpu->r[0] = cpu->lr;
|
|
/* 02556590 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02556590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556590 */ cpu->r[1] = _t0;
|
|
/* 02556594 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02556594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556598 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255659C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0255659C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025565A0 */ Gambit_fn_02557370(cpu);
|
|
/* 025565A4 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 025565A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025565A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 025565AC */ _t4 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025565AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025565B0 */ _t5 = cpu->r[12] + 0x000046C0u;
|
|
/* 025565B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025565B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 025565B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025565B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025565B8 */ if (_t7) goto L_025565BC; else goto L_025565D0;
|
|
L_025565BC: ; // 0x25565bc
|
|
/* 025565BC */ cpu->r[0] = 0x00000001u;
|
|
/* 025565C0 */ _t8 = cpu->r[31] + 0x00000200u;
|
|
/* 025565C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025565C4 */ _t9 = cpu->r[31] + 0x00000200u;
|
|
/* 025565C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025565C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 025565C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 025565CC */ goto L_025565DC;
|
|
L_025565D0: ; // 0x25565d0
|
|
/* 025565D0 */ _t11 = cpu->r[31] + 0x00000200u;
|
|
/* 025565D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 025565D4 */ _t12 = cpu->r[31] + 0x00000200u;
|
|
/* 025565D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025565D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025565D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_025565DC: ; // 0x25565dc
|
|
/* 025565DC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025565DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025565E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 025565E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025565E4 */ cpu->lr = cpu->r[0];
|
|
/* 025565E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025565EC */ return;
|
|
}
|
|
|
|
// fn_02556590 @ 0x2556590
|
|
void Gambit_fn_02556590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02556590: ; // 0x2556590
|
|
/* 02556590 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02556590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556590 */ cpu->r[1] = _t0;
|
|
/* 02556594 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02556594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556598 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255659C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0255659C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025565A0 */ Gambit_fn_02557370(cpu);
|
|
/* 025565A4 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 025565A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025565A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 025565AC */ _t4 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025565AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025565B0 */ _t5 = cpu->r[12] + 0x000046C0u;
|
|
/* 025565B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025565B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 025565B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025565B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025565B8 */ if (_t7) goto L_025565BC; else goto L_025565D0;
|
|
L_025565BC: ; // 0x25565bc
|
|
/* 025565BC */ cpu->r[0] = 0x00000001u;
|
|
/* 025565C0 */ _t8 = cpu->r[31] + 0x00000200u;
|
|
/* 025565C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 025565C4 */ _t9 = cpu->r[31] + 0x00000200u;
|
|
/* 025565C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025565C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 025565C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 025565CC */ goto L_025565DC;
|
|
L_025565D0: ; // 0x25565d0
|
|
/* 025565D0 */ _t11 = cpu->r[31] + 0x00000200u;
|
|
/* 025565D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 025565D4 */ _t12 = cpu->r[31] + 0x00000200u;
|
|
/* 025565D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025565D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025565D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_025565DC: ; // 0x25565dc
|
|
/* 025565DC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025565DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025565E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 025565E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025565E4 */ cpu->lr = cpu->r[0];
|
|
/* 025565E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025565EC */ return;
|
|
}
|
|
|
|
// fn_025565F0 @ 0x25565f0
|
|
void Gambit_fn_025565F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025565F0: ; // 0x25565f0
|
|
/* 025565F0 */ cpu->r[0] = cpu->lr;
|
|
/* 025565F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025565F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025565F4 */ cpu->r[1] = _t0;
|
|
/* 025565F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025565F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025565FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02556600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556600 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556604 */ Gambit_fn_02557680(cpu);
|
|
/* 02556608 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02556608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255660C */ _t4 = cpu->r[12] + 0x0000021Cu;
|
|
/* 0255660C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556610 */ cpu->ctr = cpu->r[0];
|
|
/* 02556614 */ cpu->r[4] = 0x00000000u;
|
|
/* 02556618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255661C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556620 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02556624 */ _t5 = cpu->r[12] + 0x000060F4u;
|
|
/* 02556624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556628 */ cpu->r[12] = cpu->r[12] + 0x00080000u;
|
|
/* 0255662C */ cpu->r[4] = cpu->r[3];
|
|
/* 02556630 */ _t6 = cpu->r[12] + 0xFFFFCEDCu;
|
|
/* 02556630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556634 */ Gambit_fn_023E43BC(cpu);
|
|
/* 02556638 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02556638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255663C */ _t8 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0255663C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02556640 */ cpu->ctr = cpu->r[0];
|
|
/* 02556644 */ cpu->r[4] = 0x00000001u;
|
|
/* 02556648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255664C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0255664C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556650 */ cpu->lr = cpu->r[0];
|
|
/* 02556654 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556658 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255665C */ return;
|
|
}
|
|
|
|
// fn_025565F4 @ 0x25565f4
|
|
void Gambit_fn_025565F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_025565F4: ; // 0x25565f4
|
|
/* 025565F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025565F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025565F4 */ cpu->r[1] = _t0;
|
|
/* 025565F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025565F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025565FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02556600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556600 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556604 */ Gambit_fn_02557680(cpu);
|
|
/* 02556608 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02556608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0255660C */ _t4 = cpu->r[12] + 0x0000021Cu;
|
|
/* 0255660C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556610 */ cpu->ctr = cpu->r[0];
|
|
/* 02556614 */ cpu->r[4] = 0x00000000u;
|
|
/* 02556618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255661C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556620 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02556624 */ _t5 = cpu->r[12] + 0x000060F4u;
|
|
/* 02556624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556628 */ cpu->r[12] = cpu->r[12] + 0x00080000u;
|
|
/* 0255662C */ cpu->r[4] = cpu->r[3];
|
|
/* 02556630 */ _t6 = cpu->r[12] + 0xFFFFCEDCu;
|
|
/* 02556630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556634 */ Gambit_fn_023E43BC(cpu);
|
|
/* 02556638 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02556638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255663C */ _t8 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0255663C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02556640 */ cpu->ctr = cpu->r[0];
|
|
/* 02556644 */ cpu->r[4] = 0x00000001u;
|
|
/* 02556648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255664C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0255664C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556650 */ cpu->lr = cpu->r[0];
|
|
/* 02556654 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556658 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255665C */ return;
|
|
}
|
|
|
|
// fn_02556660 @ 0x2556660
|
|
void Gambit_fn_02556660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02556660: ; // 0x2556660
|
|
/* 02556660 */ cpu->r[0] = cpu->lr;
|
|
/* 02556664 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556664 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556664 */ cpu->r[1] = _t0;
|
|
/* 02556668 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556668 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255666C */ cpu->r[31] = cpu->r[3];
|
|
/* 02556670 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556670 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556674 */ _t3 = cpu->r[31] + 0x00000209u;
|
|
/* 02556674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02556678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0255667C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255667C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0255667C */ if (_t5) goto L_02556688; else goto L_02556680;
|
|
L_02556680: ; // 0x2556680
|
|
/* 02556680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556684 */ Gambit_fn_02557BCC(cpu);
|
|
L_02556688: ; // 0x2556688
|
|
/* 02556688 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255668C */ Gambit_fn_024F46E0(cpu);
|
|
/* 02556690 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02556690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556694 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556698 */ cpu->lr = cpu->r[0];
|
|
/* 0255669C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025566A0 */ return;
|
|
}
|
|
|
|
// fn_02556664 @ 0x2556664
|
|
void Gambit_fn_02556664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02556664: ; // 0x2556664
|
|
/* 02556664 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556664 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556664 */ cpu->r[1] = _t0;
|
|
/* 02556668 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556668 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255666C */ cpu->r[31] = cpu->r[3];
|
|
/* 02556670 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556670 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556674 */ _t3 = cpu->r[31] + 0x00000209u;
|
|
/* 02556674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02556678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0255667C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255667C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0255667C */ if (_t5) goto L_02556688; else goto L_02556680;
|
|
L_02556680: ; // 0x2556680
|
|
/* 02556680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556684 */ Gambit_fn_02557BCC(cpu);
|
|
L_02556688: ; // 0x2556688
|
|
/* 02556688 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255668C */ Gambit_fn_024F46E0(cpu);
|
|
/* 02556690 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02556690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556694 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556698 */ cpu->lr = cpu->r[0];
|
|
/* 0255669C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025566A0 */ return;
|
|
}
|
|
|
|
// fn_025566A4 @ 0x25566a4
|
|
void Gambit_fn_025566A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_025566A4: ; // 0x25566a4
|
|
/* 025566A4 */ _t0 = cpu->r[3] + 0x000001BCu;
|
|
/* 025566A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025566A8 */ /* nop */
|
|
/* 025566AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 025566B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025566B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 025566B0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 025566B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 025566B0 */ goto L_025566B4;
|
|
L_025566B4: ; // 0x25566b4
|
|
/* 025566B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 025566B8 */ _t4 = cpu->r[3] + 0x00000209u;
|
|
/* 025566B8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 025566BC */ return;
|
|
}
|
|
|
|
// fn_025566C0 @ 0x25566c0
|
|
void Gambit_fn_025566C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_025566C0: ; // 0x25566c0
|
|
/* 025566C0 */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 025566C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 025566C4 */ cpu->r[11] = 0x00000000u;
|
|
/* 025566C8 */ _t1 = cpu->r[12] + 0x000046C8u;
|
|
/* 025566C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025566CC */ _t2 = cpu->r[3] + 0x00000208u;
|
|
/* 025566CC */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[11]);
|
|
/* 025566D0 */ _t3 = cpu->r[3] + 0x00000204u;
|
|
/* 025566D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025566D4 */ return;
|
|
}
|
|
|
|
// fn_025566D8 @ 0x25566d8
|
|
void Gambit_fn_025566D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _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;
|
|
double _ft20, _ft21, _ft39, _ft40;
|
|
|
|
L_025566D8: ; // 0x25566d8
|
|
/* 025566D8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 025566D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025566D8 */ cpu->r[1] = _t0;
|
|
/* 025566DC */ /* nop */
|
|
/* 025566E0 */ cpu->r[0] = cpu->lr;
|
|
/* 025566E4 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 025566E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 025566E8 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 025566E8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 025566EC */ /* nop */
|
|
/* 025566F0 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025566F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025566F4 */ /* nop */
|
|
/* 025566F8 */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 025566F8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
|
|
/* 025566FC */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 025566FC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02556700 */ _t6 = cpu->r[1] + 0x00000050u;
|
|
/* 02556700 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02556704 */ /* nop */
|
|
/* 02556708 */ _t7 = cpu->r[1] + 0x00000060u;
|
|
/* 02556708 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 0255670C */ cpu->r[27] = cpu->r[3];
|
|
/* 02556710 */ _t8 = cpu->r[27] + 0x00000204u;
|
|
/* 02556710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02556714 */ cpu->r[26] = 0x101C0000u;
|
|
/* 02556718 */ cpu->r[31] = 0x00000000u;
|
|
/* 0255671C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556720 */ cpu->r[26] = cpu->r[26] + 0x000060F4u;
|
|
/* 02556724 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02556724 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02556724 */ if (_t10) goto L_02556728; else goto L_025568CC;
|
|
L_02556728: ; // 0x2556728
|
|
/* 02556728 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02556728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0255672C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0255672C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0255672C */ if (_t12) goto L_02556730; else goto L_025567FC;
|
|
L_02556730: ; // 0x2556730
|
|
/* 02556730 */ _t13 = cpu->r[27] + 0x00000204u;
|
|
/* 02556730 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02556734 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02556738 */ cpu->r[3] = cpu->r[27];
|
|
/* 0255673C */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 0255673C */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02556740 */ Gambit_fn_0255757C(cpu);
|
|
/* 02556744 */ cpu->r[8] = 0x100D0000u;
|
|
/* 02556748 */ cpu->r[6] = 0x101C0000u;
|
|
/* 0255674C */ _t15 = cpu->r[8] + 0xFFFFA4CCu;
|
|
/* 0255674C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02556750 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556754 */ _t16 = cpu->r[6] + 0x00006000u;
|
|
/* 02556754 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02556754 */ cpu->r[6] = _t16;
|
|
/* 02556758 */ _t17 = cpu->r[12] + 0xFFFFA4D4u;
|
|
/* 02556758 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0255675C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02556760 */ _t18 = cpu->r[11] + 0x00000004u;
|
|
/* 02556760 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02556764 */ _t19 = cpu->r[10] + 0xFFFFA4D0u;
|
|
/* 02556764 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02556768 */ cpu->r[9] = cpu->r[7] + 0x00000130u;
|
|
/* 0255676C */ _ft20 = sqrt(cpu->f[13]);
|
|
/* 0255676C */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 0255676C */ cpu->f[29] = _ft21 / _ft20;
|
|
/* 02556770 */ cpu->f[30] = cpu->f[29] * cpu->f[29];
|
|
/* 02556774 */ cpu->f[31] = cpu->f[29] * cpu->f[0];
|
|
/* 02556778 */ cpu->f[30] = -fma(cpu->f[30], cpu->f[13], -(cpu->f[12]));
|
|
/* 0255677C */ cpu->f[29] = cpu->f[30] * cpu->f[31];
|
|
/* 02556780 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02556780 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02556784 */ cpu->r[29] = 0x00000001u;
|
|
/* 02556788 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556788 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0255678C */ _t24 = cpu->r[9] + 0x00000004u;
|
|
/* 0255678C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02556790 */ _t25 = cpu->r[27] + 0x00000004u;
|
|
/* 02556790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02556794 */ cpu->ctr = cpu->r[8];
|
|
/* 02556798 */ _t26 = cpu->r[6] + 0x00000000u;
|
|
/* 02556798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0255679C */ cpu->f[31] = cpu->f[29] + cpu->f[29];
|
|
/* 025567A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025567A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025567A8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025567AC */ cpu->r[3] = cpu->r[27] + 0x00000060u;
|
|
/* 025567B0 */ Gambit_fn_023F4828(cpu);
|
|
/* 025567B4 */ _t27 = cpu->r[31] + 0x0000021Cu;
|
|
/* 025567B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 025567B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025567BC */ cpu->ctr = cpu->r[0];
|
|
/* 025567C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 025567C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 025567C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025567CC */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 025567CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 025567D0 */ cpu->r[8] = cpu->r[3];
|
|
/* 025567D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 025567D8 */ cpu->r[4] = cpu->r[30];
|
|
/* 025567DC */ cpu->f[1] = cpu->f[11] * cpu->f[31];
|
|
/* 025567E0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 025567E4 */ cpu->r[7] = cpu->r[31];
|
|
/* 025567E8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 025567EC */ cpu->r[5] = cpu->r[5] + 0x00006338u;
|
|
/* 025567F0 */ Gambit_fn_023F00A0(cpu);
|
|
/* 025567F4 */ _t29 = cpu->r[27] + 0x00000208u;
|
|
/* 025567F4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 025567F8 */ goto L_025568CC;
|
|
L_025567FC: ; // 0x25567fc
|
|
/* 025567FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556800 */ _t30 = cpu->r[27] + 0x00000204u;
|
|
/* 02556800 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02556804 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556804 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02556804 */ if (_t32) goto L_02556808; else goto L_025568CC;
|
|
L_02556808: ; // 0x2556808
|
|
/* 02556808 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0255680C */ cpu->r[3] = cpu->r[27];
|
|
/* 02556810 */ _t33 = cpu->r[26] + 0x00000000u;
|
|
/* 02556810 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02556814 */ Gambit_fn_0255757C(cpu);
|
|
/* 02556818 */ cpu->r[8] = 0x100D0000u;
|
|
/* 0255681C */ cpu->r[6] = 0x101C0000u;
|
|
/* 02556820 */ _t34 = cpu->r[8] + 0xFFFFA4CCu;
|
|
/* 02556820 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02556824 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556828 */ _t35 = cpu->r[6] + 0x00006000u;
|
|
/* 02556828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02556828 */ cpu->r[6] = _t35;
|
|
/* 0255682C */ _t36 = cpu->r[12] + 0xFFFFA4D4u;
|
|
/* 0255682C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02556830 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02556834 */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02556834 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02556838 */ _t38 = cpu->r[10] + 0xFFFFA4D0u;
|
|
/* 02556838 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0255683C */ cpu->r[9] = cpu->r[7] + 0x00000130u;
|
|
/* 02556840 */ _ft39 = sqrt(cpu->f[13]);
|
|
/* 02556840 */ _ft40 = (double)(int32_t)0x00000001u;
|
|
/* 02556840 */ cpu->f[29] = _ft40 / _ft39;
|
|
/* 02556844 */ cpu->f[30] = cpu->f[29] * cpu->f[29];
|
|
/* 02556848 */ cpu->f[31] = cpu->f[29] * cpu->f[0];
|
|
/* 0255684C */ cpu->f[30] = -fma(cpu->f[30], cpu->f[13], -(cpu->f[12]));
|
|
/* 02556850 */ cpu->f[29] = cpu->f[30] * cpu->f[31];
|
|
/* 02556854 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02556854 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02556858 */ cpu->r[29] = 0x00000001u;
|
|
/* 0255685C */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255685C */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02556860 */ _t43 = cpu->r[9] + 0x00000004u;
|
|
/* 02556860 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02556864 */ _t44 = cpu->r[27] + 0x00000004u;
|
|
/* 02556864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02556868 */ cpu->ctr = cpu->r[8];
|
|
/* 0255686C */ _t45 = cpu->r[6] + 0x00000000u;
|
|
/* 0255686C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02556870 */ cpu->f[31] = cpu->f[29] + cpu->f[29];
|
|
/* 02556874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556878 */ cpu->r[30] = cpu->r[3];
|
|
/* 0255687C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556880 */ cpu->r[3] = cpu->r[27] + 0x00000060u;
|
|
/* 02556884 */ Gambit_fn_023F4828(cpu);
|
|
/* 02556888 */ _t46 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02556888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0255688C */ cpu->r[31] = cpu->r[3];
|
|
/* 02556890 */ cpu->ctr = cpu->r[0];
|
|
/* 02556894 */ cpu->r[3] = cpu->r[27];
|
|
/* 02556898 */ cpu->r[4] = 0x00000000u;
|
|
/* 0255689C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025568A0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 025568A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 025568A4 */ cpu->r[8] = cpu->r[3];
|
|
/* 025568A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 025568AC */ cpu->r[4] = cpu->r[30];
|
|
/* 025568B0 */ cpu->f[1] = cpu->f[11] * cpu->f[31];
|
|
/* 025568B4 */ cpu->r[5] = 0x101F0000u;
|
|
/* 025568B8 */ cpu->r[7] = cpu->r[31];
|
|
/* 025568BC */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 025568C0 */ cpu->r[5] = cpu->r[5] + 0x00006338u;
|
|
/* 025568C4 */ Gambit_fn_023F00A0(cpu);
|
|
/* 025568C8 */ _t48 = cpu->r[27] + 0x00000208u;
|
|
/* 025568C8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[29]);
|
|
L_025568CC: ; // 0x25568cc
|
|
/* 025568CC */ _t49 = cpu->r[27] + 0x000001B8u;
|
|
/* 025568CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025568D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025568D4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025568D4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 025568D4 */ if (_t51) goto L_025568D8; else goto L_02556918;
|
|
L_025568D8: ; // 0x25568d8
|
|
/* 025568D8 */ _t52 = cpu->r[27] + 0x00000004u;
|
|
/* 025568D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 025568DC */ _t53 = cpu->r[10] + 0x0000021Cu;
|
|
/* 025568DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 025568E0 */ cpu->ctr = cpu->r[0];
|
|
/* 025568E4 */ cpu->r[3] = cpu->r[27];
|
|
/* 025568E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 025568EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025568F0 */ _t54 = cpu->r[26] + 0x00000000u;
|
|
/* 025568F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 025568F4 */ cpu->r[12] = cpu->r[7] + 0x00080000u;
|
|
/* 025568F8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025568FC */ _t55 = cpu->r[12] + 0xFFFFCEDCu;
|
|
/* 025568FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02556900 */ Gambit_fn_023E43BC(cpu);
|
|
/* 02556904 */ _t56 = cpu->r[3] + 0x00000004u;
|
|
/* 02556904 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02556908 */ _t57 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02556908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0255690C */ cpu->ctr = cpu->r[0];
|
|
/* 02556910 */ cpu->r[4] = 0x00000000u;
|
|
/* 02556914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02556918: ; // 0x2556918
|
|
/* 02556918 */ /* nop */
|
|
/* 0255691C */ _t58 = cpu->r[1] + 0x00000040u;
|
|
/* 0255691C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02556920 */ _t59 = cpu->r[1] + 0x00000050u;
|
|
/* 02556920 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02556924 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 02556924 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02556928 */ _t61 = cpu->r[1] + 0x00000060u;
|
|
/* 02556928 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0255692C */ _t62 = cpu->r[1] + 0x00000048u;
|
|
/* 0255692C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02556930 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 02556930 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02556934 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02556934 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02556934 */ if (_t65) goto L_02556938; // else: addr-0 trap, fall-through
|
|
L_02556938: ; // 0x2556938
|
|
/* 02556938 */ _t66 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02556938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0255693C */ cpu->lr = cpu->r[0];
|
|
/* 02556940 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02556944 */ return;
|
|
}
|
|
|
|
// fn_02556948 @ 0x2556948
|
|
void Gambit_fn_02556948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02556948: ; // 0x2556948
|
|
/* 02556948 */ cpu->r[0] = cpu->lr;
|
|
/* 0255694C */ cpu->r[12] = cpu->r[3];
|
|
/* 02556950 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02556950 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02556954 */ cpu->r[0] = 0x00000000u;
|
|
/* 02556958 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02556958 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02556958 */ cpu->r[1] = _t1;
|
|
/* 0255695C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0255695C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02556960 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02556964 */ _t3 = cpu->r[12] + 0x000001E8u;
|
|
/* 02556964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02556968 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02556968 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0255696C */ cpu->r[4] = 0x00000001u;
|
|
/* 02556970 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556970 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02556974 */ Gambit_fn_024F2540(cpu);
|
|
/* 02556978 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02556978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0255697C */ cpu->lr = cpu->r[0];
|
|
/* 02556980 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02556984 */ return;
|
|
}
|
|
|
|
// fn_02556958 @ 0x2556958
|
|
void Gambit_fn_02556958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556958: ; // 0x2556958
|
|
/* 02556958 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02556958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556958 */ cpu->r[1] = _t0;
|
|
/* 0255695C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0255695C */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02556960 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02556964 */ _t2 = cpu->r[12] + 0x000001E8u;
|
|
/* 02556964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02556968 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02556968 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255696C */ cpu->r[4] = 0x00000001u;
|
|
/* 02556970 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556970 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02556974 */ Gambit_fn_024F2540(cpu);
|
|
/* 02556978 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02556978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0255697C */ cpu->lr = cpu->r[0];
|
|
/* 02556980 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02556984 */ return;
|
|
}
|
|
|
|
// fn_02556988 @ 0x2556988
|
|
void Gambit_fn_02556988(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_02556988: ; // 0x2556988
|
|
/* 02556988 */ cpu->r[0] = cpu->lr;
|
|
/* 0255698C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0255698C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255698C */ cpu->r[1] = _t0;
|
|
/* 02556990 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02556990 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02556994 */ /* nop */
|
|
/* 02556998 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556998 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0255699C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0255699C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 025569A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025569A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 025569A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025569A8 */ _t5 = cpu->r[31] + 0x000001F0u;
|
|
/* 025569A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025569AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025569B0 */ Gambit_fn_023FA1FC(cpu);
|
|
/* 025569B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025569B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025569B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025569B8 */ if (_t7) goto L_02556A6C; else goto L_025569BC;
|
|
L_025569BC: ; // 0x25569bc
|
|
/* 025569BC */ _t8 = cpu->r[31] + 0x000001B8u;
|
|
/* 025569BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025569C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 025569C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025569C4 */ if (_t10) goto L_02556A6C; else goto L_025569C8;
|
|
L_025569C8: ; // 0x25569c8
|
|
/* 025569C8 */ _t11 = cpu->r[31] + 0x000001BCu;
|
|
/* 025569C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 025569CC */ /* nop */
|
|
/* 025569D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 025569D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025569D4 */ if (_t13) goto L_025569FC; else goto L_025569D8;
|
|
L_025569D8: ; // 0x25569d8
|
|
/* 025569D8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025569D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 025569D8 */ if (_t15) goto L_02556A2C; else goto L_025569DC;
|
|
L_025569DC: ; // 0x25569dc
|
|
/* 025569DC */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 025569DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025569E0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025569E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025569E4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 025569E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 025569E8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 025569E8 */ if (_t20) goto L_025569EC; // else: addr-0 trap, fall-through
|
|
L_025569EC: ; // 0x25569ec
|
|
/* 025569EC */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 025569EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025569F0 */ cpu->lr = cpu->r[0];
|
|
/* 025569F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025569F8 */ return;
|
|
L_025569FC: ; // 0x25569fc
|
|
/* 025569FC */ _t22 = cpu->r[31] + 0x000001F0u;
|
|
/* 025569FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02556A00 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02556A00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02556A04 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02556A08 */ cpu->f[31] = cpu->f[1];
|
|
/* 02556A0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02556A10 */ Gambit_fn_025581F8(cpu);
|
|
/* 02556A14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 02556A18 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02556A18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02556A18 */ if (_t25) goto L_02556A1C; else goto L_02556A6C;
|
|
L_02556A1C: ; // 0x2556a1c
|
|
/* 02556A1C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556A20 */ cpu->r[4] = 0x00000001u;
|
|
/* 02556A24 */ Gambit_fn_02061454(cpu);
|
|
/* 02556A28 */ goto L_02556A6C;
|
|
L_02556A2C: ; // 0x2556a2c
|
|
/* 02556A2C */ _t26 = cpu->r[31] + 0x00000200u;
|
|
/* 02556A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02556A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02556A34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556A34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02556A34 */ if (_t28) goto L_02556A38; else goto L_02556A54;
|
|
L_02556A38: ; // 0x2556a38
|
|
/* 02556A38 */ _t29 = cpu->r[31] + 0x000001F0u;
|
|
/* 02556A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02556A3C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02556A3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02556A40 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02556A44 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02556A48 */ _t31 = cpu->r[11] + 0xFFFFA4D8u;
|
|
/* 02556A48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02556A4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02556A50 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02556A50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02556A50 */ if (_t33) goto L_02556A60; else goto L_02556A54;
|
|
L_02556A54: ; // 0x2556a54
|
|
/* 02556A54 */ _t34 = cpu->r[31] + 0x00000208u;
|
|
/* 02556A54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02556A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02556A5C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556A5C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02556A5C */ if (_t36) goto L_02556A6C; else goto L_02556A60;
|
|
L_02556A60: ; // 0x2556a60
|
|
/* 02556A60 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556A64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02556A68 */ Gambit_fn_02061454(cpu);
|
|
L_02556A6C: ; // 0x2556a6c
|
|
/* 02556A6C */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02556A6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02556A70 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02556A74 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02556A74 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02556A78 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02556A78 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02556A78 */ if (_t41) goto L_02556A7C; // else: addr-0 trap, fall-through
|
|
L_02556A7C: ; // 0x2556a7c
|
|
/* 02556A7C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02556A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02556A80 */ cpu->lr = cpu->r[0];
|
|
/* 02556A84 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02556A88 */ return;
|
|
}
|
|
|
|
// fn_0255698C @ 0x255698c
|
|
void Gambit_fn_0255698C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_0255698C: ; // 0x255698c
|
|
/* 0255698C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0255698C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255698C */ cpu->r[1] = _t0;
|
|
/* 02556990 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02556990 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02556994 */ /* nop */
|
|
/* 02556998 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556998 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0255699C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0255699C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 025569A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025569A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 025569A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025569A8 */ _t5 = cpu->r[31] + 0x000001F0u;
|
|
/* 025569A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025569AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025569B0 */ Gambit_fn_023FA1FC(cpu);
|
|
/* 025569B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025569B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025569B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025569B8 */ if (_t7) goto L_02556A6C; else goto L_025569BC;
|
|
L_025569BC: ; // 0x25569bc
|
|
/* 025569BC */ _t8 = cpu->r[31] + 0x000001B8u;
|
|
/* 025569BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025569C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 025569C4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025569C4 */ if (_t10) goto L_02556A6C; else goto L_025569C8;
|
|
L_025569C8: ; // 0x25569c8
|
|
/* 025569C8 */ _t11 = cpu->r[31] + 0x000001BCu;
|
|
/* 025569C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 025569CC */ /* nop */
|
|
/* 025569D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 025569D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025569D4 */ if (_t13) goto L_025569FC; else goto L_025569D8;
|
|
L_025569D8: ; // 0x25569d8
|
|
/* 025569D8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025569D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 025569D8 */ if (_t15) goto L_02556A2C; else goto L_025569DC;
|
|
L_025569DC: ; // 0x25569dc
|
|
/* 025569DC */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 025569DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 025569E0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025569E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025569E4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 025569E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 025569E8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025569E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 025569E8 */ if (_t20) goto L_025569EC; // else: addr-0 trap, fall-through
|
|
L_025569EC: ; // 0x25569ec
|
|
/* 025569EC */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 025569EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025569F0 */ cpu->lr = cpu->r[0];
|
|
/* 025569F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025569F8 */ return;
|
|
L_025569FC: ; // 0x25569fc
|
|
/* 025569FC */ _t22 = cpu->r[31] + 0x000001F0u;
|
|
/* 025569FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02556A00 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02556A00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02556A04 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02556A08 */ cpu->f[31] = cpu->f[1];
|
|
/* 02556A0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02556A10 */ Gambit_fn_025581F8(cpu);
|
|
/* 02556A14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 02556A18 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02556A18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02556A18 */ if (_t25) goto L_02556A1C; else goto L_02556A6C;
|
|
L_02556A1C: ; // 0x2556a1c
|
|
/* 02556A1C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556A20 */ cpu->r[4] = 0x00000001u;
|
|
/* 02556A24 */ Gambit_fn_02061454(cpu);
|
|
/* 02556A28 */ goto L_02556A6C;
|
|
L_02556A2C: ; // 0x2556a2c
|
|
/* 02556A2C */ _t26 = cpu->r[31] + 0x00000200u;
|
|
/* 02556A2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02556A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02556A34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556A34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02556A34 */ if (_t28) goto L_02556A38; else goto L_02556A54;
|
|
L_02556A38: ; // 0x2556a38
|
|
/* 02556A38 */ _t29 = cpu->r[31] + 0x000001F0u;
|
|
/* 02556A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02556A3C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02556A3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02556A40 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02556A44 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02556A48 */ _t31 = cpu->r[11] + 0xFFFFA4D8u;
|
|
/* 02556A48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02556A4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02556A50 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02556A50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02556A50 */ if (_t33) goto L_02556A60; else goto L_02556A54;
|
|
L_02556A54: ; // 0x2556a54
|
|
/* 02556A54 */ _t34 = cpu->r[31] + 0x00000208u;
|
|
/* 02556A54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02556A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02556A5C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556A5C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02556A5C */ if (_t36) goto L_02556A6C; else goto L_02556A60;
|
|
L_02556A60: ; // 0x2556a60
|
|
/* 02556A60 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556A64 */ cpu->r[4] = 0x00000000u;
|
|
/* 02556A68 */ Gambit_fn_02061454(cpu);
|
|
L_02556A6C: ; // 0x2556a6c
|
|
/* 02556A6C */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02556A6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02556A70 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02556A74 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02556A74 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02556A78 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02556A78 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02556A78 */ if (_t41) goto L_02556A7C; // else: addr-0 trap, fall-through
|
|
L_02556A7C: ; // 0x2556a7c
|
|
/* 02556A7C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02556A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02556A80 */ cpu->lr = cpu->r[0];
|
|
/* 02556A84 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02556A88 */ return;
|
|
}
|
|
|
|
// fn_02556A8C @ 0x2556a8c
|
|
void Gambit_fn_02556A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02556A8C: ; // 0x2556a8c
|
|
/* 02556A8C */ cpu->r[0] = cpu->lr;
|
|
/* 02556A90 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556A94 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02556A98 */ cpu->r[12] = cpu->r[12] + 0xFFFFA4DCu;
|
|
/* 02556A9C */ cpu->r[11] = cpu->r[11] + 0xFFFFA43Cu;
|
|
/* 02556AA0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02556AA4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02556AA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02556AA8 */ cpu->r[0] = 0x02550000u;
|
|
/* 02556AAC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02556AAC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02556AAC */ cpu->r[1] = _t1;
|
|
/* 02556AB0 */ cpu->r[0] = cpu->r[0] + 0x00006F84u;
|
|
/* 02556AB4 */ _t2 = cpu->r[3] + 0xFFFFA930u;
|
|
/* 02556AB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02556AB4 */ cpu->r[3] = _t2;
|
|
/* 02556AB8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556ABC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02556ABC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02556AC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFA4B4u;
|
|
/* 02556AC4 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02556AC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02556AC8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02556AC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02556ACC */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556ACC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02556AD0 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02556AD4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02556AD8 */ cpu->r[3] = cpu->r[3] + 0x00006AACu;
|
|
/* 02556ADC */ Gambit_fn_02C83090(cpu);
|
|
/* 02556AE0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02556AE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02556AEC */ return;
|
|
}
|
|
|
|
// fn_02556AAC @ 0x2556aac
|
|
void Gambit_fn_02556AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02556AAC: ; // 0x2556aac
|
|
/* 02556AAC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02556AAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556AAC */ cpu->r[1] = _t0;
|
|
/* 02556AB0 */ cpu->r[0] = cpu->r[0] + 0x00006F84u;
|
|
/* 02556AB4 */ _t1 = cpu->r[3] + 0xFFFFA930u;
|
|
/* 02556AB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02556AB4 */ cpu->r[3] = _t1;
|
|
/* 02556AB8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02556ABC */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02556ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02556AC0 */ cpu->r[12] = cpu->r[12] + 0xFFFFA4B4u;
|
|
/* 02556AC4 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02556AC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02556AC8 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02556AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02556ACC */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556ACC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02556AD0 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02556AD4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02556AD8 */ cpu->r[3] = cpu->r[3] + 0x00006AACu;
|
|
/* 02556ADC */ Gambit_fn_02C83090(cpu);
|
|
/* 02556AE0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02556AE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02556AEC */ return;
|
|
}
|
|
|
|
// fn_02556AF0 @ 0x2556af0
|
|
void Gambit_fn_02556AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02556AF0: ; // 0x2556af0
|
|
/* 02556AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02556AF4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556AF4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02556AF4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556AF4 */ goto L_02556AF8;
|
|
L_02556AF8: ; // 0x2556af8
|
|
/* 02556AF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02556AFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556AFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02556AFC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556AFC */ goto L_02556B00;
|
|
L_02556B00: ; // 0x2556b00
|
|
/* 02556B00 */ 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_02556B04 @ 0x2556b04
|
|
void Gambit_fn_02556B04(CPUState* cpu) {
|
|
L_02556B04: ; // 0x2556b04
|
|
/* 02556B04 */ return;
|
|
}
|
|
|
|
// fn_02556B08 @ 0x2556b08
|
|
void Gambit_fn_02556B08(CPUState* cpu) {
|
|
L_02556B08: ; // 0x2556b08
|
|
/* 02556B08 */ return;
|
|
}
|
|
|
|
// fn_02556B0C @ 0x2556b0c
|
|
void Gambit_fn_02556B0C(CPUState* cpu) {
|
|
L_02556B0C: ; // 0x2556b0c
|
|
/* 02556B0C */ return;
|
|
}
|
|
|
|
// fn_02556B10 @ 0x2556b10
|
|
void Gambit_fn_02556B10(CPUState* cpu) {
|
|
L_02556B10: ; // 0x2556b10
|
|
/* 02556B10 */ return;
|
|
}
|
|
|
|
// fn_02556B14 @ 0x2556b14
|
|
void Gambit_fn_02556B14(CPUState* cpu) {
|
|
L_02556B14: ; // 0x2556b14
|
|
/* 02556B14 */ return;
|
|
}
|
|
|
|
// fn_02556B18 @ 0x2556b18
|
|
void Gambit_fn_02556B18(CPUState* cpu) {
|
|
L_02556B18: ; // 0x2556b18
|
|
/* 02556B18 */ return;
|
|
}
|
|
|
|
// fn_02556B1C @ 0x2556b1c
|
|
void Gambit_fn_02556B1C(CPUState* cpu) {
|
|
L_02556B1C: ; // 0x2556b1c
|
|
/* 02556B1C */ return;
|
|
}
|
|
|
|
// fn_02556B20 @ 0x2556b20
|
|
void Gambit_fn_02556B20(CPUState* cpu) {
|
|
L_02556B20: ; // 0x2556b20
|
|
/* 02556B20 */ return;
|
|
}
|
|
|
|
// fn_02556B24 @ 0x2556b24
|
|
void Gambit_fn_02556B24(CPUState* cpu) {
|
|
L_02556B24: ; // 0x2556b24
|
|
/* 02556B24 */ return;
|
|
}
|
|
|
|
// fn_02556B28 @ 0x2556b28
|
|
void Gambit_fn_02556B28(CPUState* cpu) {
|
|
L_02556B28: ; // 0x2556b28
|
|
/* 02556B28 */ return;
|
|
}
|
|
|
|
// fn_02556B2C @ 0x2556b2c
|
|
void Gambit_fn_02556B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02556B2C: ; // 0x2556b2c
|
|
/* 02556B2C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02556B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556B34 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556B34 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556B34 */ if (_t2) goto L_02556B40; else goto L_02556B38;
|
|
L_02556B38: ; // 0x2556b38
|
|
/* 02556B38 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02556B3C */ return;
|
|
L_02556B40: ; // 0x2556b40
|
|
/* 02556B40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556B44 */ return;
|
|
}
|
|
|
|
// fn_02556B48 @ 0x2556b48
|
|
void Gambit_fn_02556B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02556B48: ; // 0x2556b48
|
|
/* 02556B48 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02556B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556B50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556B50 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556B50 */ if (_t2) goto L_02556B5C; else goto L_02556B54;
|
|
L_02556B54: ; // 0x2556b54
|
|
/* 02556B54 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02556B58 */ return;
|
|
L_02556B5C: ; // 0x2556b5c
|
|
/* 02556B5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02556B60 */ return;
|
|
}
|
|
|
|
// fn_02556B64 @ 0x2556b64
|
|
void Gambit_fn_02556B64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556B64: ; // 0x2556b64
|
|
/* 02556B64 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556B68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556B6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556B6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556B6C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02556B6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556B6C */ goto L_02556B70;
|
|
L_02556B70: ; // 0x2556b70
|
|
/* 02556B70 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02556B70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556B74 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02556B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556B78 */ cpu->ctr = cpu->r[0];
|
|
/* 02556B7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556B80 @ 0x2556b80
|
|
void Gambit_fn_02556B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556B80: ; // 0x2556b80
|
|
/* 02556B80 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556B84 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556B88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556B88 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556B88 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02556B88 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556B88 */ goto L_02556B8C;
|
|
L_02556B8C: ; // 0x2556b8c
|
|
/* 02556B8C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02556B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556B90 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02556B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556B94 */ cpu->ctr = cpu->r[0];
|
|
/* 02556B98 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556B9C @ 0x2556b9c
|
|
void Gambit_fn_02556B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556B9C: ; // 0x2556b9c
|
|
/* 02556B9C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02556B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556BA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556BA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556BA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556BA4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02556BA4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556BA4 */ goto L_02556BA8;
|
|
L_02556BA8: ; // 0x2556ba8
|
|
/* 02556BA8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02556BA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556BAC */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02556BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556BB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02556BB4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556BB8 @ 0x2556bb8
|
|
void Gambit_fn_02556BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556BB8: ; // 0x2556bb8
|
|
/* 02556BB8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556BBC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02556BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556BC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02556BC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556BC8 @ 0x2556bc8
|
|
void Gambit_fn_02556BC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02556BC8: ; // 0x2556bc8
|
|
/* 02556BC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02556BCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556BCC */ cpu->r[1] = _t0;
|
|
/* 02556BD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556BD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556BD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556BD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556BDC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556BDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02556BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02556BE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556BE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02556BE4 */ if (_t5) goto L_02556BE8; else goto L_02556C04;
|
|
L_02556BE8: ; // 0x2556be8
|
|
/* 02556BE8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02556BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556BEC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02556BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556BF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02556BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556BFC */ cpu->r[0] = 0x00000002u;
|
|
/* 02556C00 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556C00 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02556C04: ; // 0x2556c04
|
|
/* 02556C04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02556C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556C08 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556C0C */ cpu->lr = cpu->r[0];
|
|
/* 02556C10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556C14 */ return;
|
|
}
|
|
|
|
// fn_02556BCC @ 0x2556bcc
|
|
void Gambit_fn_02556BCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02556BCC: ; // 0x2556bcc
|
|
/* 02556BCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556BCC */ cpu->r[1] = _t0;
|
|
/* 02556BD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556BD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556BD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556BD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556BDC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556BDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02556BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02556BE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556BE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02556BE4 */ if (_t5) goto L_02556BE8; else goto L_02556C04;
|
|
L_02556BE8: ; // 0x2556be8
|
|
/* 02556BE8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02556BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02556BEC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02556BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556BF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02556BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02556BFC */ cpu->r[0] = 0x00000002u;
|
|
/* 02556C00 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02556C00 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02556C04: ; // 0x2556c04
|
|
/* 02556C04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02556C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02556C08 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02556C0C */ cpu->lr = cpu->r[0];
|
|
/* 02556C10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556C14 */ return;
|
|
}
|
|
|
|
// fn_02556C20 @ 0x2556c20
|
|
void Gambit_fn_02556C20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02556C20: ; // 0x2556c20
|
|
/* 02556C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02556C24 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556C24 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02556C24 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556C24 */ goto L_02556C28;
|
|
L_02556C28: ; // 0x2556c28
|
|
/* 02556C28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02556C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02556C2C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556C2C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02556C2C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02556C2C */ goto L_02556C30;
|
|
L_02556C30: ; // 0x2556c30
|
|
/* 02556C30 */ 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_02556C34 @ 0x2556c34
|
|
void Gambit_fn_02556C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556C34: ; // 0x2556c34
|
|
/* 02556C34 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556C38 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02556C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556C3C */ cpu->ctr = cpu->r[0];
|
|
/* 02556C40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556C44 @ 0x2556c44
|
|
void Gambit_fn_02556C44(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556C44: ; // 0x2556c44
|
|
/* 02556C44 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556C44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556C48 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02556C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556C4C */ cpu->ctr = cpu->r[0];
|
|
/* 02556C50 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556C54 @ 0x2556c54
|
|
void Gambit_fn_02556C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556C54: ; // 0x2556c54
|
|
/* 02556C54 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556C54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556C58 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02556C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556C5C */ cpu->ctr = cpu->r[0];
|
|
/* 02556C60 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556C64 @ 0x2556c64
|
|
void Gambit_fn_02556C64(CPUState* cpu) {
|
|
L_02556C64: ; // 0x2556c64
|
|
/* 02556C64 */ cpu->r[3] = 0x00000001u;
|
|
/* 02556C68 */ return;
|
|
}
|
|
|
|
// fn_02556C6C @ 0x2556c6c
|
|
void Gambit_fn_02556C6C(CPUState* cpu) {
|
|
L_02556C6C: ; // 0x2556c6c
|
|
/* 02556C6C */ return;
|
|
}
|
|
|
|
// fn_02556C70 @ 0x2556c70
|
|
void Gambit_fn_02556C70(CPUState* cpu) {
|
|
L_02556C70: ; // 0x2556c70
|
|
/* 02556C70 */ return;
|
|
}
|
|
|
|
// fn_02556C74 @ 0x2556c74
|
|
void Gambit_fn_02556C74(CPUState* cpu) {
|
|
L_02556C74: ; // 0x2556c74
|
|
/* 02556C74 */ return;
|
|
}
|
|
|
|
// fn_02556C78 @ 0x2556c78
|
|
void Gambit_fn_02556C78(CPUState* cpu) {
|
|
L_02556C78: ; // 0x2556c78
|
|
/* 02556C78 */ cpu->r[3] = 0x00000001u;
|
|
/* 02556C7C */ return;
|
|
}
|
|
|
|
// fn_02556C80 @ 0x2556c80
|
|
void Gambit_fn_02556C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556C80: ; // 0x2556c80
|
|
/* 02556C80 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02556C84 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02556C84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556C84 */ cpu->r[10] = _t0;
|
|
/* 02556C88 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02556C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02556C8C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02556C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02556C90 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02556C90 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02556C94 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02556C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556C98 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02556C98 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02556C9C */ return;
|
|
}
|
|
|
|
// fn_02556CA0 @ 0x2556ca0
|
|
void Gambit_fn_02556CA0(CPUState* cpu) {
|
|
L_02556CA0: ; // 0x2556ca0
|
|
/* 02556CA0 */ return;
|
|
}
|
|
|
|
// fn_02556CA4 @ 0x2556ca4
|
|
void Gambit_fn_02556CA4(CPUState* cpu) {
|
|
L_02556CA4: ; // 0x2556ca4
|
|
/* 02556CA4 */ return;
|
|
}
|
|
|
|
// fn_02556CA8 @ 0x2556ca8
|
|
void Gambit_fn_02556CA8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02556CA8: ; // 0x2556ca8
|
|
/* 02556CA8 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02556CA8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02556CAC */ return;
|
|
}
|
|
|
|
// fn_02556CB0 @ 0x2556cb0
|
|
void Gambit_fn_02556CB0(CPUState* cpu) {
|
|
L_02556CB0: ; // 0x2556cb0
|
|
/* 02556CB0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02556CB4 */ return;
|
|
}
|
|
|
|
// fn_02556CB8 @ 0x2556cb8
|
|
void Gambit_fn_02556CB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02556CB8: ; // 0x2556cb8
|
|
/* 02556CB8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02556CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556CBC */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02556CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556CC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02556CC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02556CC8 @ 0x2556cc8
|
|
void Gambit_fn_02556CC8(CPUState* cpu) {
|
|
L_02556CC8: ; // 0x2556cc8
|
|
/* 02556CC8 */ return;
|
|
}
|
|
|
|
// fn_02556CCC @ 0x2556ccc
|
|
void Gambit_fn_02556CCC(CPUState* cpu) {
|
|
L_02556CCC: ; // 0x2556ccc
|
|
/* 02556CCC */ return;
|
|
}
|
|
|
|
// fn_02556CD0 @ 0x2556cd0
|
|
void Gambit_fn_02556CD0(CPUState* cpu) {
|
|
L_02556CD0: ; // 0x2556cd0
|
|
/* 02556CD0 */ return;
|
|
}
|
|
|
|
// fn_02556CD4 @ 0x2556cd4
|
|
void Gambit_fn_02556CD4(CPUState* cpu) {
|
|
L_02556CD4: ; // 0x2556cd4
|
|
/* 02556CD4 */ return;
|
|
}
|
|
|
|
// fn_02556CD8 @ 0x2556cd8
|
|
void Gambit_fn_02556CD8(CPUState* cpu) {
|
|
L_02556CD8: ; // 0x2556cd8
|
|
/* 02556CD8 */ return;
|
|
}
|
|
|
|
// fn_02556CDC @ 0x2556cdc
|
|
void Gambit_fn_02556CDC(CPUState* cpu) {
|
|
L_02556CDC: ; // 0x2556cdc
|
|
/* 02556CDC */ return;
|
|
}
|
|
|
|
// fn_02556CE0 @ 0x2556ce0
|
|
void Gambit_fn_02556CE0(CPUState* cpu) {
|
|
L_02556CE0: ; // 0x2556ce0
|
|
/* 02556CE0 */ return;
|
|
}
|
|
|
|
// fn_02556CE4 @ 0x2556ce4
|
|
void Gambit_fn_02556CE4(CPUState* cpu) {
|
|
L_02556CE4: ; // 0x2556ce4
|
|
/* 02556CE4 */ return;
|
|
}
|
|
|
|
// fn_02556CE8 @ 0x2556ce8
|
|
void Gambit_fn_02556CE8(CPUState* cpu) {
|
|
L_02556CE8: ; // 0x2556ce8
|
|
/* 02556CE8 */ return;
|
|
}
|
|
|
|
// fn_02556CEC @ 0x2556cec
|
|
void Gambit_fn_02556CEC(CPUState* cpu) {
|
|
L_02556CEC: ; // 0x2556cec
|
|
/* 02556CEC */ return;
|
|
}
|
|
|
|
// fn_02556CF0 @ 0x2556cf0
|
|
void Gambit_fn_02556CF0(CPUState* cpu) {
|
|
L_02556CF0: ; // 0x2556cf0
|
|
/* 02556CF0 */ return;
|
|
}
|
|
|
|
// fn_02556CF4 @ 0x2556cf4
|
|
void Gambit_fn_02556CF4(CPUState* cpu) {
|
|
L_02556CF4: ; // 0x2556cf4
|
|
/* 02556CF4 */ return;
|
|
}
|
|
|
|
// fn_02556CF8 @ 0x2556cf8
|
|
void Gambit_fn_02556CF8(CPUState* cpu) {
|
|
L_02556CF8: ; // 0x2556cf8
|
|
/* 02556CF8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02556CFC */ return;
|
|
}
|
|
|
|
// fn_02556D00 @ 0x2556d00
|
|
void Gambit_fn_02556D00(CPUState* cpu) {
|
|
L_02556D00: ; // 0x2556d00
|
|
/* 02556D00 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556D04 */ return;
|
|
}
|
|
|
|
// fn_02556D08 @ 0x2556d08
|
|
void Gambit_fn_02556D08(CPUState* cpu) {
|
|
L_02556D08: ; // 0x2556d08
|
|
/* 02556D08 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556D0C */ return;
|
|
}
|
|
|
|
// fn_02556D10 @ 0x2556d10
|
|
void Gambit_fn_02556D10(CPUState* cpu) {
|
|
L_02556D10: ; // 0x2556d10
|
|
/* 02556D10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556D14 */ return;
|
|
}
|
|
|
|
// fn_02556D18 @ 0x2556d18
|
|
void Gambit_fn_02556D18(CPUState* cpu) {
|
|
L_02556D18: ; // 0x2556d18
|
|
/* 02556D18 */ cpu->r[3] = 0x00000000u;
|
|
/* 02556D1C */ return;
|
|
}
|
|
|
|
// fn_02556D20 @ 0x2556d20
|
|
void Gambit_fn_02556D20(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02556D20: ; // 0x2556d20
|
|
/* 02556D20 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02556D20 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02556D24 */ return;
|
|
}
|
|
|
|
// fn_02556D28 @ 0x2556d28
|
|
void Gambit_fn_02556D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556D28: ; // 0x2556d28
|
|
/* 02556D28 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 02556D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556D2C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02556D2C */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02556D30 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02556D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02556D34 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02556D34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02556D38 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 02556D38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556D3C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02556D3C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02556D40 */ return;
|
|
}
|
|
|
|
// fn_02556D44 @ 0x2556d44
|
|
void Gambit_fn_02556D44(CPUState* cpu) {
|
|
L_02556D44: ; // 0x2556d44
|
|
/* 02556D44 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02556D48 */ cpu->r[3] = cpu->r[3] + 0xFFFFA4A4u;
|
|
/* 02556D4C */ return;
|
|
}
|
|
|
|
// fn_02556D50 @ 0x2556d50
|
|
void Gambit_fn_02556D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0206135C: ; // 0x206135c
|
|
/* 0206135C */ cpu->r[0] = cpu->lr;
|
|
/* 02061360 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02061360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061360 */ cpu->r[1] = _t0;
|
|
/* 02061364 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02061368 */ cpu->r[31] = cpu->r[3];
|
|
/* 0206136C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0206136C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02061370 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02061370 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02061374 */ cpu->r[12] = 0x00000000u;
|
|
/* 02061378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206137C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0206137C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02061380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02061380 */ if (_t6) goto L_020613A8; else goto L_02061384;
|
|
L_02061384: ; // 0x2061384
|
|
/* 02061384 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02061384 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02061388 */ /* nop */
|
|
/* 0206138C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02061390 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061390 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02061390 */ if (_t9) goto L_02061394; else goto L_020613A8;
|
|
L_02061394: ; // 0x2061394
|
|
/* 02061394 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02061394 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02061398 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02061398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0206139C */ cpu->ctr = cpu->r[0];
|
|
/* 020613A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020613A8: ; // 0x20613a8
|
|
/* 020613A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613AC */ Gambit_fn_020612D4(cpu);
|
|
/* 020613B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613B4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020613B8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020613B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020613BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020613BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020613C0 */ cpu->lr = cpu->r[0];
|
|
/* 020613C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020613C8 */ return;
|
|
L_02556D50: ; // 0x2556d50
|
|
/* 02556D50 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 02556D54 */ goto L_0206135C;
|
|
}
|
|
|
|
// fn_02556D58 @ 0x2556d58
|
|
void Gambit_fn_02556D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556D58: ; // 0x2556d58
|
|
/* 02556D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02556D5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556D5C */ cpu->r[1] = _t0;
|
|
/* 02556D60 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556D68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556D6C */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02556D6C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02556D70 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556D74 */ /* nop */
|
|
/* 02556D78 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02556D7C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556D80 */ Gambit_fn_0206124C(cpu);
|
|
/* 02556D84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02556D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556D88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556D88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556D8C */ cpu->lr = cpu->r[0];
|
|
/* 02556D90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556D94 */ return;
|
|
}
|
|
|
|
// fn_02556D5C @ 0x2556d5c
|
|
void Gambit_fn_02556D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556D5C: ; // 0x2556d5c
|
|
/* 02556D5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556D5C */ cpu->r[1] = _t0;
|
|
/* 02556D60 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02556D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02556D68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02556D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556D6C */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02556D6C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02556D70 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556D74 */ /* nop */
|
|
/* 02556D78 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02556D7C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02556D80 */ Gambit_fn_0206124C(cpu);
|
|
/* 02556D84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02556D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556D88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556D88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556D8C */ cpu->lr = cpu->r[0];
|
|
/* 02556D90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556D94 */ return;
|
|
}
|
|
|
|
// fn_02556D98 @ 0x2556d98
|
|
void Gambit_fn_02556D98(CPUState* cpu) {
|
|
L_02556D98: ; // 0x2556d98
|
|
/* 02556D98 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02556D9C */ cpu->r[3] = cpu->r[3] + 0xFFFFA4C0u;
|
|
/* 02556DA0 */ return;
|
|
}
|
|
|
|
// fn_02556DA4 @ 0x2556da4
|
|
void Gambit_fn_02556DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02556DA4: ; // 0x2556da4
|
|
/* 02556DA4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02556DA8 */ _t0 = cpu->r[8] + 0x000008F8u;
|
|
/* 02556DA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02556DAC */ cpu->r[6] = 0x101D0000u;
|
|
/* 02556DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02556DB4 */ cpu->r[6] = cpu->r[6] + 0x00000A70u;
|
|
/* 02556DB8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556DB8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02556DB8 */ if (_t2) goto L_02556DBC; else goto L_02556DD4;
|
|
L_02556DBC: ; // 0x2556dbc
|
|
/* 02556DBC */ cpu->r[5] = 0x100D0000u;
|
|
/* 02556DC0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02556DC4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02556DC8 */ cpu->r[5] = cpu->r[5] + 0xFFFFA494u;
|
|
/* 02556DCC */ _t3 = cpu->r[8] + 0x000008F8u;
|
|
/* 02556DCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02556DD0 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02556DD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02556DD4: ; // 0x2556dd4
|
|
/* 02556DD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02556DD8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556DD8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02556DD8 */ if (_t6) goto L_02556DDC; else goto L_02556DE4;
|
|
L_02556DDC: ; // 0x2556ddc
|
|
/* 02556DDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02556DE0 */ return;
|
|
L_02556DE4: ; // 0x2556de4
|
|
/* 02556DE4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02556DE8 */ _t7 = cpu->r[10] + 0xFFFFEAD0u;
|
|
/* 02556DE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02556DEC */ cpu->r[8] = 0x101D0000u;
|
|
/* 02556DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02556DF4 */ cpu->r[8] = cpu->r[8] + 0x00000A6Cu;
|
|
/* 02556DF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556DF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02556DF8 */ if (_t9) goto L_02556DFC; else goto L_02556E14;
|
|
L_02556DFC: ; // 0x2556dfc
|
|
/* 02556DFC */ cpu->r[0] = 0x100D0000u;
|
|
/* 02556E00 */ cpu->r[7] = 0x00000001u;
|
|
/* 02556E04 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02556E08 */ cpu->r[0] = cpu->r[0] + 0xFFFFA484u;
|
|
/* 02556E0C */ _t10 = cpu->r[6] + 0xFFFFEAD0u;
|
|
/* 02556E0C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02556E10 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02556E10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02556E14: ; // 0x2556e14
|
|
/* 02556E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02556E18 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556E18 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02556E18 */ if (_t13) goto L_02556E1C; else goto L_02556E24;
|
|
L_02556E1C: ; // 0x2556e1c
|
|
/* 02556E1C */ cpu->r[0] = 0x00000001u;
|
|
/* 02556E20 */ goto L_02556F1C;
|
|
L_02556E24: ; // 0x2556e24
|
|
/* 02556E24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556E28 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02556E28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02556E2C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02556E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02556E34 */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 02556E38 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556E38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02556E38 */ if (_t16) goto L_02556E3C; else goto L_02556E54;
|
|
L_02556E3C: ; // 0x2556e3c
|
|
/* 02556E3C */ cpu->r[7] = 0x100D0000u;
|
|
/* 02556E40 */ cpu->r[5] = 0x00000001u;
|
|
/* 02556E44 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556E48 */ cpu->r[7] = cpu->r[7] + 0xFFFFA474u;
|
|
/* 02556E4C */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02556E4C */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02556E50 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02556E50 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_02556E54: ; // 0x2556e54
|
|
/* 02556E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02556E58 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556E58 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02556E58 */ if (_t20) goto L_02556E5C; else goto L_02556E64;
|
|
L_02556E5C: ; // 0x2556e5c
|
|
/* 02556E5C */ cpu->r[0] = 0x00000001u;
|
|
/* 02556E60 */ goto L_02556F1C;
|
|
L_02556E64: ; // 0x2556e64
|
|
/* 02556E64 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02556E68 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02556E68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02556E6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02556E74 */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 02556E78 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556E78 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02556E78 */ if (_t23) goto L_02556E7C; else goto L_02556E94;
|
|
L_02556E7C: ; // 0x2556e7c
|
|
/* 02556E7C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02556E80 */ cpu->r[9] = 0x00000001u;
|
|
/* 02556E84 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02556E88 */ cpu->r[10] = cpu->r[10] + 0xFFFFA464u;
|
|
/* 02556E8C */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 02556E8C */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02556E90 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02556E90 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_02556E94: ; // 0x2556e94
|
|
/* 02556E94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02556E98 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556E98 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02556E98 */ if (_t27) goto L_02556E9C; else goto L_02556EA4;
|
|
L_02556E9C: ; // 0x2556e9c
|
|
/* 02556E9C */ cpu->r[0] = 0x00000001u;
|
|
/* 02556EA0 */ goto L_02556F18;
|
|
L_02556EA4: ; // 0x2556ea4
|
|
/* 02556EA4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02556EA8 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02556EA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02556EA8 */ cpu->r[10] = _t28;
|
|
/* 02556EAC */ cpu->r[7] = 0x101D0000u;
|
|
/* 02556EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02556EB4 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 02556EB8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556EB8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02556EB8 */ if (_t30) goto L_02556EBC; else goto L_02556ED0;
|
|
L_02556EBC: ; // 0x2556ebc
|
|
/* 02556EBC */ cpu->r[0] = 0x100D0000u;
|
|
/* 02556EC0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02556EC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA454u;
|
|
/* 02556EC8 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02556EC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02556ECC */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 02556ECC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02556ED0: ; // 0x2556ed0
|
|
/* 02556ED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02556ED4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556ED4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02556ED4 */ if (_t34) goto L_02556ED8; else goto L_02556EE0;
|
|
L_02556ED8: ; // 0x2556ed8
|
|
/* 02556ED8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02556EDC */ goto L_02556F18;
|
|
L_02556EE0: ; // 0x2556ee0
|
|
/* 02556EE0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02556EE4 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02556EE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02556EE4 */ cpu->r[8] = _t35;
|
|
/* 02556EE8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02556EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02556EF0 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 02556EF4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556EF4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02556EF4 */ if (_t37) goto L_02556EF8; else goto L_02556F0C;
|
|
L_02556EF8: ; // 0x2556ef8
|
|
/* 02556EF8 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02556EFC */ cpu->r[7] = 0x00000001u;
|
|
/* 02556F00 */ cpu->r[9] = cpu->r[9] + 0xFFFFA42Cu;
|
|
/* 02556F04 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02556F04 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02556F08 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02556F08 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_02556F0C: ; // 0x2556f0c
|
|
/* 02556F0C */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02556F10 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02556F14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02556F18: ; // 0x2556f18
|
|
/* 02556F18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02556F1C: ; // 0x2556f1c
|
|
/* 02556F1C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02556F20 */ return;
|
|
}
|
|
|
|
// fn_02556F24 @ 0x2556f24
|
|
void Gambit_fn_02556F24(CPUState* cpu) {
|
|
L_02556F24: ; // 0x2556f24
|
|
/* 02556F24 */ cpu->r[3] = 0x00000001u;
|
|
/* 02556F28 */ return;
|
|
}
|
|
|
|
// fn_02556F2C @ 0x2556f2c
|
|
void Gambit_fn_02556F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02556F2C: ; // 0x2556f2c
|
|
/* 02556F2C */ cpu->r[0] = cpu->lr;
|
|
/* 02556F30 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02556F34 */ cpu->r[7] = 0x02550000u;
|
|
/* 02556F38 */ cpu->r[6] = 0x02550000u;
|
|
/* 02556F3C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02556F40 */ cpu->r[7] = cpu->r[7] + 0x00006C18u;
|
|
/* 02556F44 */ cpu->r[6] = cpu->r[6] + 0x00006C18u;
|
|
/* 02556F48 */ cpu->r[10] = cpu->r[10] + 0x00006ABCu;
|
|
/* 02556F4C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02556F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02556F50 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02556F54 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556F54 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02556F54 */ cpu->r[1] = _t1;
|
|
/* 02556F58 */ cpu->r[0] = cpu->r[0] + 0x00006AB8u;
|
|
/* 02556F5C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02556F5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02556F60 */ cpu->r[8] = 0x00000000u;
|
|
/* 02556F64 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02556F64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02556F68 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556F6C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556F6C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02556F70 */ Gambit_fn_02791B10(cpu);
|
|
/* 02556F74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02556F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556F78 */ cpu->lr = cpu->r[0];
|
|
/* 02556F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556F80 */ return;
|
|
}
|
|
|
|
// fn_02556F54 @ 0x2556f54
|
|
void Gambit_fn_02556F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02556F54: ; // 0x2556f54
|
|
/* 02556F54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02556F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556F54 */ cpu->r[1] = _t0;
|
|
/* 02556F58 */ cpu->r[0] = cpu->r[0] + 0x00006AB8u;
|
|
/* 02556F5C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02556F5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02556F60 */ cpu->r[8] = 0x00000000u;
|
|
/* 02556F64 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02556F64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02556F68 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556F6C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02556F6C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02556F70 */ Gambit_fn_02791B10(cpu);
|
|
/* 02556F74 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02556F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556F78 */ cpu->lr = cpu->r[0];
|
|
/* 02556F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02556F80 */ return;
|
|
}
|
|
|
|
// fn_02556F84 @ 0x2556f84
|
|
void Gambit_fn_02556F84(CPUState* cpu) {
|
|
uint32_t _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_02556F84: ; // 0x2556f84
|
|
/* 02556F84 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02556F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02556F84 */ cpu->r[1] = _t0;
|
|
/* 02556F88 */ cpu->r[0] = cpu->lr;
|
|
/* 02556F8C */ /* nop */
|
|
/* 02556F90 */ cpu->r[28] = cpu->r[5];
|
|
/* 02556F94 */ cpu->r[26] = cpu->r[3];
|
|
/* 02556F98 */ cpu->r[27] = cpu->r[7];
|
|
/* 02556F9C */ cpu->r[3] = cpu->r[28];
|
|
/* 02556FA0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02556FA4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02556FA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02556FA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02556FAC */ cpu->r[4] = cpu->r[27];
|
|
/* 02556FB0 */ Gambit_fn_027DB318(cpu);
|
|
/* 02556FB4 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 02556FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02556FB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556FB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02556FB8 */ if (_t3) goto L_02557058; else goto L_02556FBC;
|
|
L_02556FBC: ; // 0x2556fbc
|
|
/* 02556FBC */ cpu->r[5] = cpu->r[30];
|
|
/* 02556FC0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02556FC4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02556FC8 */ Gambit_fn_02556F2C(cpu);
|
|
/* 02556FCC */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02556FCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02556FD0 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02556FD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02556FD4 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 02556FD8 */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 02556FDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02556FE0 */ cpu->r[25] = 0x00000000u;
|
|
/* 02556FE4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556FE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02556FE4 */ if (_t7) goto L_02557058; else goto L_02556FE8;
|
|
L_02556FE8: ; // 0x2556fe8
|
|
/* 02556FE8 */ cpu->r[24] = 0x101C0000u;
|
|
L_02556FEC: ; // 0x2556fec
|
|
/* 02556FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02556FF0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02556FF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02556FF0 */ if (_t9) goto L_02557008; else goto L_02556FF4;
|
|
L_02556FF4: ; // 0x2556ff4
|
|
/* 02556FF4 */ cpu->ctr = cpu->r[27];
|
|
/* 02556FF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02556FFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557004 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557004 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02557004 */ if (_t11) goto L_02557044; else goto L_02557008;
|
|
L_02557008: ; // 0x2557008
|
|
/* 02557008 */ _t12 = cpu->r[24] + 0x00006AB8u;
|
|
/* 02557008 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0255700C */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 02557010 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 02557010 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02557014 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02557014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557018 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255701C */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 0255701C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557020 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02557020 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02557024 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02557028 */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 02557028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0255702C */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0255702C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02557030 */ _t19 = cpu->r[8] + 0x0000034Cu;
|
|
/* 02557030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557034 */ cpu->ctr = cpu->r[0];
|
|
/* 02557038 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0255703C */ cpu->r[4] = cpu->r[31];
|
|
/* 02557040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02557044: ; // 0x2557044
|
|
/* 02557044 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 02557048 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02557048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0255704C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02557050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02557054 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557054 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02557054 */ if (_t22) goto L_02557058; else goto L_02556FEC;
|
|
L_02557058: ; // 0x2557058
|
|
/* 02557058 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255705C */ /* nop */
|
|
/* 02557060 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02557064 */ cpu->lr = cpu->r[0];
|
|
/* 02557068 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0255706C */ return;
|
|
}
|
|
|
|
// fn_02557070 @ 0x2557070
|
|
void Gambit_fn_02557070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02557070: ; // 0x2557070
|
|
/* 02557070 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02557070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557070 */ cpu->r[1] = _t0;
|
|
/* 02557074 */ cpu->r[0] = cpu->lr;
|
|
/* 02557078 */ /* nop */
|
|
/* 0255707C */ cpu->r[30] = cpu->r[3];
|
|
/* 0255707C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02557080 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02557080 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02557084 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557084 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557084 */ if (_t3) goto L_02557088; else goto L_02557098;
|
|
L_02557088: ; // 0x2557088
|
|
/* 02557088 */ cpu->r[3] = 0x00000200u;
|
|
/* 0255708C */ Gambit_fn_02801A78(cpu);
|
|
/* 02557090 */ cpu->r[30] = cpu->r[3];
|
|
/* 02557090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02557094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557094 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557094 */ if (_t5) goto L_02557358; else goto L_02557098;
|
|
L_02557098: ; // 0x2557098
|
|
/* 02557098 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255709C */ Gambit_fn_024F6F3C(cpu);
|
|
/* 025570A0 */ cpu->r[8] = 0x100D0000u;
|
|
/* 025570A4 */ cpu->r[31] = cpu->r[30] + 0x000001B0u;
|
|
/* 025570A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025570A8 */ cpu->r[8] = cpu->r[8] + 0xFFFFA9D4u;
|
|
/* 025570AC */ cpu->r[27] = 0x00000000u;
|
|
/* 025570B0 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 025570B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 025570B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025570B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025570B4 */ if (_t8) goto L_025570B8; else goto L_025570C8;
|
|
L_025570B8: ; // 0x25570b8
|
|
/* 025570B8 */ cpu->r[3] = 0x00000038u;
|
|
/* 025570BC */ Gambit_fn_02801A78(cpu);
|
|
/* 025570C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025570C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025570C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025570C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 025570C4 */ if (_t10) goto L_025570F8; else goto L_025570C8;
|
|
L_025570C8: ; // 0x25570c8
|
|
/* 025570C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025570CC */ Gambit_fn_027FC29C(cpu);
|
|
/* 025570D0 */ cpu->r[0] = 0x10000000u;
|
|
/* 025570D4 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 025570D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 025570D8 */ cpu->r[0] = cpu->r[0] + 0x00006CD0u;
|
|
/* 025570DC */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 025570DC */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 025570E0 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 025570E0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 025570E4 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 025570E4 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 025570E8 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 025570E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 025570EC */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025570EC */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 025570F0 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 025570F0 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 025570F4 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 025570F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_025570F8: ; // 0x25570f8
|
|
/* 025570F8 */ _t19 = cpu->r[30] + 0x000001F4u;
|
|
/* 025570F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 025570FC */ cpu->r[0] = 0x00000002u;
|
|
/* 02557100 */ _t20 = cpu->r[30] + 0x000001F8u;
|
|
/* 02557100 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02557104 */ cpu->r[4] = cpu->r[30];
|
|
/* 02557108 */ _t21 = cpu->r[30] + 0x000001F0u;
|
|
/* 02557108 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 0255710C */ cpu->r[6] = 0x00000000u;
|
|
/* 02557110 */ _t22 = cpu->r[30] + 0x000001FCu;
|
|
/* 02557110 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02557114 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02557118 */ _t23 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557118 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 0255711C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02557120 */ _t24 = cpu->r[30] + 0x000001E8u;
|
|
/* 02557120 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 02557124 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02557124 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02557128 */ Gambit_fn_02558204(cpu);
|
|
/* 0255712C */ cpu->r[4] = cpu->r[30] + 0x000001B0u;
|
|
/* 02557130 */ cpu->r[3] = cpu->r[30];
|
|
/* 02557134 */ Gambit_fn_02000834(cpu);
|
|
/* 02557138 */ cpu->r[10] = 0x100D0000u;
|
|
/* 0255713C */ cpu->r[26] = 0x02550000u;
|
|
/* 02557140 */ cpu->r[10] = cpu->r[10] + 0xFFFFA954u;
|
|
/* 02557144 */ cpu->r[28] = 0x100D0000u;
|
|
/* 02557148 */ cpu->r[26] = cpu->r[26] + 0x00007DC4u;
|
|
/* 0255714C */ cpu->r[28] = cpu->r[28] + 0xFFFFA874u;
|
|
/* 02557150 */ cpu->ctr = cpu->r[26];
|
|
/* 02557154 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02557154 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 02557158 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557158 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0255715C */ _t28 = cpu->r[30] + 0x000001C8u;
|
|
/* 0255715C */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02557160 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557164 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 02557164 */ cpu->r[25] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02557168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255716C */ cpu->r[31] = 0x10110000u;
|
|
/* 02557170 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557170 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02557174 */ _t31 = cpu->r[31] + 0x00007399u;
|
|
/* 02557174 */ cpu->r[31] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02557178 */ _t32 = cpu->r[6] + 0x00000000u;
|
|
/* 02557178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0255717C */ cpu->r[29] = 0x00000000u;
|
|
/* 02557180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02557184 */ cpu->r[0] = 0x00080000u;
|
|
/* 02557188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557188 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02557188 */ if (_t34) goto L_025571B0; else goto L_0255718C;
|
|
L_0255718C: ; // 0x255718c
|
|
/* 0255718C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02557190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02557194 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02557198 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02557198 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02557198 */ if (_t36) goto L_025571AC; else goto L_0255719C;
|
|
L_0255719C: ; // 0x255719c
|
|
/* 0255719C */ _t37 = cpu->r[6] + 0x00000000u;
|
|
/* 0255719C */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 025571A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 025571A4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025571A4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 025571A4 */ if (_t39) goto L_025571A8; else goto L_0255718C;
|
|
L_025571A8: ; // 0x25571a8
|
|
/* 025571A8 */ goto L_025571B0;
|
|
L_025571AC: ; // 0x25571ac
|
|
/* 025571AC */ cpu->r[29] = 0x00000000u;
|
|
L_025571B0: ; // 0x25571b0
|
|
/* 025571B0 */ _t40 = cpu->r[24] + 0x00000008u;
|
|
/* 025571B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025571B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 025571B8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025571B8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 025571B8 */ if (_t42) goto L_025571C0; else goto L_025571BC;
|
|
L_025571BC: ; // 0x25571bc
|
|
/* 025571BC */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_025571C0: ; // 0x25571c0
|
|
/* 025571C0 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 025571C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025571C4 */ _t44 = cpu->r[5] + 0x00000014u;
|
|
/* 025571C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025571C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025571CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025571D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025571D4 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025571D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025571D8 */ cpu->r[3] = cpu->r[25];
|
|
/* 025571DC */ cpu->r[5] = cpu->r[29];
|
|
/* 025571E0 */ cpu->r[6] = 0x00000000u;
|
|
/* 025571E4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025571E8 */ _t46 = cpu->r[25] + cpu->r[29];
|
|
/* 025571E8 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
/* 025571EC */ cpu->r[7] = 0x02550000u;
|
|
/* 025571F0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 025571F4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 025571F4 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[27]);
|
|
/* 025571F8 */ cpu->r[7] = cpu->r[7] + 0x00007A84u;
|
|
/* 025571FC */ _t48 = cpu->r[1] + 0x00000016u;
|
|
/* 025571FC */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[8]);
|
|
/* 02557200 */ _t49 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02557200 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[8]);
|
|
/* 02557204 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 02557208 */ _t50 = cpu->r[1] + 0x00000026u;
|
|
/* 02557208 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[8]);
|
|
/* 0255720C */ cpu->r[12] = 0x02550000u;
|
|
/* 02557210 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557210 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[27]);
|
|
/* 02557214 */ cpu->r[12] = cpu->r[12] + 0x00007AD4u;
|
|
/* 02557218 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 02557218 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 0255721C */ cpu->r[7] = 0x00000000u;
|
|
/* 02557220 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02557224 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02557224 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02557228 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0255722C */ cpu->r[10] = 0x02560000u;
|
|
/* 02557230 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02557230 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[7]);
|
|
/* 02557234 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02557238 */ cpu->r[10] = cpu->r[10] + 0xFFFF81A0u;
|
|
/* 0255723C */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 0255723C */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[27]);
|
|
/* 02557240 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02557244 */ _t56 = cpu->r[1] + 0x00000020u;
|
|
/* 02557244 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 02557248 */ Gambit_fn_025584B4(cpu);
|
|
/* 0255724C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02557250 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02557250 */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
/* 02557254 */ cpu->r[0] = cpu->r[0] + 0xFFFFA960u;
|
|
/* 02557258 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557258 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 0255725C */ _t59 = cpu->r[30] + 0x000001C4u;
|
|
/* 0255725C */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02557260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
|
|
/* 02557264 */ _t60 = cpu->r[30] + 0x000001C8u;
|
|
/* 02557264 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02557268 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02557268 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02557268 */ if (_t62) goto L_0255726C; else goto L_02557270;
|
|
L_0255726C: ; // 0x255726c
|
|
/* 0255726C */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
L_02557270: ; // 0x2557270
|
|
/* 02557270 */ cpu->ctr = cpu->r[26];
|
|
/* 02557274 */ _t63 = cpu->r[28] + 0x00000000u;
|
|
/* 02557274 */ cpu->r[25] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02557278 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255727C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557280 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02557284 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 02557284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02557288 */ cpu->r[5] = 0x00080000u;
|
|
/* 0255728C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02557290 */ cpu->r[29] = 0x00000000u;
|
|
/* 02557294 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557294 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02557294 */ if (_t67) goto L_025572BC; else goto L_02557298;
|
|
L_02557298: ; // 0x2557298
|
|
/* 02557298 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0255729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 025572A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 025572A4 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025572A4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025572A4 */ if (_t69) goto L_025572B8; else goto L_025572A8;
|
|
L_025572A8: ; // 0x25572a8
|
|
/* 025572A8 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 025572A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t70);
|
|
/* 025572AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 025572B0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025572B0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 025572B0 */ if (_t72) goto L_025572B4; else goto L_02557298;
|
|
L_025572B4: ; // 0x25572b4
|
|
/* 025572B4 */ goto L_025572BC;
|
|
L_025572B8: ; // 0x25572b8
|
|
/* 025572B8 */ cpu->r[29] = 0x00000000u;
|
|
L_025572BC: ; // 0x25572bc
|
|
/* 025572BC */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 025572BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025572C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 025572C4 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025572C4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 025572C4 */ if (_t75) goto L_025572CC; else goto L_025572C8;
|
|
L_025572C8: ; // 0x25572c8
|
|
/* 025572C8 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_025572CC: ; // 0x25572cc
|
|
/* 025572CC */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 025572CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 025572D0 */ _t77 = cpu->r[9] + 0x00000014u;
|
|
/* 025572D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 025572D4 */ cpu->ctr = cpu->r[0];
|
|
/* 025572D8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 025572DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025572E0 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025572E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 025572E4 */ cpu->r[3] = cpu->r[25];
|
|
/* 025572E8 */ cpu->r[5] = cpu->r[29];
|
|
/* 025572EC */ cpu->r[6] = 0x00000000u;
|
|
/* 025572F0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 025572F4 */ _t79 = cpu->r[25] + cpu->r[29];
|
|
/* 025572F4 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[31]);
|
|
/* 025572F8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 025572FC */ _t80 = cpu->r[1] + 0x00000014u;
|
|
/* 025572FC */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[27]);
|
|
/* 02557300 */ cpu->r[12] = 0x02550000u;
|
|
/* 02557304 */ _t81 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02557304 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[10]);
|
|
/* 02557308 */ cpu->r[11] = 0x00000001u;
|
|
/* 0255730C */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0255730C */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[27]);
|
|
/* 02557310 */ cpu->r[12] = cpu->r[12] + 0x00007CFCu;
|
|
/* 02557314 */ _t83 = cpu->r[1] + 0x00000026u;
|
|
/* 02557314 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[10]);
|
|
/* 02557318 */ cpu->r[3] = cpu->r[30] + 0x000001B0u;
|
|
/* 0255731C */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0255731C */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[11]);
|
|
/* 02557320 */ cpu->r[11] = 0x02550000u;
|
|
/* 02557324 */ _t85 = cpu->r[1] + 0x00000024u;
|
|
/* 02557324 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[27]);
|
|
/* 02557328 */ cpu->r[11] = cpu->r[11] + 0x00007D84u;
|
|
/* 0255732C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02557330 */ _t86 = cpu->r[1] + 0x00000016u;
|
|
/* 02557330 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[10]);
|
|
/* 02557334 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02557338 */ cpu->r[9] = 0x02550000u;
|
|
/* 0255733C */ _t87 = cpu->r[1] + 0x00000028u;
|
|
/* 0255733C */ rbrew_write32(cpu->mem, _t87, cpu->r[11]);
|
|
/* 02557340 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557344 */ cpu->r[9] = cpu->r[9] + 0x00007D74u;
|
|
/* 02557348 */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 02557348 */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
|
|
/* 0255734C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02557350 */ _t89 = cpu->r[1] + 0x00000018u;
|
|
/* 02557350 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 02557354 */ Gambit_fn_025584B4(cpu);
|
|
L_02557358: ; // 0x2557358
|
|
/* 02557358 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255735C */ /* nop */
|
|
/* 02557360 */ _t90 = cpu->r[1] + 0x00000054u;
|
|
/* 02557360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02557364 */ cpu->lr = cpu->r[0];
|
|
/* 02557368 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0255736C */ return;
|
|
}
|
|
|
|
// fn_02557370 @ 0x2557370
|
|
void Gambit_fn_02557370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02557370: ; // 0x2557370
|
|
/* 02557370 */ cpu->r[0] = cpu->lr;
|
|
/* 02557374 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02557374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557374 */ cpu->r[1] = _t0;
|
|
/* 02557378 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02557378 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0255737C */ cpu->r[30] = cpu->r[3];
|
|
/* 02557380 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02557380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02557384 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02557384 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02557388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0255738C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02557390 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557390 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02557394 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02557398 */ Gambit_fn_024F6710(cpu);
|
|
/* 0255739C */ cpu->r[5] = cpu->r[3];
|
|
/* 025573A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025573A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025573A8 */ Gambit_fn_024F4798(cpu);
|
|
/* 025573AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025573B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025573B4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025573B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025573B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 025573BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 025573BC */ if (_t7) goto L_025573EC; else goto L_025573C0;
|
|
L_025573C0: ; // 0x25573c0
|
|
/* 025573C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025573C4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 025573C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 025573CC */ cpu->r[3] = cpu->r[28];
|
|
/* 025573CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025573D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025573D0 */ if (_t9) goto L_025573D4; else goto L_025573E4;
|
|
L_025573D4: ; // 0x25573d4
|
|
/* 025573D4 */ cpu->r[3] = 0x00000008u;
|
|
/* 025573D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025573DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025573E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025573E0 */ if (_t11) goto L_025573EC; else goto L_025573E4;
|
|
L_025573E4: ; // 0x25573e4
|
|
/* 025573E4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 025573E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 025573E8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 025573E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_025573EC: ; // 0x25573ec
|
|
/* 025573EC */ _t14 = cpu->r[30] + 0x000001E8u;
|
|
/* 025573EC */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 025573F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025573F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 025573F8 */ Gambit_fn_024F212C(cpu);
|
|
/* 025573FC */ _t15 = cpu->r[30] + 0x00000050u;
|
|
/* 025573FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557400 */ _t16 = cpu->r[7] + 0x000046C4u;
|
|
/* 02557400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02557404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02557408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557408 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02557408 */ if (_t18) goto L_0255740C; else goto L_02557438;
|
|
L_0255740C: ; // 0x255740c
|
|
/* 0255740C */ cpu->r[0] = 0x00000002u;
|
|
/* 02557410 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557414 */ _t19 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557414 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02557418 */ _t20 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0255741C */ _t21 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 0255741C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02557420 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557420 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02557424 */ _t23 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557424 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02557428 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0255742C */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557430 */ _t24 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557430 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 02557434 */ goto L_02557494;
|
|
L_02557438: ; // 0x2557438
|
|
/* 02557438 */ _t25 = cpu->r[7] + 0x000046C4u;
|
|
/* 02557438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0255743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02557440 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557440 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02557440 */ if (_t27) goto L_02557444; else goto L_0255746C;
|
|
L_02557444: ; // 0x2557444
|
|
/* 02557444 */ _t28 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557444 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02557448 */ _t29 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255744C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557450 */ _t30 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 02557450 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02557454 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02557454 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02557458 */ _t32 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0255745C */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02557460 */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557464 */ _t33 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557464 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 02557468 */ goto L_02557494;
|
|
L_0255746C: ; // 0x255746c
|
|
/* 0255746C */ cpu->r[12] = 0x00000001u;
|
|
/* 02557470 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557474 */ _t34 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557474 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02557478 */ _t35 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0255747C */ _t36 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 0255747C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02557480 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02557480 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02557484 */ _t38 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02557488 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0255748C */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557490 */ _t39 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557490 */ rbrew_write32(cpu->mem, _t39, cpu->r[4]);
|
|
L_02557494: ; // 0x2557494
|
|
/* 02557494 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02557494 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02557498 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0255749C */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0255749C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025574A0 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 025574A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025574A4 */ cpu->lr = cpu->r[0];
|
|
/* 025574A8 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 025574A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025574AC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025574B0 */ return;
|
|
}
|
|
|
|
// fn_02557374 @ 0x2557374
|
|
void Gambit_fn_02557374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02557374: ; // 0x2557374
|
|
/* 02557374 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02557374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557374 */ cpu->r[1] = _t0;
|
|
/* 02557378 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02557378 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0255737C */ cpu->r[30] = cpu->r[3];
|
|
/* 02557380 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02557380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02557384 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02557384 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02557388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0255738C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02557390 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557390 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02557394 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02557398 */ Gambit_fn_024F6710(cpu);
|
|
/* 0255739C */ cpu->r[5] = cpu->r[3];
|
|
/* 025573A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025573A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025573A8 */ Gambit_fn_024F4798(cpu);
|
|
/* 025573AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 025573B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025573B4 */ cpu->r[28] = cpu->r[3];
|
|
/* 025573B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 025573B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 025573BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 025573BC */ if (_t7) goto L_025573EC; else goto L_025573C0;
|
|
L_025573C0: ; // 0x25573c0
|
|
/* 025573C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025573C4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 025573C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 025573CC */ cpu->r[3] = cpu->r[28];
|
|
/* 025573CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025573D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025573D0 */ if (_t9) goto L_025573D4; else goto L_025573E4;
|
|
L_025573D4: ; // 0x25573d4
|
|
/* 025573D4 */ cpu->r[3] = 0x00000008u;
|
|
/* 025573D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025573DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025573E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025573E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025573E0 */ if (_t11) goto L_025573EC; else goto L_025573E4;
|
|
L_025573E4: ; // 0x25573e4
|
|
/* 025573E4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 025573E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 025573E8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 025573E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_025573EC: ; // 0x25573ec
|
|
/* 025573EC */ _t14 = cpu->r[30] + 0x000001E8u;
|
|
/* 025573EC */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 025573F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025573F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 025573F8 */ Gambit_fn_024F212C(cpu);
|
|
/* 025573FC */ _t15 = cpu->r[30] + 0x00000050u;
|
|
/* 025573FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557400 */ _t16 = cpu->r[7] + 0x000046C4u;
|
|
/* 02557400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02557404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02557408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557408 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02557408 */ if (_t18) goto L_0255740C; else goto L_02557438;
|
|
L_0255740C: ; // 0x255740c
|
|
/* 0255740C */ cpu->r[0] = 0x00000002u;
|
|
/* 02557410 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557414 */ _t19 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557414 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02557418 */ _t20 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0255741C */ _t21 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 0255741C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02557420 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557420 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02557424 */ _t23 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557424 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02557428 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0255742C */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557430 */ _t24 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557430 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 02557434 */ goto L_02557494;
|
|
L_02557438: ; // 0x2557438
|
|
/* 02557438 */ _t25 = cpu->r[7] + 0x000046C4u;
|
|
/* 02557438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0255743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02557440 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557440 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02557440 */ if (_t27) goto L_02557444; else goto L_0255746C;
|
|
L_02557444: ; // 0x2557444
|
|
/* 02557444 */ _t28 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557444 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02557448 */ _t29 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255744C */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557450 */ _t30 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 02557450 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02557454 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02557454 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02557458 */ _t32 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0255745C */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02557460 */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557464 */ _t33 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557464 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 02557468 */ goto L_02557494;
|
|
L_0255746C: ; // 0x255746c
|
|
/* 0255746C */ cpu->r[12] = 0x00000001u;
|
|
/* 02557470 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02557474 */ _t34 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557474 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02557478 */ _t35 = cpu->r[30] + 0x000001ECu;
|
|
/* 02557478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0255747C */ _t36 = cpu->r[10] + 0xFFFFA96Cu;
|
|
/* 0255747C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02557480 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02557480 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02557484 */ _t38 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02557484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02557488 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0255748C */ Gambit_fn_02C898C4(cpu);
|
|
/* 02557490 */ _t39 = cpu->r[30] + 0x000001F4u;
|
|
/* 02557490 */ rbrew_write32(cpu->mem, _t39, cpu->r[4]);
|
|
L_02557494: ; // 0x2557494
|
|
/* 02557494 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02557494 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02557498 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0255749C */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0255749C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025574A0 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 025574A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 025574A4 */ cpu->lr = cpu->r[0];
|
|
/* 025574A8 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 025574A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025574AC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025574B0 */ return;
|
|
}
|
|
|
|
// fn_025574B4 @ 0x25574b4
|
|
void Gambit_fn_025574B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_025574B4: ; // 0x25574b4
|
|
/* 025574B4 */ cpu->r[0] = cpu->lr;
|
|
/* 025574B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025574B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025574B8 */ cpu->r[1] = _t0;
|
|
/* 025574BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025574BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025574C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025574C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025574C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025574C8 */ cpu->r[3] = 0x00000064u;
|
|
/* 025574CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025574CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025574D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025574D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025574D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025574D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025574D8 */ if (_t5) goto L_025574E0; else goto L_025574DC;
|
|
L_025574DC: ; // 0x25574dc
|
|
/* 025574DC */ Gambit_fn_023FA264(cpu);
|
|
L_025574E0: ; // 0x25574e0
|
|
/* 025574E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025574E4 */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 025574E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 025574E8 */ Gambit_fn_023FA1EC(cpu);
|
|
/* 025574EC */ _t7 = cpu->r[31] + 0x000001F0u;
|
|
/* 025574EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025574F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025574F4 */ _t8 = cpu->r[12] + 0x00000060u;
|
|
/* 025574F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 025574F8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 025574F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025574FC */ _t10 = cpu->r[8] + 0x0000021Cu;
|
|
/* 025574FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02557500 */ cpu->ctr = cpu->r[9];
|
|
/* 02557504 */ _t11 = cpu->r[31] + 0x000001F0u;
|
|
/* 02557504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02557508 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255750C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557510 */ _t12 = cpu->r[30] + 0x00000034u;
|
|
/* 02557510 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[3]);
|
|
/* 02557514 */ _t13 = cpu->r[31] + 0x000001F0u;
|
|
/* 02557514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557518 */ Gambit_fn_023E4504(cpu);
|
|
/* 0255751C */ _t14 = cpu->r[31] + 0x000001F0u;
|
|
/* 0255751C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557520 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02557520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557524 */ _t16 = cpu->r[10] + 0x00000038u;
|
|
/* 02557524 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02557528 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 02557528 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0255752C */ _t18 = cpu->r[10] + 0x0000003Cu;
|
|
/* 0255752C */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02557530 */ _t19 = cpu->r[31] + 0x00000068u;
|
|
/* 02557530 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557534 */ cpu->r[3] = 0x00000014u;
|
|
/* 02557538 */ _t20 = cpu->r[10] + 0x00000040u;
|
|
/* 02557538 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0255753C */ Gambit_fn_02801A78(cpu);
|
|
/* 02557540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557544 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557544 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02557544 */ if (_t22) goto L_0255754C; else goto L_02557548;
|
|
L_02557548: ; // 0x2557548
|
|
/* 02557548 */ Gambit_fn_027C6158(cpu);
|
|
L_0255754C: ; // 0x255754c
|
|
/* 0255754C */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0255754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02557550 */ _t24 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557550 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 02557554 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02557554 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02557558 */ _t26 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0255755C */ cpu->r[0] = 0x00000002u;
|
|
/* 02557560 */ _t27 = cpu->r[12] + 0x00000010u;
|
|
/* 02557560 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02557564 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02557564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02557568 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02557568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255756C */ cpu->lr = cpu->r[0];
|
|
/* 02557570 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02557574 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557578 */ return;
|
|
}
|
|
|
|
// fn_025574B8 @ 0x25574b8
|
|
void Gambit_fn_025574B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_025574B8: ; // 0x25574b8
|
|
/* 025574B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025574B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025574B8 */ cpu->r[1] = _t0;
|
|
/* 025574BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025574BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025574C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 025574C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025574C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025574C8 */ cpu->r[3] = 0x00000064u;
|
|
/* 025574CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025574CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025574D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025574D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025574D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025574D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025574D8 */ if (_t5) goto L_025574E0; else goto L_025574DC;
|
|
L_025574DC: ; // 0x25574dc
|
|
/* 025574DC */ Gambit_fn_023FA264(cpu);
|
|
L_025574E0: ; // 0x25574e0
|
|
/* 025574E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025574E4 */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 025574E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 025574E8 */ Gambit_fn_023FA1EC(cpu);
|
|
/* 025574EC */ _t7 = cpu->r[31] + 0x000001F0u;
|
|
/* 025574EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025574F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 025574F4 */ _t8 = cpu->r[12] + 0x00000060u;
|
|
/* 025574F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 025574F8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 025574F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025574FC */ _t10 = cpu->r[8] + 0x0000021Cu;
|
|
/* 025574FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02557500 */ cpu->ctr = cpu->r[9];
|
|
/* 02557504 */ _t11 = cpu->r[31] + 0x000001F0u;
|
|
/* 02557504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02557508 */ cpu->r[3] = cpu->r[31];
|
|
/* 0255750C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557510 */ _t12 = cpu->r[30] + 0x00000034u;
|
|
/* 02557510 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[3]);
|
|
/* 02557514 */ _t13 = cpu->r[31] + 0x000001F0u;
|
|
/* 02557514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557518 */ Gambit_fn_023E4504(cpu);
|
|
/* 0255751C */ _t14 = cpu->r[31] + 0x000001F0u;
|
|
/* 0255751C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557520 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 02557520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557524 */ _t16 = cpu->r[10] + 0x00000038u;
|
|
/* 02557524 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02557528 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 02557528 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0255752C */ _t18 = cpu->r[10] + 0x0000003Cu;
|
|
/* 0255752C */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02557530 */ _t19 = cpu->r[31] + 0x00000068u;
|
|
/* 02557530 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557534 */ cpu->r[3] = 0x00000014u;
|
|
/* 02557538 */ _t20 = cpu->r[10] + 0x00000040u;
|
|
/* 02557538 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0255753C */ Gambit_fn_02801A78(cpu);
|
|
/* 02557540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557544 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557544 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02557544 */ if (_t22) goto L_0255754C; else goto L_02557548;
|
|
L_02557548: ; // 0x2557548
|
|
/* 02557548 */ Gambit_fn_027C6158(cpu);
|
|
L_0255754C: ; // 0x255754c
|
|
/* 0255754C */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0255754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02557550 */ _t24 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557550 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 02557554 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02557554 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02557558 */ _t26 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0255755C */ cpu->r[0] = 0x00000002u;
|
|
/* 02557560 */ _t27 = cpu->r[12] + 0x00000010u;
|
|
/* 02557560 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02557564 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02557564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02557568 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02557568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255756C */ cpu->lr = cpu->r[0];
|
|
/* 02557570 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02557574 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557578 */ return;
|
|
}
|
|
|
|
// fn_0255757C @ 0x255757c
|
|
void Gambit_fn_0255757C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_0255757C: ; // 0x255757c
|
|
/* 0255757C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0255757C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255757C */ cpu->r[1] = _t0;
|
|
/* 02557580 */ _t1 = cpu->r[3] + 0x000001ECu;
|
|
/* 02557580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557584 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02557588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0255758C */ cpu->r[10] = cpu->r[10] + 0xFFFFA944u;
|
|
/* 02557590 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02557590 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557590 */ if (_t3) goto L_025575A8; else goto L_02557594;
|
|
L_02557594: ; // 0x2557594
|
|
/* 02557594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557594 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557594 */ if (_t5) goto L_025575F0; else goto L_02557598;
|
|
L_02557598: ; // 0x2557598
|
|
/* 02557598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0255759C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255759C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255759C */ if (_t7) goto L_02557634; else goto L_025575A0;
|
|
L_025575A0: ; // 0x25575a0
|
|
/* 025575A0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 025575A4 */ return;
|
|
L_025575A8: ; // 0x25575a8
|
|
/* 025575A8 */ /* nop */
|
|
/* 025575AC */ cpu->r[7] = 0x100D0000u;
|
|
/* 025575B0 */ _t8 = cpu->r[7] + 0xFFFFA970u;
|
|
/* 025575B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025575B4 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 025575B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 025575B8 */ /* nop */
|
|
/* 025575BC */ /* nop */
|
|
/* 025575C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 025575C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025575C4 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 025575C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025575C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025575CC */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 025575CC */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 025575D0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 025575D0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[12]);
|
|
/* 025575D4 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 025575D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025575D8 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 025575D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 025575DC */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 025575DC */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 025575E0 */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 025575E0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 025575E4 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025575E4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 025575E8 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 025575E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 025575EC */ goto L_02557678;
|
|
L_025575F0: ; // 0x25575f0
|
|
/* 025575F0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 025575F4 */ /* nop */
|
|
/* 025575F8 */ _t20 = cpu->r[9] + 0xFFFFA974u;
|
|
/* 025575F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 025575FC */ _t21 = cpu->r[10] + 0x00000008u;
|
|
/* 025575FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02557600 */ /* nop */
|
|
/* 02557604 */ /* nop */
|
|
/* 02557608 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02557608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0255760C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0255760C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02557610 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557610 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02557614 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02557614 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02557618 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02557618 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 0255761C */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 0255761C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02557620 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557620 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02557624 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02557624 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 02557628 */ _t30 = cpu->r[4] + 0x00000004u;
|
|
/* 02557628 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 0255762C */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 0255762C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02557630 */ goto L_02557678;
|
|
L_02557634: ; // 0x2557634
|
|
/* 02557634 */ _t32 = cpu->r[10] + 0x00000008u;
|
|
/* 02557634 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02557638 */ cpu->r[11] = 0x100D0000u;
|
|
/* 0255763C */ /* nop */
|
|
/* 02557640 */ cpu->f[0] = cpu->f[11] + cpu->f[11];
|
|
/* 02557644 */ _t33 = cpu->r[11] + 0xFFFFA978u;
|
|
/* 02557644 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02557648 */ /* nop */
|
|
/* 0255764C */ /* nop */
|
|
/* 02557650 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 02557650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02557654 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02557654 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02557658 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 02557658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0255765C */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 0255765C */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02557660 */ _t38 = cpu->r[4] + 0x00000000u;
|
|
/* 02557660 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02557664 */ _t39 = cpu->r[4] + 0x00000004u;
|
|
/* 02557664 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02557668 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 02557668 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 0255766C */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0255766C */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02557670 */ _t42 = cpu->r[4] + 0x00000008u;
|
|
/* 02557670 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02557674 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02557674 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
L_02557678: ; // 0x2557678
|
|
/* 02557678 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0255767C */ return;
|
|
}
|
|
|
|
// fn_02557680 @ 0x2557680
|
|
void Gambit_fn_02557680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24;
|
|
|
|
L_02557680: ; // 0x2557680
|
|
/* 02557680 */ cpu->r[0] = cpu->lr;
|
|
/* 02557684 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02557684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557684 */ cpu->r[1] = _t0;
|
|
/* 02557688 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02557688 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255768C */ cpu->r[31] = cpu->r[3];
|
|
/* 02557690 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557690 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557694 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 02557694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557698 */ Gambit_fn_024F21E0(cpu);
|
|
/* 0255769C */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 0255769C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025576A0 */ cpu->r[4] = 0x00000003u;
|
|
/* 025576A4 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 025576A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025576A8 */ Gambit_fn_027B8224(cpu);
|
|
/* 025576AC */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 025576AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025576B0 */ _t7 = cpu->r[31] + 0x00000078u;
|
|
/* 025576B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025576B4 */ _t8 = cpu->r[8] + 0x0000001Cu;
|
|
/* 025576B4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 025576B8 */ _t9 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025576B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 025576BC */ _t10 = cpu->r[8] + 0x00000020u;
|
|
/* 025576BC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 025576C0 */ _t11 = cpu->r[31] + 0x00000080u;
|
|
/* 025576C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025576C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025576C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025576CC */ _t12 = cpu->r[8] + 0x00000024u;
|
|
/* 025576CC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 025576D0 */ Gambit_fn_0255757C(cpu);
|
|
/* 025576D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 025576D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025576D8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 025576D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025576DC */ cpu->f[13] = cpu->f[13] + cpu->f[13];
|
|
/* 025576E0 */ _t15 = cpu->r[31] + 0x000001F0u;
|
|
/* 025576E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025576E4 */ cpu->f[0] = cpu->f[0] + cpu->f[0];
|
|
/* 025576E8 */ _t16 = cpu->r[9] + 0x00000028u;
|
|
/* 025576E8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 025576EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025576F0 */ _t17 = cpu->r[9] + 0x0000002Cu;
|
|
/* 025576F0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 025576F4 */ _t18 = cpu->r[12] + 0x000060F4u;
|
|
/* 025576F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025576F8 */ cpu->r[10] = cpu->r[12] + 0x00080000u;
|
|
/* 025576FC */ _t19 = cpu->r[10] + 0xFFFFCEDCu;
|
|
/* 025576FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557700 */ _t20 = cpu->r[31] + 0x00000140u;
|
|
/* 02557700 */ cpu->r[4] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02557704 */ Gambit_fn_023E43BC(cpu);
|
|
/* 02557708 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 02557708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0255770C */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0255770C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02557710 */ cpu->ctr = cpu->r[0];
|
|
/* 02557714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557718 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0255771C */ cpu->lr = cpu->r[0];
|
|
/* 02557720 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02557720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02557724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02557728 */ return;
|
|
}
|
|
|
|
// fn_02557684 @ 0x2557684
|
|
void Gambit_fn_02557684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24;
|
|
|
|
L_02557684: ; // 0x2557684
|
|
/* 02557684 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02557684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557684 */ cpu->r[1] = _t0;
|
|
/* 02557688 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02557688 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255768C */ cpu->r[31] = cpu->r[3];
|
|
/* 02557690 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557690 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557694 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 02557694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557698 */ Gambit_fn_024F21E0(cpu);
|
|
/* 0255769C */ _t4 = cpu->r[31] + 0x00000030u;
|
|
/* 0255769C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025576A0 */ cpu->r[4] = 0x00000003u;
|
|
/* 025576A4 */ _t5 = cpu->r[31] + 0x000001ECu;
|
|
/* 025576A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025576A8 */ Gambit_fn_027B8224(cpu);
|
|
/* 025576AC */ _t6 = cpu->r[31] + 0x000001F0u;
|
|
/* 025576AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025576B0 */ _t7 = cpu->r[31] + 0x00000078u;
|
|
/* 025576B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 025576B4 */ _t8 = cpu->r[8] + 0x0000001Cu;
|
|
/* 025576B4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 025576B8 */ _t9 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025576B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 025576BC */ _t10 = cpu->r[8] + 0x00000020u;
|
|
/* 025576BC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 025576C0 */ _t11 = cpu->r[31] + 0x00000080u;
|
|
/* 025576C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 025576C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025576C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 025576CC */ _t12 = cpu->r[8] + 0x00000024u;
|
|
/* 025576CC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 025576D0 */ Gambit_fn_0255757C(cpu);
|
|
/* 025576D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 025576D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 025576D8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 025576D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 025576DC */ cpu->f[13] = cpu->f[13] + cpu->f[13];
|
|
/* 025576E0 */ _t15 = cpu->r[31] + 0x000001F0u;
|
|
/* 025576E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025576E4 */ cpu->f[0] = cpu->f[0] + cpu->f[0];
|
|
/* 025576E8 */ _t16 = cpu->r[9] + 0x00000028u;
|
|
/* 025576E8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 025576EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 025576F0 */ _t17 = cpu->r[9] + 0x0000002Cu;
|
|
/* 025576F0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 025576F4 */ _t18 = cpu->r[12] + 0x000060F4u;
|
|
/* 025576F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025576F8 */ cpu->r[10] = cpu->r[12] + 0x00080000u;
|
|
/* 025576FC */ _t19 = cpu->r[10] + 0xFFFFCEDCu;
|
|
/* 025576FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557700 */ _t20 = cpu->r[31] + 0x00000140u;
|
|
/* 02557700 */ cpu->r[4] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02557704 */ Gambit_fn_023E43BC(cpu);
|
|
/* 02557708 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 02557708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0255770C */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0255770C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02557710 */ cpu->ctr = cpu->r[0];
|
|
/* 02557714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557718 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0255771C */ cpu->lr = cpu->r[0];
|
|
/* 02557720 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02557720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02557724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02557728 */ return;
|
|
}
|
|
|
|
// fn_0255772C @ 0x255772c
|
|
void Gambit_fn_0255772C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0255772C: ; // 0x255772c
|
|
/* 0255772C */ cpu->r[0] = cpu->lr;
|
|
/* 02557730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557730 */ cpu->r[1] = _t0;
|
|
/* 02557734 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557734 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557738 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255773C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0255773C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557740 */ _t3 = cpu->r[31] + 0x000001ECu;
|
|
/* 02557740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02557748 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02557748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557748 */ if (_t5) goto L_02557788; else goto L_0255774C;
|
|
L_0255774C: ; // 0x255774c
|
|
/* 0255774C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255774C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255774C */ if (_t7) goto L_025577D4; else goto L_02557750;
|
|
L_02557750: ; // 0x2557750
|
|
/* 02557750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02557754 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557754 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02557754 */ if (_t9) goto L_02557820; else goto L_02557758;
|
|
L_02557758: ; // 0x2557758
|
|
/* 02557758 */ _t10 = cpu->r[31] + 0x00000134u;
|
|
/* 02557758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0255775C */ _t11 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255775C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02557760 */ _t12 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02557760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02557764 */ cpu->ctr = cpu->r[0];
|
|
/* 02557768 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 0255776C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557770 */ _t13 = cpu->r[31] + 0x00000134u;
|
|
/* 02557770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557774 */ _t14 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557778 */ _t15 = cpu->r[12] + 0x00000024u;
|
|
/* 02557778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0255777C */ cpu->ctr = cpu->r[0];
|
|
/* 02557780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557784 */ goto L_02557868;
|
|
L_02557788: ; // 0x2557788
|
|
/* 02557788 */ _t16 = cpu->r[31] + 0x00000134u;
|
|
/* 02557788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255778C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557790 */ _t17 = cpu->r[12] + 0xFFFFA970u;
|
|
/* 02557790 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02557794 */ _t18 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02557798 */ _t19 = cpu->r[12] + 0x00000044u;
|
|
/* 02557798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0255779C */ cpu->ctr = cpu->r[0];
|
|
/* 025577A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577A4 */ _t20 = cpu->r[31] + 0x00000134u;
|
|
/* 025577A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025577A8 */ _t21 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025577AC */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025577AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025577B0 */ cpu->ctr = cpu->r[0];
|
|
/* 025577B4 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 025577B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577BC */ _t23 = cpu->r[31] + 0x00000134u;
|
|
/* 025577BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025577C0 */ _t24 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025577C4 */ _t25 = cpu->r[12] + 0x00000024u;
|
|
/* 025577C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025577C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025577CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577D0 */ goto L_02557868;
|
|
L_025577D4: ; // 0x25577d4
|
|
/* 025577D4 */ _t26 = cpu->r[31] + 0x00000134u;
|
|
/* 025577D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025577D8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025577DC */ _t27 = cpu->r[12] + 0xFFFFA974u;
|
|
/* 025577DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025577E0 */ _t28 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025577E4 */ _t29 = cpu->r[12] + 0x00000044u;
|
|
/* 025577E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025577E8 */ cpu->ctr = cpu->r[0];
|
|
/* 025577EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577F0 */ _t30 = cpu->r[31] + 0x00000134u;
|
|
/* 025577F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025577F4 */ _t31 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025577F8 */ _t32 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025577F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025577FC */ cpu->ctr = cpu->r[0];
|
|
/* 02557800 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02557804 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557808 */ _t33 = cpu->r[31] + 0x00000134u;
|
|
/* 02557808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0255780C */ _t34 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02557810 */ _t35 = cpu->r[12] + 0x00000024u;
|
|
/* 02557810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02557814 */ cpu->ctr = cpu->r[0];
|
|
/* 02557818 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255781C */ goto L_02557868;
|
|
L_02557820: ; // 0x2557820
|
|
/* 02557820 */ _t36 = cpu->r[31] + 0x00000134u;
|
|
/* 02557820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02557824 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557828 */ _t37 = cpu->r[12] + 0xFFFFA978u;
|
|
/* 02557828 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0255782C */ _t38 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255782C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02557830 */ _t39 = cpu->r[12] + 0x00000044u;
|
|
/* 02557830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02557834 */ cpu->ctr = cpu->r[0];
|
|
/* 02557838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255783C */ _t40 = cpu->r[31] + 0x00000134u;
|
|
/* 0255783C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02557840 */ _t41 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02557844 */ _t42 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02557844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02557848 */ cpu->ctr = cpu->r[0];
|
|
/* 0255784C */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02557850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557854 */ _t43 = cpu->r[31] + 0x00000134u;
|
|
/* 02557854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02557858 */ _t44 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0255785C */ _t45 = cpu->r[12] + 0x00000024u;
|
|
/* 0255785C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02557860 */ cpu->ctr = cpu->r[0];
|
|
/* 02557864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02557868: ; // 0x2557868
|
|
/* 02557868 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02557868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0255786C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255786C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02557870 */ cpu->lr = cpu->r[0];
|
|
/* 02557874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557878 */ return;
|
|
}
|
|
|
|
// fn_02557730 @ 0x2557730
|
|
void Gambit_fn_02557730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02557730: ; // 0x2557730
|
|
/* 02557730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557730 */ cpu->r[1] = _t0;
|
|
/* 02557734 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557734 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557738 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255773C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0255773C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557740 */ _t3 = cpu->r[31] + 0x000001ECu;
|
|
/* 02557740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02557748 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02557748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557748 */ if (_t5) goto L_02557788; else goto L_0255774C;
|
|
L_0255774C: ; // 0x255774c
|
|
/* 0255774C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255774C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255774C */ if (_t7) goto L_025577D4; else goto L_02557750;
|
|
L_02557750: ; // 0x2557750
|
|
/* 02557750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02557754 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557754 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02557754 */ if (_t9) goto L_02557820; else goto L_02557758;
|
|
L_02557758: ; // 0x2557758
|
|
/* 02557758 */ _t10 = cpu->r[31] + 0x00000134u;
|
|
/* 02557758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0255775C */ _t11 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255775C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02557760 */ _t12 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02557760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02557764 */ cpu->ctr = cpu->r[0];
|
|
/* 02557768 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 0255776C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557770 */ _t13 = cpu->r[31] + 0x00000134u;
|
|
/* 02557770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557774 */ _t14 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557778 */ _t15 = cpu->r[12] + 0x00000024u;
|
|
/* 02557778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0255777C */ cpu->ctr = cpu->r[0];
|
|
/* 02557780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557784 */ goto L_02557868;
|
|
L_02557788: ; // 0x2557788
|
|
/* 02557788 */ _t16 = cpu->r[31] + 0x00000134u;
|
|
/* 02557788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255778C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557790 */ _t17 = cpu->r[12] + 0xFFFFA970u;
|
|
/* 02557790 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02557794 */ _t18 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02557798 */ _t19 = cpu->r[12] + 0x00000044u;
|
|
/* 02557798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0255779C */ cpu->ctr = cpu->r[0];
|
|
/* 025577A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577A4 */ _t20 = cpu->r[31] + 0x00000134u;
|
|
/* 025577A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025577A8 */ _t21 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 025577AC */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025577AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 025577B0 */ cpu->ctr = cpu->r[0];
|
|
/* 025577B4 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 025577B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577BC */ _t23 = cpu->r[31] + 0x00000134u;
|
|
/* 025577BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025577C0 */ _t24 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025577C4 */ _t25 = cpu->r[12] + 0x00000024u;
|
|
/* 025577C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 025577C8 */ cpu->ctr = cpu->r[0];
|
|
/* 025577CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577D0 */ goto L_02557868;
|
|
L_025577D4: ; // 0x25577d4
|
|
/* 025577D4 */ _t26 = cpu->r[31] + 0x00000134u;
|
|
/* 025577D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025577D8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025577DC */ _t27 = cpu->r[12] + 0xFFFFA974u;
|
|
/* 025577DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 025577E0 */ _t28 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 025577E4 */ _t29 = cpu->r[12] + 0x00000044u;
|
|
/* 025577E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025577E8 */ cpu->ctr = cpu->r[0];
|
|
/* 025577EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025577F0 */ _t30 = cpu->r[31] + 0x00000134u;
|
|
/* 025577F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025577F4 */ _t31 = cpu->r[3] + 0x000001CCu;
|
|
/* 025577F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025577F8 */ _t32 = cpu->r[12] + 0x0000002Cu;
|
|
/* 025577F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025577FC */ cpu->ctr = cpu->r[0];
|
|
/* 02557800 */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02557804 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557808 */ _t33 = cpu->r[31] + 0x00000134u;
|
|
/* 02557808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0255780C */ _t34 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02557810 */ _t35 = cpu->r[12] + 0x00000024u;
|
|
/* 02557810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02557814 */ cpu->ctr = cpu->r[0];
|
|
/* 02557818 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255781C */ goto L_02557868;
|
|
L_02557820: ; // 0x2557820
|
|
/* 02557820 */ _t36 = cpu->r[31] + 0x00000134u;
|
|
/* 02557820 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02557824 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557828 */ _t37 = cpu->r[12] + 0xFFFFA978u;
|
|
/* 02557828 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0255782C */ _t38 = cpu->r[3] + 0x000001CCu;
|
|
/* 0255782C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02557830 */ _t39 = cpu->r[12] + 0x00000044u;
|
|
/* 02557830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02557834 */ cpu->ctr = cpu->r[0];
|
|
/* 02557838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0255783C */ _t40 = cpu->r[31] + 0x00000134u;
|
|
/* 0255783C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02557840 */ _t41 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02557844 */ _t42 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02557844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02557848 */ cpu->ctr = cpu->r[0];
|
|
/* 0255784C */ cpu->r[4] = cpu->r[31] + 0x00000054u;
|
|
/* 02557850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557854 */ _t43 = cpu->r[31] + 0x00000134u;
|
|
/* 02557854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02557858 */ _t44 = cpu->r[3] + 0x000001CCu;
|
|
/* 02557858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0255785C */ _t45 = cpu->r[12] + 0x00000024u;
|
|
/* 0255785C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02557860 */ cpu->ctr = cpu->r[0];
|
|
/* 02557864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02557868: ; // 0x2557868
|
|
/* 02557868 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02557868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0255786C */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255786C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02557870 */ cpu->lr = cpu->r[0];
|
|
/* 02557874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557878 */ return;
|
|
}
|
|
|
|
// fn_0255787C @ 0x255787c
|
|
void Gambit_fn_0255787C(CPUState* 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_0255787C: ; // 0x255787c
|
|
/* 0255787C */ cpu->r[0] = cpu->lr;
|
|
/* 02557880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557880 */ cpu->r[1] = _t0;
|
|
/* 02557884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557888 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557888 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0255788C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0255788C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557890 */ _t4 = cpu->r[7] + 0x0000036Cu;
|
|
/* 02557890 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557894 */ cpu->ctr = cpu->r[8];
|
|
/* 02557898 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255789C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025578A0 */ _t5 = cpu->r[31] + 0x000001F0u;
|
|
/* 025578A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025578A4 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 025578A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025578A8 */ _t7 = cpu->r[9] + 0x0000001Cu;
|
|
/* 025578A8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 025578AC */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025578AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025578B0 */ _t9 = cpu->r[9] + 0x00000020u;
|
|
/* 025578B0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 025578B4 */ _t10 = cpu->r[31] + 0x00000080u;
|
|
/* 025578B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025578B8 */ _t11 = cpu->r[9] + 0x00000024u;
|
|
/* 025578B8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 025578BC */ _t12 = cpu->r[31] + 0x000001F0u;
|
|
/* 025578BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025578C0 */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 025578C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025578C4 */ _t14 = cpu->r[11] + 0x00000038u;
|
|
/* 025578C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 025578C8 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 025578C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025578CC */ _t16 = cpu->r[11] + 0x0000003Cu;
|
|
/* 025578CC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 025578D0 */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 025578D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025578D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025578D8 */ _t18 = cpu->r[11] + 0x00000040u;
|
|
/* 025578D8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 025578DC */ Gambit_fn_0255772C(cpu);
|
|
/* 025578E0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 025578E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025578E4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025578E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025578E8 */ cpu->lr = cpu->r[0];
|
|
/* 025578EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025578F0 */ return;
|
|
}
|
|
|
|
// fn_02557880 @ 0x2557880
|
|
void Gambit_fn_02557880(CPUState* 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_02557880: ; // 0x2557880
|
|
/* 02557880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557880 */ cpu->r[1] = _t0;
|
|
/* 02557884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557888 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557888 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0255788C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0255788C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557890 */ _t4 = cpu->r[7] + 0x0000036Cu;
|
|
/* 02557890 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557894 */ cpu->ctr = cpu->r[8];
|
|
/* 02557898 */ cpu->r[31] = cpu->r[3];
|
|
/* 0255789C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025578A0 */ _t5 = cpu->r[31] + 0x000001F0u;
|
|
/* 025578A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025578A4 */ _t6 = cpu->r[31] + 0x00000078u;
|
|
/* 025578A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 025578A8 */ _t7 = cpu->r[9] + 0x0000001Cu;
|
|
/* 025578A8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 025578AC */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025578AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 025578B0 */ _t9 = cpu->r[9] + 0x00000020u;
|
|
/* 025578B0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 025578B4 */ _t10 = cpu->r[31] + 0x00000080u;
|
|
/* 025578B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 025578B8 */ _t11 = cpu->r[9] + 0x00000024u;
|
|
/* 025578B8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 025578BC */ _t12 = cpu->r[31] + 0x000001F0u;
|
|
/* 025578BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025578C0 */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 025578C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025578C4 */ _t14 = cpu->r[11] + 0x00000038u;
|
|
/* 025578C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 025578C8 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 025578C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 025578CC */ _t16 = cpu->r[11] + 0x0000003Cu;
|
|
/* 025578CC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 025578D0 */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 025578D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025578D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025578D8 */ _t18 = cpu->r[11] + 0x00000040u;
|
|
/* 025578D8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 025578DC */ Gambit_fn_0255772C(cpu);
|
|
/* 025578E0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 025578E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 025578E4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025578E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025578E8 */ cpu->lr = cpu->r[0];
|
|
/* 025578EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025578F0 */ return;
|
|
}
|
|
|
|
// fn_025578F4 @ 0x25578f4
|
|
void Gambit_fn_025578F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_025578F4: ; // 0x25578f4
|
|
/* 025578F4 */ cpu->r[0] = cpu->lr;
|
|
/* 025578F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 025578F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025578F8 */ cpu->r[1] = _t0;
|
|
/* 025578FC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 025578FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557900 */ cpu->r[31] = cpu->r[3];
|
|
/* 02557904 */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557908 */ Gambit_fn_024F606C(cpu);
|
|
/* 0255790C */ _t3 = cpu->r[31] + 0x000001FCu;
|
|
/* 0255790C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557910 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02557914 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02557914 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02557918 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02557918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0255791C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0255791C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02557920 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02557920 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02557924 */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557924 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02557928 */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 02557928 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0255792C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0255792C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02557930 */ _t11 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02557930 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02557934 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557934 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02557938 */ _t13 = cpu->r[31] + 0x000001ECu;
|
|
/* 02557938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0255793C */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 0255793C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02557940 */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 02557940 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02557944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02557948 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02557948 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 0255794C */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 0255794C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02557950 */ _t18 = cpu->r[31] + 0x00000064u;
|
|
/* 02557950 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02557954 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557954 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02557958 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02557958 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 0255795C */ _t21 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0255795C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02557960 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 02557960 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02557964 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02557964 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02557968 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02557968 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 0255796C */ _t25 = cpu->r[31] + 0x00000074u;
|
|
/* 0255796C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02557970 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 02557970 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02557974 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02557974 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02557978 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02557978 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 0255797C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0255797C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0255797C */ if (_t30) goto L_025579C0; else goto L_02557980;
|
|
L_02557980: ; // 0x2557980
|
|
/* 02557980 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557980 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02557980 */ if (_t32) goto L_025579E8; else goto L_02557984;
|
|
L_02557984: ; // 0x2557984
|
|
/* 02557984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02557988 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557988 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02557988 */ if (_t34) goto L_02557A10; else goto L_0255798C;
|
|
L_0255798C: ; // 0x255798c
|
|
/* 0255798C */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0255798C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02557990 */ _t36 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557990 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02557994 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557998 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0255799C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 025579A0 */ _t37 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025579A0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
/* 025579A4 */ Gambit_fn_02C69510(cpu);
|
|
/* 025579A8 */ cpu->r[4] = 0x00000003u;
|
|
/* 025579AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025579B0 */ Gambit_fn_02980304(cpu);
|
|
/* 025579B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025579B8 */ Gambit_fn_02980318(cpu);
|
|
/* 025579BC */ goto L_02557A64;
|
|
L_025579C0: ; // 0x25579c0
|
|
/* 025579C0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025579C4 */ _t38 = cpu->r[12] + 0xFFFFA970u;
|
|
/* 025579C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 025579C8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025579CC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 025579CC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 025579D0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025579D4 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 025579D4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 025579D8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025579DC */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025579DC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 025579E0 */ Gambit_fn_02253CE4(cpu);
|
|
/* 025579E4 */ goto L_02557A34;
|
|
L_025579E8: ; // 0x25579e8
|
|
/* 025579E8 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025579EC */ _t42 = cpu->r[11] + 0xFFFFA974u;
|
|
/* 025579EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025579F0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025579F4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 025579F4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 025579F8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025579FC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 025579FC */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02557A00 */ cpu->r[4] = cpu->r[3];
|
|
/* 02557A04 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557A04 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02557A08 */ Gambit_fn_02253CE4(cpu);
|
|
/* 02557A0C */ goto L_02557A34;
|
|
L_02557A10: ; // 0x2557a10
|
|
/* 02557A10 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557A14 */ _t46 = cpu->r[12] + 0xFFFFA978u;
|
|
/* 02557A14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02557A18 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557A1C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02557A1C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02557A20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02557A24 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02557A24 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[12]);
|
|
/* 02557A28 */ cpu->r[4] = cpu->r[3];
|
|
/* 02557A2C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557A2C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 02557A30 */ Gambit_fn_02253CE4(cpu);
|
|
L_02557A34: ; // 0x2557a34
|
|
/* 02557A34 */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 02557A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02557A38 */ _t51 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557A38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02557A3C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557A40 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02557A44 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02557A48 */ _t52 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557A48 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02557A4C */ Gambit_fn_02C69510(cpu);
|
|
/* 02557A50 */ cpu->r[4] = 0x00000003u;
|
|
/* 02557A54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02557A58 */ Gambit_fn_02980304(cpu);
|
|
/* 02557A5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02557A60 */ Gambit_fn_02980318(cpu);
|
|
L_02557A64: ; // 0x2557a64
|
|
/* 02557A64 */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02557A68 */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 02557A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02557A6C */ cpu->lr = cpu->r[0];
|
|
/* 02557A70 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02557A74 */ return;
|
|
}
|
|
|
|
// fn_025578F8 @ 0x25578f8
|
|
void Gambit_fn_025578F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_025578F8: ; // 0x25578f8
|
|
/* 025578F8 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 025578F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025578F8 */ cpu->r[1] = _t0;
|
|
/* 025578FC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 025578FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557900 */ cpu->r[31] = cpu->r[3];
|
|
/* 02557904 */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557908 */ Gambit_fn_024F606C(cpu);
|
|
/* 0255790C */ _t3 = cpu->r[31] + 0x000001FCu;
|
|
/* 0255790C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557910 */ Gambit_fn_027C61D0(cpu);
|
|
/* 02557914 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02557914 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02557918 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02557918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0255791C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0255791C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02557920 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02557920 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02557924 */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557924 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02557928 */ _t9 = cpu->r[31] + 0x00000060u;
|
|
/* 02557928 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0255792C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0255792C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02557930 */ _t11 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02557930 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02557934 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557934 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02557938 */ _t13 = cpu->r[31] + 0x000001ECu;
|
|
/* 02557938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0255793C */ _t14 = cpu->r[31] + 0x00000080u;
|
|
/* 0255793C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02557940 */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 02557940 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02557944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02557948 */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 02557948 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 0255794C */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 0255794C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02557950 */ _t18 = cpu->r[31] + 0x00000064u;
|
|
/* 02557950 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02557954 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557954 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02557958 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02557958 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 0255795C */ _t21 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0255795C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02557960 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 02557960 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02557964 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02557964 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02557968 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02557968 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 0255796C */ _t25 = cpu->r[31] + 0x00000074u;
|
|
/* 0255796C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02557970 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 02557970 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02557974 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02557974 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02557978 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02557978 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 0255797C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0255797C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0255797C */ if (_t30) goto L_025579C0; else goto L_02557980;
|
|
L_02557980: ; // 0x2557980
|
|
/* 02557980 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557980 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02557980 */ if (_t32) goto L_025579E8; else goto L_02557984;
|
|
L_02557984: ; // 0x2557984
|
|
/* 02557984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02557988 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557988 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02557988 */ if (_t34) goto L_02557A10; else goto L_0255798C;
|
|
L_0255798C: ; // 0x255798c
|
|
/* 0255798C */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0255798C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02557990 */ _t36 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557990 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02557994 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557998 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0255799C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 025579A0 */ _t37 = cpu->r[31] + 0x0000007Cu;
|
|
/* 025579A0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
/* 025579A4 */ Gambit_fn_02C69510(cpu);
|
|
/* 025579A8 */ cpu->r[4] = 0x00000003u;
|
|
/* 025579AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025579B0 */ Gambit_fn_02980304(cpu);
|
|
/* 025579B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025579B8 */ Gambit_fn_02980318(cpu);
|
|
/* 025579BC */ goto L_02557A64;
|
|
L_025579C0: ; // 0x25579c0
|
|
/* 025579C0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025579C4 */ _t38 = cpu->r[12] + 0xFFFFA970u;
|
|
/* 025579C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 025579C8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025579CC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 025579CC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 025579D0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025579D4 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 025579D4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 025579D8 */ cpu->r[4] = cpu->r[3];
|
|
/* 025579DC */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025579DC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 025579E0 */ Gambit_fn_02253CE4(cpu);
|
|
/* 025579E4 */ goto L_02557A34;
|
|
L_025579E8: ; // 0x25579e8
|
|
/* 025579E8 */ cpu->r[11] = 0x100D0000u;
|
|
/* 025579EC */ _t42 = cpu->r[11] + 0xFFFFA974u;
|
|
/* 025579EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 025579F0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 025579F4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 025579F4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 025579F8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 025579FC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 025579FC */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02557A00 */ cpu->r[4] = cpu->r[3];
|
|
/* 02557A04 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557A04 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02557A08 */ Gambit_fn_02253CE4(cpu);
|
|
/* 02557A0C */ goto L_02557A34;
|
|
L_02557A10: ; // 0x2557a10
|
|
/* 02557A10 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557A14 */ _t46 = cpu->r[12] + 0xFFFFA978u;
|
|
/* 02557A14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02557A18 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557A1C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02557A1C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02557A20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02557A24 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02557A24 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[12]);
|
|
/* 02557A28 */ cpu->r[4] = cpu->r[3];
|
|
/* 02557A2C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557A2C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 02557A30 */ Gambit_fn_02253CE4(cpu);
|
|
L_02557A34: ; // 0x2557a34
|
|
/* 02557A34 */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 02557A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02557A38 */ _t51 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557A38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02557A3C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02557A40 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02557A44 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02557A48 */ _t52 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02557A48 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02557A4C */ Gambit_fn_02C69510(cpu);
|
|
/* 02557A50 */ cpu->r[4] = 0x00000003u;
|
|
/* 02557A54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02557A58 */ Gambit_fn_02980304(cpu);
|
|
/* 02557A5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02557A60 */ Gambit_fn_02980318(cpu);
|
|
L_02557A64: ; // 0x2557a64
|
|
/* 02557A64 */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02557A68 */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 02557A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02557A6C */ cpu->lr = cpu->r[0];
|
|
/* 02557A70 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02557A74 */ return;
|
|
}
|
|
|
|
// fn_02557A78 @ 0x2557a78
|
|
void Gambit_fn_02557A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02060FD8: ; // 0x2060fd8
|
|
/* 02060FD8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02060FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02060FD8 */ cpu->r[1] = _t0;
|
|
/* 02060FDC */ /* nop */
|
|
/* 02060FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02060FE4 */ cpu->r[23] = cpu->r[3];
|
|
/* 02060FE8 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02060FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02060FEC */ Gambit_fn_02062AF0(cpu);
|
|
/* 02060FF0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02060FF4 */ _t2 = cpu->r[7] + 0xFFFFC668u;
|
|
/* 02060FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02060FF4 */ cpu->r[7] = _t2;
|
|
/* 02060FF8 */ cpu->r[31] = 0x101E0000u;
|
|
/* 02060FFC */ cpu->r[22] = cpu->r[3];
|
|
/* 02061000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02061004 */ cpu->r[31] = cpu->r[31] + 0xFFFFC5F0u;
|
|
/* 02061008 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061008 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02061008 */ if (_t4) goto L_0206100C; else goto L_02061054;
|
|
L_0206100C: ; // 0x206100c
|
|
/* 0206100C */ cpu->r[12] = 0x00000001u;
|
|
/* 02061010 */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 02061014 */ cpu->r[4] = 0x10000000u;
|
|
/* 02061018 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02061018 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0206101C */ cpu->r[3] = cpu->r[31];
|
|
/* 02061020 */ cpu->r[5] = 0x00000003u;
|
|
/* 02061024 */ cpu->r[4] = cpu->r[4] + 0x00006CC8u;
|
|
/* 02061028 */ cpu->r[7] = 0x00000000u;
|
|
/* 0206102C */ Gambit_fn_028A6750(cpu);
|
|
/* 02061030 */ cpu->r[6] = 0x02060000u;
|
|
/* 02061034 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02061038 */ cpu->r[4] = 0x00000003u;
|
|
/* 0206103C */ cpu->r[6] = cpu->r[6] + 0x00001178u;
|
|
/* 02061040 */ cpu->r[5] = 0x00000008u;
|
|
/* 02061044 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02061048 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0206104C */ cpu->r[3] = cpu->r[3] + 0x00002F10u;
|
|
/* 02061050 */ Gambit_fn_02C83090(cpu);
|
|
L_02061054: ; // 0x2061054
|
|
/* 02061054 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02061054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02061058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206105C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206105C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0206105C */ if (_t8) goto L_02061060; else goto L_02061154;
|
|
L_02061060: ; // 0x2061060
|
|
/* 02061060 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02061064 */ cpu->r[30] = 0x00000000u;
|
|
/* 02061068 */ cpu->r[19] = 0x101D0000u;
|
|
/* 0206106C */ cpu->r[20] = 0x101D0000u;
|
|
/* 02061070 */ cpu->r[21] = 0x00000001u;
|
|
/* 02061074 */ cpu->r[27] = cpu->r[30];
|
|
/* 02061078 */ cpu->r[25] = 0x101D0000u;
|
|
/* 0206107C */ cpu->r[26] = cpu->r[26] + 0xFFFFEAB0u;
|
|
/* 02061080 */ cpu->r[24] = 0x101D0000u;
|
|
L_02061084: ; // 0x2061084
|
|
/* 02061084 */ _t9 = cpu->r[24] + 0xFFFFEAC4u;
|
|
/* 02061084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02061088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206108C */ cpu->r[29] = cpu->r[30];
|
|
/* 02061090 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061090 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02061090 */ if (_t11) goto L_02061094; else goto L_020610AC;
|
|
L_02061094: ; // 0x2061094
|
|
/* 02061094 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02061098 */ cpu->r[3] = cpu->r[25] + 0x0000390Du;
|
|
/* 0206109C */ cpu->r[5] = 0x00000016u;
|
|
/* 020610A0 */ cpu->r[4] = cpu->r[4] + 0x00002EF8u;
|
|
/* 020610A4 */ _t12 = cpu->r[24] + 0xFFFFEAC4u;
|
|
/* 020610A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[21]);
|
|
/* 020610A8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_020610AC: ; // 0x20610ac
|
|
/* 020610AC */ _t13 = cpu->r[20] + 0xFFFFEAC0u;
|
|
/* 020610AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020610B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020610B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020610B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 020610B4 */ if (_t15) goto L_020610B8; else goto L_020610C0;
|
|
L_020610B8: ; // 0x20610b8
|
|
/* 020610B8 */ _t16 = cpu->r[19] + 0xFFFFEABCu;
|
|
/* 020610B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 020610BC */ _t17 = cpu->r[20] + 0xFFFFEAC0u;
|
|
/* 020610BC */ rbrew_write32(cpu->mem, _t17, cpu->r[21]);
|
|
L_020610C0: ; // 0x20610c0
|
|
/* 020610C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000003u);
|
|
/* 020610C4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020610C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 020610C4 */ if (_t19) goto L_020610EC; else goto L_020610C8;
|
|
L_020610C8: ; // 0x20610c8
|
|
/* 020610C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 020610CC */ cpu->r[3] = cpu->r[31];
|
|
/* 020610D0 */ cpu->r[5] = 0x00000000u;
|
|
/* 020610D4 */ Gambit_fn_028A6634(cpu);
|
|
/* 020610D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 020610DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000003u);
|
|
/* 020610E0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020610E0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 020610E0 */ if (_t21) goto L_02061154; else goto L_020610E4;
|
|
L_020610E4: ; // 0x20610e4
|
|
/* 020610E4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020610E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 020610E4 */ if (_t23) goto L_02061084; else goto L_020610E8;
|
|
L_020610E8: ; // 0x20610e8
|
|
/* 020610E8 */ goto L_02061154;
|
|
L_020610EC: ; // 0x20610ec
|
|
/* 020610EC */ _t24 = cpu->r[19] + 0xFFFFEABCu;
|
|
/* 020610EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 020610F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020610F4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020610F4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 020610F4 */ if (_t26) goto L_020610F8; else goto L_02061130;
|
|
L_020610F8: ; // 0x20610f8
|
|
/* 020610F8 */ Gambit_fn_0282A450(cpu);
|
|
/* 020610FC */ cpu->r[28] = cpu->r[3];
|
|
/* 02061100 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02061104 */ _t27 = cpu->r[19] + 0xFFFFEABCu;
|
|
/* 02061104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02061108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206110C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206110C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0206110C */ if (_t29) goto L_02061110; else goto L_02061124;
|
|
L_02061110: ; // 0x2061110
|
|
/* 02061110 */ cpu->r[5] = 0x00000003u;
|
|
/* 02061114 */ cpu->r[4] = cpu->r[25] + 0x0000390Du;
|
|
/* 02061118 */ cpu->r[3] = cpu->r[26];
|
|
/* 0206111C */ Gambit_fn_0282A374(cpu);
|
|
/* 02061120 */ _t30 = cpu->r[19] + 0xFFFFEABCu;
|
|
/* 02061120 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
L_02061124: ; // 0x2061124
|
|
/* 02061124 */ cpu->r[3] = cpu->r[28];
|
|
/* 02061128 */ Gambit_fn_02837030(cpu);
|
|
/* 0206112C */ _t31 = cpu->r[19] + 0xFFFFEABCu;
|
|
/* 0206112C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
L_02061130: ; // 0x2061130
|
|
/* 02061130 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02061134 */ cpu->r[3] = cpu->r[31];
|
|
/* 02061138 */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 02061138 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0206113C */ cpu->r[4] = cpu->r[30];
|
|
/* 02061140 */ Gambit_fn_028A6634(cpu);
|
|
/* 02061144 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02061148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000003u);
|
|
/* 0206114C */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0206114C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0206114C */ if (_t34) goto L_02061154; else goto L_02061150;
|
|
L_02061150: ; // 0x2061150
|
|
/* 02061150 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02061150 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02061150 */ if (_t36) goto L_02061084; else goto L_02061154;
|
|
L_02061154: ; // 0x2061154
|
|
/* 02061154 */ cpu->r[3] = cpu->r[23];
|
|
/* 02061158 */ cpu->r[4] = cpu->r[31];
|
|
/* 0206115C */ Gambit_fn_027B81E4(cpu);
|
|
/* 02061160 */ cpu->r[3] = cpu->r[22] + 0x00000001u;
|
|
/* 02061164 */ /* nop */
|
|
/* 02061168 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 02061168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0206116C */ cpu->lr = cpu->r[0];
|
|
/* 02061170 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02061174 */ return;
|
|
L_02557A78: ; // 0x2557a78
|
|
/* 02557A78 */ _t38 = cpu->r[3] + 0x00000030u;
|
|
/* 02557A78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02557A7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02557A80 */ goto L_02060FD8;
|
|
}
|
|
|
|
// fn_02557A88 @ 0x2557a88
|
|
void Gambit_fn_02557A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02557A88: ; // 0x2557a88
|
|
/* 02557A88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557A88 */ cpu->r[1] = _t0;
|
|
/* 02557A8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557A90 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02557A94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02557A98 */ cpu->r[5] = 0x00000001u;
|
|
/* 02557A9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557A9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557AA0 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 02557AA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557AA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFA98Cu;
|
|
/* 02557AA8 */ Gambit_fn_02398850(cpu);
|
|
/* 02557AAC */ cpu->r[5] = 0x100D0000u;
|
|
/* 02557AB0 */ _t4 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557AB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02557AB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFA97Cu;
|
|
/* 02557ABC */ Gambit_fn_027C63C4(cpu);
|
|
/* 02557AC0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02557AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02557AC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557ACC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557AD0 */ return;
|
|
}
|
|
|
|
// fn_02557AE4 @ 0x2557ae4
|
|
void Gambit_fn_02557AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02557AE4: ; // 0x2557ae4
|
|
/* 02557AE4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02557AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557AE4 */ cpu->r[1] = _t0;
|
|
/* 02557AE8 */ _t1 = cpu->r[12] + 0x000001E8u;
|
|
/* 02557AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557AEC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02557AF0 */ _t2 = cpu->r[12] + 0x000001F8u;
|
|
/* 02557AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02557AF4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02557AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02557AF8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02557AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02557AFC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557AFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02557B00 */ Gambit_fn_024F2540(cpu);
|
|
/* 02557B04 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02557B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557B08 */ cpu->lr = cpu->r[0];
|
|
/* 02557B0C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02557B10 */ return;
|
|
}
|
|
|
|
// fn_02557B14 @ 0x2557b14
|
|
void Gambit_fn_02557B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02557B14: ; // 0x2557b14
|
|
/* 02557B14 */ cpu->r[0] = cpu->lr;
|
|
/* 02557B18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02557B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02557B1C */ cpu->r[8] = cpu->r[4];
|
|
/* 02557B20 */ _t1 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02557B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02557B20 */ cpu->r[1] = _t1;
|
|
/* 02557B24 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02557B28 */ Gambit_fn_0255757C(cpu);
|
|
/* 02557B2C */ /* nop */
|
|
/* 02557B30 */ /* nop */
|
|
/* 02557B34 */ _t2 = cpu->r[3] + 0x00000080u;
|
|
/* 02557B34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02557B38 */ /* nop */
|
|
/* 02557B3C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02557B3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02557B40 */ /* nop */
|
|
/* 02557B44 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02557B44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557B48 */ /* nop */
|
|
/* 02557B4C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557B50 */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 02557B54 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02557B54 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02557B58 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02557B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02557B5C */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02557B5C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02557B60 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02557B60 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02557B64 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02557B64 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02557B68 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02557B68 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02557B6C */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02557B6C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02557B70 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 02557B70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02557B74 */ /* nop */
|
|
/* 02557B78 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02557B78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557B7C */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 02557B7C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
|
|
/* 02557B80 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02557B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02557B84 */ cpu->f[9] = cpu->f[0] + cpu->f[9];
|
|
/* 02557B88 */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02557B88 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02557B8C */ _t18 = cpu->r[1] + 0x00000030u;
|
|
/* 02557B8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02557B90 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557B90 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02557B94 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557B94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02557B98 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557B98 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[9]);
|
|
/* 02557B9C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557B9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02557BA0 */ _t23 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02557BA0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02557BA4 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02557BA4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02557BA8 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02557BA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02557BAC */ _t26 = cpu->r[8] + 0x00000010u;
|
|
/* 02557BAC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02557BB0 */ _t27 = cpu->r[8] + 0x00000014u;
|
|
/* 02557BB0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02557BB4 */ _t28 = cpu->r[8] + 0x00000000u;
|
|
/* 02557BB4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
|
|
/* 02557BB8 */ _t29 = cpu->r[8] + 0x00000004u;
|
|
/* 02557BB8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 02557BBC */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02557BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02557BC4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02557BC8 */ return;
|
|
}
|
|
|
|
// fn_02557B20 @ 0x2557b20
|
|
void Gambit_fn_02557B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02557B20: ; // 0x2557b20
|
|
/* 02557B20 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02557B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557B20 */ cpu->r[1] = _t0;
|
|
/* 02557B24 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02557B28 */ Gambit_fn_0255757C(cpu);
|
|
/* 02557B2C */ /* nop */
|
|
/* 02557B30 */ /* nop */
|
|
/* 02557B34 */ _t1 = cpu->r[3] + 0x00000080u;
|
|
/* 02557B34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02557B38 */ /* nop */
|
|
/* 02557B3C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 02557B3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02557B40 */ /* nop */
|
|
/* 02557B44 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02557B44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557B48 */ /* nop */
|
|
/* 02557B4C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557B50 */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 02557B54 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02557B54 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02557B58 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02557B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557B5C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02557B5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02557B60 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02557B60 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02557B64 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02557B64 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02557B68 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02557B68 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02557B6C */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02557B6C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02557B70 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 02557B70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02557B74 */ /* nop */
|
|
/* 02557B78 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02557B78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557B7C */ _t14 = cpu->r[8] + 0x00000008u;
|
|
/* 02557B7C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02557B80 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02557B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557B84 */ cpu->f[9] = cpu->f[0] + cpu->f[9];
|
|
/* 02557B88 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02557B88 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02557B8C */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02557B8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02557B90 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557B90 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02557B94 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557B94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02557B98 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557B98 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 02557B9C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557B9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02557BA0 */ _t22 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02557BA0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 02557BA4 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02557BA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02557BA8 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02557BA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02557BAC */ _t25 = cpu->r[8] + 0x00000010u;
|
|
/* 02557BAC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02557BB0 */ _t26 = cpu->r[8] + 0x00000014u;
|
|
/* 02557BB0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02557BB4 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02557BB4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 02557BB8 */ _t28 = cpu->r[8] + 0x00000004u;
|
|
/* 02557BB8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
|
|
/* 02557BBC */ _t29 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02557BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02557BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02557BC4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02557BC8 */ return;
|
|
}
|
|
|
|
// fn_02557BCC @ 0x2557bcc
|
|
void Gambit_fn_02557BCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02557BCC: ; // 0x2557bcc
|
|
/* 02557BCC */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02557BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557BCC */ cpu->r[1] = _t0;
|
|
/* 02557BD0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557BD4 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 02557BD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02557BD8 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02557BDC */ _t2 = cpu->r[12] + 0xFFFFA9A0u;
|
|
/* 02557BDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02557BE0 */ _t3 = cpu->r[6] + 0xFFFFA9A4u;
|
|
/* 02557BE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02557BE4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02557BE4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 02557BE8 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02557BE8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02557BEC */ cpu->r[0] = cpu->lr;
|
|
/* 02557BF0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02557BF0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02557BF4 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 02557BF4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02557BF8 */ _t8 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02557BF8 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02557BFC */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02557BFC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02557C00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02557C04 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02557C04 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02557C08 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02557C0C */ _t11 = cpu->r[1] + 0x00000094u;
|
|
/* 02557C0C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02557C10 */ Gambit_fn_02557B14(cpu);
|
|
/* 02557C14 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02557C18 */ _t12 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02557C18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02557C1C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02557C20 */ _t13 = cpu->r[3] + 0x00006000u;
|
|
/* 02557C20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02557C24 */ _t14 = cpu->r[11] + 0x00006318u;
|
|
/* 02557C24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02557C24 */ cpu->r[11] = _t14;
|
|
/* 02557C28 */ cpu->r[0] = 0x00000003u;
|
|
/* 02557C2C */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02557C2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02557C30 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02557C34 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02557C34 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02557C38 */ cpu->r[10] = cpu->r[10] + 0x00006338u;
|
|
/* 02557C3C */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02557C3C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02557C40 */ _t18 = cpu->r[11] + 0x00000004u;
|
|
/* 02557C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02557C44 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02557C44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02557C48 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 02557C48 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02557C4C */ _t21 = cpu->r[10] + 0x00000008u;
|
|
/* 02557C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02557C50 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02557C50 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02557C54 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557C54 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02557C58 */ _t24 = cpu->r[10] + 0x00000004u;
|
|
/* 02557C58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02557C5C */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 02557C5C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02557C60 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 02557C60 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02557C64 */ _t27 = cpu->r[7] + 0x00000134u;
|
|
/* 02557C64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02557C68 */ cpu->ctr = cpu->r[9];
|
|
/* 02557C6C */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02557C6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02557C70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557C74 */ _t29 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02557C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02557C78 */ cpu->r[30] = cpu->r[3];
|
|
/* 02557C7C */ cpu->ctr = cpu->r[0];
|
|
/* 02557C80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02557C84 */ cpu->r[4] = 0x00000000u;
|
|
/* 02557C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557C8C */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02557C8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02557C90 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02557C94 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02557C98 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02557C98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02557C9C */ cpu->r[5] = cpu->r[30];
|
|
/* 02557CA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02557CA4 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02557CA4 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02557CA8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02557CAC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557CAC */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02557CB0 */ cpu->f[1] = cpu->f[0] + cpu->f[0];
|
|
/* 02557CB4 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02557CB8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02557CB8 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02557CBC */ cpu->r[8] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02557CC0 */ cpu->r[9] = cpu->r[9] + 0x00006350u;
|
|
/* 02557CC4 */ cpu->r[7] = cpu->r[1] + 0x00000034u;
|
|
/* 02557CC8 */ cpu->r[10] = cpu->r[1] + 0x00000030u;
|
|
/* 02557CCC */ cpu->r[6] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02557CD0 */ Gambit_fn_023F6240(cpu);
|
|
/* 02557CD4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02557CD8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02557CDC */ _t35 = cpu->r[3] + 0x000060F4u;
|
|
/* 02557CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02557CE0 */ Gambit_fn_023EF3B4(cpu);
|
|
/* 02557CE4 */ _t36 = cpu->r[1] + 0x00000094u;
|
|
/* 02557CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02557CE8 */ _t37 = cpu->r[1] + 0x00000088u;
|
|
/* 02557CE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02557CEC */ cpu->lr = cpu->r[0];
|
|
/* 02557CF0 */ _t38 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02557CF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02557CF4 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02557CF8 */ return;
|
|
}
|
|
|
|
// fn_02557D00 @ 0x2557d00
|
|
void Gambit_fn_02557D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02557D00: ; // 0x2557d00
|
|
/* 02557D00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557D00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557D00 */ cpu->r[1] = _t0;
|
|
/* 02557D04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557D04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557D08 */ cpu->r[4] = 0x100D0000u;
|
|
/* 02557D0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02557D10 */ cpu->r[5] = 0x00000001u;
|
|
/* 02557D14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557D14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557D18 */ _t3 = cpu->r[31] + 0x00000130u;
|
|
/* 02557D18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557D1C */ cpu->r[4] = cpu->r[4] + 0xFFFFA9B8u;
|
|
/* 02557D20 */ Gambit_fn_02398850(cpu);
|
|
/* 02557D24 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02557D28 */ _t4 = cpu->r[31] + 0x000001FCu;
|
|
/* 02557D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557D2C */ cpu->r[4] = 0x00000002u;
|
|
/* 02557D30 */ cpu->r[5] = cpu->r[5] + 0xFFFFA9A8u;
|
|
/* 02557D34 */ Gambit_fn_027C63C4(cpu);
|
|
/* 02557D38 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02557D38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557D3C */ _t6 = cpu->r[12] + 0x00000354u;
|
|
/* 02557D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557D40 */ cpu->ctr = cpu->r[12];
|
|
/* 02557D44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02557D48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557D4C */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02557D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02557D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02557D54 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557D54 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02557D54 */ if (_t9) goto L_02557D60; else goto L_02557D58;
|
|
L_02557D58: ; // 0x2557d58
|
|
/* 02557D58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02557D5C */ Gambit_fn_02557BCC(cpu);
|
|
L_02557D60: ; // 0x2557d60
|
|
/* 02557D60 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02557D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02557D64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557D64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02557D68 */ cpu->lr = cpu->r[0];
|
|
/* 02557D6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557D70 */ return;
|
|
}
|
|
|
|
// fn_02557D94 @ 0x2557d94
|
|
void Gambit_fn_02557D94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02557D94: ; // 0x2557d94
|
|
/* 02557D94 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02557D98 */ _t0 = cpu->r[12] + 0xFFFFA9CCu;
|
|
/* 02557D98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02557D9C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02557DA0 */ _t1 = cpu->r[12] + 0xFFFFA944u;
|
|
/* 02557DA0 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02557DA0 */ cpu->r[12] = _t1;
|
|
/* 02557DA4 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02557DA4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 02557DA8 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 02557DA8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02557DAC */ return;
|
|
}
|
|
|
|
// fn_02557DB0 @ 0x2557db0
|
|
void Gambit_fn_02557DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02557DB0: ; // 0x2557db0
|
|
/* 02557DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557DB4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557DB4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02557DB4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557DB4 */ goto L_02557DB8;
|
|
L_02557DB8: ; // 0x2557db8
|
|
/* 02557DB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02557DBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557DBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557DBC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557DBC */ goto L_02557DC0;
|
|
L_02557DC0: ; // 0x2557dc0
|
|
/* 02557DC0 */ 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_02557DC4 @ 0x2557dc4
|
|
void Gambit_fn_02557DC4(CPUState* cpu) {
|
|
L_02557DC4: ; // 0x2557dc4
|
|
/* 02557DC4 */ return;
|
|
}
|
|
|
|
// fn_02557DC8 @ 0x2557dc8
|
|
void Gambit_fn_02557DC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02557DC8: ; // 0x2557dc8
|
|
/* 02557DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557DCC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557DCC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02557DCC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557DCC */ goto L_02557DD0;
|
|
L_02557DD0: ; // 0x2557dd0
|
|
/* 02557DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02557DD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557DD4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557DD4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557DD4 */ goto L_02557DD8;
|
|
L_02557DD8: ; // 0x2557dd8
|
|
/* 02557DD8 */ 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_02557DDC @ 0x2557ddc
|
|
void Gambit_fn_02557DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02557DDC: ; // 0x2557ddc
|
|
/* 02557DDC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02557DDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557DE0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02557DE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557DE4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02557DE8 */ cpu->r[11] = 0x10110000u;
|
|
/* 02557DEC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02557DEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02557DF0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02557DF0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02557DF4 */ return;
|
|
}
|
|
|
|
// fn_02557DF8 @ 0x2557df8
|
|
void Gambit_fn_02557DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02557DF8: ; // 0x2557df8
|
|
/* 02557DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557DFC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557DFC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02557DFC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557DFC */ goto L_02557E00;
|
|
L_02557E00: ; // 0x2557e00
|
|
/* 02557E00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02557E04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557E04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557E04 */ goto L_02557E08;
|
|
L_02557E08: ; // 0x2557e08
|
|
/* 02557E08 */ 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_02557E0C @ 0x2557e0c
|
|
void Gambit_fn_02557E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02557E0C: ; // 0x2557e0c
|
|
/* 02557E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02557E10 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E10 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02557E10 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557E10 */ goto L_02557E14;
|
|
L_02557E14: ; // 0x2557e14
|
|
/* 02557E14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02557E18 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E18 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02557E18 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557E18 */ goto L_02557E1C;
|
|
L_02557E1C: ; // 0x2557e1c
|
|
/* 02557E1C */ 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_02557E20 @ 0x2557e20
|
|
void Gambit_fn_02557E20(CPUState* cpu) {
|
|
L_02557E20: ; // 0x2557e20
|
|
/* 02557E20 */ return;
|
|
}
|
|
|
|
// fn_02557E24 @ 0x2557e24
|
|
void Gambit_fn_02557E24(CPUState* cpu) {
|
|
L_02557E24: ; // 0x2557e24
|
|
/* 02557E24 */ return;
|
|
}
|
|
|
|
// fn_02557E28 @ 0x2557e28
|
|
void Gambit_fn_02557E28(CPUState* cpu) {
|
|
L_02557E28: ; // 0x2557e28
|
|
/* 02557E28 */ return;
|
|
}
|
|
|
|
// fn_02557E2C @ 0x2557e2c
|
|
void Gambit_fn_02557E2C(CPUState* cpu) {
|
|
L_02557E2C: ; // 0x2557e2c
|
|
/* 02557E2C */ return;
|
|
}
|
|
|
|
// fn_02557E30 @ 0x2557e30
|
|
void Gambit_fn_02557E30(CPUState* cpu) {
|
|
L_02557E30: ; // 0x2557e30
|
|
/* 02557E30 */ return;
|
|
}
|
|
|
|
// fn_02557E34 @ 0x2557e34
|
|
void Gambit_fn_02557E34(CPUState* cpu) {
|
|
L_02557E34: ; // 0x2557e34
|
|
/* 02557E34 */ return;
|
|
}
|
|
|
|
// fn_02557E38 @ 0x2557e38
|
|
void Gambit_fn_02557E38(CPUState* cpu) {
|
|
L_02557E38: ; // 0x2557e38
|
|
/* 02557E38 */ return;
|
|
}
|
|
|
|
// fn_02557E3C @ 0x2557e3c
|
|
void Gambit_fn_02557E3C(CPUState* cpu) {
|
|
L_02557E3C: ; // 0x2557e3c
|
|
/* 02557E3C */ return;
|
|
}
|
|
|
|
// fn_02557E40 @ 0x2557e40
|
|
void Gambit_fn_02557E40(CPUState* cpu) {
|
|
L_02557E40: ; // 0x2557e40
|
|
/* 02557E40 */ return;
|
|
}
|
|
|
|
// fn_02557E44 @ 0x2557e44
|
|
void Gambit_fn_02557E44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02557E44: ; // 0x2557e44
|
|
/* 02557E44 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02557E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02557E4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02557E4C */ if (_t2) goto L_02557E58; else goto L_02557E50;
|
|
L_02557E50: ; // 0x2557e50
|
|
/* 02557E50 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02557E54 */ return;
|
|
L_02557E58: ; // 0x2557e58
|
|
/* 02557E58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02557E5C */ return;
|
|
}
|
|
|
|
// fn_02557E60 @ 0x2557e60
|
|
void Gambit_fn_02557E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02557E60: ; // 0x2557e60
|
|
/* 02557E60 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02557E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02557E68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E68 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02557E68 */ if (_t2) goto L_02557E74; else goto L_02557E6C;
|
|
L_02557E6C: ; // 0x2557e6c
|
|
/* 02557E6C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02557E70 */ return;
|
|
L_02557E74: ; // 0x2557e74
|
|
/* 02557E74 */ cpu->r[3] = 0x00000000u;
|
|
/* 02557E78 */ return;
|
|
}
|
|
|
|
// fn_02557E7C @ 0x2557e7c
|
|
void Gambit_fn_02557E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02557E7C: ; // 0x2557e7c
|
|
/* 02557E7C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02557E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557E80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02557E84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557E84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02557E84 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02557E84 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557E84 */ goto L_02557E88;
|
|
L_02557E88: ; // 0x2557e88
|
|
/* 02557E88 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02557E88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557E8C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02557E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557E90 */ cpu->ctr = cpu->r[0];
|
|
/* 02557E94 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557E98 @ 0x2557e98
|
|
void Gambit_fn_02557E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02557E98: ; // 0x2557e98
|
|
/* 02557E98 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02557E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557E9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02557EA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557EA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02557EA0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02557EA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557EA0 */ goto L_02557EA4;
|
|
L_02557EA4: ; // 0x2557ea4
|
|
/* 02557EA4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02557EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557EA8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02557EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557EAC */ cpu->ctr = cpu->r[0];
|
|
/* 02557EB0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557EB4 @ 0x2557eb4
|
|
void Gambit_fn_02557EB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02557EB4: ; // 0x2557eb4
|
|
/* 02557EB4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02557EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557EB8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02557EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02557EBC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557EBC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02557EBC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02557EBC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02557EBC */ goto L_02557EC0;
|
|
L_02557EC0: ; // 0x2557ec0
|
|
/* 02557EC0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02557EC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557EC4 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02557EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02557EC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02557ECC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557ED0 @ 0x2557ed0
|
|
void Gambit_fn_02557ED0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02557ED0: ; // 0x2557ed0
|
|
/* 02557ED0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02557ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557ED4 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02557ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557ED8 */ cpu->ctr = cpu->r[0];
|
|
/* 02557EDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557EE0 @ 0x2557ee0
|
|
void Gambit_fn_02557EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02557EE0: ; // 0x2557ee0
|
|
/* 02557EE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02557EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557EE4 */ cpu->r[1] = _t0;
|
|
/* 02557EE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02557EF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557EF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557EF4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02557EF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02557EFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557EFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557EFC */ if (_t5) goto L_02557F00; else goto L_02557F1C;
|
|
L_02557F00: ; // 0x2557f00
|
|
/* 02557F00 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02557F00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557F04 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02557F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02557F08 */ cpu->ctr = cpu->r[0];
|
|
/* 02557F0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02557F10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557F14 */ cpu->r[0] = 0x00000002u;
|
|
/* 02557F18 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02557F18 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02557F1C: ; // 0x2557f1c
|
|
/* 02557F1C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02557F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02557F20 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02557F24 */ cpu->lr = cpu->r[0];
|
|
/* 02557F28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557F2C */ return;
|
|
}
|
|
|
|
// fn_02557EE4 @ 0x2557ee4
|
|
void Gambit_fn_02557EE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02557EE4: ; // 0x2557ee4
|
|
/* 02557EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02557EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02557EE4 */ cpu->r[1] = _t0;
|
|
/* 02557EE8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02557EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02557EF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02557EF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02557EF4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02557EF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02557EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02557EFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02557EFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02557EFC */ if (_t5) goto L_02557F00; else goto L_02557F1C;
|
|
L_02557F00: ; // 0x2557f00
|
|
/* 02557F00 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02557F00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02557F04 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02557F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02557F08 */ cpu->ctr = cpu->r[0];
|
|
/* 02557F0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02557F10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02557F14 */ cpu->r[0] = 0x00000002u;
|
|
/* 02557F18 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02557F18 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02557F1C: ; // 0x2557f1c
|
|
/* 02557F1C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02557F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02557F20 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02557F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02557F24 */ cpu->lr = cpu->r[0];
|
|
/* 02557F28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02557F2C */ return;
|
|
}
|
|
|
|
// fn_02557F30 @ 0x2557f30
|
|
void Gambit_fn_02557F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02557F30: ; // 0x2557f30
|
|
/* 02557F30 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02557F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557F34 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02557F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557F38 */ cpu->ctr = cpu->r[0];
|
|
/* 02557F3C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557F40 @ 0x2557f40
|
|
void Gambit_fn_02557F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02557F40: ; // 0x2557f40
|
|
/* 02557F40 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02557F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557F44 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02557F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557F48 */ cpu->ctr = cpu->r[0];
|
|
/* 02557F4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557F50 @ 0x2557f50
|
|
void Gambit_fn_02557F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02557F50: ; // 0x2557f50
|
|
/* 02557F50 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02557F50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557F54 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02557F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557F58 */ cpu->ctr = cpu->r[0];
|
|
/* 02557F5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557F60 @ 0x2557f60
|
|
void Gambit_fn_02557F60(CPUState* cpu) {
|
|
L_02557F60: ; // 0x2557f60
|
|
/* 02557F60 */ cpu->r[3] = 0x00000001u;
|
|
/* 02557F64 */ return;
|
|
}
|
|
|
|
// fn_02557F68 @ 0x2557f68
|
|
void Gambit_fn_02557F68(CPUState* cpu) {
|
|
L_02557F68: ; // 0x2557f68
|
|
/* 02557F68 */ return;
|
|
}
|
|
|
|
// fn_02557F6C @ 0x2557f6c
|
|
void Gambit_fn_02557F6C(CPUState* cpu) {
|
|
L_02557F6C: ; // 0x2557f6c
|
|
/* 02557F6C */ return;
|
|
}
|
|
|
|
// fn_02557F70 @ 0x2557f70
|
|
void Gambit_fn_02557F70(CPUState* cpu) {
|
|
L_02557F70: ; // 0x2557f70
|
|
/* 02557F70 */ return;
|
|
}
|
|
|
|
// fn_02557F74 @ 0x2557f74
|
|
void Gambit_fn_02557F74(CPUState* cpu) {
|
|
L_02557F74: ; // 0x2557f74
|
|
/* 02557F74 */ cpu->r[3] = 0x00000001u;
|
|
/* 02557F78 */ return;
|
|
}
|
|
|
|
// fn_02557F7C @ 0x2557f7c
|
|
void Gambit_fn_02557F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02557F7C: ; // 0x2557f7c
|
|
/* 02557F7C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02557F80 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02557F80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557F80 */ cpu->r[10] = _t0;
|
|
/* 02557F84 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02557F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02557F88 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02557F88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02557F8C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02557F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02557F90 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02557F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02557F94 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02557F94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02557F98 */ return;
|
|
}
|
|
|
|
// fn_02557F9C @ 0x2557f9c
|
|
void Gambit_fn_02557F9C(CPUState* cpu) {
|
|
L_02557F9C: ; // 0x2557f9c
|
|
/* 02557F9C */ return;
|
|
}
|
|
|
|
// fn_02557FA0 @ 0x2557fa0
|
|
void Gambit_fn_02557FA0(CPUState* cpu) {
|
|
L_02557FA0: ; // 0x2557fa0
|
|
/* 02557FA0 */ return;
|
|
}
|
|
|
|
// fn_02557FA4 @ 0x2557fa4
|
|
void Gambit_fn_02557FA4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02557FA4: ; // 0x2557fa4
|
|
/* 02557FA4 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02557FA4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02557FA8 */ return;
|
|
}
|
|
|
|
// fn_02557FAC @ 0x2557fac
|
|
void Gambit_fn_02557FAC(CPUState* cpu) {
|
|
L_02557FAC: ; // 0x2557fac
|
|
/* 02557FAC */ cpu->r[3] = 0x00000001u;
|
|
/* 02557FB0 */ return;
|
|
}
|
|
|
|
// fn_02557FB4 @ 0x2557fb4
|
|
void Gambit_fn_02557FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02557FB4: ; // 0x2557fb4
|
|
/* 02557FB4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02557FB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02557FB8 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02557FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02557FBC */ cpu->ctr = cpu->r[0];
|
|
/* 02557FC0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02557FC4 @ 0x2557fc4
|
|
void Gambit_fn_02557FC4(CPUState* cpu) {
|
|
L_02557FC4: ; // 0x2557fc4
|
|
/* 02557FC4 */ return;
|
|
}
|
|
|
|
// fn_02557FC8 @ 0x2557fc8
|
|
void Gambit_fn_02557FC8(CPUState* cpu) {
|
|
L_02557FC8: ; // 0x2557fc8
|
|
/* 02557FC8 */ return;
|
|
}
|
|
|
|
// fn_02557FCC @ 0x2557fcc
|
|
void Gambit_fn_02557FCC(CPUState* cpu) {
|
|
L_02557FCC: ; // 0x2557fcc
|
|
/* 02557FCC */ return;
|
|
}
|
|
|
|
// fn_02557FD0 @ 0x2557fd0
|
|
void Gambit_fn_02557FD0(CPUState* cpu) {
|
|
L_02557FD0: ; // 0x2557fd0
|
|
/* 02557FD0 */ return;
|
|
}
|
|
|
|
// fn_02557FD4 @ 0x2557fd4
|
|
void Gambit_fn_02557FD4(CPUState* cpu) {
|
|
L_02557FD4: ; // 0x2557fd4
|
|
/* 02557FD4 */ return;
|
|
}
|
|
|
|
// fn_02557FD8 @ 0x2557fd8
|
|
void Gambit_fn_02557FD8(CPUState* cpu) {
|
|
L_02557FD8: ; // 0x2557fd8
|
|
/* 02557FD8 */ return;
|
|
}
|
|
|
|
// fn_02557FDC @ 0x2557fdc
|
|
void Gambit_fn_02557FDC(CPUState* cpu) {
|
|
L_02557FDC: ; // 0x2557fdc
|
|
/* 02557FDC */ return;
|
|
}
|
|
|
|
// fn_02557FE0 @ 0x2557fe0
|
|
void Gambit_fn_02557FE0(CPUState* cpu) {
|
|
L_02557FE0: ; // 0x2557fe0
|
|
/* 02557FE0 */ return;
|
|
}
|
|
|
|
// fn_02557FE4 @ 0x2557fe4
|
|
void Gambit_fn_02557FE4(CPUState* cpu) {
|
|
L_02557FE4: ; // 0x2557fe4
|
|
/* 02557FE4 */ return;
|
|
}
|
|
|
|
// fn_02557FE8 @ 0x2557fe8
|
|
void Gambit_fn_02557FE8(CPUState* cpu) {
|
|
L_02557FE8: ; // 0x2557fe8
|
|
/* 02557FE8 */ return;
|
|
}
|
|
|
|
// fn_02557FEC @ 0x2557fec
|
|
void Gambit_fn_02557FEC(CPUState* cpu) {
|
|
L_02557FEC: ; // 0x2557fec
|
|
/* 02557FEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02557FF0 */ return;
|
|
}
|
|
|
|
// fn_02557FF4 @ 0x2557ff4
|
|
void Gambit_fn_02557FF4(CPUState* cpu) {
|
|
L_02557FF4: ; // 0x2557ff4
|
|
/* 02557FF4 */ return;
|
|
}
|
|
|
|
// fn_02557FF8 @ 0x2557ff8
|
|
void Gambit_fn_02557FF8(CPUState* cpu) {
|
|
L_02557FF8: ; // 0x2557ff8
|
|
/* 02557FF8 */ return;
|
|
}
|
|
|
|
// fn_02557FFC @ 0x2557ffc
|
|
void Gambit_fn_02557FFC(CPUState* cpu) {
|
|
L_02557FFC: ; // 0x2557ffc
|
|
/* 02557FFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02558000 */ return;
|
|
}
|
|
|
|
// fn_02558004 @ 0x2558004
|
|
void Gambit_fn_02558004(CPUState* cpu) {
|
|
L_02558004: ; // 0x2558004
|
|
/* 02558004 */ cpu->r[3] = 0x00000000u;
|
|
/* 02558008 */ return;
|
|
}
|
|
|
|
// fn_0255800C @ 0x255800c
|
|
void Gambit_fn_0255800C(CPUState* cpu) {
|
|
L_0255800C: ; // 0x255800c
|
|
/* 0255800C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558010 */ return;
|
|
}
|
|
|
|
// fn_02558014 @ 0x2558014
|
|
void Gambit_fn_02558014(CPUState* cpu) {
|
|
L_02558014: ; // 0x2558014
|
|
/* 02558014 */ cpu->r[3] = 0x00000000u;
|
|
/* 02558018 */ return;
|
|
}
|
|
|
|
// fn_0255801C @ 0x255801c
|
|
void Gambit_fn_0255801C(CPUState* cpu) {
|
|
L_0255801C: ; // 0x255801c
|
|
/* 0255801C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558020 */ return;
|
|
}
|
|
|
|
// fn_02558024 @ 0x2558024
|
|
void Gambit_fn_02558024(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02558024: ; // 0x2558024
|
|
/* 02558024 */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02558024 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02558028 */ return;
|
|
}
|
|
|
|
// fn_0255802C @ 0x255802c
|
|
void Gambit_fn_0255802C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0255802C: ; // 0x255802c
|
|
/* 0255802C */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 0255802C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558030 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02558030 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02558034 */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02558034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02558038 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02558038 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255803C */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 0255803C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558040 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02558040 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02558044 */ return;
|
|
}
|
|
|
|
// fn_02558048 @ 0x2558048
|
|
void Gambit_fn_02558048(CPUState* cpu) {
|
|
L_02558048: ; // 0x2558048
|
|
/* 02558048 */ cpu->r[3] = 0x100D0000u;
|
|
/* 0255804C */ cpu->r[3] = cpu->r[3] + 0xFFFFA934u;
|
|
/* 02558050 */ return;
|
|
}
|
|
|
|
// fn_02558054 @ 0x2558054
|
|
void Gambit_fn_02558054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02558054: ; // 0x2558054
|
|
/* 02558054 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558058 */ _t0 = cpu->r[10] + 0xFFFFEAD0u;
|
|
/* 02558058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0255805C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02558060 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558064 */ cpu->r[10] = cpu->r[10] + 0x00000A6Cu;
|
|
/* 02558068 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558068 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558068 */ if (_t2) goto L_0255806C; else goto L_02558084;
|
|
L_0255806C: ; // 0x255806c
|
|
/* 0255806C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558070 */ cpu->r[9] = 0x00000001u;
|
|
/* 02558074 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02558078 */ cpu->r[0] = cpu->r[0] + 0xFFFFA924u;
|
|
/* 0255807C */ _t3 = cpu->r[11] + 0xFFFFEAD0u;
|
|
/* 0255807C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02558080 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02558080 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02558084: ; // 0x2558084
|
|
/* 02558084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02558088 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558088 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02558088 */ if (_t6) goto L_0255808C; else goto L_02558094;
|
|
L_0255808C: ; // 0x255808c
|
|
/* 0255808C */ cpu->r[3] = 0x00000001u;
|
|
/* 02558090 */ return;
|
|
L_02558094: ; // 0x2558094
|
|
/* 02558094 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02558098 */ _t7 = cpu->r[9] + 0xFFFFDDF0u;
|
|
/* 02558098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255809C */ cpu->r[11] = 0x101D0000u;
|
|
/* 025580A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 025580A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFF40u;
|
|
/* 025580A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025580A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025580A8 */ if (_t9) goto L_025580AC; else goto L_025580C4;
|
|
L_025580AC: ; // 0x25580ac
|
|
/* 025580AC */ cpu->r[9] = 0x100D0000u;
|
|
/* 025580B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 025580B4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 025580B8 */ cpu->r[9] = cpu->r[9] + 0xFFFFA8F4u;
|
|
/* 025580BC */ _t10 = cpu->r[10] + 0xFFFFDDF0u;
|
|
/* 025580BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 025580C0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 025580C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_025580C4: ; // 0x25580c4
|
|
/* 025580C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 025580C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025580C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025580C8 */ if (_t13) goto L_025580CC; else goto L_025580D4;
|
|
L_025580CC: ; // 0x25580cc
|
|
/* 025580CC */ cpu->r[0] = 0x00000001u;
|
|
/* 025580D0 */ goto L_0255818C;
|
|
L_025580D4: ; // 0x25580d4
|
|
/* 025580D4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 025580D8 */ _t14 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 025580D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 025580DC */ cpu->r[9] = 0x101D0000u;
|
|
/* 025580E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025580E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBBCu;
|
|
/* 025580E8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025580E8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025580E8 */ if (_t16) goto L_025580EC; else goto L_02558104;
|
|
L_025580EC: ; // 0x25580ec
|
|
/* 025580EC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025580F0 */ cpu->r[10] = 0x00000001u;
|
|
/* 025580F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025580F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFA8E4u;
|
|
/* 025580FC */ _t17 = cpu->r[12] + 0xFFFFDA10u;
|
|
/* 025580FC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02558100 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02558100 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02558104: ; // 0x2558104
|
|
/* 02558104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02558108 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558108 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02558108 */ if (_t20) goto L_0255810C; else goto L_02558114;
|
|
L_0255810C: ; // 0x255810c
|
|
/* 0255810C */ cpu->r[0] = 0x00000001u;
|
|
/* 02558110 */ goto L_02558188;
|
|
L_02558114: ; // 0x2558114
|
|
/* 02558114 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02558118 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02558118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558118 */ cpu->r[9] = _t21;
|
|
/* 0255811C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02558124 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02558128 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558128 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02558128 */ if (_t23) goto L_0255812C; else goto L_02558140;
|
|
L_0255812C: ; // 0x255812c
|
|
/* 0255812C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558130 */ cpu->r[11] = 0x00000001u;
|
|
/* 02558134 */ cpu->r[0] = cpu->r[0] + 0xFFFFA8D4u;
|
|
/* 02558138 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02558138 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0255813C */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0255813C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02558140: ; // 0x2558140
|
|
/* 02558140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02558144 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558144 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02558144 */ if (_t27) goto L_02558148; else goto L_02558150;
|
|
L_02558148: ; // 0x2558148
|
|
/* 02558148 */ cpu->r[0] = 0x00000001u;
|
|
/* 0255814C */ goto L_02558188;
|
|
L_02558150: ; // 0x2558150
|
|
/* 02558150 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558154 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02558154 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02558154 */ cpu->r[10] = _t28;
|
|
/* 02558158 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0255815C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02558160 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02558164 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558164 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02558164 */ if (_t30) goto L_02558168; else goto L_0255817C;
|
|
L_02558168: ; // 0x2558168
|
|
/* 02558168 */ cpu->r[9] = 0x100D0000u;
|
|
/* 0255816C */ cpu->r[0] = 0x00000001u;
|
|
/* 02558170 */ cpu->r[9] = cpu->r[9] + 0xFFFFA864u;
|
|
/* 02558174 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02558174 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02558178 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02558178 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0255817C: ; // 0x255817c
|
|
/* 0255817C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02558180 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02558184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02558188: ; // 0x2558188
|
|
/* 02558188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0255818C: ; // 0x255818c
|
|
/* 0255818C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02558190 */ return;
|
|
}
|
|
|
|
// fn_02558194 @ 0x2558194
|
|
void Gambit_fn_02558194(CPUState* cpu) {
|
|
L_02558194: ; // 0x2558194
|
|
/* 02558194 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02558198 */ cpu->r[3] = cpu->r[3] + 0xFFFFA944u;
|
|
/* 0255819C */ return;
|
|
}
|
|
|
|
// fn_025581A4 @ 0x25581a4
|
|
void Gambit_fn_025581A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0206135C: ; // 0x206135c
|
|
/* 0206135C */ cpu->r[0] = cpu->lr;
|
|
/* 02061360 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02061360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061360 */ cpu->r[1] = _t0;
|
|
/* 02061364 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02061368 */ cpu->r[31] = cpu->r[3];
|
|
/* 0206136C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0206136C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02061370 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02061370 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02061374 */ cpu->r[12] = 0x00000000u;
|
|
/* 02061378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206137C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0206137C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02061380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02061380 */ if (_t6) goto L_020613A8; else goto L_02061384;
|
|
L_02061384: ; // 0x2061384
|
|
/* 02061384 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02061384 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02061388 */ /* nop */
|
|
/* 0206138C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02061390 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061390 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02061390 */ if (_t9) goto L_02061394; else goto L_020613A8;
|
|
L_02061394: ; // 0x2061394
|
|
/* 02061394 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02061394 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02061398 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02061398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0206139C */ cpu->ctr = cpu->r[0];
|
|
/* 020613A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020613A8: ; // 0x20613a8
|
|
/* 020613A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613AC */ Gambit_fn_020612D4(cpu);
|
|
/* 020613B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613B4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020613B8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020613B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020613BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020613BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020613C0 */ cpu->lr = cpu->r[0];
|
|
/* 020613C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020613C8 */ return;
|
|
L_025581A4: ; // 0x25581a4
|
|
/* 025581A4 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 025581A8 */ goto L_0206135C;
|
|
}
|
|
|
|
// fn_025581AC @ 0x25581ac
|
|
void Gambit_fn_025581AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025581AC: ; // 0x25581ac
|
|
/* 025581AC */ cpu->r[0] = cpu->lr;
|
|
/* 025581B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025581B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025581B0 */ cpu->r[1] = _t0;
|
|
/* 025581B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025581B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025581B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025581BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025581BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025581C0 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025581C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025581C4 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025581C8 */ /* nop */
|
|
/* 025581CC */ Gambit_fn_027FC35C(cpu);
|
|
/* 025581D0 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025581D4 */ Gambit_fn_0206124C(cpu);
|
|
/* 025581D8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025581D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025581DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025581DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025581E0 */ cpu->lr = cpu->r[0];
|
|
/* 025581E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025581E8 */ return;
|
|
}
|
|
|
|
// fn_025581B0 @ 0x25581b0
|
|
void Gambit_fn_025581B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_025581B0: ; // 0x25581b0
|
|
/* 025581B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025581B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025581B0 */ cpu->r[1] = _t0;
|
|
/* 025581B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025581B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025581B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025581BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025581BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025581C0 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 025581C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 025581C4 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025581C8 */ /* nop */
|
|
/* 025581CC */ Gambit_fn_027FC35C(cpu);
|
|
/* 025581D0 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 025581D4 */ Gambit_fn_0206124C(cpu);
|
|
/* 025581D8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025581D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025581DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025581DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025581E0 */ cpu->lr = cpu->r[0];
|
|
/* 025581E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025581E8 */ return;
|
|
}
|
|
|
|
// fn_025581EC @ 0x25581ec
|
|
void Gambit_fn_025581EC(CPUState* cpu) {
|
|
L_025581EC: ; // 0x25581ec
|
|
/* 025581EC */ return;
|
|
}
|
|
|
|
// fn_025581F0 @ 0x25581f0
|
|
void Gambit_fn_025581F0(CPUState* cpu) {
|
|
L_025581F0: ; // 0x25581f0
|
|
/* 025581F0 */ return;
|
|
}
|
|
|
|
// fn_025581F4 @ 0x25581f4
|
|
void Gambit_fn_025581F4(CPUState* cpu) {
|
|
L_025581F4: ; // 0x25581f4
|
|
/* 025581F4 */ return;
|
|
}
|
|
|
|
// fn_025581F8 @ 0x25581f8
|
|
void Gambit_fn_025581F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_025581F8: ; // 0x25581f8
|
|
/* 025581F8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025581FC */ _t0 = cpu->r[12] + 0xFFFFA9D0u;
|
|
/* 025581FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02558200 */ return;
|
|
}
|
|
|
|
// fn_02558204 @ 0x2558204
|
|
void Gambit_fn_02558204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02558204: ; // 0x2558204
|
|
/* 02558204 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02558204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558204 */ cpu->r[1] = _t0;
|
|
/* 02558208 */ /* nop */
|
|
/* 0255820C */ cpu->r[0] = cpu->lr;
|
|
/* 02558210 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02558210 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02558214 */ cpu->r[29] = cpu->r[6];
|
|
/* 02558218 */ cpu->r[28] = cpu->r[3];
|
|
/* 0255821C */ cpu->r[30] = cpu->r[5];
|
|
/* 02558220 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02558220 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02558224 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02558228 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02558228 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0255822C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02558230 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02558230 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02558234 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558234 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02558234 */ if (_t6) goto L_02558278; else goto L_02558238;
|
|
L_02558238: ; // 0x2558238
|
|
/* 02558238 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02558238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255823C */ Gambit_fn_02826F20(cpu);
|
|
/* 02558240 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02558244 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02558244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02558248 */ cpu->ctr = cpu->r[0];
|
|
/* 0255824C */ cpu->r[5] = 0x00000004u;
|
|
/* 02558250 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02558254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0255825C */ cpu->r[0] = cpu->r[27];
|
|
/* 02558260 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558260 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02558260 */ if (_t11) goto L_02558268; else goto L_02558264;
|
|
L_02558264: ; // 0x2558264
|
|
/* 02558264 */ cpu->r[0] = 0x00000001u;
|
|
L_02558268: ; // 0x2558268
|
|
/* 02558268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255826C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255826C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0255826C */ if (_t13) goto L_02558278; else goto L_02558270;
|
|
L_02558270: ; // 0x2558270
|
|
/* 02558270 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02558270 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02558274 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02558274 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02558278: ; // 0x2558278
|
|
/* 02558278 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02558278 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0255827C */ cpu->r[0] = 0x00000000u;
|
|
/* 02558280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02558284 */ cpu->r[12] = cpu->r[0];
|
|
/* 02558288 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558288 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02558288 */ if (_t18) goto L_0255828C; else goto L_025582B0;
|
|
L_0255828C: ; // 0x255828c
|
|
/* 0255828C */ cpu->ctr = cpu->r[7];
|
|
/* 02558290 */ cpu->r[10] = 0x00000000u;
|
|
L_02558294: ; // 0x2558294
|
|
/* 02558294 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02558294 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02558298 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02558298 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0255829C */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 025582A0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 025582A0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 025582A4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 025582A8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 025582A8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 025582AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025582AC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025582AC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 025582AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 025582AC */ if (_t25) goto L_02558294; else goto L_025582B0;
|
|
L_025582B0: ; // 0x25582b0
|
|
/* 025582B0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 025582B0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 025582B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025582B8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025582B8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025582B8 */ if (_t28) goto L_025582FC; else goto L_025582BC;
|
|
L_025582BC: ; // 0x25582bc
|
|
/* 025582BC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025582BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025582C0 */ Gambit_fn_02826F20(cpu);
|
|
/* 025582C4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025582C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 025582C8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 025582C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025582CC */ cpu->ctr = cpu->r[0];
|
|
/* 025582D0 */ cpu->r[5] = 0x00000004u;
|
|
/* 025582D4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025582D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025582DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 025582E0 */ cpu->r[11] = cpu->r[27];
|
|
/* 025582E4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025582E4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 025582E4 */ if (_t33) goto L_025582EC; else goto L_025582E8;
|
|
L_025582E8: ; // 0x25582e8
|
|
/* 025582E8 */ cpu->r[11] = 0x00000001u;
|
|
L_025582EC: ; // 0x25582ec
|
|
/* 025582EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025582F0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025582F0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 025582F0 */ if (_t35) goto L_025582FC; else goto L_025582F4;
|
|
L_025582F4: ; // 0x25582f4
|
|
/* 025582F4 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 025582F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 025582F8 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 025582F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_025582FC: ; // 0x25582fc
|
|
/* 025582FC */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 025582FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02558300 */ cpu->r[0] = 0x00000000u;
|
|
/* 02558304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02558308 */ cpu->r[12] = cpu->r[0];
|
|
/* 0255830C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0255830C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0255830C */ if (_t40) goto L_02558310; else goto L_02558334;
|
|
L_02558310: ; // 0x2558310
|
|
/* 02558310 */ cpu->ctr = cpu->r[6];
|
|
/* 02558314 */ cpu->r[9] = 0x00000000u;
|
|
L_02558318: ; // 0x2558318
|
|
/* 02558318 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02558318 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0255831C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0255831C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02558320 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02558324 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02558324 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02558328 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0255832C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0255832C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02558330 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02558330 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02558330 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02558330 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02558330 */ if (_t47) goto L_02558318; else goto L_02558334;
|
|
L_02558334: ; // 0x2558334
|
|
/* 02558334 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02558334 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02558338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0255833C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255833C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0255833C */ if (_t50) goto L_02558380; else goto L_02558340;
|
|
L_02558340: ; // 0x2558340
|
|
/* 02558340 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02558340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02558344 */ Gambit_fn_02826F20(cpu);
|
|
/* 02558348 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558348 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0255834C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0255834C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02558350 */ cpu->ctr = cpu->r[0];
|
|
/* 02558354 */ cpu->r[5] = 0x00000004u;
|
|
/* 02558358 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0255835C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02558364 */ cpu->r[10] = cpu->r[27];
|
|
/* 02558368 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558368 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02558368 */ if (_t55) goto L_02558370; else goto L_0255836C;
|
|
L_0255836C: ; // 0x255836c
|
|
/* 0255836C */ cpu->r[10] = 0x00000001u;
|
|
L_02558370: ; // 0x2558370
|
|
/* 02558370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558374 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558374 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02558374 */ if (_t57) goto L_02558380; else goto L_02558378;
|
|
L_02558378: ; // 0x2558378
|
|
/* 02558378 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02558378 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0255837C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0255837C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02558380: ; // 0x2558380
|
|
/* 02558380 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02558380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02558384 */ cpu->r[0] = 0x00000000u;
|
|
/* 02558388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0255838C */ cpu->r[5] = cpu->r[0];
|
|
/* 02558390 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558390 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02558390 */ if (_t62) goto L_02558394; else goto L_025583B8;
|
|
L_02558394: ; // 0x2558394
|
|
/* 02558394 */ cpu->ctr = cpu->r[12];
|
|
/* 02558398 */ cpu->r[8] = 0x00000000u;
|
|
L_0255839C: ; // 0x255839c
|
|
/* 0255839C */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0255839C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 025583A0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 025583A0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 025583A4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 025583A8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 025583A8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 025583AC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 025583B0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 025583B0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 025583B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025583B4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025583B4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 025583B4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 025583B4 */ if (_t69) goto L_0255839C; else goto L_025583B8;
|
|
L_025583B8: ; // 0x25583b8
|
|
/* 025583B8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 025583B8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 025583BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025583C0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025583C0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 025583C0 */ if (_t72) goto L_0255849C; else goto L_025583C4;
|
|
L_025583C4: ; // 0x25583c4
|
|
/* 025583C4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 025583C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 025583C8 */ Gambit_fn_02826F20(cpu);
|
|
/* 025583CC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025583CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 025583D0 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 025583D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 025583D4 */ cpu->ctr = cpu->r[12];
|
|
/* 025583D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 025583DC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 025583E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025583E4 */ cpu->r[24] = cpu->r[3];
|
|
/* 025583E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 025583EC */ cpu->r[30] = cpu->r[25];
|
|
/* 025583F0 */ cpu->r[7] = 0x00000000u;
|
|
/* 025583F4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025583F4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 025583F4 */ if (_t77) goto L_025583FC; else goto L_025583F8;
|
|
L_025583F8: ; // 0x25583f8
|
|
/* 025583F8 */ cpu->r[30] = 0x00000001u;
|
|
L_025583FC: ; // 0x25583fc
|
|
/* 025583FC */ cpu->r[31] = 0x10110000u;
|
|
/* 02558400 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02558404 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02558404 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02558408 */ cpu->r[23] = 0x00000018u;
|
|
L_0255840C: ; // 0x255840c
|
|
/* 0255840C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0255840C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02558410 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558410 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02558410 */ if (_t80) goto L_02558480; else goto L_02558414;
|
|
L_02558414: ; // 0x2558414
|
|
/* 02558414 */ cpu->r[26] = cpu->r[27];
|
|
/* 02558414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02558418 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558418 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02558418 */ if (_t82) goto L_0255841C; else goto L_0255842C;
|
|
L_0255841C: ; // 0x255841c
|
|
/* 0255841C */ cpu->r[3] = 0x00000024u;
|
|
/* 02558420 */ Gambit_fn_02801A78(cpu);
|
|
/* 02558424 */ cpu->r[26] = cpu->r[3];
|
|
/* 02558424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02558428 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558428 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02558428 */ if (_t84) goto L_02558474; else goto L_0255842C;
|
|
L_0255842C: ; // 0x255842c
|
|
/* 0255842C */ cpu->r[11] = cpu->r[26];
|
|
/* 0255842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02558430 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558430 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02558430 */ if (_t86) goto L_02558434; else goto L_02558444;
|
|
L_02558434: ; // 0x2558434
|
|
/* 02558434 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02558438 */ Gambit_fn_02801A78(cpu);
|
|
/* 0255843C */ cpu->r[11] = cpu->r[3];
|
|
/* 0255843C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02558440 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558440 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02558440 */ if (_t88) goto L_02558460; else goto L_02558444;
|
|
L_02558444: ; // 0x2558444
|
|
/* 02558444 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02558448 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02558448 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0255844C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02558450 */ cpu->r[5] = cpu->r[5] + 0xFFFFA88Cu;
|
|
/* 02558454 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02558454 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02558458 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02558458 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0255845C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0255845C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02558460: ; // 0x2558460
|
|
/* 02558460 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02558464 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02558464 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02558468 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8A4u;
|
|
/* 0255846C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0255846C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02558470 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02558470 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02558474: ; // 0x2558474
|
|
/* 02558474 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558478 */ cpu->r[0] = cpu->r[0] + 0xFFFFA8BCu;
|
|
/* 0255847C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0255847C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02558480: ; // 0x2558480
|
|
/* 02558480 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02558480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02558484 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02558488 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558488 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02558488 */ if (_t98) goto L_0255848C; else goto L_0255840C;
|
|
L_0255848C: ; // 0x255848c
|
|
/* 0255848C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02558490 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558490 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02558490 */ if (_t100) goto L_0255849C; else goto L_02558494;
|
|
L_02558494: ; // 0x2558494
|
|
/* 02558494 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02558494 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02558498 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02558498 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0255849C: ; // 0x255849c
|
|
/* 0255849C */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0255849C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 025584A0 */ /* nop */
|
|
/* 025584A4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 025584A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 025584A8 */ cpu->lr = cpu->r[0];
|
|
/* 025584AC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 025584B0 */ return;
|
|
}
|
|
|
|
// fn_025584B4 @ 0x25584b4
|
|
void Gambit_fn_025584B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_025584B4: ; // 0x25584b4
|
|
/* 025584B4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 025584B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 025584B8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 025584B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 025584BC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 025584BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 025584C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 025584C4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 025584C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025584C8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025584C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 025584C8 */ if (_t5) goto L_025584CC; else goto L_025584D4;
|
|
L_025584CC: ; // 0x25584cc
|
|
/* 025584CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025584D0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_025584D4: ; // 0x25584d4
|
|
/* 025584D4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 025584D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025584D8 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 025584D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 025584DC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 025584DC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 025584E0 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 025584E0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 025584E4 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 025584E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025584E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 025584EC */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 025584EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025584F0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025584F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 025584F0 */ if (_t13) goto L_025584F4; else goto L_025584FC;
|
|
L_025584F4: ; // 0x25584f4
|
|
/* 025584F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025584F8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_025584FC: ; // 0x25584fc
|
|
/* 025584FC */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 025584FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02558500 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02558500 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02558504 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02558504 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02558508 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02558508 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0255850C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0255850C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02558510 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02558510 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02558514 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02558514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02558518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0255851C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0255851C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558520 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558520 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02558520 */ if (_t23) goto L_02558524; else goto L_0255852C;
|
|
L_02558524: ; // 0x2558524
|
|
/* 02558524 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02558528 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0255852C: ; // 0x255852c
|
|
/* 0255852C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0255852C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02558530 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02558530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02558534 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02558534 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02558538 */ return;
|
|
}
|
|
|
|
// fn_02558540 @ 0x2558540
|
|
void Gambit_fn_02558540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02558540: ; // 0x2558540
|
|
/* 02558540 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558540 */ cpu->r[1] = _t0;
|
|
/* 02558544 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558544 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558548 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0255854C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0255854C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558550 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558550 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02558550 */ if (_t4) goto L_02558554; else goto L_02558564;
|
|
L_02558554: ; // 0x2558554
|
|
/* 02558554 */ cpu->r[3] = 0x00000200u;
|
|
/* 02558558 */ Gambit_fn_02801A78(cpu);
|
|
/* 0255855C */ cpu->r[31] = cpu->r[3];
|
|
/* 0255855C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02558560 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558560 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02558560 */ if (_t6) goto L_02558578; else goto L_02558564;
|
|
L_02558564: ; // 0x2558564
|
|
/* 02558564 */ cpu->r[3] = cpu->r[31];
|
|
/* 02558568 */ Gambit_fn_02557070(cpu);
|
|
/* 0255856C */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558570 */ cpu->r[0] = cpu->r[0] + 0xFFFFAE44u;
|
|
/* 02558574 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02558574 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02558578: ; // 0x2558578
|
|
/* 02558578 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02558578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0255857C */ cpu->r[3] = cpu->r[31];
|
|
/* 02558580 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02558584 */ cpu->lr = cpu->r[0];
|
|
/* 02558588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0255858C */ return;
|
|
}
|
|
|
|
// fn_02558590 @ 0x2558590
|
|
void Gambit_fn_02558590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02558590: ; // 0x2558590
|
|
/* 02558590 */ cpu->r[0] = cpu->lr;
|
|
/* 02558594 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558594 */ cpu->r[1] = _t0;
|
|
/* 02558598 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558598 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255859C */ cpu->r[3] = 0x101C0000u;
|
|
/* 025585A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025585A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025585A4 */ _t3 = cpu->r[3] + 0x00005BA0u;
|
|
/* 025585A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025585A8 */ _t4 = cpu->r[3] + 0x00000044u;
|
|
/* 025585A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025585AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025585B0 */ cpu->r[31] = 0x00000001u;
|
|
/* 025585B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025585B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025585B4 */ if (_t6) goto L_025585B8; else goto L_025585C8;
|
|
L_025585B8: ; // 0x25585b8
|
|
/* 025585B8 */ Gambit_fn_0239AD28(cpu);
|
|
/* 025585BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025585C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025585C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025585C0 */ if (_t8) goto L_025585C4; else goto L_025585C8;
|
|
L_025585C4: ; // 0x25585c4
|
|
/* 025585C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025585C8: ; // 0x25585c8
|
|
/* 025585C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025585C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025585CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025585D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025585D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025585D4 */ cpu->lr = cpu->r[0];
|
|
/* 025585D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025585DC */ return;
|
|
}
|
|
|
|
// fn_02558594 @ 0x2558594
|
|
void Gambit_fn_02558594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02558594: ; // 0x2558594
|
|
/* 02558594 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558594 */ cpu->r[1] = _t0;
|
|
/* 02558598 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558598 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0255859C */ cpu->r[3] = 0x101C0000u;
|
|
/* 025585A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025585A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 025585A4 */ _t3 = cpu->r[3] + 0x00005BA0u;
|
|
/* 025585A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 025585A8 */ _t4 = cpu->r[3] + 0x00000044u;
|
|
/* 025585A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 025585AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025585B0 */ cpu->r[31] = 0x00000001u;
|
|
/* 025585B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025585B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025585B4 */ if (_t6) goto L_025585B8; else goto L_025585C8;
|
|
L_025585B8: ; // 0x25585b8
|
|
/* 025585B8 */ Gambit_fn_0239AD28(cpu);
|
|
/* 025585BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025585C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025585C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025585C0 */ if (_t8) goto L_025585C4; else goto L_025585C8;
|
|
L_025585C4: ; // 0x25585c4
|
|
/* 025585C4 */ cpu->r[31] = 0x00000000u;
|
|
L_025585C8: ; // 0x25585c8
|
|
/* 025585C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 025585C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025585CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 025585D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025585D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025585D4 */ cpu->lr = cpu->r[0];
|
|
/* 025585D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025585DC */ return;
|
|
}
|
|
|
|
// fn_025585E0 @ 0x25585e0
|
|
void Gambit_fn_025585E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025585E0: ; // 0x25585e0
|
|
/* 025585E0 */ cpu->r[0] = cpu->lr;
|
|
/* 025585E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025585E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025585E4 */ cpu->r[1] = _t0;
|
|
/* 025585E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025585E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025585EC */ cpu->r[31] = cpu->r[3];
|
|
/* 025585F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025585F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025585F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025585F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025585F8 */ Gambit_fn_0255787C(cpu);
|
|
/* 025585FC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02558600 */ _t4 = cpu->r[12] + 0x00005BA0u;
|
|
/* 02558600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558604 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02558604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558608 */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0255860C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02558610 */ cpu->r[30] = 0x00000000u;
|
|
/* 02558614 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558614 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02558614 */ if (_t8) goto L_02558618; else goto L_02558624;
|
|
L_02558618: ; // 0x2558618
|
|
/* 02558618 */ _t9 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0255861C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02558620 */ _t10 = cpu->r[10] + cpu->r[0];
|
|
/* 02558620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
L_02558624: ; // 0x2558624
|
|
/* 02558624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02558628 */ Gambit_fn_02558590(cpu);
|
|
/* 0255862C */ cpu->r[5] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02558630 */ cpu->r[3] = cpu->r[30];
|
|
/* 02558634 */ cpu->r[4] = cpu->r[31];
|
|
/* 02558638 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0255863C */ Gambit_fn_025593BC(cpu);
|
|
/* 02558640 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02558640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02558644 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02558648 */ cpu->lr = cpu->r[0];
|
|
/* 0255864C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0255864C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02558650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558654 */ return;
|
|
}
|
|
|
|
// fn_025585E4 @ 0x25585e4
|
|
void Gambit_fn_025585E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_025585E4: ; // 0x25585e4
|
|
/* 025585E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 025585E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025585E4 */ cpu->r[1] = _t0;
|
|
/* 025585E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025585E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 025585EC */ cpu->r[31] = cpu->r[3];
|
|
/* 025585F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 025585F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 025585F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 025585F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025585F8 */ Gambit_fn_0255787C(cpu);
|
|
/* 025585FC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02558600 */ _t4 = cpu->r[12] + 0x00005BA0u;
|
|
/* 02558600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558604 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02558604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558608 */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0255860C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02558610 */ cpu->r[30] = 0x00000000u;
|
|
/* 02558614 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558614 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02558614 */ if (_t8) goto L_02558618; else goto L_02558624;
|
|
L_02558618: ; // 0x2558618
|
|
/* 02558618 */ _t9 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0255861C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02558620 */ _t10 = cpu->r[10] + cpu->r[0];
|
|
/* 02558620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
L_02558624: ; // 0x2558624
|
|
/* 02558624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02558628 */ Gambit_fn_02558590(cpu);
|
|
/* 0255862C */ cpu->r[5] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02558630 */ cpu->r[3] = cpu->r[30];
|
|
/* 02558634 */ cpu->r[4] = cpu->r[31];
|
|
/* 02558638 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0255863C */ Gambit_fn_025593BC(cpu);
|
|
/* 02558640 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02558640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02558644 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02558648 */ cpu->lr = cpu->r[0];
|
|
/* 0255864C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0255864C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02558650 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558654 */ return;
|
|
}
|
|
|
|
// fn_02558658 @ 0x2558658
|
|
void Gambit_fn_02558658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02558658: ; // 0x2558658
|
|
/* 02558658 */ cpu->r[0] = cpu->lr;
|
|
/* 0255865C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0255865C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255865C */ cpu->r[1] = _t0;
|
|
/* 02558660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0255866C */ Gambit_fn_02558590(cpu);
|
|
/* 02558670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558674 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558674 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02558674 */ if (_t4) goto L_025586A8; else goto L_02558678;
|
|
L_02558678: ; // 0x2558678
|
|
/* 02558678 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0255867C */ _t5 = cpu->r[12] + 0x00005BA0u;
|
|
/* 0255867C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558680 */ _t6 = cpu->r[31] + 0x00000024u;
|
|
/* 02558680 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02558684 */ _t7 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558684 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02558688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 0255868C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558690 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558690 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02558690 */ if (_t9) goto L_02558694; else goto L_025586A0;
|
|
L_02558694: ; // 0x2558694
|
|
/* 02558694 */ _t10 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02558698 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255869C */ _t11 = cpu->r[10] + cpu->r[0];
|
|
/* 0255869C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
L_025586A0: ; // 0x25586a0
|
|
/* 025586A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025586A4 */ Gambit_fn_0255921C(cpu);
|
|
L_025586A8: ; // 0x25586a8
|
|
/* 025586A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025586AC */ Gambit_fn_025578F4(cpu);
|
|
/* 025586B0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 025586B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025586B4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025586B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025586B8 */ cpu->lr = cpu->r[0];
|
|
/* 025586BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025586C0 */ return;
|
|
}
|
|
|
|
// fn_0255865C @ 0x255865c
|
|
void Gambit_fn_0255865C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0255865C: ; // 0x255865c
|
|
/* 0255865C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0255865C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255865C */ cpu->r[1] = _t0;
|
|
/* 02558660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558664 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0255866C */ Gambit_fn_02558590(cpu);
|
|
/* 02558670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558674 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558674 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02558674 */ if (_t4) goto L_025586A8; else goto L_02558678;
|
|
L_02558678: ; // 0x2558678
|
|
/* 02558678 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0255867C */ _t5 = cpu->r[12] + 0x00005BA0u;
|
|
/* 0255867C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558680 */ _t6 = cpu->r[31] + 0x00000024u;
|
|
/* 02558680 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02558684 */ _t7 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558684 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02558688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 0255868C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558690 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558690 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02558690 */ if (_t9) goto L_02558694; else goto L_025586A0;
|
|
L_02558694: ; // 0x2558694
|
|
/* 02558694 */ _t10 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02558698 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255869C */ _t11 = cpu->r[10] + cpu->r[0];
|
|
/* 0255869C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
L_025586A0: ; // 0x25586a0
|
|
/* 025586A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 025586A4 */ Gambit_fn_0255921C(cpu);
|
|
L_025586A8: ; // 0x25586a8
|
|
/* 025586A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 025586AC */ Gambit_fn_025578F4(cpu);
|
|
/* 025586B0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 025586B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025586B4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025586B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 025586B8 */ cpu->lr = cpu->r[0];
|
|
/* 025586BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 025586C0 */ return;
|
|
}
|
|
|
|
// fn_025586C4 @ 0x25586c4
|
|
void Gambit_fn_025586C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02061454: ; // 0x2061454
|
|
/* 02061454 */ cpu->r[0] = cpu->lr;
|
|
/* 02061458 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02061458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061458 */ cpu->r[1] = _t0;
|
|
/* 0206145C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0206145C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02061460 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061460 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02061464 */ cpu->r[30] = cpu->r[3];
|
|
/* 02061468 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02061468 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0206146C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0206146C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02061470 */ /* nop */
|
|
/* 02061474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02061478 */ cpu->r[31] = cpu->r[4];
|
|
/* 0206147C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206147C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0206147C */ if (_t6) goto L_02061480; else goto L_02061494;
|
|
L_02061480: ; // 0x2061480
|
|
/* 02061480 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02061480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02061484 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02061484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02061488 */ cpu->ctr = cpu->r[0];
|
|
/* 0206148C */ cpu->r[3] = cpu->r[30];
|
|
/* 02061490 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02061494: ; // 0x2061494
|
|
/* 02061494 */ cpu->r[3] = cpu->r[30];
|
|
/* 02061498 */ cpu->r[4] = cpu->r[31];
|
|
/* 0206149C */ Gambit_fn_020613CC(cpu);
|
|
/* 020614A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 020614A4 */ /* nop */
|
|
/* 020614A8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 020614AC */ cpu->r[3] = cpu->r[30];
|
|
/* 020614B0 */ Gambit_fn_0206124C(cpu);
|
|
/* 020614B4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 020614B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020614B8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 020614B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020614BC */ cpu->lr = cpu->r[0];
|
|
/* 020614C0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020614C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020614C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020614C8 */ return;
|
|
L_025586C4: ; // 0x25586c4
|
|
/* 025586C4 */ _t12 = cpu->r[3] + 0x000001F8u;
|
|
/* 025586C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 025586C8 */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 025586CC */ cpu->r[4] = 0x00000001u;
|
|
/* 025586D0 */ goto L_02061454;
|
|
}
|
|
|
|
// fn_025586D4 @ 0x25586d4
|
|
void Gambit_fn_025586D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_025586D4: ; // 0x25586d4
|
|
/* 025586D4 */ cpu->r[0] = cpu->lr;
|
|
/* 025586D8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025586D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025586D8 */ cpu->r[1] = _t0;
|
|
/* 025586DC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 025586DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025586E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025586E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025586E4 */ /* nop */
|
|
/* 025586E8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025586E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025586EC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 025586EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025586F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025586F4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025586F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025586F8 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025586F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025586FC */ Gambit_fn_02558590(cpu);
|
|
/* 02558700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558704 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558704 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02558704 */ if (_t8) goto L_025587BC; else goto L_02558708;
|
|
L_02558708: ; // 0x2558708
|
|
/* 02558708 */ _t9 = cpu->r[30] + 0x000001BCu;
|
|
/* 02558708 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0255870C */ /* nop */
|
|
/* 02558710 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558710 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02558710 */ if (_t11) goto L_02558714; else goto L_025587BC;
|
|
L_02558714: ; // 0x2558714
|
|
/* 02558714 */ _t12 = cpu->r[30] + 0x000001F0u;
|
|
/* 02558714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02558718 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0255871C */ Gambit_fn_023FA1FC(cpu);
|
|
/* 02558720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558724 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558724 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02558724 */ if (_t14) goto L_025587BC; else goto L_02558728;
|
|
L_02558728: ; // 0x2558728
|
|
/* 02558728 */ _t15 = cpu->r[30] + 0x000001F0u;
|
|
/* 02558728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0255872C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0255872C */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02558730 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02558734 */ cpu->f[31] = cpu->f[1];
|
|
/* 02558738 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255873C */ Gambit_fn_025581F8(cpu);
|
|
/* 02558740 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 02558744 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558744 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02558744 */ if (_t18) goto L_02558748; else goto L_025587BC;
|
|
L_02558748: ; // 0x2558748
|
|
/* 02558748 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0255874C */ _t19 = cpu->r[12] + 0x00005BA0u;
|
|
/* 0255874C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02558750 */ _t20 = cpu->r[30] + 0x00000024u;
|
|
/* 02558750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02558754 */ _t21 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 0255875C */ cpu->r[31] = 0x00000000u;
|
|
/* 02558760 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558760 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02558760 */ if (_t23) goto L_02558764; else goto L_02558770;
|
|
L_02558764: ; // 0x2558764
|
|
/* 02558764 */ _t24 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02558768 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255876C */ _t25 = cpu->r[12] + cpu->r[0];
|
|
/* 0255876C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
L_02558770: ; // 0x2558770
|
|
/* 02558770 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02558774 */ _t26 = cpu->r[29] + 0x00006000u;
|
|
/* 02558774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02558774 */ cpu->r[29] = _t26;
|
|
/* 02558778 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02558778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0255877C */ _t28 = cpu->r[8] + 0x0000012Cu;
|
|
/* 0255877C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02558780 */ cpu->ctr = cpu->r[0];
|
|
/* 02558784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558788 */ cpu->r[4] = cpu->r[3];
|
|
/* 0255878C */ cpu->r[3] = cpu->r[31];
|
|
/* 02558790 */ Gambit_fn_0255948C(cpu);
|
|
/* 02558794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558798 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558798 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02558798 */ if (_t30) goto L_025587BC; else goto L_0255879C;
|
|
L_0255879C: ; // 0x255879c
|
|
/* 0255879C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 0255879C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025587A0 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 025587A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025587A4 */ _t33 = cpu->r[11] + 0x0000012Cu;
|
|
/* 025587A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025587A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025587AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025587B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 025587B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025587B8 */ Gambit_fn_025586C4(cpu);
|
|
L_025587BC: ; // 0x25587bc
|
|
/* 025587BC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025587BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025587C0 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 025587C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 025587C4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 025587C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025587C8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 025587C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 025587CC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 025587CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025587D0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025587D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 025587D0 */ if (_t40) goto L_025587D4; // else: addr-0 trap, fall-through
|
|
L_025587D4: ; // 0x25587d4
|
|
/* 025587D4 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025587D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025587D8 */ cpu->lr = cpu->r[0];
|
|
/* 025587DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025587E0 */ return;
|
|
}
|
|
|
|
// fn_025586D8 @ 0x25586d8
|
|
void Gambit_fn_025586D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_025586D8: ; // 0x25586d8
|
|
/* 025586D8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 025586D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025586D8 */ cpu->r[1] = _t0;
|
|
/* 025586DC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 025586DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 025586E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025586E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025586E4 */ /* nop */
|
|
/* 025586E8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025586E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025586EC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 025586EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 025586F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 025586F4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 025586F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 025586F8 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025586F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 025586FC */ Gambit_fn_02558590(cpu);
|
|
/* 02558700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558704 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558704 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02558704 */ if (_t8) goto L_025587BC; else goto L_02558708;
|
|
L_02558708: ; // 0x2558708
|
|
/* 02558708 */ _t9 = cpu->r[30] + 0x000001BCu;
|
|
/* 02558708 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0255870C */ /* nop */
|
|
/* 02558710 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558710 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02558710 */ if (_t11) goto L_02558714; else goto L_025587BC;
|
|
L_02558714: ; // 0x2558714
|
|
/* 02558714 */ _t12 = cpu->r[30] + 0x000001F0u;
|
|
/* 02558714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02558718 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0255871C */ Gambit_fn_023FA1FC(cpu);
|
|
/* 02558720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558724 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558724 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02558724 */ if (_t14) goto L_025587BC; else goto L_02558728;
|
|
L_02558728: ; // 0x2558728
|
|
/* 02558728 */ _t15 = cpu->r[30] + 0x000001F0u;
|
|
/* 02558728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0255872C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0255872C */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02558730 */ Gambit_fn_023F9AB8(cpu);
|
|
/* 02558734 */ cpu->f[31] = cpu->f[1];
|
|
/* 02558738 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255873C */ Gambit_fn_025581F8(cpu);
|
|
/* 02558740 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 02558744 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02558744 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02558744 */ if (_t18) goto L_02558748; else goto L_025587BC;
|
|
L_02558748: ; // 0x2558748
|
|
/* 02558748 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0255874C */ _t19 = cpu->r[12] + 0x00005BA0u;
|
|
/* 0255874C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02558750 */ _t20 = cpu->r[30] + 0x00000024u;
|
|
/* 02558750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02558754 */ _t21 = cpu->r[12] + 0x000000D4u;
|
|
/* 02558754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 0255875C */ cpu->r[31] = 0x00000000u;
|
|
/* 02558760 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558760 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02558760 */ if (_t23) goto L_02558764; else goto L_02558770;
|
|
L_02558764: ; // 0x2558764
|
|
/* 02558764 */ _t24 = cpu->r[12] + 0x000000DCu;
|
|
/* 02558764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02558768 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255876C */ _t25 = cpu->r[12] + cpu->r[0];
|
|
/* 0255876C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
L_02558770: ; // 0x2558770
|
|
/* 02558770 */ cpu->r[29] = 0x101C0000u;
|
|
/* 02558774 */ _t26 = cpu->r[29] + 0x00006000u;
|
|
/* 02558774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02558774 */ cpu->r[29] = _t26;
|
|
/* 02558778 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02558778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0255877C */ _t28 = cpu->r[8] + 0x0000012Cu;
|
|
/* 0255877C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02558780 */ cpu->ctr = cpu->r[0];
|
|
/* 02558784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558788 */ cpu->r[4] = cpu->r[3];
|
|
/* 0255878C */ cpu->r[3] = cpu->r[31];
|
|
/* 02558790 */ Gambit_fn_0255948C(cpu);
|
|
/* 02558794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558798 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558798 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02558798 */ if (_t30) goto L_025587BC; else goto L_0255879C;
|
|
L_0255879C: ; // 0x255879c
|
|
/* 0255879C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 0255879C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 025587A0 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 025587A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025587A4 */ _t33 = cpu->r[11] + 0x0000012Cu;
|
|
/* 025587A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025587A8 */ cpu->ctr = cpu->r[0];
|
|
/* 025587AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 025587B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 025587B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 025587B8 */ Gambit_fn_025586C4(cpu);
|
|
L_025587BC: ; // 0x25587bc
|
|
/* 025587BC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025587BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 025587C0 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 025587C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 025587C4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 025587C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025587C8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 025587C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 025587CC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 025587CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 025587D0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025587D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 025587D0 */ if (_t40) goto L_025587D4; // else: addr-0 trap, fall-through
|
|
L_025587D4: ; // 0x25587d4
|
|
/* 025587D4 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025587D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 025587D8 */ cpu->lr = cpu->r[0];
|
|
/* 025587DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025587E0 */ return;
|
|
}
|
|
|
|
// fn_025587E4 @ 0x25587e4
|
|
void Gambit_fn_025587E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150;
|
|
|
|
L_025587E4: ; // 0x25587e4
|
|
/* 025587E4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 025587E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025587E4 */ cpu->r[1] = _t0;
|
|
/* 025587E8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 025587E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 025587EC */ /* nop */
|
|
/* 025587F0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025587F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025587F4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 025587F4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 025587F8 */ cpu->r[0] = cpu->lr;
|
|
/* 025587FC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 025587FC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
|
|
/* 02558800 */ /* nop */
|
|
/* 02558804 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02558804 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02558808 */ /* nop */
|
|
/* 0255880C */ _t6 = cpu->r[1] + 0x00000048u;
|
|
/* 0255880C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02558810 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 02558814 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02558814 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[28]);
|
|
/* 02558818 */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 02558818 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 0255881C */ _t9 = cpu->r[1] + 0x00000050u;
|
|
/* 0255881C */ rbrew_write_f64(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02558820 */ _t10 = cpu->r[1] + 0x00000064u;
|
|
/* 02558820 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02558824 */ /* nop */
|
|
/* 02558828 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02558828 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0255882C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02558830 */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 02558830 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02558834 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02558838 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02558838 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0255883C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02558840 */ _t14 = cpu->r[12] + 0xFFFFA950u;
|
|
/* 02558840 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02558840 */ cpu->r[12] = _t14;
|
|
/* 02558844 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02558848 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02558848 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0255884C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02558850 */ _t16 = cpu->r[11] + 0xFFFFA958u;
|
|
/* 02558850 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02558850 */ cpu->r[11] = _t16;
|
|
/* 02558854 */ cpu->r[6] = cpu->r[6] + 0x00005BFCu;
|
|
/* 02558858 */ _t17 = cpu->r[11] + 0x00000004u;
|
|
/* 02558858 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0255885C */ cpu->r[0] = 0x00000002u;
|
|
/* 02558860 */ _t18 = cpu->r[6] + 0x00000008u;
|
|
/* 02558860 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02558864 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02558868 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02558868 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0255886C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0255886C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02558870 */ cpu->r[28] = 0x101F0000u;
|
|
/* 02558874 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02558874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558878 */ _t22 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02558878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0255887C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02558880 */ _t23 = cpu->r[31] + 0xFFFFA990u;
|
|
/* 02558880 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02558880 */ cpu->r[31] = _t23;
|
|
/* 02558884 */ _t24 = cpu->r[31] + 0x00000010u;
|
|
/* 02558884 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02558888 */ cpu->r[9] = cpu->r[9] + 0xFFFFA968u;
|
|
/* 0255888C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02558890 */ _t25 = cpu->r[9] + 0x00000004u;
|
|
/* 02558890 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02558894 */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 02558894 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02558898 */ _t27 = cpu->r[28] + 0x00005C2Cu;
|
|
/* 02558898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02558898 */ cpu->r[28] = _t27;
|
|
/* 0255889C */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 0255889C */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
|
|
/* 025588A0 */ _t29 = cpu->r[31] + 0x00000030u;
|
|
/* 025588A0 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 025588A4 */ _t30 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025588A4 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 025588A8 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 025588A8 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 025588AC */ _t32 = cpu->r[31] + 0x00000024u;
|
|
/* 025588AC */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 025588B0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 025588B4 */ _t33 = cpu->r[31] + 0x00000028u;
|
|
/* 025588B4 */ rbrew_write32(cpu->mem, _t33, cpu->r[4]);
|
|
/* 025588B8 */ _t34 = cpu->r[10] + 0xFFFFA960u;
|
|
/* 025588B8 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 025588B8 */ cpu->r[10] = _t34;
|
|
/* 025588BC */ cpu->r[0] = 0x00000004u;
|
|
/* 025588C0 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 025588C0 */ rbrew_write32(cpu->mem, _t35, cpu->r[5]);
|
|
/* 025588C4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 025588C8 */ _t36 = cpu->r[12] + 0xFFFFA978u;
|
|
/* 025588C8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 025588CC */ _t37 = cpu->r[28] + 0x00000008u;
|
|
/* 025588CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 025588D0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 025588D4 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 025588D4 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 025588D8 */ _t39 = cpu->r[12] + 0xFFFFA970u;
|
|
/* 025588D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 025588D8 */ cpu->r[12] = _t39;
|
|
/* 025588DC */ _t40 = cpu->r[7] + 0x00005C1Cu;
|
|
/* 025588DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 025588DC */ cpu->r[7] = _t40;
|
|
/* 025588E0 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 025588E0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 025588E4 */ _t42 = cpu->r[7] + 0x00000008u;
|
|
/* 025588E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 025588E8 */ _t43 = cpu->r[31] + 0x00000020u;
|
|
/* 025588E8 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 025588EC */ _t44 = cpu->r[31] + 0x00000014u;
|
|
/* 025588EC */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 025588F0 */ _t45 = cpu->r[31] + 0x00000040u;
|
|
/* 025588F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 025588F4 */ _t46 = cpu->r[28] + 0x0000000Cu;
|
|
/* 025588F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025588F8 */ _t47 = cpu->r[7] + 0x00000004u;
|
|
/* 025588F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025588FC */ _t48 = cpu->r[31] + 0x0000003Cu;
|
|
/* 025588FC */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 02558900 */ _t49 = cpu->r[31] + 0x00000044u;
|
|
/* 02558900 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]);
|
|
/* 02558904 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02558904 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 02558908 */ _t51 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02558908 */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 0255890C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02558910 */ _t52 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02558910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02558914 */ _t53 = cpu->r[9] + 0x00005BDCu;
|
|
/* 02558914 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02558914 */ cpu->r[9] = _t53;
|
|
/* 02558918 */ _t54 = cpu->r[28] + 0x00000004u;
|
|
/* 02558918 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0255891C */ _t55 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0255891C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02558920 */ _t56 = cpu->r[31] + 0x00000034u;
|
|
/* 02558920 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02558924 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02558928 */ _t57 = cpu->r[12] + 0x00000004u;
|
|
/* 02558928 */ rbrew_write32(cpu->mem, _t57, cpu->r[5]);
|
|
/* 0255892C */ _t58 = cpu->r[9] + 0x00000008u;
|
|
/* 0255892C */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02558930 */ cpu->r[8] = cpu->r[8] + 0x00005C4Cu;
|
|
/* 02558934 */ _t59 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02558934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02558938 */ _t60 = cpu->r[9] + 0x00000004u;
|
|
/* 02558938 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0255893C */ _t61 = cpu->r[31] + 0x00000088u;
|
|
/* 0255893C */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 02558940 */ _t62 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02558940 */ rbrew_write32(cpu->mem, _t62, cpu->r[3]);
|
|
/* 02558944 */ _t63 = cpu->r[31] + 0x00000080u;
|
|
/* 02558944 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]);
|
|
/* 02558948 */ _t64 = cpu->r[31] + 0x00000038u;
|
|
/* 02558948 */ rbrew_write32(cpu->mem, _t64, cpu->r[10]);
|
|
/* 0255894C */ _t65 = cpu->r[8] + 0x00000004u;
|
|
/* 0255894C */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02558950 */ _t66 = cpu->r[31] + 0x00000058u;
|
|
/* 02558950 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02558954 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02558958 */ _t67 = cpu->r[31] + 0x00000064u;
|
|
/* 02558958 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 0255895C */ _t68 = cpu->r[11] + 0x00005C3Cu;
|
|
/* 0255895C */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0255895C */ cpu->r[11] = _t68;
|
|
/* 02558960 */ _t69 = cpu->r[31] + 0x00000090u;
|
|
/* 02558960 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 02558964 */ _t70 = cpu->r[31] + 0x00000070u;
|
|
/* 02558964 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 02558968 */ _t71 = cpu->r[11] + 0x00000004u;
|
|
/* 02558968 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0255896C */ _t72 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0255896C */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02558970 */ _t73 = cpu->r[31] + 0x00000074u;
|
|
/* 02558970 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 02558974 */ _t74 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02558974 */ rbrew_write32(cpu->mem, _t74, cpu->r[7]);
|
|
/* 02558978 */ _t75 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02558978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0255897C */ _t76 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0255897C */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02558980 */ _t77 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02558980 */ rbrew_write32(cpu->mem, _t77, cpu->r[10]);
|
|
/* 02558984 */ _t78 = cpu->r[31] + 0x00000094u;
|
|
/* 02558984 */ rbrew_write32(cpu->mem, _t78, cpu->r[9]);
|
|
/* 02558988 */ _t79 = cpu->r[31] + 0x00000054u;
|
|
/* 02558988 */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 0255898C */ _t80 = cpu->r[31] + 0x00000084u;
|
|
/* 0255898C */ rbrew_write32(cpu->mem, _t80, cpu->r[9]);
|
|
/* 02558990 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02558994 */ _t81 = cpu->r[31] + 0x00000050u;
|
|
/* 02558994 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 02558998 */ _t82 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02558998 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 0255899C */ _t83 = cpu->r[11] + 0x00000008u;
|
|
/* 0255899C */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 025589A0 */ _t84 = cpu->r[31] + 0x000000BCu;
|
|
/* 025589A0 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
|
|
/* 025589A4 */ _t85 = cpu->r[7] + 0x00005C0Cu;
|
|
/* 025589A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 025589A4 */ cpu->r[7] = _t85;
|
|
/* 025589A8 */ _t86 = cpu->r[7] + 0x00000004u;
|
|
/* 025589A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t86);
|
|
/* 025589AC */ _t87 = cpu->r[31] + 0x000000A0u;
|
|
/* 025589AC */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 025589B0 */ _t88 = cpu->r[31] + 0x000000A4u;
|
|
/* 025589B0 */ rbrew_write32(cpu->mem, _t88, cpu->r[10]);
|
|
/* 025589B4 */ _t89 = cpu->r[31] + 0x00000078u;
|
|
/* 025589B4 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 025589B8 */ _t90 = cpu->r[7] + 0x00000008u;
|
|
/* 025589B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
|
|
/* 025589BC */ _t91 = cpu->r[8] + 0x00000000u;
|
|
/* 025589BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 025589C0 */ _t92 = cpu->r[31] + 0x000000A8u;
|
|
/* 025589C0 */ rbrew_write32(cpu->mem, _t92, cpu->r[11]);
|
|
/* 025589C4 */ _t93 = cpu->r[31] + 0x00000060u;
|
|
/* 025589C4 */ rbrew_write32(cpu->mem, _t93, cpu->r[5]);
|
|
/* 025589C8 */ _t94 = cpu->r[8] + 0x00000008u;
|
|
/* 025589C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
|
|
/* 025589CC */ _t95 = cpu->r[31] + 0x00000098u;
|
|
/* 025589CC */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 025589D0 */ _t96 = cpu->r[31] + 0x0000009Cu;
|
|
/* 025589D0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 025589D4 */ _t97 = cpu->r[7] + 0x0000000Cu;
|
|
/* 025589D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 025589D8 */ cpu->r[10] = 0x100D0000u;
|
|
/* 025589DC */ _t98 = cpu->r[31] + 0x000000B8u;
|
|
/* 025589DC */ rbrew_write32(cpu->mem, _t98, cpu->r[4]);
|
|
/* 025589E0 */ cpu->r[7] = 0x100D0000u;
|
|
/* 025589E4 */ _t99 = cpu->r[10] + 0xFFFFAE28u;
|
|
/* 025589E4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 025589E8 */ _t100 = cpu->r[31] + 0x00000068u;
|
|
/* 025589E8 */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 025589EC */ cpu->r[10] = 0x100D0000u;
|
|
/* 025589F0 */ _t101 = cpu->r[7] + 0xFFFFAE24u;
|
|
/* 025589F0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 025589F4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 025589F8 */ _t102 = cpu->r[10] + 0xFFFFAE20u;
|
|
/* 025589F8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 025589FC */ _t103 = cpu->r[31] + 0x000000B0u;
|
|
/* 025589FC */ rbrew_write32(cpu->mem, _t103, cpu->r[30]);
|
|
/* 02558A00 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02558A04 */ _t104 = cpu->r[31] + 0x000000B4u;
|
|
/* 02558A04 */ rbrew_write32(cpu->mem, _t104, cpu->r[29]);
|
|
/* 02558A08 */ _t105 = cpu->r[11] + 0xFFFFAE2Cu;
|
|
/* 02558A08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02558A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 02558A10 */ _t106 = cpu->r[31] + 0x000000ACu;
|
|
/* 02558A10 */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
/* 02558A14 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558A14 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02558A14 */ if (_t108) goto L_02558A18; else goto L_02558A28;
|
|
L_02558A18: ; // 0x2558a18
|
|
/* 02558A18 */ cpu->r[3] = 0x00000010u;
|
|
/* 02558A1C */ Gambit_fn_02801A78(cpu);
|
|
/* 02558A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558A24 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558A24 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02558A24 */ if (_t110) goto L_02558A38; else goto L_02558A28;
|
|
L_02558A28: ; // 0x2558a28
|
|
/* 02558A28 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 02558A28 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[29]);
|
|
/* 02558A2C */ _t112 = cpu->r[3] + 0x00000008u;
|
|
/* 02558A2C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[28]);
|
|
/* 02558A30 */ _t113 = cpu->r[3] + 0x00000000u;
|
|
/* 02558A30 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[30]);
|
|
/* 02558A34 */ _t114 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558A34 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]);
|
|
L_02558A38: ; // 0x2558a38
|
|
/* 02558A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 02558A3C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02558A40 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558A40 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02558A40 */ if (_t116) goto L_02558A44; else goto L_02558A54;
|
|
L_02558A44: ; // 0x2558a44
|
|
/* 02558A44 */ cpu->r[3] = 0x00000010u;
|
|
/* 02558A48 */ Gambit_fn_02801A78(cpu);
|
|
/* 02558A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558A50 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558A50 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02558A50 */ if (_t118) goto L_02558A64; else goto L_02558A54;
|
|
L_02558A54: ; // 0x2558a54
|
|
/* 02558A54 */ _t119 = cpu->r[3] + 0x00000004u;
|
|
/* 02558A54 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[29]);
|
|
/* 02558A58 */ _t120 = cpu->r[3] + 0x00000008u;
|
|
/* 02558A58 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[30]);
|
|
/* 02558A5C */ _t121 = cpu->r[3] + 0x00000000u;
|
|
/* 02558A5C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[28]);
|
|
/* 02558A60 */ _t122 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558A60 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[31]);
|
|
L_02558A64: ; // 0x2558a64
|
|
/* 02558A64 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02558A68 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02558A6C */ cpu->r[3] = cpu->r[3] + 0xFFFFA97Cu;
|
|
/* 02558A70 */ cpu->r[5] = cpu->r[5] + 0x00005BCCu;
|
|
/* 02558A74 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02558A78 */ _t123 = cpu->r[5] + 0x00000004u;
|
|
/* 02558A78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02558A7C */ cpu->r[11] = cpu->r[11] + 0xFFFFADECu;
|
|
/* 02558A80 */ _t124 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02558A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02558A84 */ _t125 = cpu->r[3] + 0x00000008u;
|
|
/* 02558A84 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 02558A88 */ cpu->r[6] = 0x100D0000u;
|
|
/* 02558A8C */ _t126 = cpu->r[31] + 0x000000ECu;
|
|
/* 02558A8C */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 02558A90 */ cpu->r[6] = cpu->r[6] + 0xFFFFAD54u;
|
|
/* 02558A94 */ _t127 = cpu->r[5] + 0x00000008u;
|
|
/* 02558A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02558A98 */ cpu->r[12] = 0x02560000u;
|
|
/* 02558A9C */ _t128 = cpu->r[31] + 0x000000E4u;
|
|
/* 02558A9C */ rbrew_write32(cpu->mem, _t128, cpu->r[9]);
|
|
/* 02558AA0 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02558AA4 */ _t129 = cpu->r[31] + 0x000000E8u;
|
|
/* 02558AA4 */ rbrew_write32(cpu->mem, _t129, cpu->r[0]);
|
|
/* 02558AA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFAE30u;
|
|
/* 02558AAC */ _t130 = cpu->r[5] + 0x00000000u;
|
|
/* 02558AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02558AB0 */ cpu->r[12] = cpu->r[12] + 0xFFFF8FC8u;
|
|
/* 02558AB4 */ _t131 = cpu->r[3] + 0x00000000u;
|
|
/* 02558AB4 */ rbrew_write32(cpu->mem, _t131, cpu->r[9]);
|
|
/* 02558AB8 */ _t132 = cpu->r[3] + 0x00000004u;
|
|
/* 02558AB8 */ rbrew_write32(cpu->mem, _t132, cpu->r[6]);
|
|
/* 02558ABC */ _t133 = cpu->r[31] + 0x000000E0u;
|
|
/* 02558ABC */ rbrew_write32(cpu->mem, _t133, cpu->r[0]);
|
|
/* 02558AC0 */ _t134 = cpu->r[3] + 0x00000010u;
|
|
/* 02558AC0 */ rbrew_write32(cpu->mem, _t134, cpu->r[12]);
|
|
/* 02558AC4 */ _t135 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558AC4 */ rbrew_write32(cpu->mem, _t135, cpu->r[6]);
|
|
/* 02558AC8 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02558ACC */ cpu->r[3] = 0x101C0000u;
|
|
/* 02558AD0 */ cpu->r[3] = cpu->r[3] + 0x00006AC0u;
|
|
/* 02558AD4 */ Gambit_fn_02C83090(cpu);
|
|
/* 02558AD8 */ _t136 = cpu->r[1] + 0x00000010u;
|
|
/* 02558AD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02558ADC */ _t137 = cpu->r[1] + 0x00000014u;
|
|
/* 02558ADC */ cpu->r[29] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02558AE0 */ _t138 = cpu->r[1] + 0x00000058u;
|
|
/* 02558AE0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02558AE4 */ _t139 = cpu->r[1] + 0x00000038u;
|
|
/* 02558AE4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02558AE8 */ _t140 = cpu->r[1] + 0x00000050u;
|
|
/* 02558AE8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 02558AEC */ _t141 = cpu->r[1] + 0x00000048u;
|
|
/* 02558AEC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 02558AF0 */ _t142 = cpu->r[1] + 0x00000030u;
|
|
/* 02558AF0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 02558AF4 */ _t143 = cpu->r[1] + 0x00000040u;
|
|
/* 02558AF4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 02558AF8 */ _t144 = cpu->r[1] + 0x00000028u;
|
|
/* 02558AF8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 02558AFC */ _t145 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02558AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02558B00 */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 02558B00 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 02558B04 */ _t147 = cpu->r[1] + 0x00000018u;
|
|
/* 02558B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02558B08 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02558B08 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02558B08 */ if (_t149) goto L_02558B0C; // else: addr-0 trap, fall-through
|
|
L_02558B0C: ; // 0x2558b0c
|
|
/* 02558B0C */ _t150 = cpu->r[1] + 0x00000064u;
|
|
/* 02558B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02558B10 */ cpu->lr = cpu->r[0];
|
|
/* 02558B14 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02558B18 */ return;
|
|
}
|
|
|
|
// fn_02558B1C @ 0x2558b1c
|
|
void Gambit_fn_02558B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02558B1C: ; // 0x2558b1c
|
|
/* 02558B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558B20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558B20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02558B20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558B20 */ goto L_02558B24;
|
|
L_02558B24: ; // 0x2558b24
|
|
/* 02558B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02558B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02558B28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558B28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02558B28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558B28 */ goto L_02558B2C;
|
|
L_02558B2C: ; // 0x2558b2c
|
|
/* 02558B2C */ 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_02558B30 @ 0x2558b30
|
|
void Gambit_fn_02558B30(CPUState* cpu) {
|
|
L_02558B30: ; // 0x2558b30
|
|
/* 02558B30 */ return;
|
|
}
|
|
|
|
// fn_02558B34 @ 0x2558b34
|
|
void Gambit_fn_02558B34(CPUState* cpu) {
|
|
L_02558B34: ; // 0x2558b34
|
|
/* 02558B34 */ return;
|
|
}
|
|
|
|
// fn_02558B38 @ 0x2558b38
|
|
void Gambit_fn_02558B38(CPUState* cpu) {
|
|
L_02558B38: ; // 0x2558b38
|
|
/* 02558B38 */ return;
|
|
}
|
|
|
|
// fn_02558B3C @ 0x2558b3c
|
|
void Gambit_fn_02558B3C(CPUState* cpu) {
|
|
L_02558B3C: ; // 0x2558b3c
|
|
/* 02558B3C */ return;
|
|
}
|
|
|
|
// fn_02558B40 @ 0x2558b40
|
|
void Gambit_fn_02558B40(CPUState* cpu) {
|
|
L_02558B40: ; // 0x2558b40
|
|
/* 02558B40 */ return;
|
|
}
|
|
|
|
// fn_02558B44 @ 0x2558b44
|
|
void Gambit_fn_02558B44(CPUState* cpu) {
|
|
L_02558B44: ; // 0x2558b44
|
|
/* 02558B44 */ return;
|
|
}
|
|
|
|
// fn_02558B48 @ 0x2558b48
|
|
void Gambit_fn_02558B48(CPUState* cpu) {
|
|
L_02558B48: ; // 0x2558b48
|
|
/* 02558B48 */ return;
|
|
}
|
|
|
|
// fn_02558B4C @ 0x2558b4c
|
|
void Gambit_fn_02558B4C(CPUState* cpu) {
|
|
L_02558B4C: ; // 0x2558b4c
|
|
/* 02558B4C */ return;
|
|
}
|
|
|
|
// fn_02558B50 @ 0x2558b50
|
|
void Gambit_fn_02558B50(CPUState* cpu) {
|
|
L_02558B50: ; // 0x2558b50
|
|
/* 02558B50 */ return;
|
|
}
|
|
|
|
// fn_02558B54 @ 0x2558b54
|
|
void Gambit_fn_02558B54(CPUState* cpu) {
|
|
L_02558B54: ; // 0x2558b54
|
|
/* 02558B54 */ return;
|
|
}
|
|
|
|
// fn_02558B58 @ 0x2558b58
|
|
void Gambit_fn_02558B58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02558B58: ; // 0x2558b58
|
|
/* 02558B58 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02558B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558B60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558B60 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558B60 */ if (_t2) goto L_02558B6C; else goto L_02558B64;
|
|
L_02558B64: ; // 0x2558b64
|
|
/* 02558B64 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02558B68 */ return;
|
|
L_02558B6C: ; // 0x2558b6c
|
|
/* 02558B6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558B70 */ return;
|
|
}
|
|
|
|
// fn_02558B74 @ 0x2558b74
|
|
void Gambit_fn_02558B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02558B74: ; // 0x2558b74
|
|
/* 02558B74 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02558B74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558B7C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558B7C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558B7C */ if (_t2) goto L_02558B88; else goto L_02558B80;
|
|
L_02558B80: ; // 0x2558b80
|
|
/* 02558B80 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02558B84 */ return;
|
|
L_02558B88: ; // 0x2558b88
|
|
/* 02558B88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02558B8C */ return;
|
|
}
|
|
|
|
// fn_02558B90 @ 0x2558b90
|
|
void Gambit_fn_02558B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558B90: ; // 0x2558b90
|
|
/* 02558B90 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558B94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02558B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558B98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558B98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558B98 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02558B98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558B98 */ goto L_02558B9C;
|
|
L_02558B9C: ; // 0x2558b9c
|
|
/* 02558B9C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02558B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558BA0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02558BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558BA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02558BA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558BAC @ 0x2558bac
|
|
void Gambit_fn_02558BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558BAC: ; // 0x2558bac
|
|
/* 02558BAC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558BB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02558BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558BB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558BB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558BB4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02558BB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558BB4 */ goto L_02558BB8;
|
|
L_02558BB8: ; // 0x2558bb8
|
|
/* 02558BB8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02558BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558BBC */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02558BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558BC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02558BC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558BC8 @ 0x2558bc8
|
|
void Gambit_fn_02558BC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558BC8: ; // 0x2558bc8
|
|
/* 02558BC8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02558BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558BCC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02558BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558BD0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558BD0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558BD0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02558BD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558BD0 */ goto L_02558BD4;
|
|
L_02558BD4: ; // 0x2558bd4
|
|
/* 02558BD4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02558BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558BD8 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02558BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558BDC */ cpu->ctr = cpu->r[0];
|
|
/* 02558BE0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558BE4 @ 0x2558be4
|
|
void Gambit_fn_02558BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02558BE4: ; // 0x2558be4
|
|
/* 02558BE4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02558BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558BE8 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02558BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558BEC */ cpu->ctr = cpu->r[0];
|
|
/* 02558BF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558BF4 @ 0x2558bf4
|
|
void Gambit_fn_02558BF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02558BF4: ; // 0x2558bf4
|
|
/* 02558BF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02558BF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558BF8 */ cpu->r[1] = _t0;
|
|
/* 02558BFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558BFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558C00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558C04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558C08 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02558C08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02558C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02558C10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558C10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02558C10 */ if (_t5) goto L_02558C14; else goto L_02558C30;
|
|
L_02558C14: ; // 0x2558c14
|
|
/* 02558C14 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02558C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02558C18 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02558C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02558C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02558C20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02558C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558C28 */ cpu->r[0] = 0x00000002u;
|
|
/* 02558C2C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02558C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02558C30: ; // 0x2558c30
|
|
/* 02558C30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02558C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02558C34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558C34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02558C38 */ cpu->lr = cpu->r[0];
|
|
/* 02558C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558C40 */ return;
|
|
}
|
|
|
|
// fn_02558BF8 @ 0x2558bf8
|
|
void Gambit_fn_02558BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02558BF8: ; // 0x2558bf8
|
|
/* 02558BF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558BF8 */ cpu->r[1] = _t0;
|
|
/* 02558BFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558BFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558C00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558C04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558C08 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02558C08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02558C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02558C10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558C10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02558C10 */ if (_t5) goto L_02558C14; else goto L_02558C30;
|
|
L_02558C14: ; // 0x2558c14
|
|
/* 02558C14 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02558C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02558C18 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02558C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02558C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02558C20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02558C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02558C28 */ cpu->r[0] = 0x00000002u;
|
|
/* 02558C2C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02558C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02558C30: ; // 0x2558c30
|
|
/* 02558C30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02558C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02558C34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558C34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02558C38 */ cpu->lr = cpu->r[0];
|
|
/* 02558C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558C40 */ return;
|
|
}
|
|
|
|
// fn_02558C4C @ 0x2558c4c
|
|
void Gambit_fn_02558C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02558C4C: ; // 0x2558c4c
|
|
/* 02558C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02558C50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558C50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02558C50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558C50 */ goto L_02558C54;
|
|
L_02558C54: ; // 0x2558c54
|
|
/* 02558C54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02558C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02558C58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558C58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02558C58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02558C58 */ goto L_02558C5C;
|
|
L_02558C5C: ; // 0x2558c5c
|
|
/* 02558C5C */ 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_02558C60 @ 0x2558c60
|
|
void Gambit_fn_02558C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02558C60: ; // 0x2558c60
|
|
/* 02558C60 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02558C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558C64 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02558C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558C68 */ cpu->ctr = cpu->r[0];
|
|
/* 02558C6C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558C70 @ 0x2558c70
|
|
void Gambit_fn_02558C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02558C70: ; // 0x2558c70
|
|
/* 02558C70 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02558C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558C74 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02558C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558C78 */ cpu->ctr = cpu->r[0];
|
|
/* 02558C7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558C80 @ 0x2558c80
|
|
void Gambit_fn_02558C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02558C80: ; // 0x2558c80
|
|
/* 02558C80 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02558C80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558C84 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02558C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558C88 */ cpu->ctr = cpu->r[0];
|
|
/* 02558C8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558C90 @ 0x2558c90
|
|
void Gambit_fn_02558C90(CPUState* cpu) {
|
|
L_02558C90: ; // 0x2558c90
|
|
/* 02558C90 */ cpu->r[3] = 0x00000001u;
|
|
/* 02558C94 */ return;
|
|
}
|
|
|
|
// fn_02558C98 @ 0x2558c98
|
|
void Gambit_fn_02558C98(CPUState* cpu) {
|
|
L_02558C98: ; // 0x2558c98
|
|
/* 02558C98 */ return;
|
|
}
|
|
|
|
// fn_02558C9C @ 0x2558c9c
|
|
void Gambit_fn_02558C9C(CPUState* cpu) {
|
|
L_02558C9C: ; // 0x2558c9c
|
|
/* 02558C9C */ return;
|
|
}
|
|
|
|
// fn_02558CA0 @ 0x2558ca0
|
|
void Gambit_fn_02558CA0(CPUState* cpu) {
|
|
L_02558CA0: ; // 0x2558ca0
|
|
/* 02558CA0 */ return;
|
|
}
|
|
|
|
// fn_02558CA4 @ 0x2558ca4
|
|
void Gambit_fn_02558CA4(CPUState* cpu) {
|
|
L_02558CA4: ; // 0x2558ca4
|
|
/* 02558CA4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02558CA8 */ return;
|
|
}
|
|
|
|
// fn_02558CAC @ 0x2558cac
|
|
void Gambit_fn_02558CAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558CAC: ; // 0x2558cac
|
|
/* 02558CAC */ cpu->r[10] = 0x101F0000u;
|
|
/* 02558CB0 */ _t0 = cpu->r[10] + 0x00006338u;
|
|
/* 02558CB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558CB0 */ cpu->r[10] = _t0;
|
|
/* 02558CB4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02558CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02558CB8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02558CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02558CBC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02558CBC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02558CC0 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02558CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558CC4 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02558CC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02558CC8 */ return;
|
|
}
|
|
|
|
// fn_02558CCC @ 0x2558ccc
|
|
void Gambit_fn_02558CCC(CPUState* cpu) {
|
|
L_02558CCC: ; // 0x2558ccc
|
|
/* 02558CCC */ return;
|
|
}
|
|
|
|
// fn_02558CD0 @ 0x2558cd0
|
|
void Gambit_fn_02558CD0(CPUState* cpu) {
|
|
L_02558CD0: ; // 0x2558cd0
|
|
/* 02558CD0 */ return;
|
|
}
|
|
|
|
// fn_02558CD4 @ 0x2558cd4
|
|
void Gambit_fn_02558CD4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02558CD4: ; // 0x2558cd4
|
|
/* 02558CD4 */ _t0 = cpu->r[3] + 0x00000140u;
|
|
/* 02558CD4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02558CD8 */ return;
|
|
}
|
|
|
|
// fn_02558CDC @ 0x2558cdc
|
|
void Gambit_fn_02558CDC(CPUState* cpu) {
|
|
L_02558CDC: ; // 0x2558cdc
|
|
/* 02558CDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02558CE0 */ return;
|
|
}
|
|
|
|
// fn_02558CE4 @ 0x2558ce4
|
|
void Gambit_fn_02558CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02558CE4: ; // 0x2558ce4
|
|
/* 02558CE4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02558CE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558CE8 */ _t1 = cpu->r[12] + 0x00000234u;
|
|
/* 02558CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558CEC */ cpu->ctr = cpu->r[0];
|
|
/* 02558CF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02558CF4 @ 0x2558cf4
|
|
void Gambit_fn_02558CF4(CPUState* cpu) {
|
|
L_02558CF4: ; // 0x2558cf4
|
|
/* 02558CF4 */ return;
|
|
}
|
|
|
|
// fn_02558CF8 @ 0x2558cf8
|
|
void Gambit_fn_02558CF8(CPUState* cpu) {
|
|
L_02558CF8: ; // 0x2558cf8
|
|
/* 02558CF8 */ return;
|
|
}
|
|
|
|
// fn_02558CFC @ 0x2558cfc
|
|
void Gambit_fn_02558CFC(CPUState* cpu) {
|
|
L_02558CFC: ; // 0x2558cfc
|
|
/* 02558CFC */ return;
|
|
}
|
|
|
|
// fn_02558D00 @ 0x2558d00
|
|
void Gambit_fn_02558D00(CPUState* cpu) {
|
|
L_02558D00: ; // 0x2558d00
|
|
/* 02558D00 */ return;
|
|
}
|
|
|
|
// fn_02558D04 @ 0x2558d04
|
|
void Gambit_fn_02558D04(CPUState* cpu) {
|
|
L_02558D04: ; // 0x2558d04
|
|
/* 02558D04 */ return;
|
|
}
|
|
|
|
// fn_02558D08 @ 0x2558d08
|
|
void Gambit_fn_02558D08(CPUState* cpu) {
|
|
L_02558D08: ; // 0x2558d08
|
|
/* 02558D08 */ return;
|
|
}
|
|
|
|
// fn_02558D0C @ 0x2558d0c
|
|
void Gambit_fn_02558D0C(CPUState* cpu) {
|
|
L_02558D0C: ; // 0x2558d0c
|
|
/* 02558D0C */ return;
|
|
}
|
|
|
|
// fn_02558D10 @ 0x2558d10
|
|
void Gambit_fn_02558D10(CPUState* cpu) {
|
|
L_02558D10: ; // 0x2558d10
|
|
/* 02558D10 */ return;
|
|
}
|
|
|
|
// fn_02558D14 @ 0x2558d14
|
|
void Gambit_fn_02558D14(CPUState* cpu) {
|
|
L_02558D14: ; // 0x2558d14
|
|
/* 02558D14 */ return;
|
|
}
|
|
|
|
// fn_02558D18 @ 0x2558d18
|
|
void Gambit_fn_02558D18(CPUState* cpu) {
|
|
L_02558D18: ; // 0x2558d18
|
|
/* 02558D18 */ return;
|
|
}
|
|
|
|
// fn_02558D1C @ 0x2558d1c
|
|
void Gambit_fn_02558D1C(CPUState* cpu) {
|
|
L_02558D1C: ; // 0x2558d1c
|
|
/* 02558D1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558D20 */ return;
|
|
}
|
|
|
|
// fn_02558D24 @ 0x2558d24
|
|
void Gambit_fn_02558D24(CPUState* cpu) {
|
|
L_02558D24: ; // 0x2558d24
|
|
/* 02558D24 */ return;
|
|
}
|
|
|
|
// fn_02558D28 @ 0x2558d28
|
|
void Gambit_fn_02558D28(CPUState* cpu) {
|
|
L_02558D28: ; // 0x2558d28
|
|
/* 02558D28 */ return;
|
|
}
|
|
|
|
// fn_02558D2C @ 0x2558d2c
|
|
void Gambit_fn_02558D2C(CPUState* cpu) {
|
|
L_02558D2C: ; // 0x2558d2c
|
|
/* 02558D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 02558D30 */ return;
|
|
}
|
|
|
|
// fn_02558D34 @ 0x2558d34
|
|
void Gambit_fn_02558D34(CPUState* cpu) {
|
|
L_02558D34: ; // 0x2558d34
|
|
/* 02558D34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02558D38 */ return;
|
|
}
|
|
|
|
// fn_02558D3C @ 0x2558d3c
|
|
void Gambit_fn_02558D3C(CPUState* cpu) {
|
|
L_02558D3C: ; // 0x2558d3c
|
|
/* 02558D3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02558D40 */ return;
|
|
}
|
|
|
|
// fn_02558D44 @ 0x2558d44
|
|
void Gambit_fn_02558D44(CPUState* cpu) {
|
|
L_02558D44: ; // 0x2558d44
|
|
/* 02558D44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02558D48 */ return;
|
|
}
|
|
|
|
// fn_02558D4C @ 0x2558d4c
|
|
void Gambit_fn_02558D4C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02558D4C: ; // 0x2558d4c
|
|
/* 02558D4C */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 02558D4C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02558D50 */ return;
|
|
}
|
|
|
|
// fn_02558D54 @ 0x2558d54
|
|
void Gambit_fn_02558D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558D54: ; // 0x2558d54
|
|
/* 02558D54 */ _t0 = cpu->r[4] + 0x00000078u;
|
|
/* 02558D54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558D58 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02558D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02558D5C */ _t2 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02558D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02558D60 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02558D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02558D64 */ _t4 = cpu->r[4] + 0x00000080u;
|
|
/* 02558D64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558D68 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02558D68 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02558D6C */ return;
|
|
}
|
|
|
|
// fn_02558D70 @ 0x2558d70
|
|
void Gambit_fn_02558D70(CPUState* cpu) {
|
|
L_02558D70: ; // 0x2558d70
|
|
/* 02558D70 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02558D74 */ cpu->r[3] = cpu->r[3] + 0xFFFFADDCu;
|
|
/* 02558D78 */ return;
|
|
}
|
|
|
|
// fn_02558D7C @ 0x2558d7c
|
|
void Gambit_fn_02558D7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0206135C: ; // 0x206135c
|
|
/* 0206135C */ cpu->r[0] = cpu->lr;
|
|
/* 02061360 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02061360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02061360 */ cpu->r[1] = _t0;
|
|
/* 02061364 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02061364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02061368 */ cpu->r[31] = cpu->r[3];
|
|
/* 0206136C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0206136C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02061370 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02061370 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02061374 */ cpu->r[12] = 0x00000000u;
|
|
/* 02061378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206137C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0206137C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02061380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02061380 */ if (_t6) goto L_020613A8; else goto L_02061384;
|
|
L_02061384: ; // 0x2061384
|
|
/* 02061384 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02061384 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02061388 */ /* nop */
|
|
/* 0206138C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02061390 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02061390 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02061390 */ if (_t9) goto L_02061394; else goto L_020613A8;
|
|
L_02061394: ; // 0x2061394
|
|
/* 02061394 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02061394 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02061398 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02061398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0206139C */ cpu->ctr = cpu->r[0];
|
|
/* 020613A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020613A8: ; // 0x20613a8
|
|
/* 020613A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613AC */ Gambit_fn_020612D4(cpu);
|
|
/* 020613B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020613B4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020613B8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020613B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020613BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020613BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020613C0 */ cpu->lr = cpu->r[0];
|
|
/* 020613C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020613C8 */ return;
|
|
L_02558D7C: ; // 0x2558d7c
|
|
/* 02558D7C */ cpu->r[3] = cpu->r[3] + 0x000001B0u;
|
|
/* 02558D80 */ goto L_0206135C;
|
|
}
|
|
|
|
// fn_02558D84 @ 0x2558d84
|
|
void Gambit_fn_02558D84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558D84: ; // 0x2558d84
|
|
/* 02558D84 */ cpu->r[0] = cpu->lr;
|
|
/* 02558D88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558D88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558D88 */ cpu->r[1] = _t0;
|
|
/* 02558D8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558D8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558D90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558D94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558D94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558D98 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02558D98 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02558D9C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02558DA0 */ /* nop */
|
|
/* 02558DA4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02558DA8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02558DAC */ Gambit_fn_0206124C(cpu);
|
|
/* 02558DB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02558DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558DB4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02558DBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558DC0 */ return;
|
|
}
|
|
|
|
// fn_02558D88 @ 0x2558d88
|
|
void Gambit_fn_02558D88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558D88: ; // 0x2558d88
|
|
/* 02558D88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558D88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558D88 */ cpu->r[1] = _t0;
|
|
/* 02558D8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558D8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02558D90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02558D94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02558D94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558D98 */ _t3 = cpu->r[31] + 0x000001BEu;
|
|
/* 02558D98 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02558D9C */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02558DA0 */ /* nop */
|
|
/* 02558DA4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02558DA8 */ cpu->r[3] = cpu->r[31] + 0x000001B0u;
|
|
/* 02558DAC */ Gambit_fn_0206124C(cpu);
|
|
/* 02558DB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02558DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558DB4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02558DBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558DC0 */ return;
|
|
}
|
|
|
|
// fn_02558DC4 @ 0x2558dc4
|
|
void Gambit_fn_02558DC4(CPUState* cpu) {
|
|
L_02558DC4: ; // 0x2558dc4
|
|
/* 02558DC4 */ return;
|
|
}
|
|
|
|
// fn_02558DC8 @ 0x2558dc8
|
|
void Gambit_fn_02558DC8(CPUState* cpu) {
|
|
L_02558DC8: ; // 0x2558dc8
|
|
/* 02558DC8 */ return;
|
|
}
|
|
|
|
// fn_02558DCC @ 0x2558dcc
|
|
void Gambit_fn_02558DCC(CPUState* cpu) {
|
|
L_02558DCC: ; // 0x2558dcc
|
|
/* 02558DCC */ return;
|
|
}
|
|
|
|
// fn_02558DD0 @ 0x2558dd0
|
|
void Gambit_fn_02558DD0(CPUState* cpu) {
|
|
L_02558DD0: ; // 0x2558dd0
|
|
/* 02558DD0 */ cpu->r[3] = 0x100D0000u;
|
|
/* 02558DD4 */ cpu->r[3] = cpu->r[3] + 0xFFFFADFCu;
|
|
/* 02558DD8 */ return;
|
|
}
|
|
|
|
// fn_02558DDC @ 0x2558ddc
|
|
void Gambit_fn_02558DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02558DDC: ; // 0x2558ddc
|
|
/* 02558DDC */ cpu->r[8] = 0x101D0000u;
|
|
/* 02558DE0 */ _t0 = cpu->r[8] + 0x00000904u;
|
|
/* 02558DE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02558DE4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02558DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02558DEC */ cpu->r[6] = cpu->r[6] + 0x00000A78u;
|
|
/* 02558DF0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558DF0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02558DF0 */ if (_t2) goto L_02558DF4; else goto L_02558E0C;
|
|
L_02558DF4: ; // 0x2558df4
|
|
/* 02558DF4 */ cpu->r[5] = 0x100D0000u;
|
|
/* 02558DF8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02558DFC */ cpu->r[8] = 0x101D0000u;
|
|
/* 02558E00 */ cpu->r[5] = cpu->r[5] + 0xFFFFADCCu;
|
|
/* 02558E04 */ _t3 = cpu->r[8] + 0x00000904u;
|
|
/* 02558E04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02558E08 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02558E08 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02558E0C: ; // 0x2558e0c
|
|
/* 02558E0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02558E10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558E10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02558E10 */ if (_t6) goto L_02558E14; else goto L_02558E1C;
|
|
L_02558E14: ; // 0x2558e14
|
|
/* 02558E14 */ cpu->r[3] = 0x00000001u;
|
|
/* 02558E18 */ return;
|
|
L_02558E1C: ; // 0x2558e1c
|
|
/* 02558E1C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558E20 */ _t7 = cpu->r[10] + 0xFFFFEAD0u;
|
|
/* 02558E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02558E24 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02558E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02558E2C */ cpu->r[8] = cpu->r[8] + 0x00000A6Cu;
|
|
/* 02558E30 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558E30 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02558E30 */ if (_t9) goto L_02558E34; else goto L_02558E4C;
|
|
L_02558E34: ; // 0x2558e34
|
|
/* 02558E34 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558E38 */ cpu->r[7] = 0x00000001u;
|
|
/* 02558E3C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02558E40 */ cpu->r[0] = cpu->r[0] + 0xFFFFADBCu;
|
|
/* 02558E44 */ _t10 = cpu->r[6] + 0xFFFFEAD0u;
|
|
/* 02558E44 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02558E48 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02558E48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02558E4C: ; // 0x2558e4c
|
|
/* 02558E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02558E50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558E50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02558E50 */ if (_t13) goto L_02558E54; else goto L_02558E5C;
|
|
L_02558E54: ; // 0x2558e54
|
|
/* 02558E54 */ cpu->r[0] = 0x00000001u;
|
|
/* 02558E58 */ goto L_02558F54;
|
|
L_02558E5C: ; // 0x2558e5c
|
|
/* 02558E5C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02558E60 */ _t14 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02558E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02558E64 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02558E6C */ cpu->r[10] = cpu->r[10] + 0xFFFFFF40u;
|
|
/* 02558E70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558E70 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02558E70 */ if (_t16) goto L_02558E74; else goto L_02558E8C;
|
|
L_02558E74: ; // 0x2558e74
|
|
/* 02558E74 */ cpu->r[7] = 0x100D0000u;
|
|
/* 02558E78 */ cpu->r[5] = 0x00000001u;
|
|
/* 02558E7C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02558E80 */ cpu->r[7] = cpu->r[7] + 0xFFFFAD8Cu;
|
|
/* 02558E84 */ _t17 = cpu->r[12] + 0xFFFFDDF0u;
|
|
/* 02558E84 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02558E88 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02558E88 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_02558E8C: ; // 0x2558e8c
|
|
/* 02558E8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02558E90 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558E90 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02558E90 */ if (_t20) goto L_02558E94; else goto L_02558E9C;
|
|
L_02558E94: ; // 0x2558e94
|
|
/* 02558E94 */ cpu->r[0] = 0x00000001u;
|
|
/* 02558E98 */ goto L_02558F54;
|
|
L_02558E9C: ; // 0x2558e9c
|
|
/* 02558E9C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02558EA0 */ _t21 = cpu->r[11] + 0xFFFFDA10u;
|
|
/* 02558EA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02558EA4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02558EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02558EAC */ cpu->r[12] = cpu->r[12] + 0xFFFFFBBCu;
|
|
/* 02558EB0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558EB0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02558EB0 */ if (_t23) goto L_02558EB4; else goto L_02558ECC;
|
|
L_02558EB4: ; // 0x2558eb4
|
|
/* 02558EB4 */ cpu->r[10] = 0x100D0000u;
|
|
/* 02558EB8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02558EBC */ cpu->r[8] = 0x101D0000u;
|
|
/* 02558EC0 */ cpu->r[10] = cpu->r[10] + 0xFFFFAD7Cu;
|
|
/* 02558EC4 */ _t24 = cpu->r[8] + 0xFFFFDA10u;
|
|
/* 02558EC4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02558EC8 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02558EC8 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_02558ECC: ; // 0x2558ecc
|
|
/* 02558ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02558ED0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558ED0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02558ED0 */ if (_t27) goto L_02558ED4; else goto L_02558EDC;
|
|
L_02558ED4: ; // 0x2558ed4
|
|
/* 02558ED4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02558ED8 */ goto L_02558F50;
|
|
L_02558EDC: ; // 0x2558edc
|
|
/* 02558EDC */ cpu->r[10] = 0x101D0000u;
|
|
/* 02558EE0 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02558EE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02558EE0 */ cpu->r[10] = _t28;
|
|
/* 02558EE4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02558EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02558EEC */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 02558EF0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558EF0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02558EF0 */ if (_t30) goto L_02558EF4; else goto L_02558F08;
|
|
L_02558EF4: ; // 0x2558ef4
|
|
/* 02558EF4 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02558EF8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02558EFC */ cpu->r[0] = cpu->r[0] + 0xFFFFAD6Cu;
|
|
/* 02558F00 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02558F00 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02558F04 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 02558F04 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02558F08: ; // 0x2558f08
|
|
/* 02558F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02558F0C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558F0C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02558F0C */ if (_t34) goto L_02558F10; else goto L_02558F18;
|
|
L_02558F10: ; // 0x2558f10
|
|
/* 02558F10 */ cpu->r[0] = 0x00000001u;
|
|
/* 02558F14 */ goto L_02558F50;
|
|
L_02558F18: ; // 0x2558f18
|
|
/* 02558F18 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02558F1C */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02558F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02558F1C */ cpu->r[8] = _t35;
|
|
/* 02558F20 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02558F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02558F28 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 02558F2C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558F2C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02558F2C */ if (_t37) goto L_02558F30; else goto L_02558F44;
|
|
L_02558F30: ; // 0x2558f30
|
|
/* 02558F30 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02558F34 */ cpu->r[7] = 0x00000001u;
|
|
/* 02558F38 */ cpu->r[9] = cpu->r[9] + 0xFFFFAD44u;
|
|
/* 02558F3C */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02558F3C */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02558F40 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02558F40 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_02558F44: ; // 0x2558f44
|
|
/* 02558F44 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02558F48 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02558F4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02558F50: ; // 0x2558f50
|
|
/* 02558F50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02558F54: ; // 0x2558f54
|
|
/* 02558F54 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02558F58 */ return;
|
|
}
|
|
|
|
// fn_02558F5C @ 0x2558f5c
|
|
void Gambit_fn_02558F5C(CPUState* cpu) {
|
|
L_02558F5C: ; // 0x2558f5c
|
|
/* 02558F5C */ cpu->r[3] = 0x100D0000u;
|
|
/* 02558F60 */ cpu->r[3] = cpu->r[3] + 0xFFFFAE0Cu;
|
|
/* 02558F64 */ return;
|
|
}
|
|
|
|
// fn_02558F68 @ 0x2558f68
|
|
void Gambit_fn_02558F68(CPUState* cpu) {
|
|
L_02558F68: ; // 0x2558f68
|
|
/* 02558F68 */ cpu->r[3] = 0x00000001u;
|
|
/* 02558F6C */ return;
|
|
}
|
|
|
|
// fn_02558F70 @ 0x2558f70
|
|
void Gambit_fn_02558F70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02558F70: ; // 0x2558f70
|
|
/* 02558F70 */ cpu->r[0] = cpu->lr;
|
|
/* 02558F74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02558F78 */ cpu->r[7] = 0x02560000u;
|
|
/* 02558F7C */ cpu->r[6] = 0x02560000u;
|
|
/* 02558F80 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02558F84 */ cpu->r[7] = cpu->r[7] + 0xFFFF8C44u;
|
|
/* 02558F88 */ cpu->r[6] = cpu->r[6] + 0xFFFF8C44u;
|
|
/* 02558F8C */ cpu->r[10] = cpu->r[10] + 0x00006AD0u;
|
|
/* 02558F90 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02558F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02558F94 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02558F98 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02558F98 */ cpu->r[1] = _t1;
|
|
/* 02558F9C */ cpu->r[0] = cpu->r[0] + 0x00006ACCu;
|
|
/* 02558FA0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02558FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02558FA4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02558FA8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02558FA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02558FAC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558FB0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558FB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02558FB4 */ Gambit_fn_02791B10(cpu);
|
|
/* 02558FB8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02558FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02558FBC */ cpu->lr = cpu->r[0];
|
|
/* 02558FC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558FC4 */ return;
|
|
}
|
|
|
|
// fn_02558F98 @ 0x2558f98
|
|
void Gambit_fn_02558F98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02558F98: ; // 0x2558f98
|
|
/* 02558F98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02558F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558F98 */ cpu->r[1] = _t0;
|
|
/* 02558F9C */ cpu->r[0] = cpu->r[0] + 0x00006ACCu;
|
|
/* 02558FA0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02558FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02558FA4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02558FA8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02558FA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02558FAC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558FB0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02558FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02558FB4 */ Gambit_fn_02791B10(cpu);
|
|
/* 02558FB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02558FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02558FBC */ cpu->lr = cpu->r[0];
|
|
/* 02558FC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02558FC4 */ return;
|
|
}
|
|
|
|
// fn_02558FC8 @ 0x2558fc8
|
|
void Gambit_fn_02558FC8(CPUState* cpu) {
|
|
uint32_t _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_02558FC8: ; // 0x2558fc8
|
|
/* 02558FC8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02558FC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02558FC8 */ cpu->r[1] = _t0;
|
|
/* 02558FCC */ cpu->r[0] = cpu->lr;
|
|
/* 02558FD0 */ /* nop */
|
|
/* 02558FD4 */ cpu->r[28] = cpu->r[5];
|
|
/* 02558FD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02558FDC */ cpu->r[27] = cpu->r[7];
|
|
/* 02558FE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02558FE4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02558FE8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02558FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02558FEC */ cpu->r[29] = cpu->r[4];
|
|
/* 02558FF0 */ cpu->r[4] = cpu->r[27];
|
|
/* 02558FF4 */ Gambit_fn_027DB318(cpu);
|
|
/* 02558FF8 */ cpu->r[30] = cpu->r[3] + cpu->r[31];
|
|
/* 02558FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02558FFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02558FFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02558FFC */ if (_t3) goto L_0255909C; else goto L_02559000;
|
|
L_02559000: ; // 0x2559000
|
|
/* 02559000 */ cpu->r[5] = cpu->r[30];
|
|
/* 02559004 */ cpu->r[4] = cpu->r[29];
|
|
/* 02559008 */ cpu->r[3] = cpu->r[26];
|
|
/* 0255900C */ Gambit_fn_02558F70(cpu);
|
|
/* 02559010 */ _t4 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02559010 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02559014 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02559014 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02559018 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 0255901C */ cpu->r[31] = cpu->r[5] - cpu->r[29];
|
|
/* 02559020 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02559024 */ cpu->r[25] = 0x00000000u;
|
|
/* 02559028 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559028 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02559028 */ if (_t7) goto L_0255909C; else goto L_0255902C;
|
|
L_0255902C: ; // 0x255902c
|
|
/* 0255902C */ cpu->r[24] = 0x101C0000u;
|
|
L_02559030: ; // 0x2559030
|
|
/* 02559030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02559034 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559034 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02559034 */ if (_t9) goto L_0255904C; else goto L_02559038;
|
|
L_02559038: ; // 0x2559038
|
|
/* 02559038 */ cpu->ctr = cpu->r[27];
|
|
/* 0255903C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02559044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559048 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559048 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02559048 */ if (_t11) goto L_02559088; else goto L_0255904C;
|
|
L_0255904C: ; // 0x255904c
|
|
/* 0255904C */ _t12 = cpu->r[24] + 0x00006ACCu;
|
|
/* 0255904C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02559050 */ cpu->r[7] = cpu->r[26] + cpu->r[8];
|
|
/* 02559054 */ _t13 = cpu->r[7] + 0x00000104u;
|
|
/* 02559054 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02559058 */ _t14 = cpu->r[26] + 0x00000030u;
|
|
/* 02559058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0255905C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02559060 */ _t15 = cpu->r[10] + cpu->r[0];
|
|
/* 02559060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559064 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02559064 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559068 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0255906C */ _t17 = cpu->r[9] + cpu->r[7];
|
|
/* 0255906C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02559070 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02559070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02559074 */ _t19 = cpu->r[8] + 0x0000034Cu;
|
|
/* 02559074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02559078 */ cpu->ctr = cpu->r[0];
|
|
/* 0255907C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02559080 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02559088: ; // 0x2559088
|
|
/* 02559088 */ cpu->r[12] = cpu->r[31] + cpu->r[29];
|
|
/* 0255908C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0255908C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02559090 */ cpu->r[31] = cpu->r[0] - cpu->r[29];
|
|
/* 02559094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02559098 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559098 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02559098 */ if (_t22) goto L_0255909C; else goto L_02559030;
|
|
L_0255909C: ; // 0x255909c
|
|
/* 0255909C */ cpu->r[3] = cpu->r[30];
|
|
/* 025590A0 */ /* nop */
|
|
/* 025590A4 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 025590A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025590A8 */ cpu->lr = cpu->r[0];
|
|
/* 025590AC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 025590B0 */ return;
|
|
}
|
|
|
|
// fn_025590B4 @ 0x25590b4
|
|
void Gambit_fn_025590B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_025590B4: ; // 0x25590b4
|
|
/* 025590B4 */ cpu->r[0] = cpu->lr;
|
|
/* 025590B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025590B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025590B8 */ cpu->r[1] = _t0;
|
|
/* 025590BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025590BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 025590C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025590C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025590C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025590C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025590C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025590C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025590CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025590CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025590D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025590D0 */ if (_t6) goto L_025590D4; else goto L_025590E4;
|
|
L_025590D4: ; // 0x25590d4
|
|
/* 025590D4 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 025590D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025590DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025590DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025590E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025590E0 */ if (_t8) goto L_02559154; else goto L_025590E4;
|
|
L_025590E4: ; // 0x25590e4
|
|
/* 025590E4 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 025590E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025590E8 */ cpu->r[30] = 0x00000000u;
|
|
/* 025590EC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 025590EC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 025590F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590F0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025590F0 */ if (_t11) goto L_025590F4; else goto L_02559104;
|
|
L_025590F4: ; // 0x25590f4
|
|
/* 025590F4 */ cpu->r[3] = 0x00000218u;
|
|
/* 025590F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025590FC */ cpu->r[29] = cpu->r[3];
|
|
/* 025590FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02559100 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559100 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02559100 */ if (_t13) goto L_02559154; else goto L_02559104;
|
|
L_02559104: ; // 0x2559104
|
|
/* 02559104 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02559104 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02559108 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02559108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255910C */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 0255910C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02559110 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559110 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02559110 */ if (_t17) goto L_02559114; else goto L_02559124;
|
|
L_02559114: ; // 0x2559114
|
|
/* 02559114 */ cpu->r[3] = 0x00000010u;
|
|
/* 02559118 */ Gambit_fn_02801A78(cpu);
|
|
/* 0255911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559120 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559120 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559120 */ if (_t19) goto L_02559134; else goto L_02559124;
|
|
L_02559124: ; // 0x2559124
|
|
/* 02559124 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02559124 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02559128 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02559128 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0255912C */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0255912C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02559130 */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559130 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02559134: ; // 0x2559134
|
|
/* 02559134 */ cpu->r[11] = cpu->r[29] + 0x00000008u;
|
|
/* 02559138 */ cpu->r[0] = cpu->r[11] + 0x00000010u;
|
|
/* 02559138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0255913C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255913C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0255913C */ if (_t25) goto L_02559154; else goto L_02559140;
|
|
L_02559140: ; // 0x2559140
|
|
/* 02559140 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02559140 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02559144 */ cpu->r[12] = 0x00000040u;
|
|
/* 02559148 */ _t27 = cpu->r[29] + 0x00000010u;
|
|
/* 02559148 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0255914C */ _t28 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0255914C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02559150 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02559150 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02559154: ; // 0x2559154
|
|
/* 02559154 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559158 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0255915C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559160 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02559160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02559164 */ cpu->lr = cpu->r[0];
|
|
/* 02559168 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02559168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0255916C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559170 */ return;
|
|
}
|
|
|
|
// fn_025590B8 @ 0x25590b8
|
|
void Gambit_fn_025590B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_025590B8: ; // 0x25590b8
|
|
/* 025590B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025590B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025590B8 */ cpu->r[1] = _t0;
|
|
/* 025590BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025590BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 025590C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 025590C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 025590C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 025590C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 025590C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 025590C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025590CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025590CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 025590D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 025590D0 */ if (_t6) goto L_025590D4; else goto L_025590E4;
|
|
L_025590D4: ; // 0x25590d4
|
|
/* 025590D4 */ cpu->r[3] = 0x0000021Cu;
|
|
/* 025590D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025590DC */ cpu->r[31] = cpu->r[3];
|
|
/* 025590DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 025590E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 025590E0 */ if (_t8) goto L_02559154; else goto L_025590E4;
|
|
L_025590E4: ; // 0x25590e4
|
|
/* 025590E4 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 025590E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 025590E8 */ cpu->r[30] = 0x00000000u;
|
|
/* 025590EC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 025590EC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 025590F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025590F0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025590F0 */ if (_t11) goto L_025590F4; else goto L_02559104;
|
|
L_025590F4: ; // 0x25590f4
|
|
/* 025590F4 */ cpu->r[3] = 0x00000218u;
|
|
/* 025590F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 025590FC */ cpu->r[29] = cpu->r[3];
|
|
/* 025590FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02559100 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559100 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02559100 */ if (_t13) goto L_02559154; else goto L_02559104;
|
|
L_02559104: ; // 0x2559104
|
|
/* 02559104 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02559104 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02559108 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02559108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0255910C */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 0255910C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02559110 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559110 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02559110 */ if (_t17) goto L_02559114; else goto L_02559124;
|
|
L_02559114: ; // 0x2559114
|
|
/* 02559114 */ cpu->r[3] = 0x00000010u;
|
|
/* 02559118 */ Gambit_fn_02801A78(cpu);
|
|
/* 0255911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559120 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559120 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559120 */ if (_t19) goto L_02559134; else goto L_02559124;
|
|
L_02559124: ; // 0x2559124
|
|
/* 02559124 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02559124 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02559128 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02559128 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0255912C */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0255912C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02559130 */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559130 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02559134: ; // 0x2559134
|
|
/* 02559134 */ cpu->r[11] = cpu->r[29] + 0x00000008u;
|
|
/* 02559138 */ cpu->r[0] = cpu->r[11] + 0x00000010u;
|
|
/* 02559138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0255913C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255913C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0255913C */ if (_t25) goto L_02559154; else goto L_02559140;
|
|
L_02559140: ; // 0x2559140
|
|
/* 02559140 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02559140 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02559144 */ cpu->r[12] = 0x00000040u;
|
|
/* 02559148 */ _t27 = cpu->r[29] + 0x00000010u;
|
|
/* 02559148 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0255914C */ _t28 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0255914C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02559150 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02559150 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02559154: ; // 0x2559154
|
|
/* 02559154 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559158 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0255915C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559160 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02559160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02559164 */ cpu->lr = cpu->r[0];
|
|
/* 02559168 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02559168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0255916C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559170 */ return;
|
|
}
|
|
|
|
// fn_02559174 @ 0x2559174
|
|
void Gambit_fn_02559174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02559174: ; // 0x2559174
|
|
/* 02559174 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02559174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559174 */ cpu->r[1] = _t0;
|
|
/* 02559178 */ /* nop */
|
|
/* 0255917C */ cpu->r[0] = cpu->lr;
|
|
/* 02559180 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02559180 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02559184 */ cpu->r[29] = cpu->r[4];
|
|
/* 02559188 */ _t2 = cpu->r[29] + 0x00000044u;
|
|
/* 02559188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0255918C */ cpu->r[28] = cpu->r[3];
|
|
/* 02559190 */ cpu->r[30] = cpu->r[5];
|
|
/* 02559194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02559198 */ cpu->r[31] = cpu->r[6];
|
|
/* 0255919C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255919C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0255919C */ if (_t4) goto L_025591A0; else goto L_02559208;
|
|
L_025591A0: ; // 0x25591a0
|
|
/* 025591A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025591A4 */ _t5 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 025591A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 025591A8 */ cpu->r[27] = cpu->r[12] + 0x0000005Cu;
|
|
/* 025591AC */ cpu->r[3] = cpu->r[27];
|
|
/* 025591B0 */ Gambit_fn_02836FFC(cpu);
|
|
/* 025591B4 */ cpu->r[6] = 0x100D0000u;
|
|
/* 025591B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 025591BC */ cpu->r[6] = cpu->r[6] + 0xFFFFB27Cu;
|
|
/* 025591C0 */ cpu->r[7] = cpu->r[31];
|
|
/* 025591C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 025591C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 025591CC */ Gambit_fn_023BB9D4(cpu);
|
|
/* 025591D0 */ _t6 = cpu->r[28] + 0x00000000u;
|
|
/* 025591D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 025591D4 */ cpu->r[5] = cpu->r[31];
|
|
/* 025591D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 025591DC */ Gambit_fn_02559C04(cpu);
|
|
/* 025591E0 */ _t7 = cpu->r[28] + 0x00000008u;
|
|
/* 025591E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 025591E4 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 025591E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 025591E8 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 025591E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025591EC */ Gambit_fn_026EE308(cpu);
|
|
/* 025591F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025591F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025591F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 025591F4 */ if (_t11) goto L_02559200; else goto L_025591F8;
|
|
L_025591F8: ; // 0x25591f8
|
|
/* 025591F8 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 025591F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025591FC */ Gambit_fn_026EE1F4(cpu);
|
|
L_02559200: ; // 0x2559200
|
|
/* 02559200 */ cpu->r[3] = cpu->r[27];
|
|
/* 02559204 */ Gambit_fn_02837030(cpu);
|
|
L_02559208: ; // 0x2559208
|
|
/* 02559208 */ /* nop */
|
|
/* 0255920C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0255920C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559210 */ cpu->lr = cpu->r[0];
|
|
/* 02559214 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02559218 */ return;
|
|
}
|
|
|
|
// fn_0255921C @ 0x255921c
|
|
void Gambit_fn_0255921C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0255921C: ; // 0x255921c
|
|
/* 0255921C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0255921C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0255921C */ cpu->r[1] = _t0;
|
|
/* 02559220 */ /* nop */
|
|
/* 02559224 */ cpu->r[0] = cpu->lr;
|
|
/* 02559228 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02559228 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0255922C */ cpu->r[31] = 0x101C0000u;
|
|
/* 02559230 */ _t2 = cpu->r[31] + 0x00005BA0u;
|
|
/* 02559230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02559230 */ cpu->r[31] = _t2;
|
|
/* 02559234 */ cpu->r[29] = cpu->r[3];
|
|
/* 02559238 */ _t3 = cpu->r[12] + 0x00000044u;
|
|
/* 02559238 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0255923C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02559240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02559240 */ if (_t5) goto L_02559244; else goto L_025593A8;
|
|
L_02559244: ; // 0x2559244
|
|
/* 02559244 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02559248 */ _t6 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 02559248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0255924C */ cpu->r[28] = cpu->r[12] + 0x0000005Cu;
|
|
/* 02559250 */ cpu->r[3] = cpu->r[28];
|
|
/* 02559254 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02559258 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02559258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0255925C */ Gambit_fn_0239AD28(cpu);
|
|
/* 02559260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559264 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559264 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02559264 */ if (_t9) goto L_0255928C; else goto L_02559268;
|
|
L_02559268: ; // 0x2559268
|
|
/* 02559268 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02559268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0255926C */ _t11 = cpu->r[3] + 0x00000038u;
|
|
/* 0255926C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02559270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02559274 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559274 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02559274 */ if (_t13) goto L_02559278; else goto L_02559290;
|
|
L_02559278: ; // 0x2559278
|
|
/* 02559278 */ Gambit_fn_026EE4E0(cpu);
|
|
/* 0255927C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559280 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559280 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02559280 */ if (_t15) goto L_0255928C; else goto L_02559284;
|
|
L_02559284: ; // 0x2559284
|
|
/* 02559284 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02559284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559288 */ Gambit_fn_026EE48C(cpu);
|
|
L_0255928C: ; // 0x255928c
|
|
/* 0255928C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 0255928C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
L_02559290: ; // 0x2559290
|
|
/* 02559290 */ _t18 = cpu->r[3] + 0x00000038u;
|
|
/* 02559290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02559294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02559298 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559298 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02559298 */ if (_t20) goto L_0255929C; else goto L_025593A0;
|
|
L_0255929C: ; // 0x255929c
|
|
/* 0255929C */ Gambit_fn_026EE550(cpu);
|
|
/* 025592A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025592A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025592A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 025592A4 */ if (_t22) goto L_025593A0; else goto L_025592A8;
|
|
L_025592A8: ; // 0x25592a8
|
|
/* 025592A8 */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 025592A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025592AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 025592B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025592B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 025592B0 */ if (_t25) goto L_025593A0; else goto L_025592B4;
|
|
L_025592B4: ; // 0x25592b4
|
|
/* 025592B4 */ cpu->r[31] = 0xFD230000u;
|
|
/* 025592B8 */ cpu->r[31] = cpu->r[31] + 0xFFFF8C2Cu;
|
|
L_025592BC: ; // 0x25592bc
|
|
/* 025592BC */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 025592BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 025592C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025592C4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025592C4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 025592C4 */ if (_t28) goto L_025593A0; else goto L_025592C8;
|
|
L_025592C8: ; // 0x25592c8
|
|
/* 025592C8 */ cpu->r[27] = cpu->r[1] + 0x00000008u;
|
|
/* 025592CC */ cpu->r[30] = 0x00000000u;
|
|
L_025592D0: ; // 0x25592d0
|
|
/* 025592D0 */ _t29 = cpu->r[29] + 0x00000004u;
|
|
/* 025592D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 025592D4 */ Gambit_fn_02C0F664(cpu);
|
|
/* 025592D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025592DC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025592DC */ _t31 = _t30 & 0x00000001u;
|
|
/* 025592DC */ if (_t31) goto L_025593A0; else goto L_025592E0;
|
|
L_025592E0: ; // 0x25592e0
|
|
/* 025592E0 */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 025592E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 025592E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 025592E8 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 025592E8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 025592E8 */ if (_t34) goto L_025592EC; else goto L_0255934C;
|
|
L_025592EC: ; // 0x25592ec
|
|
/* 025592EC */ _t35 = cpu->r[29] + 0x00000014u;
|
|
/* 025592EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 025592F0 */ _t36 = cpu->r[29] + 0x00000010u;
|
|
/* 025592F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 025592F4 */ cpu->r[10] = cpu->r[0];
|
|
/* 025592F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]);
|
|
/* 025592FC */ _t37 = cpu->r[29] + 0x0000000Cu;
|
|
/* 025592FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02559300 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559300 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02559300 */ if (_t39) goto L_02559308; else goto L_02559304;
|
|
L_02559304: ; // 0x2559304
|
|
/* 02559304 */ cpu->r[10] = cpu->r[10] - cpu->r[12];
|
|
L_02559308: ; // 0x2559308
|
|
/* 02559308 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0255930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02559310 */ cpu->r[4] = cpu->r[7] + cpu->r[9];
|
|
/* 02559314 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559314 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02559314 */ if (_t41) goto L_0255931C; else goto L_02559318;
|
|
L_02559318: ; // 0x2559318
|
|
/* 02559318 */ cpu->r[0] = cpu->r[0] - cpu->r[12];
|
|
L_0255931C: ; // 0x255931c
|
|
/* 0255931C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02559320 */ _t42 = cpu->r[29] + 0x00000004u;
|
|
/* 02559320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02559324 */ cpu->r[11] = cpu->r[7] + cpu->r[0];
|
|
/* 02559328 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02559328 */ cpu->r[5] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0255932C */ Gambit_fn_02559B68(cpu);
|
|
/* 02559330 */ cpu->r[4] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02559330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02559334 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559334 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02559334 */ if (_t45) goto L_02559364; else goto L_02559338;
|
|
L_02559338: ; // 0x2559338
|
|
/* 02559338 */ cpu->r[3] = cpu->r[27];
|
|
/* 0255933C */ cpu->r[4] = 0x00000004u;
|
|
/* 02559340 */ Gambit_fn_02C89380(cpu);
|
|
/* 02559344 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02559344 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 02559348 */ goto L_025593A0;
|
|
L_0255934C: ; // 0x255934c
|
|
/* 0255934C */ _t47 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0255934C */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02559350 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 02559350 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02559354 */ _t49 = cpu->r[4] + 0x00000004u;
|
|
/* 02559354 */ cpu->r[5] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02559358 */ Gambit_fn_02559B68(cpu);
|
|
/* 0255935C */ cpu->r[4] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 0255935C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02559360 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559360 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02559360 */ if (_t51) goto L_02559364; else goto L_02559338;
|
|
L_02559364: ; // 0x2559364
|
|
/* 02559364 */ _t52 = cpu->r[29] + 0x00000018u;
|
|
/* 02559364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02559368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0255936C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0255936C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0255936C */ if (_t54) goto L_025592D0; else goto L_02559370;
|
|
L_02559370: ; // 0x2559370
|
|
/* 02559370 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02559370 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02559370 */ if (_t56) goto L_02559374; else goto L_025593A0;
|
|
L_02559374: ; // 0x2559374
|
|
/* 02559374 */ _t57 = cpu->r[29] + 0x00000014u;
|
|
/* 02559374 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02559378 */ _t58 = cpu->r[29] + 0x00000010u;
|
|
/* 02559378 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0255937C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02559380 */ _t59 = cpu->r[29] + 0x00000014u;
|
|
/* 02559380 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]);
|
|
/* 02559384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
|
|
/* 02559388 */ _t60 = cpu->r[29] + 0x00000018u;
|
|
/* 02559388 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0255938C */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0255938C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0255938C */ if (_t62) goto L_02559394; else goto L_02559390;
|
|
L_02559390: ; // 0x2559390
|
|
/* 02559390 */ _t63 = cpu->r[29] + 0x00000014u;
|
|
/* 02559390 */ rbrew_write32(cpu->mem, _t63, cpu->r[30]);
|
|
L_02559394: ; // 0x2559394
|
|
/* 02559394 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02559398 */ _t64 = cpu->r[29] + 0x00000018u;
|
|
/* 02559398 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]);
|
|
/* 0255939C */ goto L_025592BC;
|
|
L_025593A0: ; // 0x25593a0
|
|
/* 025593A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 025593A4 */ Gambit_fn_02837030(cpu);
|
|
L_025593A8: ; // 0x25593a8
|
|
/* 025593A8 */ /* nop */
|
|
/* 025593AC */ _t65 = cpu->r[1] + 0x00000024u;
|
|
/* 025593AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 025593B0 */ cpu->lr = cpu->r[0];
|
|
/* 025593B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 025593B8 */ return;
|
|
}
|
|
|
|
// fn_025593BC @ 0x25593bc
|
|
void Gambit_fn_025593BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_025593BC: ; // 0x25593bc
|
|
/* 025593BC */ cpu->r[0] = cpu->lr;
|
|
/* 025593C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025593C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025593C0 */ cpu->r[1] = _t0;
|
|
/* 025593C4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025593C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025593C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025593C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025593CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 025593CC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 025593D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025593D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025593D4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 025593D8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025593D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025593DC */ _t6 = cpu->r[11] + 0x00005BA0u;
|
|
/* 025593DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025593E0 */ cpu->r[29] = cpu->r[4];
|
|
/* 025593E4 */ _t7 = cpu->r[11] + 0x00000044u;
|
|
/* 025593E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025593E8 */ cpu->r[30] = cpu->r[5];
|
|
/* 025593EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025593F0 */ cpu->r[28] = cpu->r[3];
|
|
/* 025593F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025593F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025593F4 */ if (_t9) goto L_025593F8; else goto L_0255946C;
|
|
L_025593F8: ; // 0x25593f8
|
|
/* 025593F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025593FC */ _t10 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 025593FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559400 */ cpu->r[31] = cpu->r[12] + 0x0000005Cu;
|
|
/* 02559404 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559408 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0255940C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559410 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559410 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02559410 */ if (_t12) goto L_02559444; else goto L_02559414;
|
|
L_02559414: ; // 0x2559414
|
|
/* 02559414 */ _t13 = cpu->r[28] + 0x00000008u;
|
|
/* 02559414 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255941C */ Gambit_fn_02C17DC4(cpu);
|
|
/* 02559420 */ _t14 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02559420 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02559424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559428 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559428 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02559428 */ if (_t16) goto L_02559464; else goto L_0255942C;
|
|
L_0255942C: ; // 0x255942c
|
|
/* 0255942C */ cpu->r[10] = cpu->r[8] + 0x00000100u;
|
|
/* 0255942C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559430 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559430 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02559430 */ if (_t18) goto L_02559464; else goto L_02559434;
|
|
L_02559434: ; // 0x2559434
|
|
/* 02559434 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02559434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02559438 */ cpu->r[3] = cpu->r[29];
|
|
/* 0255943C */ Gambit_fn_025586C4(cpu);
|
|
/* 02559440 */ goto L_02559414;
|
|
L_02559444: ; // 0x2559444
|
|
/* 02559444 */ _t20 = cpu->r[28] + 0x00000008u;
|
|
/* 02559444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02559448 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255944C */ Gambit_fn_02C17DC4(cpu);
|
|
/* 02559450 */ _t21 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02559450 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02559454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559458 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559458 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02559458 */ if (_t23) goto L_02559464; else goto L_0255945C;
|
|
L_0255945C: ; // 0x255945c
|
|
/* 0255945C */ cpu->r[10] = cpu->r[8] + 0x00000100u;
|
|
/* 0255945C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559460 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559460 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02559460 */ if (_t25) goto L_02559464; else goto L_02559444;
|
|
L_02559464: ; // 0x2559464
|
|
/* 02559464 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559468 */ Gambit_fn_02837030(cpu);
|
|
L_0255946C: ; // 0x255946c
|
|
/* 0255946C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0255946C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02559470 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02559474 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02559478 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02559478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255947C */ cpu->lr = cpu->r[0];
|
|
/* 02559480 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02559480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559488 */ return;
|
|
}
|
|
|
|
// fn_025593C0 @ 0x25593c0
|
|
void Gambit_fn_025593C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_025593C0: ; // 0x25593c0
|
|
/* 025593C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 025593C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 025593C0 */ cpu->r[1] = _t0;
|
|
/* 025593C4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 025593C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 025593C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 025593C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 025593CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 025593CC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 025593D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 025593D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 025593D4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 025593D8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025593D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 025593DC */ _t6 = cpu->r[11] + 0x00005BA0u;
|
|
/* 025593DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 025593E0 */ cpu->r[29] = cpu->r[4];
|
|
/* 025593E4 */ _t7 = cpu->r[11] + 0x00000044u;
|
|
/* 025593E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 025593E8 */ cpu->r[30] = cpu->r[5];
|
|
/* 025593EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025593F0 */ cpu->r[28] = cpu->r[3];
|
|
/* 025593F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025593F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 025593F4 */ if (_t9) goto L_025593F8; else goto L_0255946C;
|
|
L_025593F8: ; // 0x25593f8
|
|
/* 025593F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 025593FC */ _t10 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 025593FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559400 */ cpu->r[31] = cpu->r[12] + 0x0000005Cu;
|
|
/* 02559404 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559408 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0255940C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559410 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559410 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02559410 */ if (_t12) goto L_02559444; else goto L_02559414;
|
|
L_02559414: ; // 0x2559414
|
|
/* 02559414 */ _t13 = cpu->r[28] + 0x00000008u;
|
|
/* 02559414 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255941C */ Gambit_fn_02C17DC4(cpu);
|
|
/* 02559420 */ _t14 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02559420 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02559424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559428 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559428 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02559428 */ if (_t16) goto L_02559464; else goto L_0255942C;
|
|
L_0255942C: ; // 0x255942c
|
|
/* 0255942C */ cpu->r[10] = cpu->r[8] + 0x00000100u;
|
|
/* 0255942C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559430 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559430 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02559430 */ if (_t18) goto L_02559464; else goto L_02559434;
|
|
L_02559434: ; // 0x2559434
|
|
/* 02559434 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02559434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02559438 */ cpu->r[3] = cpu->r[29];
|
|
/* 0255943C */ Gambit_fn_025586C4(cpu);
|
|
/* 02559440 */ goto L_02559414;
|
|
L_02559444: ; // 0x2559444
|
|
/* 02559444 */ _t20 = cpu->r[28] + 0x00000008u;
|
|
/* 02559444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02559448 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255944C */ Gambit_fn_02C17DC4(cpu);
|
|
/* 02559450 */ _t21 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02559450 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02559454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559458 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559458 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02559458 */ if (_t23) goto L_02559464; else goto L_0255945C;
|
|
L_0255945C: ; // 0x255945c
|
|
/* 0255945C */ cpu->r[10] = cpu->r[8] + 0x00000100u;
|
|
/* 0255945C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559460 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559460 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02559460 */ if (_t25) goto L_02559464; else goto L_02559444;
|
|
L_02559464: ; // 0x2559464
|
|
/* 02559464 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559468 */ Gambit_fn_02837030(cpu);
|
|
L_0255946C: ; // 0x255946c
|
|
/* 0255946C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0255946C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02559470 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02559474 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02559478 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02559478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255947C */ cpu->lr = cpu->r[0];
|
|
/* 02559480 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02559480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559488 */ return;
|
|
}
|
|
|
|
// fn_0255948C @ 0x255948c
|
|
void Gambit_fn_0255948C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_0255948C: ; // 0x255948c
|
|
/* 0255948C */ cpu->r[0] = cpu->lr;
|
|
/* 02559490 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559490 */ cpu->r[1] = _t0;
|
|
/* 02559494 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02559494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0255949C */ cpu->r[11] = 0x101C0000u;
|
|
/* 025594A0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025594A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025594A4 */ _t4 = cpu->r[11] + 0x00005BA0u;
|
|
/* 025594A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025594A8 */ _t5 = cpu->r[11] + 0x00000044u;
|
|
/* 025594A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 025594AC */ cpu->r[31] = cpu->r[4];
|
|
/* 025594B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025594B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025594B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025594B8 */ if (_t7) goto L_025594D8; else goto L_025594BC;
|
|
L_025594BC: ; // 0x25594bc
|
|
/* 025594BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025594BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025594C0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025594C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025594C4 */ cpu->lr = cpu->r[0];
|
|
/* 025594C8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 025594C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025594CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025594D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 025594D4 */ return;
|
|
L_025594D8: ; // 0x25594d8
|
|
/* 025594D8 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 025594D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025594DC */ _t12 = cpu->r[3] + 0x00000038u;
|
|
/* 025594DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025594E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025594E4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 025594E4 */ if (_t14) goto L_025594E8; else goto L_025595F8;
|
|
L_025594E8: ; // 0x25594e8
|
|
/* 025594E8 */ Gambit_fn_026EE550(cpu);
|
|
/* 025594EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025594F0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025594F0 */ if (_t16) goto L_025595F8; else goto L_025594F4;
|
|
L_025594F4: ; // 0x25594f4
|
|
/* 025594F4 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 025594F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025594F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025594FC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 025594FC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02559500 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559500 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02559500 */ if (_t20) goto L_025595DC; else goto L_02559504;
|
|
L_02559504: ; // 0x2559504
|
|
/* 02559504 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02559508 */ _t21 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 02559508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0255950C */ cpu->r[31] = cpu->r[12] + 0x0000005Cu;
|
|
/* 02559510 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559514 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02559518 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02559518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0255951C */ Gambit_fn_02C0F664(cpu);
|
|
/* 02559520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559524 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559524 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02559524 */ if (_t24) goto L_02559558; else goto L_02559528;
|
|
L_02559528: ; // 0x2559528
|
|
/* 02559528 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02559528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0255952C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02559530 */ cpu->r[5] = 0x00000000u;
|
|
/* 02559534 */ Gambit_fn_02559B68(cpu);
|
|
/* 02559538 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02559538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0255953C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255953C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0255953C */ if (_t27) goto L_025595AC; else goto L_02559540;
|
|
L_02559540: ; // 0x2559540
|
|
/* 02559540 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559544 */ cpu->r[4] = 0x00000004u;
|
|
/* 02559548 */ Gambit_fn_02C89380(cpu);
|
|
/* 0255954C */ cpu->r[0] = 0xFD220000u;
|
|
/* 02559550 */ cpu->r[0] = cpu->r[0] | 0x00008C2Cu;
|
|
/* 02559554 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559554 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_02559558: ; // 0x2559558
|
|
/* 02559558 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02559558 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255955C */ _t30 = cpu->r[30] + 0x00000010u;
|
|
/* 0255955C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 02559564 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559564 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02559564 */ if (_t32) goto L_02559568; else goto L_025595D0;
|
|
L_02559568: ; // 0x2559568
|
|
/* 02559568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 0255956C */ cpu->r[9] = 0x00000000u;
|
|
/* 02559570 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02559570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02559574 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559574 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02559574 */ if (_t35) goto L_02559578; else goto L_025595AC;
|
|
L_02559578: ; // 0x2559578
|
|
/* 02559578 */ _t36 = cpu->r[30] + 0x00000014u;
|
|
/* 02559578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0255957C */ cpu->r[11] = cpu->r[7] + 0x00000001u;
|
|
/* 02559580 */ _t37 = cpu->r[30] + 0x00000010u;
|
|
/* 02559580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02559584 */ cpu->r[5] = cpu->r[12] + cpu->r[7];
|
|
/* 02559588 */ _t38 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02559588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0255958C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 02559590 */ _t39 = cpu->r[30] + 0x00000018u;
|
|
/* 02559590 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02559594 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559594 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02559594 */ if (_t41) goto L_0255959C; else goto L_02559598;
|
|
L_02559598: ; // 0x2559598
|
|
/* 02559598 */ cpu->r[5] = cpu->r[5] - cpu->r[8];
|
|
L_0255959C: ; // 0x255959c
|
|
/* 0255959C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025595A0 */ _t42 = cpu->r[6] + cpu->r[5];
|
|
/* 025595A0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 025595A4 */ cpu->r[10] = cpu->r[6] + cpu->r[5];
|
|
/* 025595A8 */ _t43 = cpu->r[10] + 0x00000004u;
|
|
/* 025595A8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
L_025595AC: ; // 0x25595ac
|
|
/* 025595AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025595B0 */ Gambit_fn_02837030(cpu);
|
|
/* 025595B4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025595B8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 025595B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025595BC */ cpu->lr = cpu->r[0];
|
|
/* 025595C0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 025595C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025595C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025595C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025595CC */ return;
|
|
L_025595D0: ; // 0x25595d0
|
|
/* 025595D0 */ Gambit_fn_027F6344(cpu);
|
|
/* 025595D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025595D8 */ Gambit_fn_02837030(cpu);
|
|
L_025595DC: ; // 0x25595dc
|
|
/* 025595DC */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025595E0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 025595E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025595E4 */ cpu->lr = cpu->r[0];
|
|
/* 025595E8 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 025595E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025595EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025595F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025595F4 */ return;
|
|
L_025595F8: ; // 0x25595f8
|
|
/* 025595F8 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025595FC */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 025595FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02559600 */ cpu->lr = cpu->r[0];
|
|
/* 02559604 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02559604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02559608 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0255960C */ cpu->r[3] = 0x00000000u;
|
|
/* 02559610 */ return;
|
|
}
|
|
|
|
// fn_02559490 @ 0x2559490
|
|
void Gambit_fn_02559490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_02559490: ; // 0x2559490
|
|
/* 02559490 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559490 */ cpu->r[1] = _t0;
|
|
/* 02559494 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02559494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0255949C */ cpu->r[11] = 0x101C0000u;
|
|
/* 025594A0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025594A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 025594A4 */ _t4 = cpu->r[11] + 0x00005BA0u;
|
|
/* 025594A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 025594A8 */ _t5 = cpu->r[11] + 0x00000044u;
|
|
/* 025594A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 025594AC */ cpu->r[31] = cpu->r[4];
|
|
/* 025594B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 025594B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 025594B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 025594B8 */ if (_t7) goto L_025594D8; else goto L_025594BC;
|
|
L_025594BC: ; // 0x25594bc
|
|
/* 025594BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025594BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 025594C0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 025594C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 025594C4 */ cpu->lr = cpu->r[0];
|
|
/* 025594C8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 025594C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 025594CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025594D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 025594D4 */ return;
|
|
L_025594D8: ; // 0x25594d8
|
|
/* 025594D8 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 025594D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 025594DC */ _t12 = cpu->r[3] + 0x00000038u;
|
|
/* 025594DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 025594E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 025594E4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 025594E4 */ if (_t14) goto L_025594E8; else goto L_025595F8;
|
|
L_025594E8: ; // 0x25594e8
|
|
/* 025594E8 */ Gambit_fn_026EE550(cpu);
|
|
/* 025594EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025594F0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025594F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 025594F0 */ if (_t16) goto L_025595F8; else goto L_025594F4;
|
|
L_025594F4: ; // 0x25594f4
|
|
/* 025594F4 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 025594F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025594F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 025594FC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 025594FC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02559500 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559500 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02559500 */ if (_t20) goto L_025595DC; else goto L_02559504;
|
|
L_02559504: ; // 0x2559504
|
|
/* 02559504 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02559508 */ _t21 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 02559508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0255950C */ cpu->r[31] = cpu->r[12] + 0x0000005Cu;
|
|
/* 02559510 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559514 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02559518 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02559518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0255951C */ Gambit_fn_02C0F664(cpu);
|
|
/* 02559520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559524 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559524 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02559524 */ if (_t24) goto L_02559558; else goto L_02559528;
|
|
L_02559528: ; // 0x2559528
|
|
/* 02559528 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02559528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0255952C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02559530 */ cpu->r[5] = 0x00000000u;
|
|
/* 02559534 */ Gambit_fn_02559B68(cpu);
|
|
/* 02559538 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02559538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0255953C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255953C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0255953C */ if (_t27) goto L_025595AC; else goto L_02559540;
|
|
L_02559540: ; // 0x2559540
|
|
/* 02559540 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559544 */ cpu->r[4] = 0x00000004u;
|
|
/* 02559548 */ Gambit_fn_02C89380(cpu);
|
|
/* 0255954C */ cpu->r[0] = 0xFD220000u;
|
|
/* 02559550 */ cpu->r[0] = cpu->r[0] | 0x00008C2Cu;
|
|
/* 02559554 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559554 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_02559558: ; // 0x2559558
|
|
/* 02559558 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02559558 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0255955C */ _t30 = cpu->r[30] + 0x00000010u;
|
|
/* 0255955C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 02559564 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559564 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02559564 */ if (_t32) goto L_02559568; else goto L_025595D0;
|
|
L_02559568: ; // 0x2559568
|
|
/* 02559568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 0255956C */ cpu->r[9] = 0x00000000u;
|
|
/* 02559570 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02559570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02559574 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559574 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02559574 */ if (_t35) goto L_02559578; else goto L_025595AC;
|
|
L_02559578: ; // 0x2559578
|
|
/* 02559578 */ _t36 = cpu->r[30] + 0x00000014u;
|
|
/* 02559578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0255957C */ cpu->r[11] = cpu->r[7] + 0x00000001u;
|
|
/* 02559580 */ _t37 = cpu->r[30] + 0x00000010u;
|
|
/* 02559580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02559584 */ cpu->r[5] = cpu->r[12] + cpu->r[7];
|
|
/* 02559588 */ _t38 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02559588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0255958C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 02559590 */ _t39 = cpu->r[30] + 0x00000018u;
|
|
/* 02559590 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02559594 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559594 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02559594 */ if (_t41) goto L_0255959C; else goto L_02559598;
|
|
L_02559598: ; // 0x2559598
|
|
/* 02559598 */ cpu->r[5] = cpu->r[5] - cpu->r[8];
|
|
L_0255959C: ; // 0x255959c
|
|
/* 0255959C */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 025595A0 */ _t42 = cpu->r[6] + cpu->r[5];
|
|
/* 025595A0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 025595A4 */ cpu->r[10] = cpu->r[6] + cpu->r[5];
|
|
/* 025595A8 */ _t43 = cpu->r[10] + 0x00000004u;
|
|
/* 025595A8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
L_025595AC: ; // 0x25595ac
|
|
/* 025595AC */ cpu->r[3] = cpu->r[31];
|
|
/* 025595B0 */ Gambit_fn_02837030(cpu);
|
|
/* 025595B4 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 025595B8 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 025595B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 025595BC */ cpu->lr = cpu->r[0];
|
|
/* 025595C0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 025595C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 025595C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025595C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025595CC */ return;
|
|
L_025595D0: ; // 0x25595d0
|
|
/* 025595D0 */ Gambit_fn_027F6344(cpu);
|
|
/* 025595D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 025595D8 */ Gambit_fn_02837030(cpu);
|
|
L_025595DC: ; // 0x25595dc
|
|
/* 025595DC */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 025595E0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 025595E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 025595E4 */ cpu->lr = cpu->r[0];
|
|
/* 025595E8 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 025595E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 025595EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 025595F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 025595F4 */ return;
|
|
L_025595F8: ; // 0x25595f8
|
|
/* 025595F8 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 025595F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 025595FC */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 025595FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02559600 */ cpu->lr = cpu->r[0];
|
|
/* 02559604 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02559604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02559608 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0255960C */ cpu->r[3] = 0x00000000u;
|
|
/* 02559610 */ return;
|
|
}
|
|
|
|
// fn_02559614 @ 0x2559614
|
|
void Gambit_fn_02559614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02559614: ; // 0x2559614
|
|
/* 02559614 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02559614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559614 */ cpu->r[1] = _t0;
|
|
/* 02559618 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02559618 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 0255961C */ /* nop */
|
|
/* 02559620 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02559620 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02559624 */ /* nop */
|
|
/* 02559628 */ /* nop */
|
|
/* 0255962C */ cpu->r[0] = cpu->lr;
|
|
/* 02559630 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02559630 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02559634 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02559634 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 02559638 */ /* nop */
|
|
/* 0255963C */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 0255963C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02559640 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 02559640 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02559644 */ /* nop */
|
|
/* 02559648 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 02559648 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0255964C */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 02559650 */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 02559650 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 02559654 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02559658 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0255965C */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0255965C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02559660 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 02559664 */ _t10 = cpu->r[7] + 0xFFFFAA80u;
|
|
/* 02559664 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02559664 */ cpu->r[7] = _t10;
|
|
/* 02559668 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0255966C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02559670 */ _t11 = cpu->r[5] + 0xFFFFAA88u;
|
|
/* 02559670 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 02559670 */ cpu->r[5] = _t11;
|
|
/* 02559674 */ cpu->r[10] = cpu->r[10] + 0xFFFFAA98u;
|
|
/* 02559678 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 02559678 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0255967C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02559680 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02559680 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02559684 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 02559688 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 02559688 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 0255968C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02559690 */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 02559690 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559694 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02559698 */ _t16 = cpu->r[12] + 0xFFFFAA90u;
|
|
/* 02559698 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 02559698 */ cpu->r[12] = _t16;
|
|
/* 0255969C */ cpu->r[11] = 0x00000002u;
|
|
/* 025596A0 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 025596A0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 025596A4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 025596A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 025596A8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 025596A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 025596AC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 025596AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 025596B0 */ _t21 = cpu->r[31] + 0xFFFFAAACu;
|
|
/* 025596B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 025596B0 */ cpu->r[31] = _t21;
|
|
/* 025596B4 */ cpu->r[0] = 0x00000004u;
|
|
/* 025596B8 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 025596B8 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 025596BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 025596C0 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 025596C0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 025596C4 */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 025596C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 025596C4 */ cpu->r[12] = _t24;
|
|
/* 025596C8 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 025596C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 025596CC */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 025596CC */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 025596D0 */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 025596D0 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 025596D4 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 025596D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 025596D8 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 025596D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 025596DC */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 025596DC */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 025596E0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 025596E4 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 025596E4 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 025596E8 */ cpu->r[6] = 0x101F0000u;
|
|
/* 025596EC */ _t32 = cpu->r[7] + 0xFFFFAAA8u;
|
|
/* 025596EC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 025596F0 */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 025596F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 025596F0 */ cpu->r[6] = _t33;
|
|
/* 025596F4 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 025596F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 025596F8 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 025596F8 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 025596FC */ cpu->r[5] = 0x101F0000u;
|
|
/* 02559700 */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02559700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02559704 */ _t37 = cpu->r[5] + 0xFFFFAAA0u;
|
|
/* 02559704 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02559704 */ cpu->r[5] = _t37;
|
|
/* 02559708 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 02559708 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 0255970C */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 0255970C */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 02559710 */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 02559710 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02559714 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02559714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02559718 */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 02559718 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0255971C */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 0255971C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02559720 */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02559720 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 02559724 */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 02559724 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02559728 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 02559728 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 0255972C */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0255972C */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 02559730 */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 02559730 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 02559734 */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 02559734 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02559738 */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02559738 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 0255973C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02559740 */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 02559740 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02559744 */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 02559744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02559744 */ cpu->r[11] = _t52;
|
|
/* 02559748 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 02559748 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0255974C */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0255974C */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02559750 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 02559750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02559754 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 02559754 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 02559758 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 02559758 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 0255975C */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 0255975C */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 02559760 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02559764 */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02559764 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 02559768 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0255976C */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 0255976C */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 02559770 */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 02559774 */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 02559774 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02559774 */ cpu->r[12] = _t61;
|
|
/* 02559778 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 02559778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0255977C */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 0255977C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02559780 */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 02559780 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 02559784 */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 02559784 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02559788 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 02559788 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 0255978C */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 0255978C */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 02559790 */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 02559790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02559794 */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02559794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02559798 */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 02559798 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 0255979C */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0255979C */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 025597A0 */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 025597A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 025597A4 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 025597A4 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 025597A8 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 025597A8 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 025597AC */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 025597AC */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 025597B0 */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 025597B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 025597B4 */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 025597B4 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 025597B8 */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 025597B8 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 025597BC */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 025597BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 025597C0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 025597C4 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 025597C4 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 025597C8 */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 025597C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 025597C8 */ cpu->r[10] = _t81;
|
|
/* 025597CC */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 025597CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 025597D0 */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 025597D0 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 025597D4 */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 025597D4 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 025597D8 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 025597D8 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 025597DC */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 025597DC */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 025597E0 */ cpu->r[12] = 0x100D0000u;
|
|
/* 025597E4 */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 025597E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 025597E8 */ _t88 = cpu->r[12] + 0xFFFFB2A4u;
|
|
/* 025597E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 025597EC */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 025597EC */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 025597F0 */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 025597F0 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 025597F4 */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 025597F4 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 025597F8 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 025597F8 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 025597FC */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 025597FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02559800 */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 02559800 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 02559804 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559808 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 02559808 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 0255980C */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 02559810 */ _t96 = cpu->r[12] + 0xFFFFB29Cu;
|
|
/* 02559810 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02559814 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 02559814 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 02559818 */ cpu->r[12] = 0x100D0000u;
|
|
/* 0255981C */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 0255981C */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 02559820 */ _t99 = cpu->r[12] + 0xFFFFB298u;
|
|
/* 02559820 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02559824 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02559828 */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02559828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0255982C */ _t101 = cpu->r[11] + 0xFFFFB2A0u;
|
|
/* 0255982C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02559830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 02559834 */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 02559834 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 02559838 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559838 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02559838 */ if (_t104) goto L_0255983C; else goto L_0255984C;
|
|
L_0255983C: ; // 0x255983c
|
|
/* 0255983C */ cpu->r[3] = 0x00000010u;
|
|
/* 02559840 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559848 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559848 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02559848 */ if (_t106) goto L_0255985C; else goto L_0255984C;
|
|
L_0255984C: ; // 0x255984c
|
|
/* 0255984C */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 0255984C */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 02559850 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 02559850 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 02559854 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 02559854 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 02559858 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559858 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_0255985C: ; // 0x255985c
|
|
/* 0255985C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 02559860 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02559864 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559864 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02559864 */ if (_t112) goto L_02559868; else goto L_02559878;
|
|
L_02559868: ; // 0x2559868
|
|
/* 02559868 */ cpu->r[3] = 0x00000010u;
|
|
/* 0255986C */ Gambit_fn_02801A78(cpu);
|
|
/* 02559870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559874 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559874 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02559874 */ if (_t114) goto L_02559888; else goto L_02559878;
|
|
L_02559878: ; // 0x2559878
|
|
/* 02559878 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 02559878 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 0255987C */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 0255987C */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 02559880 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 02559880 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 02559884 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559884 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_02559888: ; // 0x2559888
|
|
/* 02559888 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0255988C */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 02559890 */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 02559890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02559894 */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 02559894 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02559898 */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 02559898 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 0255989C */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 0255989C */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 025598A0 */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 025598A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 025598A4 */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 025598A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 025598A8 */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 025598A8 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 025598AC */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 025598AC */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 025598B0 */ /* nop */
|
|
/* 025598B4 */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 025598B4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 025598B8 */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 025598B8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 025598BC */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 025598BC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 025598C0 */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 025598C0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 025598C4 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 025598C4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 025598C8 */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 025598C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 025598CC */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 025598CC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 025598D0 */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 025598D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 025598D4 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 025598D4 */ _t136 = _t135 & 0x00000001u;
|
|
/* 025598D4 */ if (_t136) goto L_025598D8; // else: addr-0 trap, fall-through
|
|
L_025598D8: ; // 0x25598d8
|
|
/* 025598D8 */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 025598D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 025598DC */ cpu->lr = cpu->r[0];
|
|
/* 025598E0 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 025598E4 */ return;
|
|
}
|
|
|
|
// fn_025598E8 @ 0x25598e8
|
|
void Gambit_fn_025598E8(CPUState* cpu) {
|
|
L_025598E8: ; // 0x25598e8
|
|
/* 025598E8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025598EC */ return;
|
|
}
|
|
|
|
// fn_025598F0 @ 0x25598f0
|
|
void Gambit_fn_025598F0(CPUState* cpu) {
|
|
L_025598F0: ; // 0x25598f0
|
|
/* 025598F0 */ return;
|
|
}
|
|
|
|
// fn_025598F4 @ 0x25598f4
|
|
void Gambit_fn_025598F4(CPUState* cpu) {
|
|
L_025598F4: ; // 0x25598f4
|
|
/* 025598F4 */ return;
|
|
}
|
|
|
|
// fn_025598F8 @ 0x25598f8
|
|
void Gambit_fn_025598F8(CPUState* cpu) {
|
|
L_025598F8: ; // 0x25598f8
|
|
/* 025598F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 025598FC */ return;
|
|
}
|
|
|
|
// fn_02559900 @ 0x2559900
|
|
void Gambit_fn_02559900(CPUState* cpu) {
|
|
L_02559900: ; // 0x2559900
|
|
/* 02559900 */ cpu->r[3] = 0x00000000u;
|
|
/* 02559904 */ return;
|
|
}
|
|
|
|
// fn_02559908 @ 0x2559908
|
|
void Gambit_fn_02559908(CPUState* cpu) {
|
|
L_02559908: ; // 0x2559908
|
|
/* 02559908 */ cpu->r[3] = 0x00003000u;
|
|
/* 0255990C */ return;
|
|
}
|
|
|
|
// fn_02559910 @ 0x2559910
|
|
void Gambit_fn_02559910(CPUState* cpu) {
|
|
L_02559910: ; // 0x2559910
|
|
/* 02559910 */ cpu->r[3] = 0x00003000u;
|
|
/* 02559914 */ return;
|
|
}
|
|
|
|
// fn_02559918 @ 0x2559918
|
|
void Gambit_fn_02559918(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02559918: ; // 0x2559918
|
|
/* 02559918 */ _t0 = cpu->r[3] + 0x000000D8u;
|
|
/* 02559918 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0255991C */ return;
|
|
}
|
|
|
|
// fn_02559920 @ 0x2559920
|
|
void Gambit_fn_02559920(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02559920: ; // 0x2559920
|
|
/* 02559920 */ _t0 = cpu->r[3] + 0x000000D4u;
|
|
/* 02559920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02559924 */ return;
|
|
}
|
|
|
|
// fn_02559928 @ 0x2559928
|
|
void Gambit_fn_02559928(CPUState* cpu) {
|
|
L_02559928: ; // 0x2559928
|
|
/* 02559928 */ cpu->r[3] = 0x00000001u;
|
|
/* 0255992C */ return;
|
|
}
|
|
|
|
// fn_02559930 @ 0x2559930
|
|
void Gambit_fn_02559930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02559930: ; // 0x2559930
|
|
/* 02559930 */ _t0 = cpu->r[3] + 0x000000D4u;
|
|
/* 02559930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02559934 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02559934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02559938 */ _t2 = cpu->r[12] + 0x00000024u;
|
|
/* 02559938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0255993C */ cpu->ctr = cpu->r[0];
|
|
/* 02559940 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02559948 @ 0x2559948
|
|
void Gambit_fn_02559948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_02559948: ; // 0x2559948
|
|
/* 02559948 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559948 */ cpu->r[1] = _t0;
|
|
/* 0255994C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0255994C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559950 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02559950 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02559954 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559958 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02559958 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0255995C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255995C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0255995C */ if (_t5) goto L_02559960; else goto L_02559970;
|
|
L_02559960: ; // 0x2559960
|
|
/* 02559960 */ cpu->r[3] = 0x00000108u;
|
|
/* 02559964 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559968 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0255996C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0255996C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0255996C */ if (_t7) goto L_02559A18; else goto L_02559970;
|
|
L_02559970: ; // 0x2559970
|
|
/* 02559970 */ cpu->r[30] = cpu->r[31];
|
|
/* 02559970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559974 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559974 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02559974 */ if (_t9) goto L_02559978; else goto L_02559988;
|
|
L_02559978: ; // 0x2559978
|
|
/* 02559978 */ cpu->r[3] = 0x00000100u;
|
|
/* 0255997C */ Gambit_fn_02801A78(cpu);
|
|
/* 02559980 */ cpu->r[30] = cpu->r[3];
|
|
/* 02559980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559984 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02559984 */ if (_t11) goto L_02559A00; else goto L_02559988;
|
|
L_02559988: ; // 0x2559988
|
|
/* 02559988 */ cpu->r[3] = cpu->r[30];
|
|
/* 0255998C */ cpu->r[4] = 0x000000D4u;
|
|
/* 02559990 */ Gambit_fn_02C89380(cpu);
|
|
/* 02559994 */ cpu->r[3] = cpu->r[30];
|
|
/* 02559994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559998 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559998 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02559998 */ if (_t13) goto L_0255999C; else goto L_025599AC;
|
|
L_0255999C: ; // 0x255999c
|
|
/* 0255999C */ cpu->r[3] = 0x000000D4u;
|
|
/* 025599A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 025599A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 025599A8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 025599A8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 025599A8 */ if (_t15) goto L_025599F4; else goto L_025599AC;
|
|
L_025599AC: ; // 0x25599ac
|
|
/* 025599AC */ cpu->r[0] = 0x00000000u;
|
|
/* 025599B0 */ cpu->r[12] = 0x00000000u;
|
|
/* 025599B4 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 025599B8 */ _t16 = cpu->r[3] + 0x00000050u;
|
|
/* 025599B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 025599BC */ cpu->r[11] = 0x100D0000u;
|
|
/* 025599C0 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 025599C0 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 025599C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFB1BCu;
|
|
/* 025599C8 */ _t18 = cpu->r[3] + 0x0000004Eu;
|
|
/* 025599C8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 025599CC */ cpu->r[7] = 0x00000020u;
|
|
/* 025599D0 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 025599D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 025599D4 */ cpu->ctr = cpu->r[7];
|
|
/* 025599D8 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 025599D8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 025599DC */ cpu->r[11] = cpu->r[3] + 0x0000000Cu;
|
|
/* 025599E0 */ cpu->r[10] = cpu->r[3] + 0x00000050u;
|
|
/* 025599E4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 025599E4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_025599E8: ; // 0x25599e8
|
|
/* 025599E8 */ _t22 = cpu->r[11] + 0x00000002u;
|
|
/* 025599E8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 025599E8 */ cpu->r[11] = _t22;
|
|
/* 025599EC */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 025599EC */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 025599EC */ cpu->r[10] = _t23;
|
|
/* 025599F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 025599F0 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 025599F0 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 025599F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 025599F0 */ if (_t26) goto L_025599E8; else goto L_025599F4;
|
|
L_025599F4: ; // 0x25599f4
|
|
/* 025599F4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 025599F8 */ cpu->r[8] = cpu->r[8] + 0xFFFF826Cu;
|
|
/* 025599FC */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 025599FC */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
L_02559A00: ; // 0x2559a00
|
|
/* 02559A00 */ cpu->r[9] = 0x100D0000u;
|
|
/* 02559A04 */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02559A08 */ cpu->r[9] = cpu->r[9] + 0xFFFFB2A8u;
|
|
/* 02559A0C */ cpu->r[4] = 0x00000004u;
|
|
/* 02559A10 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 02559A10 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02559A14 */ Gambit_fn_02C89380(cpu);
|
|
L_02559A18: ; // 0x2559a18
|
|
/* 02559A18 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02559A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02559A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559A20 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559A20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02559A24 */ cpu->lr = cpu->r[0];
|
|
/* 02559A28 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02559A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02559A2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559A30 */ return;
|
|
}
|
|
|
|
// fn_02559A34 @ 0x2559a34
|
|
void Gambit_fn_02559A34(CPUState* cpu) {
|
|
L_02559A34: ; // 0x2559a34
|
|
/* 02559A34 */ cpu->r[3] = 0x00000004u;
|
|
/* 02559A38 */ return;
|
|
}
|
|
|
|
// fn_02559A3C @ 0x2559a3c
|
|
void Gambit_fn_02559A3C(CPUState* cpu) {
|
|
L_02559A3C: ; // 0x2559a3c
|
|
/* 02559A3C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000108u);
|
|
/* 02559A40 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 02559A44 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02559A48 */ return;
|
|
}
|
|
|
|
// fn_02559A4C @ 0x2559a4c
|
|
void Gambit_fn_02559A4C(CPUState* cpu) {
|
|
L_02559A4C: ; // 0x2559a4c
|
|
/* 02559A4C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000108u);
|
|
/* 02559A50 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 02559A54 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02559A58 */ return;
|
|
}
|
|
|
|
// fn_02559A5C @ 0x2559a5c
|
|
void Gambit_fn_02559A5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02559A5C: ; // 0x2559a5c
|
|
/* 02559A5C */ cpu->r[0] = cpu->lr;
|
|
/* 02559A60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559A60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559A60 */ cpu->r[1] = _t0;
|
|
/* 02559A64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02559A64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559A68 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559A68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02559A6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02559A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559A70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02559A74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02559A74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02559A78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559A78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02559A78 */ if (_t5) goto L_02559A7C; else goto L_02559A8C;
|
|
L_02559A7C: ; // 0x2559a7c
|
|
/* 02559A7C */ cpu->r[3] = 0x00004218u;
|
|
/* 02559A80 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559A88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559A88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02559A88 */ if (_t7) goto L_02559AE8; else goto L_02559A8C;
|
|
L_02559A8C: ; // 0x2559a8c
|
|
/* 02559A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559A90 */ cpu->r[4] = 0x00000040u;
|
|
/* 02559A94 */ Gambit_fn_02C18094(cpu);
|
|
/* 02559A98 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559A9C */ cpu->r[6] = 0x02560000u;
|
|
/* 02559AA0 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02559AA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFB1FCu;
|
|
/* 02559AA8 */ cpu->r[6] = cpu->r[6] + 0xFFFF9944u;
|
|
/* 02559AAC */ cpu->r[4] = 0x00000040u;
|
|
/* 02559AB0 */ cpu->r[5] = 0x00000108u;
|
|
/* 02559AB4 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02559AB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02559AB8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02559ABC */ cpu->r[8] = 0x00000040u;
|
|
/* 02559AC0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02559AC4 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 02559AC8 */ cpu->ctr = cpu->r[8];
|
|
/* 02559ACC */ cpu->r[0] = cpu->r[11];
|
|
L_02559AD0: ; // 0x2559ad0
|
|
/* 02559AD0 */ _t9 = cpu->r[10] + 0x000000DCu;
|
|
/* 02559AD0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02559AD4 */ _t10 = cpu->r[10] + 0x000000F8u;
|
|
/* 02559AD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02559AD8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02559ADC */ _t11 = cpu->r[10] + 0x000000D4u;
|
|
/* 02559ADC */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02559AE0 */ cpu->r[10] = cpu->r[10] + 0x00000108u;
|
|
/* 02559AE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02559AE4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02559AE4 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02559AE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02559AE4 */ if (_t14) goto L_02559AD0; else goto L_02559AE8;
|
|
L_02559AE8: ; // 0x2559ae8
|
|
/* 02559AE8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02559AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559AEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02559AF0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559AF4 */ cpu->lr = cpu->r[0];
|
|
/* 02559AF8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02559AF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02559AFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559B00 */ return;
|
|
}
|
|
|
|
// fn_02559A60 @ 0x2559a60
|
|
void Gambit_fn_02559A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02559A60: ; // 0x2559a60
|
|
/* 02559A60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559A60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559A60 */ cpu->r[1] = _t0;
|
|
/* 02559A64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02559A64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559A68 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559A68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02559A6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02559A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559A70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02559A74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02559A74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02559A78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559A78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02559A78 */ if (_t5) goto L_02559A7C; else goto L_02559A8C;
|
|
L_02559A7C: ; // 0x2559a7c
|
|
/* 02559A7C */ cpu->r[3] = 0x00004218u;
|
|
/* 02559A80 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559A88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559A88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02559A88 */ if (_t7) goto L_02559AE8; else goto L_02559A8C;
|
|
L_02559A8C: ; // 0x2559a8c
|
|
/* 02559A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559A90 */ cpu->r[4] = 0x00000040u;
|
|
/* 02559A94 */ Gambit_fn_02C18094(cpu);
|
|
/* 02559A98 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559A9C */ cpu->r[6] = 0x02560000u;
|
|
/* 02559AA0 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02559AA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFB1FCu;
|
|
/* 02559AA8 */ cpu->r[6] = cpu->r[6] + 0xFFFF9944u;
|
|
/* 02559AAC */ cpu->r[4] = 0x00000040u;
|
|
/* 02559AB0 */ cpu->r[5] = 0x00000108u;
|
|
/* 02559AB4 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02559AB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02559AB8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02559ABC */ cpu->r[8] = 0x00000040u;
|
|
/* 02559AC0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02559AC4 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 02559AC8 */ cpu->ctr = cpu->r[8];
|
|
/* 02559ACC */ cpu->r[0] = cpu->r[11];
|
|
L_02559AD0: ; // 0x2559ad0
|
|
/* 02559AD0 */ _t9 = cpu->r[10] + 0x000000DCu;
|
|
/* 02559AD0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02559AD4 */ _t10 = cpu->r[10] + 0x000000F8u;
|
|
/* 02559AD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02559AD8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02559ADC */ _t11 = cpu->r[10] + 0x000000D4u;
|
|
/* 02559ADC */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02559AE0 */ cpu->r[10] = cpu->r[10] + 0x00000108u;
|
|
/* 02559AE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02559AE4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02559AE4 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02559AE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02559AE4 */ if (_t14) goto L_02559AD0; else goto L_02559AE8;
|
|
L_02559AE8: ; // 0x2559ae8
|
|
/* 02559AE8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02559AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559AEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02559AF0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559AF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559AF4 */ cpu->lr = cpu->r[0];
|
|
/* 02559AF8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02559AF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02559AFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559B00 */ return;
|
|
}
|
|
|
|
// fn_02559B04 @ 0x2559b04
|
|
void Gambit_fn_02559B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02559B04: ; // 0x2559b04
|
|
/* 02559B04 */ cpu->r[0] = cpu->lr;
|
|
/* 02559B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559B08 */ cpu->r[1] = _t0;
|
|
/* 02559B0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559B10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559B14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559B18 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B18 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02559B18 */ if (_t4) goto L_02559B1C; else goto L_02559B2C;
|
|
L_02559B1C: ; // 0x2559b1c
|
|
/* 02559B1C */ cpu->r[3] = 0x00004330u;
|
|
/* 02559B20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559B24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559B28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559B28 */ if (_t6) goto L_02559B50; else goto L_02559B2C;
|
|
L_02559B2C: ; // 0x2559b2c
|
|
/* 02559B2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559B30 */ cpu->r[4] = cpu->r[31] + 0x00000118u;
|
|
/* 02559B34 */ Gambit_fn_02C17ACC(cpu);
|
|
/* 02559B38 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02559B3C */ cpu->r[3] = cpu->r[31] + 0x00000118u;
|
|
/* 02559B40 */ cpu->r[0] = cpu->r[0] + 0xFFFFB214u;
|
|
/* 02559B44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559B48 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 02559B48 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02559B4C */ Gambit_fn_02559A5C(cpu);
|
|
L_02559B50: ; // 0x2559b50
|
|
/* 02559B50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02559B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559B58 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02559B5C */ cpu->lr = cpu->r[0];
|
|
/* 02559B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559B64 */ return;
|
|
}
|
|
|
|
// fn_02559B08 @ 0x2559b08
|
|
void Gambit_fn_02559B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02559B08: ; // 0x2559b08
|
|
/* 02559B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559B08 */ cpu->r[1] = _t0;
|
|
/* 02559B0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559B10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559B14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559B18 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B18 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02559B18 */ if (_t4) goto L_02559B1C; else goto L_02559B2C;
|
|
L_02559B1C: ; // 0x2559b1c
|
|
/* 02559B1C */ cpu->r[3] = 0x00004330u;
|
|
/* 02559B20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559B24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559B28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559B28 */ if (_t6) goto L_02559B50; else goto L_02559B2C;
|
|
L_02559B2C: ; // 0x2559b2c
|
|
/* 02559B2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559B30 */ cpu->r[4] = cpu->r[31] + 0x00000118u;
|
|
/* 02559B34 */ Gambit_fn_02C17ACC(cpu);
|
|
/* 02559B38 */ cpu->r[0] = 0x100D0000u;
|
|
/* 02559B3C */ cpu->r[3] = cpu->r[31] + 0x00000118u;
|
|
/* 02559B40 */ cpu->r[0] = cpu->r[0] + 0xFFFFB214u;
|
|
/* 02559B44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559B48 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 02559B48 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02559B4C */ Gambit_fn_02559A5C(cpu);
|
|
L_02559B50: ; // 0x2559b50
|
|
/* 02559B50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02559B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559B58 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02559B5C */ cpu->lr = cpu->r[0];
|
|
/* 02559B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559B64 */ return;
|
|
}
|
|
|
|
// fn_02559B68 @ 0x2559b68
|
|
void Gambit_fn_02559B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02559B68: ; // 0x2559b68
|
|
/* 02559B68 */ cpu->r[0] = cpu->lr;
|
|
/* 02559B6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559B6C */ cpu->r[1] = _t0;
|
|
/* 02559B70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559B74 */ cpu->r[31] = cpu->r[4];
|
|
/* 02559B78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02559B7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559B80 */ Gambit_fn_02C17C20(cpu);
|
|
/* 02559B84 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02559B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559B88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02559B88 */ if (_t4) goto L_02559B8C; else goto L_02559BA0;
|
|
L_02559B8C: ; // 0x2559b8c
|
|
/* 02559B8C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02559B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02559B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559B94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02559B94 */ if (_t7) goto L_02559BA0; else goto L_02559B98;
|
|
L_02559B98: ; // 0x2559b98
|
|
/* 02559B98 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02559B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02559B9C */ _t9 = cpu->r[12] + 0x00000100u;
|
|
/* 02559B9C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02559BA0: ; // 0x2559ba0
|
|
/* 02559BA0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02559BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559BA4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559BA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02559BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02559BAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559BB0 */ return;
|
|
}
|
|
|
|
// fn_02559B6C @ 0x2559b6c
|
|
void Gambit_fn_02559B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02559B6C: ; // 0x2559b6c
|
|
/* 02559B6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559B6C */ cpu->r[1] = _t0;
|
|
/* 02559B70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559B70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559B74 */ cpu->r[31] = cpu->r[4];
|
|
/* 02559B78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02559B7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559B7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559B80 */ Gambit_fn_02C17C20(cpu);
|
|
/* 02559B84 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02559B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559B88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02559B88 */ if (_t4) goto L_02559B8C; else goto L_02559BA0;
|
|
L_02559B8C: ; // 0x2559b8c
|
|
/* 02559B8C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02559B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02559B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559B94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559B94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02559B94 */ if (_t7) goto L_02559BA0; else goto L_02559B98;
|
|
L_02559B98: ; // 0x2559b98
|
|
/* 02559B98 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02559B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02559B9C */ _t9 = cpu->r[12] + 0x00000100u;
|
|
/* 02559B9C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02559BA0: ; // 0x2559ba0
|
|
/* 02559BA0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02559BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559BA4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559BA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02559BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02559BAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559BB0 */ return;
|
|
}
|
|
|
|
// fn_02559BB4 @ 0x2559bb4
|
|
void Gambit_fn_02559BB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02559BB4: ; // 0x2559bb4
|
|
/* 02559BB4 */ cpu->r[12] = cpu->r[3];
|
|
/* 02559BB8 */ cpu->r[3] = cpu->r[4];
|
|
/* 02559BBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02559BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02559BC0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559BC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02559BC0 */ if (_t1) goto L_02559BD4; else goto L_02559BC4;
|
|
L_02559BC4: ; // 0x2559bc4
|
|
/* 02559BC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02559BC8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02559BCC */ cpu->r[4] = cpu->r[12] + 0x00000100u;
|
|
/* 02559BD0 */ rbrew_dispatch(cpu, 0x02d0a6e8u); return;
|
|
L_02559BD4: ; // 0x2559bd4
|
|
/* 02559BD4 */ _t2 = cpu->r[12] + 0x00000100u;
|
|
/* 02559BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02559BD8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02559BD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02559BDC */ return;
|
|
}
|
|
|
|
// fn_02559BE0 @ 0x2559be0
|
|
void Gambit_fn_02559BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02559BE0: ; // 0x2559be0
|
|
/* 02559BE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02559BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559BE4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559BE4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02559BE4 */ if (_t1) goto L_02559BF8; else goto L_02559BE8;
|
|
L_02559BE8: ; // 0x2559be8
|
|
/* 02559BE8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02559BEC */ cpu->r[5] = 0x00000004u;
|
|
/* 02559BF0 */ cpu->r[3] = cpu->r[3] + 0x00000100u;
|
|
/* 02559BF4 */ rbrew_dispatch(cpu, 0x02d0a6e8u); return;
|
|
L_02559BF8: ; // 0x2559bf8
|
|
/* 02559BF8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02559BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02559BFC */ _t3 = cpu->r[3] + 0x00000100u;
|
|
/* 02559BFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02559C00 */ return;
|
|
}
|
|
|
|
// fn_02559C04 @ 0x2559c04
|
|
void Gambit_fn_02559C04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02559C04: ; // 0x2559c04
|
|
/* 02559C04 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02559C04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559C04 */ cpu->r[1] = _t0;
|
|
/* 02559C08 */ cpu->r[0] = cpu->lr;
|
|
/* 02559C0C */ /* nop */
|
|
/* 02559C10 */ cpu->r[27] = cpu->r[3];
|
|
/* 02559C14 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02559C18 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02559C18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02559C1C */ cpu->r[29] = cpu->r[4];
|
|
/* 02559C20 */ cpu->r[4] = cpu->r[5];
|
|
/* 02559C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02559C24 */ cpu->r[30] = 0x00000001u;
|
|
/* 02559C28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559C28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02559C28 */ if (_t3) goto L_02559C38; else goto L_02559C2C;
|
|
L_02559C2C: ; // 0x2559c2c
|
|
/* 02559C2C */ _t4 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 02559C2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02559C30 */ Gambit_fn_02827008(cpu);
|
|
/* 02559C34 */ cpu->r[30] = cpu->r[3];
|
|
L_02559C38: ; // 0x2559c38
|
|
/* 02559C38 */ cpu->r[5] = 0x00000000u;
|
|
/* 02559C3C */ cpu->r[4] = cpu->r[29];
|
|
/* 02559C40 */ cpu->r[3] = cpu->r[27];
|
|
/* 02559C44 */ Gambit_fn_026EFB50(cpu);
|
|
/* 02559C48 */ cpu->r[3] = 0x00004330u;
|
|
/* 02559C4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02559C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559C54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559C58 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559C58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559C58 */ if (_t6) goto L_02559C64; else goto L_02559C5C;
|
|
L_02559C5C: ; // 0x2559c5c
|
|
/* 02559C5C */ Gambit_fn_02559B04(cpu);
|
|
/* 02559C60 */ cpu->r[31] = cpu->r[3];
|
|
L_02559C64: ; // 0x2559c64
|
|
/* 02559C64 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02559C68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559C6C */ cpu->r[28] = cpu->r[3];
|
|
/* 02559C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02559C70 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559C70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02559C70 */ if (_t8) goto L_02559C80; else goto L_02559C74;
|
|
L_02559C74: ; // 0x2559c74
|
|
/* 02559C74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02559C78 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02559C7C */ Gambit_fn_02C89380(cpu);
|
|
L_02559C80: ; // 0x2559c80
|
|
/* 02559C80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02559C84 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 02559C84 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02559C88 */ cpu->r[3] = cpu->r[27];
|
|
/* 02559C8C */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02559C8C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02559C90 */ cpu->r[4] = cpu->r[28];
|
|
/* 02559C94 */ _t11 = cpu->r[28] + 0x00000008u;
|
|
/* 02559C94 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[29]);
|
|
/* 02559C98 */ Gambit_fn_026EFBAC(cpu);
|
|
/* 02559C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02559CA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559CA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02559CA0 */ if (_t13) goto L_02559CB0; else goto L_02559CA4;
|
|
L_02559CA4: ; // 0x2559ca4
|
|
/* 02559CA4 */ _t14 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 02559CA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02559CA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02559CAC */ Gambit_fn_02827008(cpu);
|
|
L_02559CB0: ; // 0x2559cb0
|
|
/* 02559CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559CB4 */ /* nop */
|
|
/* 02559CB8 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02559CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559CBC */ cpu->lr = cpu->r[0];
|
|
/* 02559CC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02559CC4 */ return;
|
|
}
|
|
|
|
// fn_02559CCC @ 0x2559ccc
|
|
void Gambit_fn_02559CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02559CCC: ; // 0x2559ccc
|
|
/* 02559CCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559CCC */ cpu->r[1] = _t0;
|
|
/* 02559CD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559CD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559CD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559CDC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559CDC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02559CDC */ if (_t4) goto L_02559CE0; else goto L_02559CF0;
|
|
L_02559CE0: ; // 0x2559ce0
|
|
/* 02559CE0 */ cpu->r[3] = 0x000001BCu;
|
|
/* 02559CE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559CE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02559CEC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559CEC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559CEC */ if (_t6) goto L_02559D18; else goto L_02559CF0;
|
|
L_02559CF0: ; // 0x2559cf0
|
|
/* 02559CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02559CF4 */ Gambit_fn_024F2B00(cpu);
|
|
/* 02559CF8 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559CFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02559D00 */ cpu->r[12] = cpu->r[12] + 0xFFFFB388u;
|
|
/* 02559D04 */ _t7 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559D04 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02559D08 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02559D08 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02559D0C */ _t9 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559D0C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02559D10 */ _t10 = cpu->r[31] + 0x000001B8u;
|
|
/* 02559D10 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02559D14 */ _t11 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559D14 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02559D18: ; // 0x2559d18
|
|
/* 02559D18 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02559D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02559D1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02559D20 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559D24 */ cpu->lr = cpu->r[0];
|
|
/* 02559D28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559D2C */ return;
|
|
}
|
|
|
|
// fn_02559D30 @ 0x2559d30
|
|
void Gambit_fn_02559D30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02559D30: ; // 0x2559d30
|
|
/* 02559D30 */ cpu->r[0] = cpu->lr;
|
|
/* 02559D34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559D34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559D34 */ cpu->r[1] = _t0;
|
|
/* 02559D38 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02559D38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559D3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559D3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02559D40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02559D40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02559D44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559D44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02559D48 */ cpu->r[29] = cpu->r[3];
|
|
/* 02559D4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02559D50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02559D54 */ Gambit_fn_024F6710(cpu);
|
|
/* 02559D58 */ cpu->r[5] = cpu->r[3];
|
|
/* 02559D5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02559D60 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559D64 */ Gambit_fn_024F4798(cpu);
|
|
/* 02559D68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02559D6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02559D70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02559D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559D74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559D74 */ if (_t6) goto L_02559DA8; else goto L_02559D78;
|
|
L_02559D78: ; // 0x2559d78
|
|
/* 02559D78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02559D7C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02559D80 */ Gambit_fn_02C89380(cpu);
|
|
/* 02559D84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02559D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559D88 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D88 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02559D88 */ if (_t8) goto L_02559D8C; else goto L_02559D9C;
|
|
L_02559D8C: ; // 0x2559d8c
|
|
/* 02559D8C */ cpu->r[3] = 0x00000008u;
|
|
/* 02559D90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559D98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D98 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02559D98 */ if (_t10) goto L_02559DA8; else goto L_02559D9C;
|
|
L_02559D9C: ; // 0x2559d9c
|
|
/* 02559D9C */ cpu->r[12] = 0x00000000u;
|
|
/* 02559DA0 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02559DA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02559DA4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02559DA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02559DA8: ; // 0x2559da8
|
|
/* 02559DA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559DAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02559DB0 */ _t13 = cpu->r[29] + 0x000001B8u;
|
|
/* 02559DB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02559DB4 */ Gambit_fn_024F212C(cpu);
|
|
/* 02559DB8 */ cpu->r[0] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02559DBC */ _t14 = cpu->r[31] + 0x0000471Cu;
|
|
/* 02559DBC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02559DC0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559DC4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559DC8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02559DC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02559DCC */ cpu->lr = cpu->r[0];
|
|
/* 02559DD0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02559DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02559DD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559DD8 */ return;
|
|
}
|
|
|
|
// fn_02559D34 @ 0x2559d34
|
|
void Gambit_fn_02559D34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02559D34: ; // 0x2559d34
|
|
/* 02559D34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559D34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559D34 */ cpu->r[1] = _t0;
|
|
/* 02559D38 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02559D38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02559D3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559D3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02559D40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02559D40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02559D44 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559D44 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02559D48 */ cpu->r[29] = cpu->r[3];
|
|
/* 02559D4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02559D50 */ cpu->r[31] = cpu->r[4];
|
|
/* 02559D54 */ Gambit_fn_024F6710(cpu);
|
|
/* 02559D58 */ cpu->r[5] = cpu->r[3];
|
|
/* 02559D5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02559D60 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559D64 */ Gambit_fn_024F4798(cpu);
|
|
/* 02559D68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02559D6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02559D70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02559D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02559D74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02559D74 */ if (_t6) goto L_02559DA8; else goto L_02559D78;
|
|
L_02559D78: ; // 0x2559d78
|
|
/* 02559D78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02559D7C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02559D80 */ Gambit_fn_02C89380(cpu);
|
|
/* 02559D84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02559D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559D88 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D88 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02559D88 */ if (_t8) goto L_02559D8C; else goto L_02559D9C;
|
|
L_02559D8C: ; // 0x2559d8c
|
|
/* 02559D8C */ cpu->r[3] = 0x00000008u;
|
|
/* 02559D90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02559D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559D98 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559D98 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02559D98 */ if (_t10) goto L_02559DA8; else goto L_02559D9C;
|
|
L_02559D9C: ; // 0x2559d9c
|
|
/* 02559D9C */ cpu->r[12] = 0x00000000u;
|
|
/* 02559DA0 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02559DA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02559DA4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02559DA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02559DA8: ; // 0x2559da8
|
|
/* 02559DA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02559DAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02559DB0 */ _t13 = cpu->r[29] + 0x000001B8u;
|
|
/* 02559DB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02559DB4 */ Gambit_fn_024F212C(cpu);
|
|
/* 02559DB8 */ cpu->r[0] = cpu->r[29] + 0x0000003Cu;
|
|
/* 02559DBC */ _t14 = cpu->r[31] + 0x0000471Cu;
|
|
/* 02559DBC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02559DC0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559DC4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02559DC8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02559DC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02559DCC */ cpu->lr = cpu->r[0];
|
|
/* 02559DD0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02559DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02559DD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559DD8 */ return;
|
|
}
|
|
|
|
// fn_02559DDC @ 0x2559ddc
|
|
void Gambit_fn_02559DDC(CPUState* cpu) {
|
|
uint32_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_02559DDC: ; // 0x2559ddc
|
|
/* 02559DDC */ cpu->r[0] = cpu->lr;
|
|
/* 02559DE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559DE0 */ cpu->r[1] = _t0;
|
|
/* 02559DE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559DE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559DEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559DEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559DF0 */ _t3 = cpu->r[31] + 0x000001B8u;
|
|
/* 02559DF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02559DF4 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02559DF8 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 02559DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02559DFC */ _t5 = cpu->r[12] + 0x000046C0u;
|
|
/* 02559DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02559E00 */ _t6 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E00 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02559E04 */ _t7 = cpu->r[12] + 0x000046C4u;
|
|
/* 02559E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02559E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02559E0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02559E0C */ if (_t9) goto L_02559E10; else goto L_02559E34;
|
|
L_02559E10: ; // 0x2559e10
|
|
/* 02559E10 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02559E14 */ _t10 = cpu->r[3] + 0x00006000u;
|
|
/* 02559E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559E18 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02559E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02559E1C */ _t12 = cpu->r[11] + 0x0000014Cu;
|
|
/* 02559E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02559E20 */ cpu->ctr = cpu->r[12];
|
|
/* 02559E24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02559E28 */ _t13 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559E2C */ cpu->r[0] = cpu->r[3] - cpu->r[11];
|
|
/* 02559E30 */ _t14 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E30 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02559E34: ; // 0x2559e34
|
|
/* 02559E34 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 02559E34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559E38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02559E3C */ _t16 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E3C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02559E40 */ _t17 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559E40 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 02559E44 */ Gambit_fn_02395444(cpu);
|
|
/* 02559E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559E4C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559E4C */ if (_t19) goto L_02559E58; else goto L_02559E50;
|
|
L_02559E50: ; // 0x2559e50
|
|
/* 02559E50 */ cpu->r[12] = 0x00000001u;
|
|
/* 02559E54 */ _t20 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E54 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[12]);
|
|
L_02559E58: ; // 0x2559e58
|
|
/* 02559E58 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02559E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02559E5C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02559E60 */ cpu->lr = cpu->r[0];
|
|
/* 02559E64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559E68 */ return;
|
|
}
|
|
|
|
// fn_02559DE0 @ 0x2559de0
|
|
void Gambit_fn_02559DE0(CPUState* cpu) {
|
|
uint32_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_02559DE0: ; // 0x2559de0
|
|
/* 02559DE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02559DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559DE0 */ cpu->r[1] = _t0;
|
|
/* 02559DE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559DE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559DEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02559DEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559DF0 */ _t3 = cpu->r[31] + 0x000001B8u;
|
|
/* 02559DF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02559DF4 */ Gambit_fn_024F21E0(cpu);
|
|
/* 02559DF8 */ _t4 = cpu->r[31] + 0x00000050u;
|
|
/* 02559DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02559DFC */ _t5 = cpu->r[12] + 0x000046C0u;
|
|
/* 02559DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02559E00 */ _t6 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E00 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02559E04 */ _t7 = cpu->r[12] + 0x000046C4u;
|
|
/* 02559E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02559E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02559E0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02559E0C */ if (_t9) goto L_02559E10; else goto L_02559E34;
|
|
L_02559E10: ; // 0x2559e10
|
|
/* 02559E10 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02559E14 */ _t10 = cpu->r[3] + 0x00006000u;
|
|
/* 02559E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02559E18 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02559E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02559E1C */ _t12 = cpu->r[11] + 0x0000014Cu;
|
|
/* 02559E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02559E20 */ cpu->ctr = cpu->r[12];
|
|
/* 02559E24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02559E28 */ _t13 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02559E2C */ cpu->r[0] = cpu->r[3] - cpu->r[11];
|
|
/* 02559E30 */ _t14 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E30 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02559E34: ; // 0x2559e34
|
|
/* 02559E34 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 02559E34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02559E38 */ cpu->r[12] = 0x00000000u;
|
|
/* 02559E3C */ _t16 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E3C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02559E40 */ _t17 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559E40 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 02559E44 */ Gambit_fn_02395444(cpu);
|
|
/* 02559E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559E4C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559E4C */ if (_t19) goto L_02559E58; else goto L_02559E50;
|
|
L_02559E50: ; // 0x2559e50
|
|
/* 02559E50 */ cpu->r[12] = 0x00000001u;
|
|
/* 02559E54 */ _t20 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E54 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[12]);
|
|
L_02559E58: ; // 0x2559e58
|
|
/* 02559E58 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02559E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02559E5C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02559E60 */ cpu->lr = cpu->r[0];
|
|
/* 02559E64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02559E68 */ return;
|
|
}
|
|
|
|
// fn_02559E6C @ 0x2559e6c
|
|
void Gambit_fn_02559E6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02559E6C: ; // 0x2559e6c
|
|
/* 02559E6C */ cpu->r[0] = cpu->lr;
|
|
/* 02559E70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559E70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559E70 */ cpu->r[1] = _t0;
|
|
/* 02559E74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02559E74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559E78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559E7C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559E7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559E80 */ _t3 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02559E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559E88 */ cpu->r[0] = 0x00000000u;
|
|
/* 02559E8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02559E8C */ if (_t5) goto L_02559E90; else goto L_02559EB4;
|
|
L_02559E90: ; // 0x2559e90
|
|
/* 02559E90 */ _t6 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02559E94 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02559E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559E98 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559E98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02559E98 */ if (_t8) goto L_02559EB0; else goto L_02559E9C;
|
|
L_02559E9C: ; // 0x2559e9c
|
|
/* 02559E9C */ _t9 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559E9C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02559EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559EA4 */ _t10 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559EA4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02559EA8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EA8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02559EA8 */ if (_t12) goto L_02559EC0; else goto L_02559EAC;
|
|
L_02559EAC: ; // 0x2559eac
|
|
/* 02559EAC */ goto L_02559EFC;
|
|
L_02559EB0: ; // 0x2559eb0
|
|
/* 02559EB0 */ _t13 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559EB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02559EB4: ; // 0x2559eb4
|
|
/* 02559EB4 */ _t14 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559EB4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02559EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559EBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EBC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02559EBC */ if (_t16) goto L_02559EC0; else goto L_02559EFC;
|
|
L_02559EC0: ; // 0x2559ec0
|
|
/* 02559EC0 */ _t17 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559EC0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02559EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02559EC8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EC8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559EC8 */ if (_t19) goto L_02559ECC; else goto L_02559EFC;
|
|
L_02559ECC: ; // 0x2559ecc
|
|
/* 02559ECC */ _t20 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559ECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02559ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559ED4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559ED4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02559ED4 */ if (_t22) goto L_02559ED8; else goto L_02559EFC;
|
|
L_02559ED8: ; // 0x2559ed8
|
|
/* 02559ED8 */ _t23 = cpu->r[31] + 0x000001B8u;
|
|
/* 02559ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02559EDC */ cpu->r[4] = 0x00000000u;
|
|
/* 02559EE0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559EE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02559EE4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02559EE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02559EE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02559EEC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02559EEC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02559EF0 */ Gambit_fn_024F2540(cpu);
|
|
/* 02559EF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02559EF8 */ _t27 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559EF8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
L_02559EFC: ; // 0x2559efc
|
|
/* 02559EFC */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02559F00 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02559F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02559F04 */ cpu->lr = cpu->r[0];
|
|
/* 02559F08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559F0C */ return;
|
|
}
|
|
|
|
// fn_02559E70 @ 0x2559e70
|
|
void Gambit_fn_02559E70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02559E70: ; // 0x2559e70
|
|
/* 02559E70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02559E70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559E70 */ cpu->r[1] = _t0;
|
|
/* 02559E74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02559E74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02559E78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02559E7C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559E7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02559E80 */ _t3 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559E80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02559E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02559E88 */ cpu->r[0] = 0x00000000u;
|
|
/* 02559E8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559E8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02559E8C */ if (_t5) goto L_02559E90; else goto L_02559EB4;
|
|
L_02559E90: ; // 0x2559e90
|
|
/* 02559E90 */ _t6 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02559E94 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02559E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559E98 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02559E98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02559E98 */ if (_t8) goto L_02559EB0; else goto L_02559E9C;
|
|
L_02559E9C: ; // 0x2559e9c
|
|
/* 02559E9C */ _t9 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559E9C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02559EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559EA4 */ _t10 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559EA4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02559EA8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EA8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02559EA8 */ if (_t12) goto L_02559EC0; else goto L_02559EAC;
|
|
L_02559EAC: ; // 0x2559eac
|
|
/* 02559EAC */ goto L_02559EFC;
|
|
L_02559EB0: ; // 0x2559eb0
|
|
/* 02559EB0 */ _t13 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559EB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02559EB4: ; // 0x2559eb4
|
|
/* 02559EB4 */ _t14 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559EB4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02559EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02559EBC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EBC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02559EBC */ if (_t16) goto L_02559EC0; else goto L_02559EFC;
|
|
L_02559EC0: ; // 0x2559ec0
|
|
/* 02559EC0 */ _t17 = cpu->r[31] + 0x000001B5u;
|
|
/* 02559EC0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02559EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02559EC8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559EC8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02559EC8 */ if (_t19) goto L_02559ECC; else goto L_02559EFC;
|
|
L_02559ECC: ; // 0x2559ecc
|
|
/* 02559ECC */ _t20 = cpu->r[31] + 0x000001B0u;
|
|
/* 02559ECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02559ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02559ED4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559ED4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02559ED4 */ if (_t22) goto L_02559ED8; else goto L_02559EFC;
|
|
L_02559ED8: ; // 0x2559ed8
|
|
/* 02559ED8 */ _t23 = cpu->r[31] + 0x000001B8u;
|
|
/* 02559ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02559EDC */ cpu->r[4] = 0x00000000u;
|
|
/* 02559EE0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559EE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02559EE4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02559EE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02559EE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02559EEC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02559EEC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02559EF0 */ Gambit_fn_024F2540(cpu);
|
|
/* 02559EF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02559EF8 */ _t27 = cpu->r[31] + 0x000001B4u;
|
|
/* 02559EF8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
L_02559EFC: ; // 0x2559efc
|
|
/* 02559EFC */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02559EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02559F00 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02559F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02559F04 */ cpu->lr = cpu->r[0];
|
|
/* 02559F08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02559F0C */ return;
|
|
}
|
|
|
|
// fn_02559F10 @ 0x2559f10
|
|
void Gambit_fn_02559F10(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02559F10: ; // 0x2559f10
|
|
/* 02559F10 */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02559F14 */ cpu->r[0] = cpu->r[4] - cpu->r[12];
|
|
/* 02559F18 */ _t0 = cpu->r[3] + 0x000001B5u;
|
|
/* 02559F18 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02559F1C */ return;
|
|
}
|
|
|
|
// fn_02559F20 @ 0x2559f20
|
|
void Gambit_fn_02559F20(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02559F20: ; // 0x2559f20
|
|
/* 02559F20 */ _t0 = cpu->r[3] + 0x000001B4u;
|
|
/* 02559F20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02559F24 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02559F28 */ cpu->r[3] = cpu->r[0];
|
|
/* 02559F2C */ return;
|
|
}
|
|
|
|
// fn_02559F30 @ 0x2559f30
|
|
void Gambit_fn_02559F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02559F30: ; // 0x2559f30
|
|
/* 02559F30 */ cpu->r[0] = cpu->lr;
|
|
/* 02559F34 */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559F38 */ cpu->r[11] = 0x100D0000u;
|
|
/* 02559F3C */ cpu->r[12] = cpu->r[12] + 0xFFFFB37Cu;
|
|
/* 02559F40 */ cpu->r[11] = cpu->r[11] + 0xFFFFB31Cu;
|
|
/* 02559F44 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02559F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02559F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02559F4C */ cpu->r[0] = 0x02560000u;
|
|
/* 02559F50 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02559F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02559F50 */ cpu->r[1] = _t1;
|
|
/* 02559F54 */ cpu->r[0] = cpu->r[0] + 0xFFFFA364u;
|
|
/* 02559F58 */ _t2 = cpu->r[3] + 0xFFFFAB9Cu;
|
|
/* 02559F58 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02559F58 */ cpu->r[3] = _t2;
|
|
/* 02559F5C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559F60 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02559F60 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02559F64 */ cpu->r[12] = cpu->r[12] + 0xFFFFB364u;
|
|
/* 02559F68 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02559F68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02559F6C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02559F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02559F70 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559F70 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02559F74 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02559F78 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02559F7C */ cpu->r[3] = cpu->r[3] + 0x00006AD4u;
|
|
/* 02559F80 */ Gambit_fn_02C83090(cpu);
|
|
/* 02559F84 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02559F88 */ cpu->lr = cpu->r[0];
|
|
/* 02559F8C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02559F90 */ return;
|
|
}
|
|
|
|
// fn_02559F50 @ 0x2559f50
|
|
void Gambit_fn_02559F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02559F50: ; // 0x2559f50
|
|
/* 02559F50 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02559F50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02559F50 */ cpu->r[1] = _t0;
|
|
/* 02559F54 */ cpu->r[0] = cpu->r[0] + 0xFFFFA364u;
|
|
/* 02559F58 */ _t1 = cpu->r[3] + 0xFFFFAB9Cu;
|
|
/* 02559F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02559F58 */ cpu->r[3] = _t1;
|
|
/* 02559F5C */ cpu->r[12] = 0x100D0000u;
|
|
/* 02559F60 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02559F60 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02559F64 */ cpu->r[12] = cpu->r[12] + 0xFFFFB364u;
|
|
/* 02559F68 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02559F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02559F6C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02559F6C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02559F70 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02559F70 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02559F74 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 02559F78 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02559F7C */ cpu->r[3] = cpu->r[3] + 0x00006AD4u;
|
|
/* 02559F80 */ Gambit_fn_02C83090(cpu);
|
|
/* 02559F84 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02559F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02559F88 */ cpu->lr = cpu->r[0];
|
|
/* 02559F8C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02559F90 */ return;
|
|
}
|
|
|
|
// fn_02559F94 @ 0x2559f94
|
|
void Gambit_fn_02559F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02559F94: ; // 0x2559f94
|
|
/* 02559F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02559F98 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559F98 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02559F98 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02559F98 */ goto L_02559F9C;
|
|
L_02559F9C: ; // 0x2559f9c
|
|
/* 02559F9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02559F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02559FA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02559FA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02559FA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02559FA0 */ goto L_02559FA4;
|
|
L_02559FA4: ; // 0x2559fa4
|
|
/* 02559FA4 */ 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_02559FA8 @ 0x2559fa8
|
|
void Gambit_fn_02559FA8(CPUState* cpu) {
|
|
L_02559FA8: ; // 0x2559fa8
|
|
/* 02559FA8 */ return;
|
|
}
|
|
|
|
// fn_02559FAC @ 0x2559fac
|
|
void Gambit_fn_02559FAC(CPUState* cpu) {
|
|
L_02559FAC: ; // 0x2559fac
|
|
/* 02559FAC */ return;
|
|
}
|
|
|
|
// fn_02559FB0 @ 0x2559fb0
|
|
void Gambit_fn_02559FB0(CPUState* cpu) {
|
|
L_02559FB0: ; // 0x2559fb0
|
|
/* 02559FB0 */ return;
|
|
}
|
|
|