mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
51480 lines
2.7 MiB
Plaintext
51480 lines
2.7 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_021ADB40 @ 0x21adb40
|
|
void Gambit_fn_021ADB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_021ADB40: ; // 0x21adb40
|
|
/* 021ADB40 */ cpu->r[0] = cpu->lr;
|
|
/* 021ADB44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021ADB44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADB44 */ cpu->r[1] = _t0;
|
|
/* 021ADB48 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADB48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021ADB4C */ cpu->r[30] = cpu->r[5];
|
|
/* 021ADB50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADB50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021ADB54 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021ADB54 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021ADB58 */ cpu->r[28] = cpu->r[3];
|
|
/* 021ADB5C */ cpu->r[3] = 0x000000E4u;
|
|
/* 021ADB60 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADB60 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021ADB64 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADB68 */ cpu->r[31] = cpu->r[6];
|
|
/* 021ADB6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADB6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021ADB70 */ cpu->r[29] = cpu->r[4];
|
|
/* 021ADB74 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADB7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADB7C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021ADB7C */ if (_t7) goto L_021ADB84; else goto L_021ADB80;
|
|
L_021ADB80: ; // 0x21adb80
|
|
/* 021ADB80 */ Gambit_fn_027B6958(cpu);
|
|
L_021ADB84: ; // 0x21adb84
|
|
/* 021ADB84 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADB88 */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADB8C */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADB8C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 021ADB90 */ Gambit_fn_027B69AC(cpu);
|
|
/* 021ADB94 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 021ADB94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021ADB98 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 021ADB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021ADB9C */ cpu->ctr = cpu->r[0];
|
|
/* 021ADBA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021ADBA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADBA8 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021ADBAC */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021ADBB4 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 021ADBB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021ADBB8 */ cpu->r[7] = cpu->r[31];
|
|
/* 021ADBBC */ cpu->r[8] = cpu->r[6];
|
|
/* 021ADBC0 */ Gambit_fn_027B6AAC(cpu);
|
|
/* 021ADBC4 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021ADBC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021ADBCC */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBD0 */ Gambit_fn_027B6C80(cpu);
|
|
/* 021ADBD4 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADBD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 021ADBDC */ Gambit_fn_027B9B00(cpu);
|
|
/* 021ADBE0 */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADBE8 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADBEC */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADBF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021ADBF4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADBF4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021ADBF4 */ if (_t16) goto L_021ADC34; else goto L_021ADBF8;
|
|
L_021ADBF8: ; // 0x21adbf8
|
|
/* 021ADBF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021ADBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADBFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADBFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021ADBFC */ if (_t18) goto L_021ADC00; else goto L_021ADC10;
|
|
L_021ADC00: ; // 0x21adc00
|
|
/* 021ADC00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADC04 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADC0C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC0C */ _t20 = _t19 & 0x00000001u;
|
|
/* 021ADC0C */ if (_t20) goto L_021ADC28; else goto L_021ADC10;
|
|
L_021ADC10: ; // 0x21adc10
|
|
/* 021ADC10 */ cpu->r[11] = 0x10030000u;
|
|
/* 021ADC14 */ cpu->r[12] = 0x00000000u;
|
|
/* 021ADC18 */ cpu->r[11] = cpu->r[11] + 0xFFFF9700u;
|
|
/* 021ADC1C */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 021ADC1C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 021ADC20 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADC20 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 021ADC24 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADC24 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
L_021ADC28: ; // 0x21adc28
|
|
/* 021ADC28 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADC2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9710u;
|
|
/* 021ADC30 */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 021ADC30 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_021ADC34: ; // 0x21adc34
|
|
/* 021ADC34 */ _t25 = cpu->r[28] + 0x00000008u;
|
|
/* 021ADC34 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 021ADC38 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 021ADC38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021ADC3C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADC3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021ADC40 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADC40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021ADC44 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADC44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021ADC48 */ cpu->lr = cpu->r[0];
|
|
/* 021ADC4C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021ADC50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021ADC54 */ return;
|
|
}
|
|
|
|
// fn_021ADB44 @ 0x21adb44
|
|
void Gambit_fn_021ADB44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_021ADB44: ; // 0x21adb44
|
|
/* 021ADB44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021ADB44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADB44 */ cpu->r[1] = _t0;
|
|
/* 021ADB48 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADB48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021ADB4C */ cpu->r[30] = cpu->r[5];
|
|
/* 021ADB50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADB50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021ADB54 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021ADB54 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021ADB58 */ cpu->r[28] = cpu->r[3];
|
|
/* 021ADB5C */ cpu->r[3] = 0x000000E4u;
|
|
/* 021ADB60 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADB60 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021ADB64 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADB68 */ cpu->r[31] = cpu->r[6];
|
|
/* 021ADB6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADB6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021ADB70 */ cpu->r[29] = cpu->r[4];
|
|
/* 021ADB74 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADB7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADB7C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021ADB7C */ if (_t7) goto L_021ADB84; else goto L_021ADB80;
|
|
L_021ADB80: ; // 0x21adb80
|
|
/* 021ADB80 */ Gambit_fn_027B6958(cpu);
|
|
L_021ADB84: ; // 0x21adb84
|
|
/* 021ADB84 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADB88 */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADB8C */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADB8C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 021ADB90 */ Gambit_fn_027B69AC(cpu);
|
|
/* 021ADB94 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 021ADB94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021ADB98 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 021ADB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021ADB9C */ cpu->ctr = cpu->r[0];
|
|
/* 021ADBA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021ADBA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADBA8 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021ADBAC */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021ADBB4 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 021ADBB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021ADBB8 */ cpu->r[7] = cpu->r[31];
|
|
/* 021ADBBC */ cpu->r[8] = cpu->r[6];
|
|
/* 021ADBC0 */ Gambit_fn_027B6AAC(cpu);
|
|
/* 021ADBC4 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021ADBC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021ADBCC */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBD0 */ Gambit_fn_027B6C80(cpu);
|
|
/* 021ADBD4 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 021ADBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADBD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 021ADBDC */ Gambit_fn_027B9B00(cpu);
|
|
/* 021ADBE0 */ cpu->r[4] = cpu->r[29];
|
|
/* 021ADBE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADBE8 */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADBEC */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADBF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021ADBF4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADBF4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021ADBF4 */ if (_t16) goto L_021ADC34; else goto L_021ADBF8;
|
|
L_021ADBF8: ; // 0x21adbf8
|
|
/* 021ADBF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021ADBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADBFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADBFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021ADBFC */ if (_t18) goto L_021ADC00; else goto L_021ADC10;
|
|
L_021ADC00: ; // 0x21adc00
|
|
/* 021ADC00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADC04 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADC0C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC0C */ _t20 = _t19 & 0x00000001u;
|
|
/* 021ADC0C */ if (_t20) goto L_021ADC28; else goto L_021ADC10;
|
|
L_021ADC10: ; // 0x21adc10
|
|
/* 021ADC10 */ cpu->r[11] = 0x10030000u;
|
|
/* 021ADC14 */ cpu->r[12] = 0x00000000u;
|
|
/* 021ADC18 */ cpu->r[11] = cpu->r[11] + 0xFFFF9700u;
|
|
/* 021ADC1C */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 021ADC1C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 021ADC20 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADC20 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 021ADC24 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADC24 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
L_021ADC28: ; // 0x21adc28
|
|
/* 021ADC28 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADC2C */ cpu->r[0] = cpu->r[0] + 0xFFFF9710u;
|
|
/* 021ADC30 */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 021ADC30 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_021ADC34: ; // 0x21adc34
|
|
/* 021ADC34 */ _t25 = cpu->r[28] + 0x00000008u;
|
|
/* 021ADC34 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 021ADC38 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 021ADC38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021ADC3C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADC3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021ADC40 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADC40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021ADC44 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADC44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021ADC48 */ cpu->lr = cpu->r[0];
|
|
/* 021ADC4C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021ADC50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021ADC54 */ return;
|
|
}
|
|
|
|
// fn_021ADC58 @ 0x21adc58
|
|
void Gambit_fn_021ADC58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021ADC58: ; // 0x21adc58
|
|
/* 021ADC58 */ cpu->r[0] = cpu->lr;
|
|
/* 021ADC5C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021ADC5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADC5C */ cpu->r[1] = _t0;
|
|
/* 021ADC60 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021ADC60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021ADC64 */ /* nop */
|
|
/* 021ADC68 */ cpu->r[25] = cpu->r[5];
|
|
/* 021ADC6C */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADC70 */ cpu->r[27] = cpu->r[3];
|
|
/* 021ADC74 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 021ADC78 */ cpu->r[26] = cpu->r[4];
|
|
/* 021ADC7C */ cpu->r[28] = cpu->r[6];
|
|
/* 021ADC80 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADC84 */ cpu->r[30] = cpu->r[3];
|
|
/* 021ADC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021ADC88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADC88 */ if (_t3) goto L_021ADDF8; else goto L_021ADC8C;
|
|
L_021ADC8C: ; // 0x21adc8c
|
|
/* 021ADC8C */ cpu->r[24] = cpu->r[30];
|
|
/* 021ADC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021ADC90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021ADC90 */ if (_t5) goto L_021ADC94; else goto L_021ADCA4;
|
|
L_021ADC94: ; // 0x21adc94
|
|
/* 021ADC94 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 021ADC98 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADC9C */ cpu->r[24] = cpu->r[3];
|
|
/* 021ADC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021ADCA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021ADCA0 */ if (_t7) goto L_021ADDC4; else goto L_021ADCA4;
|
|
L_021ADCA4: ; // 0x21adca4
|
|
/* 021ADCA4 */ cpu->r[3] = cpu->r[24];
|
|
/* 021ADCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADCA8 */ cpu->r[31] = 0x10110000u;
|
|
/* 021ADCAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCAC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021ADCAC */ if (_t9) goto L_021ADCB0; else goto L_021ADD04;
|
|
L_021ADCB0: ; // 0x21adcb0
|
|
/* 021ADCB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADCB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADCBC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCBC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021ADCBC */ if (_t11) goto L_021ADCC0; else goto L_021ADD04;
|
|
L_021ADCC0: ; // 0x21adcc0
|
|
/* 021ADCC0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADCC4 */ _t12 = cpu->r[31] + 0x00007399u;
|
|
/* 021ADCC4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021ADCC8 */ cpu->r[0] = cpu->r[0] + 0xFFFF96D0u;
|
|
/* 021ADCCC */ _t13 = cpu->r[24] + 0x00000004u;
|
|
/* 021ADCCC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021ADCD0 */ _t14 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADCD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADCD4 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 021ADCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021ADCD8 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADCDC */ _t16 = cpu->r[24] + 0x00000000u;
|
|
/* 021ADCDC */ cpu->r[23] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021ADCE0 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADCE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADCE8 */ _t17 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADCE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021ADCEC */ _t18 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADCEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t18);
|
|
/* 021ADCF0 */ cpu->r[10] = 0x00080000u;
|
|
/* 021ADCF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021ADCF8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021ADCFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 021ADCFC */ if (_t20) goto L_021ADD00; else goto L_021ADD64;
|
|
L_021ADD00: ; // 0x21add00
|
|
/* 021ADD00 */ goto L_021ADD88;
|
|
L_021ADD04: ; // 0x21add04
|
|
/* 021ADD04 */ cpu->r[6] = 0x10030000u;
|
|
/* 021ADD08 */ cpu->r[5] = cpu->r[24] + 0x0000000Cu;
|
|
/* 021ADD0C */ cpu->r[6] = cpu->r[6] + 0xFFFF96B8u;
|
|
/* 021ADD10 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADD10 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
/* 021ADD14 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADD18 */ cpu->r[8] = 0x00000040u;
|
|
/* 021ADD1C */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 021ADD1C */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 021ADD20 */ cpu->r[0] = cpu->r[0] + 0xFFFF96D0u;
|
|
/* 021ADD24 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADD24 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 021ADD28 */ _t24 = cpu->r[31] + 0x00007399u;
|
|
/* 021ADD28 */ cpu->r[31] = rbrew_read8(cpu->mem, _t24);
|
|
/* 021ADD2C */ _t25 = cpu->r[24] + 0x00000004u;
|
|
/* 021ADD2C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 021ADD30 */ _t26 = cpu->r[24] + 0x0000004Bu;
|
|
/* 021ADD30 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 021ADD34 */ _t27 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021ADD38 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 021ADD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021ADD3C */ cpu->ctr = cpu->r[0];
|
|
/* 021ADD40 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 021ADD40 */ cpu->r[23] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021ADD44 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADD48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADD4C */ _t30 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADD4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021ADD50 */ _t31 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADD50 */ cpu->r[9] = rbrew_read8(cpu->mem, _t31);
|
|
/* 021ADD54 */ cpu->r[10] = 0x00080000u;
|
|
/* 021ADD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021ADD5C */ cpu->r[29] = 0x00000000u;
|
|
/* 021ADD60 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADD60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021ADD60 */ if (_t33) goto L_021ADD00; else goto L_021ADD64;
|
|
L_021ADD64: ; // 0x21add64
|
|
/* 021ADD64 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021ADD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021ADD6C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021ADD70 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021ADD70 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021ADD70 */ if (_t35) goto L_021ADD84; else goto L_021ADD74;
|
|
L_021ADD74: ; // 0x21add74
|
|
/* 021ADD74 */ _t36 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADD74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 021ADD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021ADD7C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADD7C */ _t38 = _t37 & 0x00000001u;
|
|
/* 021ADD7C */ if (_t38) goto L_021ADD80; else goto L_021ADD64;
|
|
L_021ADD80: ; // 0x21add80
|
|
/* 021ADD80 */ goto L_021ADD88;
|
|
L_021ADD84: ; // 0x21add84
|
|
/* 021ADD84 */ cpu->r[29] = 0x00000000u;
|
|
L_021ADD88: ; // 0x21add88
|
|
/* 021ADD88 */ _t39 = cpu->r[24] + 0x00000008u;
|
|
/* 021ADD88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021ADD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021ADD90 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021ADD90 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021ADD90 */ if (_t41) goto L_021ADD98; else goto L_021ADD94;
|
|
L_021ADD94: ; // 0x21add94
|
|
/* 021ADD94 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021ADD98: ; // 0x21add98
|
|
/* 021ADD98 */ _t42 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADD98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021ADD9C */ _t43 = cpu->r[11] + 0x00000014u;
|
|
/* 021ADD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021ADDA0 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADDA4 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADDA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADDAC */ _t44 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADDAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021ADDB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021ADDB4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021ADDB8 */ cpu->r[3] = cpu->r[23];
|
|
/* 021ADDBC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021ADDC0 */ _t45 = cpu->r[23] + cpu->r[29];
|
|
/* 021ADDC0 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[31]);
|
|
L_021ADDC4: ; // 0x21addc4
|
|
/* 021ADDC4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADDC8 */ cpu->r[6] = cpu->r[28];
|
|
/* 021ADDCC */ cpu->r[0] = cpu->r[0] + 0xFFFF96E8u;
|
|
/* 021ADDD0 */ cpu->r[4] = cpu->r[26];
|
|
/* 021ADDD4 */ _t46 = cpu->r[30] + 0x00000004u;
|
|
/* 021ADDD4 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 021ADDD8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021ADDDC */ cpu->r[5] = cpu->r[30];
|
|
/* 021ADDE0 */ _t47 = cpu->r[27] + 0x00000004u;
|
|
/* 021ADDE0 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 021ADDE4 */ Gambit_fn_021ADB40(cpu);
|
|
/* 021ADDE8 */ cpu->r[9] = 0x00000001u;
|
|
/* 021ADDEC */ _t48 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021ADDEC */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 021ADDF0 */ _t49 = cpu->r[27] + 0x00000010u;
|
|
/* 021ADDF0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[9]);
|
|
/* 021ADDF4 */ goto L_021ADE1C;
|
|
L_021ADDF8: ; // 0x21addf8
|
|
/* 021ADDF8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021ADDFC */ cpu->r[6] = cpu->r[28];
|
|
/* 021ADE00 */ cpu->r[3] = cpu->r[27];
|
|
/* 021ADE04 */ cpu->r[4] = cpu->r[26];
|
|
/* 021ADE08 */ _t50 = cpu->r[27] + 0x00000004u;
|
|
/* 021ADE08 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 021ADE0C */ Gambit_fn_021ADB40(cpu);
|
|
/* 021ADE10 */ cpu->r[9] = 0x00000001u;
|
|
/* 021ADE14 */ _t51 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021ADE14 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 021ADE18 */ _t52 = cpu->r[27] + 0x00000010u;
|
|
/* 021ADE18 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[9]);
|
|
L_021ADE1C: ; // 0x21ade1c
|
|
/* 021ADE1C */ /* nop */
|
|
/* 021ADE20 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 021ADE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021ADE24 */ cpu->lr = cpu->r[0];
|
|
/* 021ADE28 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021ADE2C */ return;
|
|
}
|
|
|
|
// fn_021ADC5C @ 0x21adc5c
|
|
void Gambit_fn_021ADC5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021ADC5C: ; // 0x21adc5c
|
|
/* 021ADC5C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021ADC5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADC5C */ cpu->r[1] = _t0;
|
|
/* 021ADC60 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021ADC60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021ADC64 */ /* nop */
|
|
/* 021ADC68 */ cpu->r[25] = cpu->r[5];
|
|
/* 021ADC6C */ cpu->r[5] = 0x00000004u;
|
|
/* 021ADC70 */ cpu->r[27] = cpu->r[3];
|
|
/* 021ADC74 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 021ADC78 */ cpu->r[26] = cpu->r[4];
|
|
/* 021ADC7C */ cpu->r[28] = cpu->r[6];
|
|
/* 021ADC80 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021ADC84 */ cpu->r[30] = cpu->r[3];
|
|
/* 021ADC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021ADC88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADC88 */ if (_t3) goto L_021ADDF8; else goto L_021ADC8C;
|
|
L_021ADC8C: ; // 0x21adc8c
|
|
/* 021ADC8C */ cpu->r[24] = cpu->r[30];
|
|
/* 021ADC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021ADC90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADC90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021ADC90 */ if (_t5) goto L_021ADC94; else goto L_021ADCA4;
|
|
L_021ADC94: ; // 0x21adc94
|
|
/* 021ADC94 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 021ADC98 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADC9C */ cpu->r[24] = cpu->r[3];
|
|
/* 021ADC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021ADCA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021ADCA0 */ if (_t7) goto L_021ADDC4; else goto L_021ADCA4;
|
|
L_021ADCA4: ; // 0x21adca4
|
|
/* 021ADCA4 */ cpu->r[3] = cpu->r[24];
|
|
/* 021ADCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADCA8 */ cpu->r[31] = 0x10110000u;
|
|
/* 021ADCAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCAC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021ADCAC */ if (_t9) goto L_021ADCB0; else goto L_021ADD04;
|
|
L_021ADCB0: ; // 0x21adcb0
|
|
/* 021ADCB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021ADCB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021ADCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADCBC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCBC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021ADCBC */ if (_t11) goto L_021ADCC0; else goto L_021ADD04;
|
|
L_021ADCC0: ; // 0x21adcc0
|
|
/* 021ADCC0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADCC4 */ _t12 = cpu->r[31] + 0x00007399u;
|
|
/* 021ADCC4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021ADCC8 */ cpu->r[0] = cpu->r[0] + 0xFFFF96D0u;
|
|
/* 021ADCCC */ _t13 = cpu->r[24] + 0x00000004u;
|
|
/* 021ADCCC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021ADCD0 */ _t14 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADCD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADCD4 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 021ADCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021ADCD8 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADCDC */ _t16 = cpu->r[24] + 0x00000000u;
|
|
/* 021ADCDC */ cpu->r[23] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021ADCE0 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADCE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADCE8 */ _t17 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADCE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021ADCEC */ _t18 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADCEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t18);
|
|
/* 021ADCF0 */ cpu->r[10] = 0x00080000u;
|
|
/* 021ADCF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021ADCF8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021ADCFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADCFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 021ADCFC */ if (_t20) goto L_021ADD00; else goto L_021ADD64;
|
|
L_021ADD00: ; // 0x21add00
|
|
/* 021ADD00 */ goto L_021ADD88;
|
|
L_021ADD04: ; // 0x21add04
|
|
/* 021ADD04 */ cpu->r[6] = 0x10030000u;
|
|
/* 021ADD08 */ cpu->r[5] = cpu->r[24] + 0x0000000Cu;
|
|
/* 021ADD0C */ cpu->r[6] = cpu->r[6] + 0xFFFF96B8u;
|
|
/* 021ADD10 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADD10 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
/* 021ADD14 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADD18 */ cpu->r[8] = 0x00000040u;
|
|
/* 021ADD1C */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 021ADD1C */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 021ADD20 */ cpu->r[0] = cpu->r[0] + 0xFFFF96D0u;
|
|
/* 021ADD24 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADD24 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 021ADD28 */ _t24 = cpu->r[31] + 0x00007399u;
|
|
/* 021ADD28 */ cpu->r[31] = rbrew_read8(cpu->mem, _t24);
|
|
/* 021ADD2C */ _t25 = cpu->r[24] + 0x00000004u;
|
|
/* 021ADD2C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 021ADD30 */ _t26 = cpu->r[24] + 0x0000004Bu;
|
|
/* 021ADD30 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 021ADD34 */ _t27 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021ADD38 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 021ADD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021ADD3C */ cpu->ctr = cpu->r[0];
|
|
/* 021ADD40 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 021ADD40 */ cpu->r[23] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021ADD44 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADD48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADD4C */ _t30 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADD4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021ADD50 */ _t31 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADD50 */ cpu->r[9] = rbrew_read8(cpu->mem, _t31);
|
|
/* 021ADD54 */ cpu->r[10] = 0x00080000u;
|
|
/* 021ADD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021ADD5C */ cpu->r[29] = 0x00000000u;
|
|
/* 021ADD60 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADD60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021ADD60 */ if (_t33) goto L_021ADD00; else goto L_021ADD64;
|
|
L_021ADD64: ; // 0x21add64
|
|
/* 021ADD64 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021ADD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021ADD6C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021ADD70 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021ADD70 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021ADD70 */ if (_t35) goto L_021ADD84; else goto L_021ADD74;
|
|
L_021ADD74: ; // 0x21add74
|
|
/* 021ADD74 */ _t36 = cpu->r[7] + 0x00000000u;
|
|
/* 021ADD74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 021ADD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021ADD7C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADD7C */ _t38 = _t37 & 0x00000001u;
|
|
/* 021ADD7C */ if (_t38) goto L_021ADD80; else goto L_021ADD64;
|
|
L_021ADD80: ; // 0x21add80
|
|
/* 021ADD80 */ goto L_021ADD88;
|
|
L_021ADD84: ; // 0x21add84
|
|
/* 021ADD84 */ cpu->r[29] = 0x00000000u;
|
|
L_021ADD88: ; // 0x21add88
|
|
/* 021ADD88 */ _t39 = cpu->r[24] + 0x00000008u;
|
|
/* 021ADD88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021ADD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021ADD90 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021ADD90 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021ADD90 */ if (_t41) goto L_021ADD98; else goto L_021ADD94;
|
|
L_021ADD94: ; // 0x21add94
|
|
/* 021ADD94 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021ADD98: ; // 0x21add98
|
|
/* 021ADD98 */ _t42 = cpu->r[25] + 0x00000004u;
|
|
/* 021ADD98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021ADD9C */ _t43 = cpu->r[11] + 0x00000014u;
|
|
/* 021ADD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021ADDA0 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADDA4 */ cpu->r[3] = cpu->r[25];
|
|
/* 021ADDA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADDAC */ _t44 = cpu->r[25] + 0x00000000u;
|
|
/* 021ADDAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021ADDB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021ADDB4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021ADDB8 */ cpu->r[3] = cpu->r[23];
|
|
/* 021ADDBC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021ADDC0 */ _t45 = cpu->r[23] + cpu->r[29];
|
|
/* 021ADDC0 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[31]);
|
|
L_021ADDC4: ; // 0x21addc4
|
|
/* 021ADDC4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021ADDC8 */ cpu->r[6] = cpu->r[28];
|
|
/* 021ADDCC */ cpu->r[0] = cpu->r[0] + 0xFFFF96E8u;
|
|
/* 021ADDD0 */ cpu->r[4] = cpu->r[26];
|
|
/* 021ADDD4 */ _t46 = cpu->r[30] + 0x00000004u;
|
|
/* 021ADDD4 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 021ADDD8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021ADDDC */ cpu->r[5] = cpu->r[30];
|
|
/* 021ADDE0 */ _t47 = cpu->r[27] + 0x00000004u;
|
|
/* 021ADDE0 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 021ADDE4 */ Gambit_fn_021ADB40(cpu);
|
|
/* 021ADDE8 */ cpu->r[9] = 0x00000001u;
|
|
/* 021ADDEC */ _t48 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021ADDEC */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 021ADDF0 */ _t49 = cpu->r[27] + 0x00000010u;
|
|
/* 021ADDF0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[9]);
|
|
/* 021ADDF4 */ goto L_021ADE1C;
|
|
L_021ADDF8: ; // 0x21addf8
|
|
/* 021ADDF8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021ADDFC */ cpu->r[6] = cpu->r[28];
|
|
/* 021ADE00 */ cpu->r[3] = cpu->r[27];
|
|
/* 021ADE04 */ cpu->r[4] = cpu->r[26];
|
|
/* 021ADE08 */ _t50 = cpu->r[27] + 0x00000004u;
|
|
/* 021ADE08 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 021ADE0C */ Gambit_fn_021ADB40(cpu);
|
|
/* 021ADE10 */ cpu->r[9] = 0x00000001u;
|
|
/* 021ADE14 */ _t51 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021ADE14 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 021ADE18 */ _t52 = cpu->r[27] + 0x00000010u;
|
|
/* 021ADE18 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[9]);
|
|
L_021ADE1C: ; // 0x21ade1c
|
|
/* 021ADE1C */ /* nop */
|
|
/* 021ADE20 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 021ADE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021ADE24 */ cpu->lr = cpu->r[0];
|
|
/* 021ADE28 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021ADE2C */ return;
|
|
}
|
|
|
|
// fn_021ADE30 @ 0x21ade30
|
|
void Gambit_fn_021ADE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021ADE30: ; // 0x21ade30
|
|
/* 021ADE30 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021ADE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADE38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADE38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021ADE38 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADE38 */ goto L_021ADE3C;
|
|
L_021ADE3C: ; // 0x21ade3c
|
|
/* 021ADE3C */ _t3 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021ADE40 */ _t4 = cpu->r[12] + 0x0000004Cu;
|
|
/* 021ADE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021ADE44 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADE48 */ cpu->r[4] = 0x00000000u;
|
|
/* 021ADE4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021ADE50 @ 0x21ade50
|
|
void Gambit_fn_021ADE50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021ADE50: ; // 0x21ade50
|
|
/* 021ADE50 */ cpu->r[0] = cpu->lr;
|
|
/* 021ADE54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021ADE54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADE54 */ cpu->r[1] = _t0;
|
|
/* 021ADE58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADE58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021ADE5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADE60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADE60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021ADE64 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021ADE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADE6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADE6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021ADE6C */ if (_t5) goto L_021ADEAC; else goto L_021ADE70;
|
|
L_021ADE70: ; // 0x21ade70
|
|
/* 021ADE70 */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021ADE74 */ _t7 = cpu->r[12] + 0x0000004Cu;
|
|
/* 021ADE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021ADE78 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADE7C */ cpu->r[4] = 0x00000000u;
|
|
/* 021ADE80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADE84 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021ADE88 */ _t9 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021ADE8C */ _t10 = cpu->r[12] + 0x00000054u;
|
|
/* 021ADE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021ADE90 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADE94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADE98 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021ADE9C */ _t12 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021ADEA0 */ _t13 = cpu->r[12] + 0x00000064u;
|
|
/* 021ADEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021ADEA4 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADEA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021ADEAC: ; // 0x21adeac
|
|
/* 021ADEAC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADEB0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021ADEB4 */ cpu->lr = cpu->r[0];
|
|
/* 021ADEB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021ADEBC */ return;
|
|
}
|
|
|
|
// fn_021ADE54 @ 0x21ade54
|
|
void Gambit_fn_021ADE54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021ADE54: ; // 0x21ade54
|
|
/* 021ADE54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021ADE54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADE54 */ cpu->r[1] = _t0;
|
|
/* 021ADE58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADE58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021ADE5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADE60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADE60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021ADE64 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021ADE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADE6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADE6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021ADE6C */ if (_t5) goto L_021ADEAC; else goto L_021ADE70;
|
|
L_021ADE70: ; // 0x21ade70
|
|
/* 021ADE70 */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021ADE74 */ _t7 = cpu->r[12] + 0x0000004Cu;
|
|
/* 021ADE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021ADE78 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADE7C */ cpu->r[4] = 0x00000000u;
|
|
/* 021ADE80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADE84 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021ADE88 */ _t9 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021ADE8C */ _t10 = cpu->r[12] + 0x00000054u;
|
|
/* 021ADE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021ADE90 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADE94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021ADE98 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 021ADE98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021ADE9C */ _t12 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021ADEA0 */ _t13 = cpu->r[12] + 0x00000064u;
|
|
/* 021ADEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021ADEA4 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADEA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021ADEAC: ; // 0x21adeac
|
|
/* 021ADEAC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021ADEB0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021ADEB4 */ cpu->lr = cpu->r[0];
|
|
/* 021ADEB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021ADEBC */ return;
|
|
}
|
|
|
|
// fn_021ADEC0 @ 0x21adec0
|
|
void Gambit_fn_021ADEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021ADEC0: ; // 0x21adec0
|
|
/* 021ADEC0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADEC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021ADEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADEC8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADEC8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021ADEC8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADEC8 */ goto L_021ADECC;
|
|
L_021ADECC: ; // 0x21adecc
|
|
/* 021ADECC */ _t3 = cpu->r[3] + 0x000000E0u;
|
|
/* 021ADECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021ADED0 */ _t4 = cpu->r[12] + 0x0000007Cu;
|
|
/* 021ADED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021ADED4 */ cpu->ctr = cpu->r[0];
|
|
/* 021ADED8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021ADEDC @ 0x21adedc
|
|
void Gambit_fn_021ADEDC(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_021ADEDC: ; // 0x21adedc
|
|
/* 021ADEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADEE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADEE0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADEE0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADEE0 */ goto L_021ADEE4;
|
|
L_021ADEE4: ; // 0x21adee4
|
|
/* 021ADEE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADEE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADEE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADEE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADEE8 */ goto L_021ADEEC;
|
|
L_021ADEEC: ; // 0x21adeec
|
|
/* 021ADEEC */ 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_021ADEF0 @ 0x21adef0
|
|
void Gambit_fn_021ADEF0(CPUState* cpu) {
|
|
L_021ADEF0: ; // 0x21adef0
|
|
/* 021ADEF0 */ return;
|
|
}
|
|
|
|
// fn_021ADEF4 @ 0x21adef4
|
|
void Gambit_fn_021ADEF4(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_021ADEF4: ; // 0x21adef4
|
|
/* 021ADEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADEF8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADEF8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADEF8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADEF8 */ goto L_021ADEFC;
|
|
L_021ADEFC: ; // 0x21adefc
|
|
/* 021ADEFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF00 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF00 */ goto L_021ADF04;
|
|
L_021ADF04: ; // 0x21adf04
|
|
/* 021ADF04 */ 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_021ADF08 @ 0x21adf08
|
|
void Gambit_fn_021ADF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021ADF08: ; // 0x21adf08
|
|
/* 021ADF08 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021ADF0C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADF0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021ADF10 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021ADF14 */ cpu->r[11] = 0x10110000u;
|
|
/* 021ADF18 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021ADF18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021ADF1C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021ADF1C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021ADF20 */ return;
|
|
}
|
|
|
|
// fn_021ADF24 @ 0x21adf24
|
|
void Gambit_fn_021ADF24(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_021ADF24: ; // 0x21adf24
|
|
/* 021ADF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF28 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF28 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF28 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF28 */ goto L_021ADF2C;
|
|
L_021ADF2C: ; // 0x21adf2c
|
|
/* 021ADF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF30 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF30 */ goto L_021ADF34;
|
|
L_021ADF34: ; // 0x21adf34
|
|
/* 021ADF34 */ 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_021ADF38 @ 0x21adf38
|
|
void Gambit_fn_021ADF38(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_021ADF38: ; // 0x21adf38
|
|
/* 021ADF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF3C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF3C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF3C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF3C */ goto L_021ADF40;
|
|
L_021ADF40: ; // 0x21adf40
|
|
/* 021ADF40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF44 */ goto L_021ADF48;
|
|
L_021ADF48: ; // 0x21adf48
|
|
/* 021ADF48 */ 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_021ADF4C @ 0x21adf4c
|
|
void Gambit_fn_021ADF4C(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_021ADF4C: ; // 0x21adf4c
|
|
/* 021ADF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF50 */ goto L_021ADF54;
|
|
L_021ADF54: ; // 0x21adf54
|
|
/* 021ADF54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF58 */ goto L_021ADF5C;
|
|
L_021ADF5C: ; // 0x21adf5c
|
|
/* 021ADF5C */ 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_021ADF60 @ 0x21adf60
|
|
void Gambit_fn_021ADF60(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_021ADF60: ; // 0x21adf60
|
|
/* 021ADF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF64 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF64 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF64 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF64 */ goto L_021ADF68;
|
|
L_021ADF68: ; // 0x21adf68
|
|
/* 021ADF68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF6C */ goto L_021ADF70;
|
|
L_021ADF70: ; // 0x21adf70
|
|
/* 021ADF70 */ 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_021ADF74 @ 0x21adf74
|
|
void Gambit_fn_021ADF74(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_021ADF74: ; // 0x21adf74
|
|
/* 021ADF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF78 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF78 */ goto L_021ADF7C;
|
|
L_021ADF7C: ; // 0x21adf7c
|
|
/* 021ADF7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF80 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF80 */ goto L_021ADF84;
|
|
L_021ADF84: ; // 0x21adf84
|
|
/* 021ADF84 */ 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_021ADF88 @ 0x21adf88
|
|
void Gambit_fn_021ADF88(CPUState* cpu) {
|
|
L_021ADF88: ; // 0x21adf88
|
|
/* 021ADF88 */ return;
|
|
}
|
|
|
|
// fn_021ADF8C @ 0x21adf8c
|
|
void Gambit_fn_021ADF8C(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_021ADF8C: ; // 0x21adf8c
|
|
/* 021ADF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADF90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADF90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF90 */ goto L_021ADF94;
|
|
L_021ADF94: ; // 0x21adf94
|
|
/* 021ADF94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADF98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADF98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADF98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADF98 */ goto L_021ADF9C;
|
|
L_021ADF9C: ; // 0x21adf9c
|
|
/* 021ADF9C */ 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_021ADFA0 @ 0x21adfa0
|
|
void Gambit_fn_021ADFA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021ADFA0: ; // 0x21adfa0
|
|
/* 021ADFA0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021ADFA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021ADFA4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021ADFA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021ADFA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021ADFAC */ cpu->r[11] = 0x10110000u;
|
|
/* 021ADFB0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021ADFB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021ADFB4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021ADFB4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021ADFB8 */ return;
|
|
}
|
|
|
|
// fn_021ADFBC @ 0x21adfbc
|
|
void Gambit_fn_021ADFBC(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_021ADFBC: ; // 0x21adfbc
|
|
/* 021ADFBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADFC0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADFC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADFC0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADFC0 */ goto L_021ADFC4;
|
|
L_021ADFC4: ; // 0x21adfc4
|
|
/* 021ADFC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADFC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADFC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADFC8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADFC8 */ goto L_021ADFCC;
|
|
L_021ADFCC: ; // 0x21adfcc
|
|
/* 021ADFCC */ 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_021ADFD0 @ 0x21adfd0
|
|
void Gambit_fn_021ADFD0(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_021ADFD0: ; // 0x21adfd0
|
|
/* 021ADFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021ADFD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADFD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021ADFD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADFD4 */ goto L_021ADFD8;
|
|
L_021ADFD8: ; // 0x21adfd8
|
|
/* 021ADFD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021ADFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021ADFDC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021ADFDC */ _t3 = _t2 & 0x00000001u;
|
|
/* 021ADFDC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021ADFDC */ goto L_021ADFE0;
|
|
L_021ADFE0: ; // 0x21adfe0
|
|
/* 021ADFE0 */ 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_021ADFE4 @ 0x21adfe4
|
|
void Gambit_fn_021ADFE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_021ADFE4: ; // 0x21adfe4
|
|
/* 021ADFE4 */ cpu->r[0] = cpu->lr;
|
|
/* 021ADFE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021ADFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADFE8 */ cpu->r[1] = _t0;
|
|
/* 021ADFEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADFEC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021ADFF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADFF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021ADFF4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADFF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021ADFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021ADFFC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADFFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE000 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE000 */ if (_t6) goto L_021AE004; else goto L_021AE014;
|
|
L_021AE004: ; // 0x21ae004
|
|
/* 021AE004 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021AE008 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE00C */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE010 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE010 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AE010 */ if (_t8) goto L_021AE0A0; else goto L_021AE014;
|
|
L_021AE014: ; // 0x21ae014
|
|
/* 021AE014 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021AE014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE018 */ cpu->r[30] = 0x00000000u;
|
|
/* 021AE01C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE01C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AE01C */ if (_t10) goto L_021AE020; else goto L_021AE030;
|
|
L_021AE020: ; // 0x21ae020
|
|
/* 021AE020 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE024 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE02C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE02C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE02C */ if (_t12) goto L_021AE054; else goto L_021AE030;
|
|
L_021AE030: ; // 0x21ae030
|
|
/* 021AE030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE034 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE034 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE034 */ if (_t14) goto L_021AE038; else goto L_021AE048;
|
|
L_021AE038: ; // 0x21ae038
|
|
/* 021AE038 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE03C */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE044 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE044 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE044 */ if (_t16) goto L_021AE054; else goto L_021AE048;
|
|
L_021AE048: ; // 0x21ae048
|
|
/* 021AE048 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 021AE048 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021AE04C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 021AE04C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 021AE050 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE050 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_021AE054: ; // 0x21ae054
|
|
/* 021AE054 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE058 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE058 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AE058 */ if (_t21) goto L_021AE05C; else goto L_021AE06C;
|
|
L_021AE05C: ; // 0x21ae05c
|
|
/* 021AE05C */ cpu->r[3] = 0x00000010u;
|
|
/* 021AE060 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE064 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE068 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE068 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021AE068 */ if (_t23) goto L_021AE098; else goto L_021AE06C;
|
|
L_021AE06C: ; // 0x21ae06c
|
|
/* 021AE06C */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE070 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE070 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021AE070 */ if (_t25) goto L_021AE074; else goto L_021AE084;
|
|
L_021AE074: ; // 0x21ae074
|
|
/* 021AE074 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE078 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE080 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE080 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021AE080 */ if (_t27) goto L_021AE090; else goto L_021AE084;
|
|
L_021AE084: ; // 0x21ae084
|
|
/* 021AE084 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 021AE084 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 021AE088 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE088 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 021AE08C */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 021AE08C */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
L_021AE090: ; // 0x21ae090
|
|
/* 021AE090 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021AE094 */ _t31 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AE094 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_021AE098: ; // 0x21ae098
|
|
/* 021AE098 */ cpu->r[0] = 0x00000018u;
|
|
/* 021AE09C */ _t32 = cpu->r[31] + 0x00000028u;
|
|
/* 021AE09C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_021AE0A0: ; // 0x21ae0a0
|
|
/* 021AE0A0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE0A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AE0A4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AE0A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE0AC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE0AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021AE0B0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE0B4 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE0B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AE0B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE0BC */ return;
|
|
}
|
|
|
|
// fn_021ADFE8 @ 0x21adfe8
|
|
void Gambit_fn_021ADFE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_021ADFE8: ; // 0x21adfe8
|
|
/* 021ADFE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021ADFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021ADFE8 */ cpu->r[1] = _t0;
|
|
/* 021ADFEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021ADFEC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021ADFF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021ADFF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021ADFF4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021ADFF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021ADFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021ADFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021ADFFC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021ADFFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE000 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE000 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE000 */ if (_t6) goto L_021AE004; else goto L_021AE014;
|
|
L_021AE004: ; // 0x21ae004
|
|
/* 021AE004 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021AE008 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE00C */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE010 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE010 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AE010 */ if (_t8) goto L_021AE0A0; else goto L_021AE014;
|
|
L_021AE014: ; // 0x21ae014
|
|
/* 021AE014 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021AE014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE018 */ cpu->r[30] = 0x00000000u;
|
|
/* 021AE01C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE01C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AE01C */ if (_t10) goto L_021AE020; else goto L_021AE030;
|
|
L_021AE020: ; // 0x21ae020
|
|
/* 021AE020 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE024 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE02C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE02C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE02C */ if (_t12) goto L_021AE054; else goto L_021AE030;
|
|
L_021AE030: ; // 0x21ae030
|
|
/* 021AE030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE034 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE034 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE034 */ if (_t14) goto L_021AE038; else goto L_021AE048;
|
|
L_021AE038: ; // 0x21ae038
|
|
/* 021AE038 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE03C */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE044 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE044 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE044 */ if (_t16) goto L_021AE054; else goto L_021AE048;
|
|
L_021AE048: ; // 0x21ae048
|
|
/* 021AE048 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 021AE048 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021AE04C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 021AE04C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 021AE050 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE050 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_021AE054: ; // 0x21ae054
|
|
/* 021AE054 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE058 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE058 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AE058 */ if (_t21) goto L_021AE05C; else goto L_021AE06C;
|
|
L_021AE05C: ; // 0x21ae05c
|
|
/* 021AE05C */ cpu->r[3] = 0x00000010u;
|
|
/* 021AE060 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE064 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE068 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE068 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021AE068 */ if (_t23) goto L_021AE098; else goto L_021AE06C;
|
|
L_021AE06C: ; // 0x21ae06c
|
|
/* 021AE06C */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE070 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE070 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021AE070 */ if (_t25) goto L_021AE074; else goto L_021AE084;
|
|
L_021AE074: ; // 0x21ae074
|
|
/* 021AE074 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AE078 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AE07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE080 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE080 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021AE080 */ if (_t27) goto L_021AE090; else goto L_021AE084;
|
|
L_021AE084: ; // 0x21ae084
|
|
/* 021AE084 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 021AE084 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 021AE088 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE088 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 021AE08C */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 021AE08C */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
L_021AE090: ; // 0x21ae090
|
|
/* 021AE090 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021AE094 */ _t31 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AE094 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_021AE098: ; // 0x21ae098
|
|
/* 021AE098 */ cpu->r[0] = 0x00000018u;
|
|
/* 021AE09C */ _t32 = cpu->r[31] + 0x00000028u;
|
|
/* 021AE09C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_021AE0A0: ; // 0x21ae0a0
|
|
/* 021AE0A0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE0A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AE0A4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AE0A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE0AC */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE0AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021AE0B0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE0B4 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE0B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AE0B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE0BC */ return;
|
|
}
|
|
|
|
// fn_021AE0C0 @ 0x21ae0c0
|
|
void Gambit_fn_021AE0C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021AE0C0: ; // 0x21ae0c0
|
|
/* 021AE0C0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE0C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE0C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE0C4 */ cpu->r[1] = _t0;
|
|
/* 021AE0C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AE0CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE0CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AE0D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE0D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AE0D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE0D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE0D8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AE0DC */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE0E0 */ _t5 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AE0E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AE0E0 */ cpu->r[29] = _t5;
|
|
/* 021AE0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE0E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE0E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AE0E8 */ if (_t7) goto L_021AE0EC; else goto L_021AE138;
|
|
L_021AE0EC: ; // 0x21ae0ec
|
|
/* 021AE0EC */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE0F0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021AE0F4 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AE0F8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021AE0FC */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE100 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE100 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AE100 */ if (_t9) goto L_021AE120; else goto L_021AE104;
|
|
L_021AE104: ; // 0x21ae104
|
|
/* 021AE104 */ cpu->r[5] = 0x00000003u;
|
|
/* 021AE108 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE10C */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE110 */ Gambit_fn_02821D88(cpu);
|
|
/* 021AE114 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AE118 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
|
|
/* 021AE11C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AE11C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021AE120: ; // 0x21ae120
|
|
/* 021AE120 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AE124 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE128 */ _t11 = cpu->r[12] + 0x00004D24u;
|
|
/* 021AE128 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021AE12C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE12C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AE12C */ if (_t13) goto L_021AE134; else goto L_021AE130;
|
|
L_021AE130: ; // 0x21ae130
|
|
/* 021AE130 */ Gambit_fn_021ADFE4(cpu);
|
|
L_021AE134: ; // 0x21ae134
|
|
/* 021AE134 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE134 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021AE138: ; // 0x21ae138
|
|
/* 021AE138 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE13C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE140 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE140 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE144 */ cpu->lr = cpu->r[0];
|
|
/* 021AE148 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE14C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE150 */ return;
|
|
}
|
|
|
|
// fn_021AE0C4 @ 0x21ae0c4
|
|
void Gambit_fn_021AE0C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021AE0C4: ; // 0x21ae0c4
|
|
/* 021AE0C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE0C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE0C4 */ cpu->r[1] = _t0;
|
|
/* 021AE0C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AE0CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE0CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AE0D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE0D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AE0D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE0D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE0D8 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AE0DC */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE0E0 */ _t5 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AE0E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AE0E0 */ cpu->r[29] = _t5;
|
|
/* 021AE0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE0E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE0E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AE0E8 */ if (_t7) goto L_021AE0EC; else goto L_021AE138;
|
|
L_021AE0EC: ; // 0x21ae0ec
|
|
/* 021AE0EC */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE0F0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021AE0F4 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AE0F8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021AE0FC */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE100 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE100 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AE100 */ if (_t9) goto L_021AE120; else goto L_021AE104;
|
|
L_021AE104: ; // 0x21ae104
|
|
/* 021AE104 */ cpu->r[5] = 0x00000003u;
|
|
/* 021AE108 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE10C */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE110 */ Gambit_fn_02821D88(cpu);
|
|
/* 021AE114 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AE118 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
|
|
/* 021AE11C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AE11C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021AE120: ; // 0x21ae120
|
|
/* 021AE120 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AE124 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AE124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE128 */ _t11 = cpu->r[12] + 0x00004D24u;
|
|
/* 021AE128 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021AE12C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE12C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AE12C */ if (_t13) goto L_021AE134; else goto L_021AE130;
|
|
L_021AE130: ; // 0x21ae130
|
|
/* 021AE130 */ Gambit_fn_021ADFE4(cpu);
|
|
L_021AE134: ; // 0x21ae134
|
|
/* 021AE134 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE134 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021AE138: ; // 0x21ae138
|
|
/* 021AE138 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE13C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE140 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE140 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE144 */ cpu->lr = cpu->r[0];
|
|
/* 021AE148 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE14C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE150 */ return;
|
|
}
|
|
|
|
// fn_021AE154 @ 0x21ae154
|
|
void Gambit_fn_021AE154(CPUState* cpu) {
|
|
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_021AE154: ; // 0x21ae154
|
|
/* 021AE154 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE158 */ cpu->r[1] = _t0;
|
|
/* 021AE15C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE15C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AE160 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE164 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE164 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AE168 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE168 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AE16C */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AE170 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE170 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AE174 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE174 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AE178 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE178 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AE178 */ if (_t7) goto L_021AE1C0; else goto L_021AE17C;
|
|
L_021AE17C: ; // 0x21ae17c
|
|
/* 021AE17C */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 021AE17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE180 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 021AE180 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE188 */ cpu->r[29] = cpu->r[28] + cpu->r[0];
|
|
/* 021AE18C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 021AE190 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE190 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AE190 */ if (_t11) goto L_021AE1A8; else goto L_021AE194;
|
|
L_021AE194: ; // 0x21ae194
|
|
/* 021AE194 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE198 */ Gambit_fn_02801BB0(cpu);
|
|
/* 021AE19C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 021AE1A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE1A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE1A4 */ if (_t14) goto L_021AE1A8; else goto L_021AE194;
|
|
L_021AE1A8: ; // 0x21ae1a8
|
|
/* 021AE1A8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 021AE1AC */ Gambit_fn_02802424(cpu);
|
|
/* 021AE1B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AE1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AE1B4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE1B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE1B4 */ if (_t16) goto L_021AE1C0; else goto L_021AE1B8;
|
|
L_021AE1B8: ; // 0x21ae1b8
|
|
/* 021AE1B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE1BC */ Gambit_fn_02801BB0(cpu);
|
|
L_021AE1C0: ; // 0x21ae1c0
|
|
/* 021AE1C0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE1C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE1C4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE1C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE1C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE1CC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE1D0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE1D4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AE1D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE1DC */ return;
|
|
}
|
|
|
|
// fn_021AE158 @ 0x21ae158
|
|
void Gambit_fn_021AE158(CPUState* cpu) {
|
|
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_021AE158: ; // 0x21ae158
|
|
/* 021AE158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE158 */ cpu->r[1] = _t0;
|
|
/* 021AE15C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE15C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AE160 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE164 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE164 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AE168 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE168 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AE16C */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AE170 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE170 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AE174 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE174 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AE178 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE178 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AE178 */ if (_t7) goto L_021AE1C0; else goto L_021AE17C;
|
|
L_021AE17C: ; // 0x21ae17c
|
|
/* 021AE17C */ _t8 = cpu->r[30] + 0x00000010u;
|
|
/* 021AE17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE180 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 021AE180 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE188 */ cpu->r[29] = cpu->r[28] + cpu->r[0];
|
|
/* 021AE18C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 021AE190 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE190 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AE190 */ if (_t11) goto L_021AE1A8; else goto L_021AE194;
|
|
L_021AE194: ; // 0x21ae194
|
|
/* 021AE194 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE198 */ Gambit_fn_02801BB0(cpu);
|
|
/* 021AE19C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 021AE1A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE1A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE1A4 */ if (_t14) goto L_021AE1A8; else goto L_021AE194;
|
|
L_021AE1A8: ; // 0x21ae1a8
|
|
/* 021AE1A8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 021AE1AC */ Gambit_fn_02802424(cpu);
|
|
/* 021AE1B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AE1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AE1B4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE1B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE1B4 */ if (_t16) goto L_021AE1C0; else goto L_021AE1B8;
|
|
L_021AE1B8: ; // 0x21ae1b8
|
|
/* 021AE1B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE1BC */ Gambit_fn_02801BB0(cpu);
|
|
L_021AE1C0: ; // 0x21ae1c0
|
|
/* 021AE1C0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE1C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE1C4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE1C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE1C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE1CC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE1D0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE1D4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE1D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AE1D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE1DC */ return;
|
|
}
|
|
|
|
// fn_021AE1E0 @ 0x21ae1e0
|
|
void Gambit_fn_021AE1E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_021AE1E0: ; // 0x21ae1e0
|
|
/* 021AE1E0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE1E4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021AE1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE1E4 */ cpu->r[1] = _t0;
|
|
/* 021AE1E8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE1E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AE1EC */ /* nop */
|
|
/* 021AE1F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE1F4 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE1F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021AE1F8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE1F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AE1FC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE1FC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021AE200 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AE200 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021AE204 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE204 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 021AE208 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE20C */ _t8 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE210 */ cpu->r[30] = cpu->r[5];
|
|
/* 021AE214 */ _t9 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE214 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 021AE21C */ cpu->r[28] = cpu->r[4];
|
|
/* 021AE220 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE220 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AE220 */ if (_t11) goto L_021AE224; else goto L_021AE328;
|
|
L_021AE224: ; // 0x21ae224
|
|
/* 021AE224 */ _t12 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE22C */ cpu->r[7] = cpu->r[6] + cpu->r[0];
|
|
/* 021AE230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 021AE234 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE234 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE234 */ if (_t14) goto L_021AE254; else goto L_021AE238;
|
|
L_021AE238: ; // 0x21ae238
|
|
/* 021AE238 */ _t15 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE238 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE23C */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 021AE23C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 021AE244 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE244 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AE244 */ if (_t18) goto L_021AE2E4; else goto L_021AE248;
|
|
L_021AE248: ; // 0x21ae248
|
|
/* 021AE248 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 021AE24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 021AE250 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE250 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021AE250 */ if (_t20) goto L_021AE254; else goto L_021AE238;
|
|
L_021AE254: ; // 0x21ae254
|
|
/* 021AE254 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE258 */ cpu->r[3] = 0x00000020u;
|
|
/* 021AE25C */ cpu->r[5] = 0x00000004u;
|
|
/* 021AE260 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AE264 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE268 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE268 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021AE268 */ if (_t22) goto L_021AE2B8; else goto L_021AE26C;
|
|
L_021AE26C: ; // 0x21ae26c
|
|
/* 021AE26C */ cpu->r[6] = 0x10030000u;
|
|
/* 021AE270 */ _t23 = cpu->r[28] + 0x000000A8u;
|
|
/* 021AE270 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021AE274 */ _t24 = cpu->r[6] + 0xFFFF97A8u;
|
|
/* 021AE274 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021AE278 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021AE27C */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 021AE27C */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 021AE280 */ Gambit_fn_028CA0E4(cpu);
|
|
/* 021AE284 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AE288 */ cpu->r[0] = 0x00000000u;
|
|
/* 021AE28C */ _t26 = cpu->r[12] + 0xFFFF97ACu;
|
|
/* 021AE28C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021AE290 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AE294 */ _t27 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE294 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 021AE298 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021AE29C */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 021AE29C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021AE2A0 */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE2A4 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE2A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE2A8 */ _t30 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AE2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 021AE2B0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE2B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021AE2B0 */ if (_t32) goto L_021AE2B4; else goto L_021AE2E4;
|
|
L_021AE2B4: ; // 0x21ae2b4
|
|
/* 021AE2B4 */ goto L_021AE2CC;
|
|
L_021AE2B8: ; // 0x21ae2b8
|
|
/* 021AE2B8 */ _t33 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AE2BC */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE2BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AE2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 021AE2C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AE2C8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE2C8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021AE2C8 */ if (_t36) goto L_021AE2CC; else goto L_021AE2E4;
|
|
L_021AE2CC: ; // 0x21ae2cc
|
|
/* 021AE2CC */ _t37 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE2CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AE2D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE2D4 */ _t38 = cpu->r[8] + cpu->r[9];
|
|
/* 021AE2D4 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 021AE2D8 */ _t39 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021AE2DC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021AE2E0 */ _t40 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
L_021AE2E4: ; // 0x21ae2e4
|
|
/* 021AE2E4 */ _t41 = cpu->r[28] + 0x00000008u;
|
|
/* 021AE2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021AE2E8 */ _t42 = cpu->r[11] + 0x00000064u;
|
|
/* 021AE2E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AE2EC */ cpu->ctr = cpu->r[12];
|
|
/* 021AE2F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021AE2F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AE2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE2FC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE2FC */ _t44 = _t43 & 0x00000001u;
|
|
/* 021AE2FC */ if (_t44) goto L_021AE328; else goto L_021AE300;
|
|
L_021AE300: ; // 0x21ae300
|
|
/* 021AE300 */ _t45 = cpu->r[28] + 0x00000040u;
|
|
/* 021AE300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021AE304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE308 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE308 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021AE308 */ if (_t47) goto L_021AE328; else goto L_021AE30C;
|
|
L_021AE30C: ; // 0x21ae30c
|
|
/* 021AE30C */ _t48 = cpu->r[31] + 0x00000010u;
|
|
/* 021AE30C */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021AE310 */ cpu->r[5] = cpu->r[30];
|
|
/* 021AE314 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE318 */ Gambit_fn_021AE1E0(cpu);
|
|
/* 021AE31C */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 021AE31C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021AE320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE324 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE324 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021AE324 */ if (_t51) goto L_021AE328; else goto L_021AE30C;
|
|
L_021AE328: ; // 0x21ae328
|
|
/* 021AE328 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE328 */ cpu->r[28] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AE32C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE32C */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AE330 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021AE334 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021AE338 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 021AE33C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AE340 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE340 */ _t59 = _t58 & 0x00000001u;
|
|
/* 021AE340 */ if (_t59) goto L_021AE344; // else: addr-0 trap, fall-through
|
|
L_021AE344: ; // 0x21ae344
|
|
/* 021AE344 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AE344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021AE348 */ cpu->lr = cpu->r[0];
|
|
/* 021AE34C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021AE350 */ return;
|
|
}
|
|
|
|
// fn_021AE1E4 @ 0x21ae1e4
|
|
void Gambit_fn_021AE1E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_021AE1E4: ; // 0x21ae1e4
|
|
/* 021AE1E4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021AE1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE1E4 */ cpu->r[1] = _t0;
|
|
/* 021AE1E8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE1E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AE1EC */ /* nop */
|
|
/* 021AE1F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE1F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE1F4 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE1F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021AE1F8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE1F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AE1FC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE1FC */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021AE200 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AE200 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021AE204 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE204 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 021AE208 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE20C */ _t8 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE210 */ cpu->r[30] = cpu->r[5];
|
|
/* 021AE214 */ _t9 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE214 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 021AE21C */ cpu->r[28] = cpu->r[4];
|
|
/* 021AE220 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE220 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AE220 */ if (_t11) goto L_021AE224; else goto L_021AE328;
|
|
L_021AE224: ; // 0x21ae224
|
|
/* 021AE224 */ _t12 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE22C */ cpu->r[7] = cpu->r[6] + cpu->r[0];
|
|
/* 021AE230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 021AE234 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE234 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AE234 */ if (_t14) goto L_021AE254; else goto L_021AE238;
|
|
L_021AE238: ; // 0x21ae238
|
|
/* 021AE238 */ _t15 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE238 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE23C */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 021AE23C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 021AE244 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE244 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AE244 */ if (_t18) goto L_021AE2E4; else goto L_021AE248;
|
|
L_021AE248: ; // 0x21ae248
|
|
/* 021AE248 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 021AE24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 021AE250 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE250 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021AE250 */ if (_t20) goto L_021AE254; else goto L_021AE238;
|
|
L_021AE254: ; // 0x21ae254
|
|
/* 021AE254 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE258 */ cpu->r[3] = 0x00000020u;
|
|
/* 021AE25C */ cpu->r[5] = 0x00000004u;
|
|
/* 021AE260 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AE264 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE268 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE268 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021AE268 */ if (_t22) goto L_021AE2B8; else goto L_021AE26C;
|
|
L_021AE26C: ; // 0x21ae26c
|
|
/* 021AE26C */ cpu->r[6] = 0x10030000u;
|
|
/* 021AE270 */ _t23 = cpu->r[28] + 0x000000A8u;
|
|
/* 021AE270 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021AE274 */ _t24 = cpu->r[6] + 0xFFFF97A8u;
|
|
/* 021AE274 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021AE278 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021AE27C */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 021AE27C */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 021AE280 */ Gambit_fn_028CA0E4(cpu);
|
|
/* 021AE284 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AE288 */ cpu->r[0] = 0x00000000u;
|
|
/* 021AE28C */ _t26 = cpu->r[12] + 0xFFFF97ACu;
|
|
/* 021AE28C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021AE290 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AE294 */ _t27 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE294 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 021AE298 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021AE29C */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 021AE29C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021AE2A0 */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE2A4 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE2A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE2A8 */ _t30 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AE2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 021AE2B0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE2B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021AE2B0 */ if (_t32) goto L_021AE2B4; else goto L_021AE2E4;
|
|
L_021AE2B4: ; // 0x21ae2b4
|
|
/* 021AE2B4 */ goto L_021AE2CC;
|
|
L_021AE2B8: ; // 0x21ae2b8
|
|
/* 021AE2B8 */ _t33 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AE2BC */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 021AE2BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AE2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 021AE2C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AE2C8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE2C8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021AE2C8 */ if (_t36) goto L_021AE2CC; else goto L_021AE2E4;
|
|
L_021AE2CC: ; // 0x21ae2cc
|
|
/* 021AE2CC */ _t37 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE2CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AE2D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE2D4 */ _t38 = cpu->r[8] + cpu->r[9];
|
|
/* 021AE2D4 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 021AE2D8 */ _t39 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021AE2DC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021AE2E0 */ _t40 = cpu->r[29] + 0x00000010u;
|
|
/* 021AE2E0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
L_021AE2E4: ; // 0x21ae2e4
|
|
/* 021AE2E4 */ _t41 = cpu->r[28] + 0x00000008u;
|
|
/* 021AE2E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021AE2E8 */ _t42 = cpu->r[11] + 0x00000064u;
|
|
/* 021AE2E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AE2EC */ cpu->ctr = cpu->r[12];
|
|
/* 021AE2F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021AE2F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AE2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE2FC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE2FC */ _t44 = _t43 & 0x00000001u;
|
|
/* 021AE2FC */ if (_t44) goto L_021AE328; else goto L_021AE300;
|
|
L_021AE300: ; // 0x21ae300
|
|
/* 021AE300 */ _t45 = cpu->r[28] + 0x00000040u;
|
|
/* 021AE300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021AE304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE308 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE308 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021AE308 */ if (_t47) goto L_021AE328; else goto L_021AE30C;
|
|
L_021AE30C: ; // 0x21ae30c
|
|
/* 021AE30C */ _t48 = cpu->r[31] + 0x00000010u;
|
|
/* 021AE30C */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021AE310 */ cpu->r[5] = cpu->r[30];
|
|
/* 021AE314 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE318 */ Gambit_fn_021AE1E0(cpu);
|
|
/* 021AE31C */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 021AE31C */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021AE320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE324 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE324 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021AE324 */ if (_t51) goto L_021AE328; else goto L_021AE30C;
|
|
L_021AE328: ; // 0x21ae328
|
|
/* 021AE328 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE328 */ cpu->r[28] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AE32C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE32C */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AE330 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021AE334 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021AE338 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 021AE33C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AE340 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE340 */ _t59 = _t58 & 0x00000001u;
|
|
/* 021AE340 */ if (_t59) goto L_021AE344; // else: addr-0 trap, fall-through
|
|
L_021AE344: ; // 0x21ae344
|
|
/* 021AE344 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AE344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021AE348 */ cpu->lr = cpu->r[0];
|
|
/* 021AE34C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021AE350 */ return;
|
|
}
|
|
|
|
// fn_021AE354 @ 0x21ae354
|
|
void Gambit_fn_021AE354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AE354: ; // 0x21ae354
|
|
/* 021AE354 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE358 */ cpu->r[1] = _t0;
|
|
/* 021AE35C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE35C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AE360 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE360 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE364 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE368 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE36C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE36C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021AE370 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE370 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE374 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AE378 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE37C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE37C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE37C */ if (_t6) goto L_021AE3A4; else goto L_021AE380;
|
|
L_021AE380: ; // 0x21ae380
|
|
/* 021AE380 */ _t7 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE380 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE384 */ cpu->r[6] = 0x00000004u;
|
|
/* 021AE388 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE38C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 021AE390 */ Gambit_fn_028023CC(cpu);
|
|
/* 021AE394 */ _t8 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE394 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE398 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE39C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE3A0 */ Gambit_fn_021AE1E0(cpu);
|
|
L_021AE3A4: ; // 0x21ae3a4
|
|
/* 021AE3A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE3A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE3A8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AE3AC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE3AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AE3B0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE3B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE3B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE3B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE3BC */ return;
|
|
}
|
|
|
|
// fn_021AE358 @ 0x21ae358
|
|
void Gambit_fn_021AE358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AE358: ; // 0x21ae358
|
|
/* 021AE358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE358 */ cpu->r[1] = _t0;
|
|
/* 021AE35C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE35C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AE360 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE360 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE364 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE368 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE36C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE36C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021AE370 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE370 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AE374 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AE378 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AE37C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE37C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE37C */ if (_t6) goto L_021AE3A4; else goto L_021AE380;
|
|
L_021AE380: ; // 0x21ae380
|
|
/* 021AE380 */ _t7 = cpu->r[29] + 0x00000018u;
|
|
/* 021AE380 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE384 */ cpu->r[6] = 0x00000004u;
|
|
/* 021AE388 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE38C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 021AE390 */ Gambit_fn_028023CC(cpu);
|
|
/* 021AE394 */ _t8 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE394 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE398 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE39C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE3A0 */ Gambit_fn_021AE1E0(cpu);
|
|
L_021AE3A4: ; // 0x21ae3a4
|
|
/* 021AE3A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE3A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE3A8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AE3AC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE3AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AE3B0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE3B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE3B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AE3B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE3BC */ return;
|
|
}
|
|
|
|
// fn_021AE3C4 @ 0x21ae3c4
|
|
void Gambit_fn_021AE3C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021AE3C4: ; // 0x21ae3c4
|
|
/* 021AE3C4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021AE3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE3C4 */ cpu->r[1] = _t0;
|
|
/* 021AE3C8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE3C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AE3CC */ /* nop */
|
|
/* 021AE3D0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE3D0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021AE3D4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE3D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021AE3D8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE3D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021AE3DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE3DC */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 021AE3E0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE3E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021AE3E4 */ /* nop */
|
|
/* 021AE3E8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE3E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 021AE3EC */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE3F0 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE3F0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 021AE3F4 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021AE3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE3F8 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 021AE3F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AE3FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE400 */ cpu->r[30] = cpu->r[29] + cpu->r[12];
|
|
/* 021AE404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 021AE408 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE408 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE408 */ if (_t12) goto L_021AE450; else goto L_021AE40C;
|
|
L_021AE40C: ; // 0x21ae40c
|
|
/* 021AE40C */ cpu->r[11] = 0x10030000u;
|
|
/* 021AE410 */ cpu->r[10] = 0x10030000u;
|
|
/* 021AE414 */ _t13 = cpu->r[11] + 0xFFFF97A8u;
|
|
/* 021AE414 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021AE418 */ _t14 = cpu->r[10] + 0xFFFF97ACu;
|
|
/* 021AE418 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
L_021AE41C: ; // 0x21ae41c
|
|
/* 021AE41C */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE41C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE420 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 021AE420 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE424 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE428 */ cpu->r[3] = cpu->r[9] + 0x000000A8u;
|
|
/* 021AE42C */ Gambit_fn_028BD330(cpu);
|
|
/* 021AE430 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE434 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE438 */ cpu->f[2] = cpu->f[31];
|
|
/* 021AE43C */ cpu->r[3] = cpu->r[8] + 0x00000004u;
|
|
/* 021AE440 */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE444 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 021AE448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 021AE44C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE44C */ _t19 = _t18 & 0x00000001u;
|
|
/* 021AE44C */ if (_t19) goto L_021AE450; else goto L_021AE41C;
|
|
L_021AE450: ; // 0x21ae450
|
|
/* 021AE450 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE454 */ Gambit_fn_0280236C(cpu);
|
|
/* 021AE458 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE45C */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE45C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021AE460 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE460 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021AE464 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE464 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 021AE468 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE468 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 021AE46C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AE470 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AE474 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE474 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021AE474 */ if (_t28) goto L_021AE478; // else: addr-0 trap, fall-through
|
|
L_021AE478: ; // 0x21ae478
|
|
/* 021AE478 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE47C */ cpu->lr = cpu->r[0];
|
|
/* 021AE480 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AE484 */ return;
|
|
}
|
|
|
|
// fn_021AE488 @ 0x21ae488
|
|
void Gambit_fn_021AE488(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_021AE488: ; // 0x21ae488
|
|
/* 021AE488 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021AE488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE488 */ cpu->r[1] = _t0;
|
|
/* 021AE48C */ /* nop */
|
|
/* 021AE490 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE494 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021AE494 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AE498 */ _t2 = cpu->r[3] + 0x00000028u;
|
|
/* 021AE498 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AE49C */ cpu->r[27] = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AE4A0 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 021AE4A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AE4A4 */ cpu->r[31] = cpu->r[27] - cpu->r[28];
|
|
/* 021AE4A8 */ cpu->r[30] = cpu->r[7] - cpu->r[28];
|
|
/* 021AE4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021AE4B0 */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 021AE4B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AE4B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE4B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE4B4 */ if (_t6) goto L_021AE508; else goto L_021AE4B8;
|
|
L_021AE4B8: ; // 0x21ae4b8
|
|
/* 021AE4B8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021AE4BC */ Gambit_fn_028CA194(cpu);
|
|
/* 021AE4C0 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 021AE4C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE4C4 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 021AE4C4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021AE4C8 */ cpu->r[3] = cpu->r[9] + 0x000000A8u;
|
|
/* 021AE4CC */ Gambit_fn_028BD330(cpu);
|
|
/* 021AE4D0 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021AE4D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 021AE4D4 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 021AE4D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021AE4D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 021AE4DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE4DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE4DC */ if (_t12) goto L_021AE4E0; else goto L_021AE4F8;
|
|
L_021AE4E0: ; // 0x21ae4e0
|
|
/* 021AE4E0 */ _t13 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021AE4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AE4E4 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
/* 021AE4E8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021AE4EC */ _t14 = cpu->r[27] + 0x00000008u;
|
|
/* 021AE4EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE4F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021AE4F4 */ _t15 = cpu->r[27] + 0x00000008u;
|
|
/* 021AE4F4 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
L_021AE4F8: ; // 0x21ae4f8
|
|
/* 021AE4F8 */ cpu->r[30] = cpu->r[29] - cpu->r[28];
|
|
/* 021AE4FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021AE500 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 021AE500 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE504 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE504 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AE504 */ if (_t18) goto L_021AE508; else goto L_021AE4B8;
|
|
L_021AE508: ; // 0x21ae508
|
|
/* 021AE508 */ /* nop */
|
|
/* 021AE50C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 021AE50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE510 */ cpu->lr = cpu->r[0];
|
|
/* 021AE514 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AE518 */ return;
|
|
}
|
|
|
|
// fn_021AE51C @ 0x21ae51c
|
|
void Gambit_fn_021AE51C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_021AE51C: ; // 0x21ae51c
|
|
/* 021AE51C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 021AE51C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE51C */ cpu->r[1] = _t0;
|
|
/* 021AE520 */ /* nop */
|
|
/* 021AE524 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE528 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE528 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021AE52C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE52C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021AE530 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 021AE530 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AE534 */ /* nop */
|
|
/* 021AE538 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE538 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 021AE53C */ /* nop */
|
|
/* 021AE540 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 021AE540 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 021AE544 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE548 */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 021AE548 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE54C */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 021AE54C */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE550 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE554 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE558 */ cpu->r[27] = cpu->r[28] + cpu->r[5];
|
|
/* 021AE55C */ cpu->f[31] = cpu->f[2];
|
|
/* 021AE560 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 021AE564 */ cpu->f[30] = cpu->f[1];
|
|
/* 021AE568 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE568 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AE568 */ if (_t9) goto L_021AE6F8; else goto L_021AE56C;
|
|
L_021AE56C: ; // 0x21ae56c
|
|
/* 021AE56C */ cpu->r[5] = 0x10030000u;
|
|
/* 021AE570 */ _t10 = cpu->r[5] + 0xFFFF97ACu;
|
|
/* 021AE570 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021AE574 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 021AE578 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE578 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE578 */ if (_t12) goto L_021AE57C; else goto L_021AE650;
|
|
L_021AE57C: ; // 0x21ae57c
|
|
/* 021AE57C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE57C */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AE580 */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE580 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021AE588 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE588 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE588 */ if (_t16) goto L_021AE58C; else goto L_021AE61C;
|
|
L_021AE58C: ; // 0x21ae58c
|
|
/* 021AE58C */ cpu->f[2] = cpu->f[31];
|
|
/* 021AE590 */ cpu->r[3] = cpu->r[6] + 0x00000004u;
|
|
/* 021AE594 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE598 */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE59C */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE59C */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE5A0 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE5A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE5A4 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE5A8 */ cpu->r[3] = cpu->r[12] + 0x000000A8u;
|
|
/* 021AE5AC */ Gambit_fn_028BD330(cpu);
|
|
/* 021AE5B0 */ _t19 = cpu->r[30] + 0x00000028u;
|
|
/* 021AE5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE5B4 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 021AE5B8 */ _t20 = cpu->r[30] + 0x00000020u;
|
|
/* 021AE5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE5BC */ cpu->r[9] = cpu->r[29] - cpu->r[11];
|
|
/* 021AE5C0 */ cpu->r[4] = cpu->r[12] - cpu->r[11];
|
|
/* 021AE5C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 021AE5C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE5C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021AE5C8 */ if (_t22) goto L_021AE61C; else goto L_021AE5CC;
|
|
L_021AE5CC: ; // 0x21ae5cc
|
|
/* 021AE5CC */ _t23 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE5CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AE5D0 */ _t24 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE5D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AE5D4 */ cpu->r[12] = cpu->r[11];
|
|
L_021AE5D8: ; // 0x21ae5d8
|
|
/* 021AE5D8 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 021AE5D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AE5DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 021AE5E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE5E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021AE5E0 */ if (_t27) goto L_021AE5E4; else goto L_021AE608;
|
|
L_021AE5E4: ; // 0x21ae5e4
|
|
/* 021AE5E4 */ cpu->r[3] = cpu->r[4] + cpu->r[11];
|
|
/* 021AE5E8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021AE5EC */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE5EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AE5F0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE5F4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021AE5F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 021AE5FC */ _t29 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE5FC */ rbrew_write32(cpu->mem, _t29, cpu->r[4]);
|
|
/* 021AE600 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE600 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021AE600 */ if (_t31) goto L_021AE604; else goto L_021AE57C;
|
|
L_021AE604: ; // 0x21ae604
|
|
/* 021AE604 */ goto L_021AE628;
|
|
L_021AE608: ; // 0x21ae608
|
|
/* 021AE608 */ cpu->r[8] = cpu->r[4] + cpu->r[12];
|
|
/* 021AE60C */ _t32 = cpu->r[8] + 0x00000004u;
|
|
/* 021AE60C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021AE610 */ cpu->r[4] = cpu->r[5] - cpu->r[12];
|
|
/* 021AE614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 021AE618 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE618 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021AE618 */ if (_t34) goto L_021AE61C; else goto L_021AE5D8;
|
|
L_021AE61C: ; // 0x21ae61c
|
|
/* 021AE61C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE620 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 021AE624 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE624 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021AE624 */ if (_t36) goto L_021AE628; else goto L_021AE57C;
|
|
L_021AE628: ; // 0x21ae628
|
|
/* 021AE628 */ /* nop */
|
|
/* 021AE62C */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE62C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 021AE630 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 021AE630 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 021AE634 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE634 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 021AE638 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE638 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 021AE63C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE63C */ _t42 = _t41 & 0x00000001u;
|
|
/* 021AE63C */ if (_t42) goto L_021AE640; // else: addr-0 trap, fall-through
|
|
L_021AE640: ; // 0x21ae640
|
|
/* 021AE640 */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 021AE640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AE644 */ cpu->lr = cpu->r[0];
|
|
/* 021AE648 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021AE64C */ return;
|
|
L_021AE650: ; // 0x21ae650
|
|
/* 021AE650 */ _t44 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021AE654 */ _t45 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021AE658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021AE65C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE65C */ _t47 = _t46 & 0x00000001u;
|
|
/* 021AE65C */ if (_t47) goto L_021AE660; else goto L_021AE6EC;
|
|
L_021AE660: ; // 0x21ae660
|
|
/* 021AE660 */ cpu->f[2] = cpu->f[31];
|
|
/* 021AE664 */ cpu->r[3] = cpu->r[6] + 0x00000004u;
|
|
/* 021AE668 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE66C */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE670 */ _t48 = cpu->r[30] + 0x00000028u;
|
|
/* 021AE670 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021AE674 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 021AE678 */ _t49 = cpu->r[30] + 0x00000020u;
|
|
/* 021AE678 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021AE67C */ cpu->r[0] = cpu->r[29] - cpu->r[11];
|
|
/* 021AE680 */ cpu->r[9] = cpu->r[7] - cpu->r[11];
|
|
/* 021AE684 */ cpu->r[10] = cpu->r[11];
|
|
/* 021AE688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021AE68C */ _t50 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE68C */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021AE690 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE690 */ _t52 = _t51 & 0x00000001u;
|
|
/* 021AE690 */ if (_t52) goto L_021AE694; else goto L_021AE6B0;
|
|
L_021AE694: ; // 0x21ae694
|
|
/* 021AE694 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE698 */ cpu->r[4] = cpu->r[6] + cpu->r[11];
|
|
/* 021AE69C */ Gambit_fn_02801EBC(cpu);
|
|
/* 021AE6A0 */ _t53 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE6A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AE6A4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021AE6A8 */ _t54 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE6A8 */ rbrew_write32(cpu->mem, _t54, cpu->r[4]);
|
|
/* 021AE6AC */ goto L_021AE6EC;
|
|
L_021AE6B0: ; // 0x21ae6b0
|
|
/* 021AE6B0 */ _t55 = cpu->r[6] + 0x00000000u;
|
|
/* 021AE6B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
L_021AE6B4: ; // 0x21ae6b4
|
|
/* 021AE6B4 */ _t56 = cpu->r[9] + 0x00000000u;
|
|
/* 021AE6B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021AE6B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 021AE6BC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE6BC */ _t58 = _t57 & 0x00000001u;
|
|
/* 021AE6BC */ if (_t58) goto L_021AE6EC; else goto L_021AE6C0;
|
|
L_021AE6C0: ; // 0x21ae6c0
|
|
/* 021AE6C0 */ cpu->r[9] = cpu->r[9] + cpu->r[10];
|
|
/* 021AE6C4 */ _t59 = cpu->r[9] + 0x00000004u;
|
|
/* 021AE6C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021AE6C8 */ cpu->r[9] = cpu->r[12] - cpu->r[10];
|
|
/* 021AE6CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021AE6D0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE6D0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 021AE6D0 */ if (_t61) goto L_021AE6D4; else goto L_021AE6B4;
|
|
L_021AE6D4: ; // 0x21ae6d4
|
|
/* 021AE6D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE6D8 */ cpu->r[4] = cpu->r[6] + cpu->r[11];
|
|
/* 021AE6DC */ Gambit_fn_02801EBC(cpu);
|
|
/* 021AE6E0 */ _t62 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE6E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021AE6E4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021AE6E8 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 021AE6E8 */ rbrew_write32(cpu->mem, _t63, cpu->r[4]);
|
|
L_021AE6EC: ; // 0x21ae6ec
|
|
/* 021AE6EC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE6F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[27]);
|
|
/* 021AE6F4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE6F4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021AE6F4 */ if (_t65) goto L_021AE6F8; else goto L_021AE650;
|
|
L_021AE6F8: ; // 0x21ae6f8
|
|
/* 021AE6F8 */ /* nop */
|
|
/* 021AE6FC */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE6FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021AE700 */ _t67 = cpu->r[1] + 0x00000038u;
|
|
/* 021AE700 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021AE704 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE704 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021AE708 */ _t69 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE708 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 021AE70C */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE70C */ _t71 = _t70 & 0x00000001u;
|
|
/* 021AE70C */ if (_t71) goto L_021AE710; // else: addr-0 trap, fall-through
|
|
L_021AE710: ; // 0x21ae710
|
|
/* 021AE710 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 021AE710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021AE714 */ cpu->lr = cpu->r[0];
|
|
/* 021AE718 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021AE71C */ return;
|
|
}
|
|
|
|
// fn_021AE720 @ 0x21ae720
|
|
void Gambit_fn_021AE720(CPUState* cpu) {
|
|
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_021AE720: ; // 0x21ae720
|
|
/* 021AE720 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE724 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE724 */ cpu->r[1] = _t0;
|
|
/* 021AE728 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AE72C */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE730 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021AE734 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE734 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AE738 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE738 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021AE73C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE73C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AE740 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE744 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021AE744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE748 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 021AE748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE74C */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 021AE74C */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE750 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE754 */ cpu->r[30] = cpu->r[28] + cpu->r[12];
|
|
/* 021AE758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AE75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AE75C */ if (_t10) goto L_021AE784; else goto L_021AE760;
|
|
L_021AE760: ; // 0x21ae760
|
|
/* 021AE760 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AE764 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 021AE764 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 021AE768 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 021AE768 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021AE76C */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 021AE76C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE770 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE774 */ Gambit_fn_021AE51C(cpu);
|
|
/* 021AE778 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AE780 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE780 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE780 */ if (_t16) goto L_021AE784; else goto L_021AE760;
|
|
L_021AE784: ; // 0x21ae784
|
|
/* 021AE784 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE784 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE788 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE788 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE78C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE790 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE790 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE794 */ cpu->lr = cpu->r[0];
|
|
/* 021AE798 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE798 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AE79C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE7A0 */ return;
|
|
}
|
|
|
|
// fn_021AE724 @ 0x21ae724
|
|
void Gambit_fn_021AE724(CPUState* cpu) {
|
|
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_021AE724: ; // 0x21ae724
|
|
/* 021AE724 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AE724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE724 */ cpu->r[1] = _t0;
|
|
/* 021AE728 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AE72C */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE730 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021AE734 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE734 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AE738 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE738 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021AE73C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE73C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AE740 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE744 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021AE744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE748 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 021AE748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE74C */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 021AE74C */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AE750 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE754 */ cpu->r[30] = cpu->r[28] + cpu->r[12];
|
|
/* 021AE758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AE75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AE75C */ if (_t10) goto L_021AE784; else goto L_021AE760;
|
|
L_021AE760: ; // 0x21ae760
|
|
/* 021AE760 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 021AE760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AE764 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 021AE764 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 021AE768 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 021AE768 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021AE76C */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 021AE76C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE770 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE774 */ Gambit_fn_021AE51C(cpu);
|
|
/* 021AE778 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021AE77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AE780 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE780 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE780 */ if (_t16) goto L_021AE784; else goto L_021AE760;
|
|
L_021AE784: ; // 0x21ae784
|
|
/* 021AE784 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE784 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE788 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE788 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AE78C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AE78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE790 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE790 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE794 */ cpu->lr = cpu->r[0];
|
|
/* 021AE798 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE798 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AE79C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AE7A0 */ return;
|
|
}
|
|
|
|
// fn_021AE7A4 @ 0x21ae7a4
|
|
void Gambit_fn_021AE7A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021AE7A4: ; // 0x21ae7a4
|
|
/* 021AE7A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021AE7A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE7A4 */ cpu->r[1] = _t0;
|
|
/* 021AE7A8 */ /* nop */
|
|
/* 021AE7AC */ cpu->r[0] = cpu->lr;
|
|
/* 021AE7B0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021AE7B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AE7B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AE7B8 */ cpu->r[30] = cpu->r[5];
|
|
/* 021AE7BC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 021AE7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AE7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021AE7C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE7C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE7C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AE7C8 */ if (_t4) goto L_021AE824; else goto L_021AE7CC;
|
|
L_021AE7CC: ; // 0x21ae7cc
|
|
/* 021AE7CC */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 021AE7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AE7D0 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 021AE7D0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE7D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE7D8 */ cpu->r[28] = cpu->r[27] + cpu->r[9];
|
|
/* 021AE7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE7E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE7E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AE7E0 */ if (_t8) goto L_021AE824; else goto L_021AE7E4;
|
|
L_021AE7E4: ; // 0x21ae7e4
|
|
/* 021AE7E4 */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 021AE7E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE7E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AE7EC */ Gambit_fn_028D3314(cpu);
|
|
/* 021AE7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE7F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE7F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AE7F4 */ if (_t11) goto L_021AE7F8; else goto L_021AE84C;
|
|
L_021AE7F8: ; // 0x21ae7f8
|
|
/* 021AE7F8 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 021AE7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE800 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE800 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AE800 */ if (_t13) goto L_021AE824; else goto L_021AE804;
|
|
L_021AE804: ; // 0x21ae804
|
|
/* 021AE804 */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 021AE804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE808 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AE80C */ Gambit_fn_028D3314(cpu);
|
|
/* 021AE810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE814 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE814 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AE814 */ if (_t16) goto L_021AE818; else goto L_021AE84C;
|
|
L_021AE818: ; // 0x21ae818
|
|
/* 021AE818 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 021AE81C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE820 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE820 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AE820 */ if (_t18) goto L_021AE824; else goto L_021AE804;
|
|
L_021AE824: ; // 0x21ae824
|
|
/* 021AE824 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 021AE824 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021AE828 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AE82C */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 021AE82C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021AE830 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE834 */ Gambit_fn_021AE51C(cpu);
|
|
/* 021AE838 */ /* nop */
|
|
/* 021AE83C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 021AE83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AE840 */ cpu->lr = cpu->r[0];
|
|
/* 021AE844 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AE848 */ return;
|
|
L_021AE84C: ; // 0x21ae84c
|
|
/* 021AE84C */ _t22 = cpu->r[31] + 0x00000040u;
|
|
/* 021AE84C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AE850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE854 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE854 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021AE854 */ if (_t24) goto L_021AE874; else goto L_021AE858;
|
|
L_021AE858: ; // 0x21ae858
|
|
/* 021AE858 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 021AE858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AE85C */ cpu->r[5] = cpu->r[30];
|
|
/* 021AE860 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AE864 */ Gambit_fn_021AE7A4(cpu);
|
|
/* 021AE868 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 021AE868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AE86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AE870 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE870 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021AE870 */ if (_t28) goto L_021AE874; else goto L_021AE858;
|
|
L_021AE874: ; // 0x21ae874
|
|
/* 021AE874 */ /* nop */
|
|
/* 021AE878 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 021AE878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE87C */ cpu->lr = cpu->r[0];
|
|
/* 021AE880 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AE884 */ return;
|
|
}
|
|
|
|
// fn_021AE888 @ 0x21ae888
|
|
void Gambit_fn_021AE888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021AE888: ; // 0x21ae888
|
|
/* 021AE888 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE88C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AE88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE88C */ cpu->r[1] = _t0;
|
|
/* 021AE890 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE890 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AE894 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE894 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE898 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE89C */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE8A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE8A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AE8A4 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AE8A8 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE8A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AE8AC */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE8B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE8B4 */ Gambit_fn_021AE7A4(cpu);
|
|
/* 021AE8B8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AE8BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE8C0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE8C4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AE8CC */ return;
|
|
}
|
|
|
|
// fn_021AE88C @ 0x21ae88c
|
|
void Gambit_fn_021AE88C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021AE88C: ; // 0x21ae88c
|
|
/* 021AE88C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AE88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE88C */ cpu->r[1] = _t0;
|
|
/* 021AE890 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE890 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AE894 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE894 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AE898 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AE89C */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE8A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE8A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AE8A4 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AE8A8 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 021AE8A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AE8AC */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE8B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE8B4 */ Gambit_fn_021AE7A4(cpu);
|
|
/* 021AE8B8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AE8BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AE8C0 */ cpu->lr = cpu->r[0];
|
|
/* 021AE8C4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AE8CC */ return;
|
|
}
|
|
|
|
// fn_021AE8D0 @ 0x21ae8d0
|
|
void Gambit_fn_021AE8D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_021AE8D0: ; // 0x21ae8d0
|
|
/* 021AE8D0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021AE8D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE8D0 */ cpu->r[1] = _t0;
|
|
/* 021AE8D4 */ /* nop */
|
|
/* 021AE8D8 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE8DC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE8DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AE8E0 */ /* nop */
|
|
/* 021AE8E4 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE8E4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021AE8E8 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE8E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AE8EC */ cpu->f[31] = cpu->f[1];
|
|
/* 021AE8F0 */ cpu->r[26] = cpu->r[6];
|
|
/* 021AE8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021AE8F4 */ cpu->r[31] = cpu->r[5];
|
|
/* 021AE8F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AE8FC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 021AE8FC */ cpu->r[29] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021AE900 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE900 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AE900 */ if (_t6) goto L_021AE904; else goto L_021AE948;
|
|
L_021AE904: ; // 0x21ae904
|
|
/* 021AE904 */ _t7 = cpu->r[30] + 0x00000008u;
|
|
/* 021AE904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AE908 */ _t8 = cpu->r[1] + 0x00000009u;
|
|
/* 021AE908 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[29]);
|
|
/* 021AE90C */ _t9 = cpu->r[10] + 0x0000003Cu;
|
|
/* 021AE90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE910 */ cpu->ctr = cpu->r[0];
|
|
/* 021AE914 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE918 */ cpu->r[4] = cpu->r[1] + 0x00000009u;
|
|
/* 021AE91C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE920 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AE924 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AE928 */ /* nop */
|
|
/* 021AE92C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE92C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021AE930 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE930 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 021AE934 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE934 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AE934 */ if (_t13) goto L_021AE938; // else: addr-0 trap, fall-through
|
|
L_021AE938: ; // 0x21ae938
|
|
/* 021AE938 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AE93C */ cpu->lr = cpu->r[0];
|
|
/* 021AE940 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AE944 */ return;
|
|
L_021AE948: ; // 0x21ae948
|
|
/* 021AE948 */ _t15 = cpu->r[26] + 0x00000000u;
|
|
/* 021AE948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE94C */ _t16 = cpu->r[26] + 0x00000008u;
|
|
/* 021AE94C */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE954 */ cpu->r[28] = cpu->r[27] + cpu->r[0];
|
|
/* 021AE958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE95C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE95C */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AE95C */ if (_t18) goto L_021AE9A0; else goto L_021AE960;
|
|
L_021AE960: ; // 0x21ae960
|
|
/* 021AE960 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 021AE960 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AE964 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE968 */ Gambit_fn_028D3314(cpu);
|
|
/* 021AE96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE970 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE970 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AE970 */ if (_t21) goto L_021AE974; else goto L_021AE9E4;
|
|
L_021AE974: ; // 0x21ae974
|
|
/* 021AE974 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 021AE978 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE97C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE97C */ _t23 = _t22 & 0x00000001u;
|
|
/* 021AE97C */ if (_t23) goto L_021AE9A0; else goto L_021AE980;
|
|
L_021AE980: ; // 0x21ae980
|
|
/* 021AE980 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 021AE980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AE984 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AE988 */ Gambit_fn_028D3314(cpu);
|
|
/* 021AE98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AE990 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE990 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021AE990 */ if (_t26) goto L_021AE994; else goto L_021AE9E4;
|
|
L_021AE994: ; // 0x21ae994
|
|
/* 021AE994 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 021AE998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 021AE99C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE99C */ _t28 = _t27 & 0x00000001u;
|
|
/* 021AE99C */ if (_t28) goto L_021AE9A0; else goto L_021AE980;
|
|
L_021AE9A0: ; // 0x21ae9a0
|
|
/* 021AE9A0 */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 021AE9A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE9A4 */ _t30 = cpu->r[1] + 0x0000000Au;
|
|
/* 021AE9A4 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 021AE9A8 */ _t31 = cpu->r[9] + 0x0000003Cu;
|
|
/* 021AE9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AE9AC */ cpu->ctr = cpu->r[0];
|
|
/* 021AE9B0 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE9B4 */ cpu->r[4] = cpu->r[1] + 0x0000000Au;
|
|
/* 021AE9B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AE9BC */ cpu->f[1] = cpu->f[31];
|
|
/* 021AE9C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AE9C4 */ /* nop */
|
|
/* 021AE9C8 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE9C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021AE9CC */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE9CC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 021AE9D0 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE9D0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AE9D0 */ if (_t35) goto L_021AE9D4; // else: addr-0 trap, fall-through
|
|
L_021AE9D4: ; // 0x21ae9d4
|
|
/* 021AE9D4 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AE9D8 */ cpu->lr = cpu->r[0];
|
|
/* 021AE9DC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AE9E0 */ return;
|
|
L_021AE9E4: ; // 0x21ae9e4
|
|
/* 021AE9E4 */ _t37 = cpu->r[30] + 0x00000040u;
|
|
/* 021AE9E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AE9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AE9EC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE9EC */ _t39 = _t38 & 0x00000001u;
|
|
/* 021AE9EC */ if (_t39) goto L_021AEA18; else goto L_021AE9F0;
|
|
L_021AE9F0: ; // 0x21ae9f0
|
|
/* 021AE9F0 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AE9F4 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 021AE9F4 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[29]);
|
|
/* 021AE9F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AE9FC */ _t41 = cpu->r[30] + 0x00000010u;
|
|
/* 021AE9FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021AEA00 */ cpu->r[6] = cpu->r[26];
|
|
/* 021AEA04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AEA08 */ Gambit_fn_021AE8D0(cpu);
|
|
/* 021AEA0C */ _t42 = cpu->r[30] + 0x00000008u;
|
|
/* 021AEA0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AEA10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AEA14 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEA14 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021AEA14 */ if (_t44) goto L_021AEA18; else goto L_021AE9F0;
|
|
L_021AEA18: ; // 0x21aea18
|
|
/* 021AEA18 */ /* nop */
|
|
/* 021AEA1C */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 021AEA1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 021AEA20 */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 021AEA20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 021AEA24 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEA24 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021AEA24 */ if (_t48) goto L_021AEA28; // else: addr-0 trap, fall-through
|
|
L_021AEA28: ; // 0x21aea28
|
|
/* 021AEA28 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AEA28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021AEA2C */ cpu->lr = cpu->r[0];
|
|
/* 021AEA30 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AEA34 */ return;
|
|
}
|
|
|
|
// fn_021AEA38 @ 0x21aea38
|
|
void Gambit_fn_021AEA38(CPUState* cpu) {
|
|
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_021AEA38: ; // 0x21aea38
|
|
/* 021AEA38 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEA3C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEA3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEA3C */ cpu->r[1] = _t0;
|
|
/* 021AEA40 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEA40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEA44 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AEA48 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEA4C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEA4C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AEA50 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AEA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AEA54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEA54 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AEA58 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEA58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AEA5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEA5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AEA5C */ if (_t7) goto L_021AEAB4; else goto L_021AEA60;
|
|
L_021AEA60: ; // 0x21aea60
|
|
/* 021AEA60 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AEA64 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
|
|
/* 021AEA68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AEA6C */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021AEA6C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021AEA70 */ _t9 = cpu->r[12] + 0x00004D24u;
|
|
/* 021AEA70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEA70 */ cpu->r[12] = _t9;
|
|
/* 021AEA74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 021AEA78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEA78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AEA78 */ if (_t11) goto L_021AEA7C; else goto L_021AEA98;
|
|
L_021AEA7C: ; // 0x21aea7c
|
|
/* 021AEA7C */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AEA80 */ cpu->r[28] = 0x00000000u;
|
|
/* 021AEA84 */ _t12 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AEA84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEA88 */ cpu->r[4] = 0x00000002u;
|
|
/* 021AEA8C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021AEA8C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 021AEA90 */ Gambit_fn_021AE154(cpu);
|
|
/* 021AEA94 */ _t14 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AEA94 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_021AEA98: ; // 0x21aea98
|
|
/* 021AEA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEA9C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AEAA0 */ Gambit_fn_02821E68(cpu);
|
|
/* 021AEAA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AEAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEAA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEAA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AEAA8 */ if (_t16) goto L_021AEAB4; else goto L_021AEAAC;
|
|
L_021AEAAC: ; // 0x21aeaac
|
|
/* 021AEAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEAB0 */ Gambit_fn_02801BB0(cpu);
|
|
L_021AEAB4: ; // 0x21aeab4
|
|
/* 021AEAB4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEAB4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEAB8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEAB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEABC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AEAC0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEAC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AEAC4 */ cpu->lr = cpu->r[0];
|
|
/* 021AEAC8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEAC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AEACC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEAD0 */ return;
|
|
}
|
|
|
|
// fn_021AEA3C @ 0x21aea3c
|
|
void Gambit_fn_021AEA3C(CPUState* cpu) {
|
|
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_021AEA3C: ; // 0x21aea3c
|
|
/* 021AEA3C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEA3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEA3C */ cpu->r[1] = _t0;
|
|
/* 021AEA40 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEA40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEA44 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AEA48 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEA4C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEA4C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021AEA50 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AEA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AEA54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEA54 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AEA58 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEA58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AEA5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEA5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AEA5C */ if (_t7) goto L_021AEAB4; else goto L_021AEA60;
|
|
L_021AEA60: ; // 0x21aea60
|
|
/* 021AEA60 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AEA64 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
|
|
/* 021AEA68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AEA6C */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021AEA6C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021AEA70 */ _t9 = cpu->r[12] + 0x00004D24u;
|
|
/* 021AEA70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEA70 */ cpu->r[12] = _t9;
|
|
/* 021AEA74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 021AEA78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEA78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AEA78 */ if (_t11) goto L_021AEA7C; else goto L_021AEA98;
|
|
L_021AEA7C: ; // 0x21aea7c
|
|
/* 021AEA7C */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AEA80 */ cpu->r[28] = 0x00000000u;
|
|
/* 021AEA84 */ _t12 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AEA84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEA88 */ cpu->r[4] = 0x00000002u;
|
|
/* 021AEA8C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021AEA8C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 021AEA90 */ Gambit_fn_021AE154(cpu);
|
|
/* 021AEA94 */ _t14 = cpu->r[29] + 0x00004D20u;
|
|
/* 021AEA94 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_021AEA98: ; // 0x21aea98
|
|
/* 021AEA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEA9C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AEAA0 */ Gambit_fn_02821E68(cpu);
|
|
/* 021AEAA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AEAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEAA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEAA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AEAA8 */ if (_t16) goto L_021AEAB4; else goto L_021AEAAC;
|
|
L_021AEAAC: ; // 0x21aeaac
|
|
/* 021AEAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEAB0 */ Gambit_fn_02801BB0(cpu);
|
|
L_021AEAB4: ; // 0x21aeab4
|
|
/* 021AEAB4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEAB4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEAB8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEAB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEABC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AEAC0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEAC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AEAC4 */ cpu->lr = cpu->r[0];
|
|
/* 021AEAC8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEAC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AEACC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEAD0 */ return;
|
|
}
|
|
|
|
// fn_021AEAD4 @ 0x21aead4
|
|
void Gambit_fn_021AEAD4(CPUState* cpu) {
|
|
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_021AEAD4: ; // 0x21aead4
|
|
/* 021AEAD4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021AEAD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEAD4 */ cpu->r[1] = _t0;
|
|
/* 021AEAD8 */ /* nop */
|
|
/* 021AEADC */ cpu->r[0] = cpu->lr;
|
|
/* 021AEAE0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021AEAE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AEAE4 */ cpu->r[29] = cpu->r[4];
|
|
/* 021AEAE8 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 021AEAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AEAEC */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AEAF0 */ _t3 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEAF0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AEAF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 021AEAF8 */ cpu->r[5] = cpu->r[27];
|
|
/* 021AEAFC */ cpu->r[26] = cpu->r[3];
|
|
/* 021AEB00 */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEB04 */ cpu->r[28] = cpu->r[3];
|
|
/* 021AEB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021AEB08 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEB08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AEB08 */ if (_t5) goto L_021AEB94; else goto L_021AEB0C;
|
|
L_021AEB0C: ; // 0x21aeb0c
|
|
/* 021AEB0C */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 021AEB0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AEB10 */ Gambit_fn_028BC334(cpu);
|
|
/* 021AEB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000006u);
|
|
/* 021AEB18 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AEB1C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEB1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AEB1C */ if (_t8) goto L_021AEB20; else goto L_021AEB6C;
|
|
L_021AEB20: ; // 0x21aeb20
|
|
/* 021AEB20 */ cpu->r[3] = cpu->r[26];
|
|
/* 021AEB24 */ cpu->r[5] = cpu->r[27];
|
|
/* 021AEB28 */ cpu->r[4] = 0x00000002u;
|
|
/* 021AEB2C */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEB30 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AEB34 */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 021AEB34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEB38 */ cpu->r[3] = cpu->r[26];
|
|
/* 021AEB3C */ cpu->r[5] = cpu->r[27];
|
|
/* 021AEB40 */ cpu->r[4] = 0x00000003u;
|
|
/* 021AEB44 */ Gambit_fn_028A8608(cpu);
|
|
/* 021AEB48 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEB4C */ cpu->r[4] = cpu->r[28];
|
|
/* 021AEB50 */ _t10 = cpu->r[3] + 0x00004D8Cu;
|
|
/* 021AEB50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEB54 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AEB58 */ cpu->r[6] = cpu->r[30];
|
|
/* 021AEB5C */ Gambit_fn_021B5CD4(cpu);
|
|
/* 021AEB60 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AEB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEB64 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEB64 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AEB64 */ if (_t12) goto L_021AEB94; else goto L_021AEB68;
|
|
L_021AEB68: ; // 0x21aeb68
|
|
/* 021AEB68 */ goto L_021AEB8C;
|
|
L_021AEB6C: ; // 0x21aeb6c
|
|
/* 021AEB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x0000007Fu);
|
|
/* 021AEB70 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEB70 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AEB70 */ if (_t14) goto L_021AEB74; else goto L_021AEB94;
|
|
L_021AEB74: ; // 0x21aeb74
|
|
/* 021AEB74 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 021AEB74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AEB78 */ _t16 = cpu->r[12] + 0x00000058u;
|
|
/* 021AEB78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AEB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEB80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEB80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AEB80 */ if (_t18) goto L_021AEB94; else goto L_021AEB84;
|
|
L_021AEB84: ; // 0x21aeb84
|
|
/* 021AEB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEB88 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEB88 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021AEB88 */ if (_t20) goto L_021AEB94; else goto L_021AEB8C;
|
|
L_021AEB8C: ; // 0x21aeb8c
|
|
/* 021AEB8C */ cpu->r[3] = cpu->r[30] + 0x00000140u;
|
|
/* 021AEB90 */ Gambit_fn_028E1558(cpu);
|
|
L_021AEB94: ; // 0x21aeb94
|
|
/* 021AEB94 */ /* nop */
|
|
/* 021AEB98 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 021AEB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AEB9C */ cpu->lr = cpu->r[0];
|
|
/* 021AEBA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AEBA4 */ return;
|
|
}
|
|
|
|
// fn_021AEBA8 @ 0x21aeba8
|
|
void Gambit_fn_021AEBA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021AEBA8: ; // 0x21aeba8
|
|
/* 021AEBA8 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEBAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AEBAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEBAC */ cpu->r[1] = _t0;
|
|
/* 021AEBB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEBB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEBB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AEBB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEBB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AEBBC */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AEBBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AEBC0 */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AEBC4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AEBC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AEBC8 */ cpu->r[4] = 0x00000000u;
|
|
/* 021AEBCC */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEBD0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AEBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEBD4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEBD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEBD4 */ if (_t6) goto L_021AEBE8; else goto L_021AEBD8;
|
|
L_021AEBD8: ; // 0x21aebd8
|
|
/* 021AEBD8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEBDC */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 021AEBDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AEBE0 */ _t8 = cpu->r[3] + 0x00004D9Cu;
|
|
/* 021AEBE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AEBE4 */ Gambit_fn_021B7F54(cpu);
|
|
L_021AEBE8: ; // 0x21aebe8
|
|
/* 021AEBE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEBE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEBEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEBEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEBF0 */ cpu->lr = cpu->r[0];
|
|
/* 021AEBF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEBF8 */ return;
|
|
}
|
|
|
|
// fn_021AEBAC @ 0x21aebac
|
|
void Gambit_fn_021AEBAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021AEBAC: ; // 0x21aebac
|
|
/* 021AEBAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AEBAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEBAC */ cpu->r[1] = _t0;
|
|
/* 021AEBB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEBB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEBB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AEBB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEBB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AEBBC */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AEBBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AEBC0 */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AEBC4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AEBC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AEBC8 */ cpu->r[4] = 0x00000000u;
|
|
/* 021AEBCC */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEBD0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AEBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEBD4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEBD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEBD4 */ if (_t6) goto L_021AEBE8; else goto L_021AEBD8;
|
|
L_021AEBD8: ; // 0x21aebd8
|
|
/* 021AEBD8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEBDC */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 021AEBDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AEBE0 */ _t8 = cpu->r[3] + 0x00004D9Cu;
|
|
/* 021AEBE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AEBE4 */ Gambit_fn_021B7F54(cpu);
|
|
L_021AEBE8: ; // 0x21aebe8
|
|
/* 021AEBE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEBE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEBEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEBEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEBF0 */ cpu->lr = cpu->r[0];
|
|
/* 021AEBF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEBF8 */ return;
|
|
}
|
|
|
|
// fn_021AEBFC @ 0x21aebfc
|
|
void Gambit_fn_021AEBFC(CPUState* 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_021AEBFC: ; // 0x21aebfc
|
|
/* 021AEBFC */ cpu->r[0] = cpu->lr;
|
|
/* 021AEC00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEC00 */ cpu->r[1] = _t0;
|
|
/* 021AEC04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEC04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AEC08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEC08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEC0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEC0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AEC10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEC10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEC14 */ cpu->r[29] = cpu->r[4];
|
|
/* 021AEC18 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 021AEC18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AEC1C */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AEC20 */ _t6 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEC20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AEC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AEC28 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AEC2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AEC2C */ if (_t8) goto L_021AEC80; else goto L_021AEC30;
|
|
L_021AEC30: ; // 0x21aec30
|
|
/* 021AEC30 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEC34 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AEC38 */ Gambit_fn_028B32E0(cpu);
|
|
/* 021AEC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEC40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AEC40 */ if (_t10) goto L_021AEC80; else goto L_021AEC44;
|
|
L_021AEC44: ; // 0x21aec44
|
|
/* 021AEC44 */ cpu->r[4] = 0x00000004u;
|
|
/* 021AEC48 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AEC4C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEC50 */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AEC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 021AEC5C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEC5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AEC5C */ if (_t12) goto L_021AEC60; else goto L_021AEC80;
|
|
L_021AEC60: ; // 0x21aec60
|
|
/* 021AEC60 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 021AEC60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AEC64 */ Gambit_fn_028BC334(cpu);
|
|
/* 021AEC68 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AEC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021AEC6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021AEC6C */ if (_t15) goto L_021AEC80; else goto L_021AEC70;
|
|
L_021AEC70: ; // 0x21aec70
|
|
/* 021AEC70 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEC74 */ _t16 = cpu->r[3] + 0x00004D94u;
|
|
/* 021AEC74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AEC78 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AEC7C */ Gambit_fn_021B65C0(cpu);
|
|
L_021AEC80: ; // 0x21aec80
|
|
/* 021AEC80 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEC80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEC84 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEC88 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEC88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AEC8C */ cpu->lr = cpu->r[0];
|
|
/* 021AEC90 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEC90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AEC94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEC98 */ return;
|
|
}
|
|
|
|
// fn_021AEC00 @ 0x21aec00
|
|
void Gambit_fn_021AEC00(CPUState* 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_021AEC00: ; // 0x21aec00
|
|
/* 021AEC00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEC00 */ cpu->r[1] = _t0;
|
|
/* 021AEC04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEC04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AEC08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEC08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEC0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEC0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AEC10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEC10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEC14 */ cpu->r[29] = cpu->r[4];
|
|
/* 021AEC18 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 021AEC18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AEC1C */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AEC20 */ _t6 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEC20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AEC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AEC28 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AEC2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AEC2C */ if (_t8) goto L_021AEC80; else goto L_021AEC30;
|
|
L_021AEC30: ; // 0x21aec30
|
|
/* 021AEC30 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEC34 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AEC38 */ Gambit_fn_028B32E0(cpu);
|
|
/* 021AEC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEC40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AEC40 */ if (_t10) goto L_021AEC80; else goto L_021AEC44;
|
|
L_021AEC44: ; // 0x21aec44
|
|
/* 021AEC44 */ cpu->r[4] = 0x00000004u;
|
|
/* 021AEC48 */ cpu->r[5] = cpu->r[31];
|
|
/* 021AEC4C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AEC50 */ Gambit_fn_028A8098(cpu);
|
|
/* 021AEC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AEC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 021AEC5C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AEC5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AEC5C */ if (_t12) goto L_021AEC60; else goto L_021AEC80;
|
|
L_021AEC60: ; // 0x21aec60
|
|
/* 021AEC60 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 021AEC60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AEC64 */ Gambit_fn_028BC334(cpu);
|
|
/* 021AEC68 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AEC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021AEC6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEC6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021AEC6C */ if (_t15) goto L_021AEC80; else goto L_021AEC70;
|
|
L_021AEC70: ; // 0x21aec70
|
|
/* 021AEC70 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEC74 */ _t16 = cpu->r[3] + 0x00004D94u;
|
|
/* 021AEC74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AEC78 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AEC7C */ Gambit_fn_021B65C0(cpu);
|
|
L_021AEC80: ; // 0x21aec80
|
|
/* 021AEC80 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEC80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEC84 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEC88 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEC88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AEC8C */ cpu->lr = cpu->r[0];
|
|
/* 021AEC90 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEC90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AEC94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEC98 */ return;
|
|
}
|
|
|
|
// fn_021AEC9C @ 0x21aec9c
|
|
void Gambit_fn_021AEC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021AEC9C: ; // 0x21aec9c
|
|
/* 021AEC9C */ cpu->r[0] = cpu->lr;
|
|
/* 021AECA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AECA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AECA0 */ cpu->r[1] = _t0;
|
|
/* 021AECA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AECA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AECA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AECAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AECAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AECB0 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AECB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AECB4 */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AECB8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 021AECB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AECBC */ cpu->r[4] = 0x00000005u;
|
|
/* 021AECC0 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AECC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AECC4 */ Gambit_fn_028A8608(cpu);
|
|
/* 021AECC8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AECCC */ _t6 = cpu->r[12] + 0xFFFF97C0u;
|
|
/* 021AECCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021AECD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 021AECD4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021AECD4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AECD4 */ if (_t8) goto L_021AECD8; else goto L_021AECF4;
|
|
L_021AECD8: ; // 0x21aecd8
|
|
/* 021AECD8 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AECDC */ _t9 = cpu->r[11] + 0xFFFF97C4u;
|
|
/* 021AECDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 021AECE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 021AECE4 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 021AECE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AECE8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021AECE8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AECE8 */ if (_t12) goto L_021AECEC; else goto L_021AECF0;
|
|
L_021AECEC: ; // 0x21aecec
|
|
/* 021AECEC */ cpu->f[1] = cpu->f[0];
|
|
L_021AECF0: ; // 0x21aecf0
|
|
/* 021AECF0 */ Gambit_fn_028BC12C(cpu);
|
|
L_021AECF4: ; // 0x21aecf4
|
|
/* 021AECF4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 021AECF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AECF8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AECF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AECFC */ cpu->lr = cpu->r[0];
|
|
/* 021AED00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AED04 */ return;
|
|
}
|
|
|
|
// fn_021AECA0 @ 0x21aeca0
|
|
void Gambit_fn_021AECA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021AECA0: ; // 0x21aeca0
|
|
/* 021AECA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AECA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AECA0 */ cpu->r[1] = _t0;
|
|
/* 021AECA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AECA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AECA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AECAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AECAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AECB0 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AECB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AECB4 */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AECB8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 021AECB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AECBC */ cpu->r[4] = 0x00000005u;
|
|
/* 021AECC0 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AECC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AECC4 */ Gambit_fn_028A8608(cpu);
|
|
/* 021AECC8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AECCC */ _t6 = cpu->r[12] + 0xFFFF97C0u;
|
|
/* 021AECCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021AECD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 021AECD4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021AECD4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AECD4 */ if (_t8) goto L_021AECD8; else goto L_021AECF4;
|
|
L_021AECD8: ; // 0x21aecd8
|
|
/* 021AECD8 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AECDC */ _t9 = cpu->r[11] + 0xFFFF97C4u;
|
|
/* 021AECDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 021AECE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 021AECE4 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 021AECE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AECE8 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021AECE8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AECE8 */ if (_t12) goto L_021AECEC; else goto L_021AECF0;
|
|
L_021AECEC: ; // 0x21aecec
|
|
/* 021AECEC */ cpu->f[1] = cpu->f[0];
|
|
L_021AECF0: ; // 0x21aecf0
|
|
/* 021AECF0 */ Gambit_fn_028BC12C(cpu);
|
|
L_021AECF4: ; // 0x21aecf4
|
|
/* 021AECF4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 021AECF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AECF8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AECF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AECFC */ cpu->lr = cpu->r[0];
|
|
/* 021AED00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AED04 */ return;
|
|
}
|
|
|
|
// fn_021AED08 @ 0x21aed08
|
|
void Gambit_fn_021AED08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021AED08: ; // 0x21aed08
|
|
/* 021AED08 */ cpu->r[0] = cpu->lr;
|
|
/* 021AED0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AED0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AED0C */ cpu->r[1] = _t0;
|
|
/* 021AED10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AED10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AED14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AED18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AED1C */ cpu->r[30] = cpu->r[4];
|
|
/* 021AED20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AED24 */ Gambit_fn_021AEAD4(cpu);
|
|
/* 021AED28 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED2C */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED30 */ Gambit_fn_021AEBA8(cpu);
|
|
/* 021AED34 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED38 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED3C */ Gambit_fn_021AEBFC(cpu);
|
|
/* 021AED40 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED44 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED48 */ Gambit_fn_021AEC9C(cpu);
|
|
/* 021AED4C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AED50 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AED54 */ cpu->lr = cpu->r[0];
|
|
/* 021AED58 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021AED58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AED5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AED60 */ return;
|
|
}
|
|
|
|
// fn_021AED0C @ 0x21aed0c
|
|
void Gambit_fn_021AED0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021AED0C: ; // 0x21aed0c
|
|
/* 021AED0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AED0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AED0C */ cpu->r[1] = _t0;
|
|
/* 021AED10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AED10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021AED14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021AED18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AED1C */ cpu->r[30] = cpu->r[4];
|
|
/* 021AED20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AED24 */ Gambit_fn_021AEAD4(cpu);
|
|
/* 021AED28 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED2C */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED30 */ Gambit_fn_021AEBA8(cpu);
|
|
/* 021AED34 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED38 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED3C */ Gambit_fn_021AEBFC(cpu);
|
|
/* 021AED40 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AED44 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AED48 */ Gambit_fn_021AEC9C(cpu);
|
|
/* 021AED4C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AED50 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AED54 */ cpu->lr = cpu->r[0];
|
|
/* 021AED58 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021AED58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AED5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AED60 */ return;
|
|
}
|
|
|
|
// fn_021AED68 @ 0x21aed68
|
|
void Gambit_fn_021AED68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AED68: ; // 0x21aed68
|
|
/* 021AED68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AED68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AED68 */ cpu->r[1] = _t0;
|
|
/* 021AED6C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AED70 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AED74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AED78 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AED78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AED7C */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AED80 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AED80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021AED88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AED88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AED88 */ if (_t6) goto L_021AEDAC; else goto L_021AED8C;
|
|
L_021AED8C: ; // 0x21aed8c
|
|
/* 021AED8C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AED90 */ Gambit_fn_028A8098(cpu);
|
|
/* 021AED94 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AED94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AED98 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AED98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AED98 */ if (_t8) goto L_021AEDAC; else goto L_021AED9C;
|
|
L_021AED9C: ; // 0x21aed9c
|
|
/* 021AED9C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEDA0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 021AEDA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEDA4 */ _t10 = cpu->r[3] + 0x00004D9Cu;
|
|
/* 021AEDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEDA8 */ Gambit_fn_021B8110(cpu);
|
|
L_021AEDAC: ; // 0x21aedac
|
|
/* 021AEDAC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AEDB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEDB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEDB4 */ cpu->lr = cpu->r[0];
|
|
/* 021AEDB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEDBC */ return;
|
|
}
|
|
|
|
// fn_021AEDC0 @ 0x21aedc0
|
|
void Gambit_fn_021AEDC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AED64: ; // 0x21aed64
|
|
/* 021AED64 */ cpu->r[0] = cpu->lr;
|
|
/* 021AED68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AED68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AED68 */ cpu->r[1] = _t0;
|
|
/* 021AED6C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AED6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AED70 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AED74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AED74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AED78 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AED78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AED7C */ Gambit_fn_028B4C24(cpu);
|
|
/* 021AED80 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021AED80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021AED88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AED88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AED88 */ if (_t6) goto L_021AEDAC; else goto L_021AED8C;
|
|
L_021AED8C: ; // 0x21aed8c
|
|
/* 021AED8C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AED90 */ Gambit_fn_028A8098(cpu);
|
|
/* 021AED94 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AED94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AED98 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AED98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AED98 */ if (_t8) goto L_021AEDAC; else goto L_021AED9C;
|
|
L_021AED9C: ; // 0x21aed9c
|
|
/* 021AED9C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AEDA0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 021AEDA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEDA4 */ _t10 = cpu->r[3] + 0x00004D9Cu;
|
|
/* 021AEDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEDA8 */ Gambit_fn_021B8110(cpu);
|
|
L_021AEDAC: ; // 0x21aedac
|
|
/* 021AEDAC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AEDB0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEDB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEDB4 */ cpu->lr = cpu->r[0];
|
|
/* 021AEDB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEDBC */ return;
|
|
L_021AEDC0: ; // 0x21aedc0
|
|
/* 021AEDC0 */ goto L_021AED64;
|
|
}
|
|
|
|
// fn_021AEDC4 @ 0x21aedc4
|
|
void Gambit_fn_021AEDC4(CPUState* cpu) {
|
|
L_021AEDC4: ; // 0x21aedc4
|
|
/* 021AEDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021AEDC8 */ return;
|
|
}
|
|
|
|
// fn_021AEDCC @ 0x21aedcc
|
|
void Gambit_fn_021AEDCC(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_021AEDCC: ; // 0x21aedcc
|
|
/* 021AEDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEDD0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEDD0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021AEDD0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021AEDD0 */ goto L_021AEDD4;
|
|
L_021AEDD4: ; // 0x21aedd4
|
|
/* 021AEDD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AEDD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEDD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEDD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021AEDD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021AEDD8 */ goto L_021AEDDC;
|
|
L_021AEDDC: ; // 0x21aeddc
|
|
/* 021AEDDC */ 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_021AEDE0 @ 0x21aede0
|
|
void Gambit_fn_021AEDE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_021AEDE0: ; // 0x21aede0
|
|
/* 021AEDE0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEDE4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021AEDE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021AEDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEDEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AEDEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021AEDEC */ cpu->r[1] = _t1;
|
|
/* 021AEDF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEDF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021AEDF0 */ if (_t3) goto L_021AEDF4; else goto L_021AEE04;
|
|
L_021AEDF4: ; // 0x21aedf4
|
|
/* 021AEDF4 */ cpu->r[3] = 0x00000044u;
|
|
/* 021AEDF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AEDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEE00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEE00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AEE00 */ if (_t5) goto L_021AEE88; else goto L_021AEE04;
|
|
L_021AEE04: ; // 0x21aee04
|
|
/* 021AEE04 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AEE08 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AEE0C */ _t6 = cpu->r[11] + 0xFFFF9978u;
|
|
/* 021AEE0C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021AEE10 */ cpu->r[11] = 0x00000000u;
|
|
/* 021AEE14 */ _t7 = cpu->r[12] + 0xFFFF997Cu;
|
|
/* 021AEE14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 021AEE18 */ _t8 = cpu->r[3] + 0x00000034u;
|
|
/* 021AEE18 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021AEE1C */ cpu->r[12] = 0x00000001u;
|
|
/* 021AEE20 */ _t9 = cpu->r[3] + 0x00000040u;
|
|
/* 021AEE20 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 021AEE24 */ _t10 = cpu->r[3] + 0x0000003Cu;
|
|
/* 021AEE24 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 021AEE28 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AEE2C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEE2C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 021AEE30 */ cpu->r[0] = cpu->r[0] + 0xFFFF9880u;
|
|
/* 021AEE34 */ _t12 = cpu->r[3] + 0x0000003Au;
|
|
/* 021AEE34 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 021AEE38 */ _t13 = cpu->r[3] + 0x00000014u;
|
|
/* 021AEE38 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 021AEE3C */ _t14 = cpu->r[3] + 0x0000002Cu;
|
|
/* 021AEE3C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 021AEE40 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 021AEE40 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021AEE44 */ _t16 = cpu->r[3] + 0x0000003Fu;
|
|
/* 021AEE44 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 021AEE48 */ _t17 = cpu->r[3] + 0x00000018u;
|
|
/* 021AEE48 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 021AEE4C */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AEE50 */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 021AEE50 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 021AEE54 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 021AEE54 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 021AEE58 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021AEE58 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 021AEE5C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 021AEE5C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 021AEE60 */ _t22 = cpu->r[3] + 0x0000003Eu;
|
|
/* 021AEE60 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[11]);
|
|
/* 021AEE64 */ _t23 = cpu->r[3] + 0x00000038u;
|
|
/* 021AEE64 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 021AEE68 */ _t24 = cpu->r[3] + 0x0000003Bu;
|
|
/* 021AEE68 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 021AEE6C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 021AEE6C */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 021AEE70 */ _t26 = cpu->r[3] + 0x00000030u;
|
|
/* 021AEE70 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 021AEE74 */ _t27 = cpu->r[3] + 0x00000039u;
|
|
/* 021AEE74 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 021AEE78 */ _t28 = cpu->r[3] + 0x00000028u;
|
|
/* 021AEE78 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 021AEE7C */ _t29 = cpu->r[3] + 0x00000024u;
|
|
/* 021AEE7C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 021AEE80 */ _t30 = cpu->r[3] + 0x0000003Du;
|
|
/* 021AEE80 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[11]);
|
|
/* 021AEE84 */ _t31 = cpu->r[12] + 0x00004D34u;
|
|
/* 021AEE84 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_021AEE88: ; // 0x21aee88
|
|
/* 021AEE88 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021AEE8C */ cpu->lr = cpu->r[0];
|
|
/* 021AEE90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021AEE94 */ return;
|
|
}
|
|
|
|
// fn_021AEDEC @ 0x21aedec
|
|
void Gambit_fn_021AEDEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_021AEDEC: ; // 0x21aedec
|
|
/* 021AEDEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AEDEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEDEC */ cpu->r[1] = _t0;
|
|
/* 021AEDF0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEDF0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021AEDF0 */ if (_t2) goto L_021AEDF4; else goto L_021AEE04;
|
|
L_021AEDF4: ; // 0x21aedf4
|
|
/* 021AEDF4 */ cpu->r[3] = 0x00000044u;
|
|
/* 021AEDF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AEDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEE00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEE00 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AEE00 */ if (_t4) goto L_021AEE88; else goto L_021AEE04;
|
|
L_021AEE04: ; // 0x21aee04
|
|
/* 021AEE04 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AEE08 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AEE0C */ _t5 = cpu->r[11] + 0xFFFF9978u;
|
|
/* 021AEE0C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021AEE10 */ cpu->r[11] = 0x00000000u;
|
|
/* 021AEE14 */ _t6 = cpu->r[12] + 0xFFFF997Cu;
|
|
/* 021AEE14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021AEE18 */ _t7 = cpu->r[3] + 0x00000034u;
|
|
/* 021AEE18 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021AEE1C */ cpu->r[12] = 0x00000001u;
|
|
/* 021AEE20 */ _t8 = cpu->r[3] + 0x00000040u;
|
|
/* 021AEE20 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 021AEE24 */ _t9 = cpu->r[3] + 0x0000003Cu;
|
|
/* 021AEE24 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 021AEE28 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AEE2C */ _t10 = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEE2C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 021AEE30 */ cpu->r[0] = cpu->r[0] + 0xFFFF9880u;
|
|
/* 021AEE34 */ _t11 = cpu->r[3] + 0x0000003Au;
|
|
/* 021AEE34 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 021AEE38 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 021AEE38 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 021AEE3C */ _t13 = cpu->r[3] + 0x0000002Cu;
|
|
/* 021AEE3C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 021AEE40 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 021AEE40 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021AEE44 */ _t15 = cpu->r[3] + 0x0000003Fu;
|
|
/* 021AEE44 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 021AEE48 */ _t16 = cpu->r[3] + 0x00000018u;
|
|
/* 021AEE48 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 021AEE4C */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AEE50 */ _t17 = cpu->r[3] + 0x00000020u;
|
|
/* 021AEE50 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 021AEE54 */ _t18 = cpu->r[3] + 0x00000010u;
|
|
/* 021AEE54 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 021AEE58 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021AEE58 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 021AEE5C */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 021AEE5C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 021AEE60 */ _t21 = cpu->r[3] + 0x0000003Eu;
|
|
/* 021AEE60 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 021AEE64 */ _t22 = cpu->r[3] + 0x00000038u;
|
|
/* 021AEE64 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[11]);
|
|
/* 021AEE68 */ _t23 = cpu->r[3] + 0x0000003Bu;
|
|
/* 021AEE68 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 021AEE6C */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 021AEE6C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 021AEE70 */ _t25 = cpu->r[3] + 0x00000030u;
|
|
/* 021AEE70 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 021AEE74 */ _t26 = cpu->r[3] + 0x00000039u;
|
|
/* 021AEE74 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[11]);
|
|
/* 021AEE78 */ _t27 = cpu->r[3] + 0x00000028u;
|
|
/* 021AEE78 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 021AEE7C */ _t28 = cpu->r[3] + 0x00000024u;
|
|
/* 021AEE7C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 021AEE80 */ _t29 = cpu->r[3] + 0x0000003Du;
|
|
/* 021AEE80 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 021AEE84 */ _t30 = cpu->r[12] + 0x00004D34u;
|
|
/* 021AEE84 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
L_021AEE88: ; // 0x21aee88
|
|
/* 021AEE88 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEE88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AEE8C */ cpu->lr = cpu->r[0];
|
|
/* 021AEE90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021AEE94 */ return;
|
|
}
|
|
|
|
// fn_021AEE98 @ 0x21aee98
|
|
void Gambit_fn_021AEE98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_021AEE98: ; // 0x21aee98
|
|
/* 021AEE98 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEE9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEE9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEE9C */ cpu->r[1] = _t0;
|
|
/* 021AEEA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEEA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AEEA4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEEA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEEA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEEA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AEEAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEEAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEEB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AEEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AEEB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 021AEEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEEB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEEB8 */ if (_t6) goto L_021AEF2C; else goto L_021AEEBC;
|
|
L_021AEEBC: ; // 0x21aeebc
|
|
/* 021AEEBC */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEEBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AEEC0 */ cpu->r[8] = 0x10030000u;
|
|
/* 021AEEC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AEEC8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9880u;
|
|
/* 021AEECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEED0 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 021AEED0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 021AEED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEED4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AEED4 */ if (_t10) goto L_021AEEF0; else goto L_021AEED8;
|
|
L_021AEED8: ; // 0x21aeed8
|
|
/* 021AEED8 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 021AEED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AEEDC */ _t12 = cpu->r[10] + 0x00000024u;
|
|
/* 021AEEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEEE0 */ cpu->ctr = cpu->r[12];
|
|
/* 021AEEE4 */ cpu->r[4] = 0x00000003u;
|
|
/* 021AEEE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AEEEC */ _t13 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEEEC */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
L_021AEEF0: ; // 0x21aeef0
|
|
/* 021AEEF0 */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 021AEEF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AEEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEEF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEEF8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AEEF8 */ if (_t16) goto L_021AEF14; else goto L_021AEEFC;
|
|
L_021AEEFC: ; // 0x21aeefc
|
|
/* 021AEEFC */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 021AEEFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEF00 */ _t18 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021AEF00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEF04 */ cpu->ctr = cpu->r[11];
|
|
/* 021AEF08 */ cpu->r[4] = 0x00000003u;
|
|
/* 021AEF0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AEF10 */ _t19 = cpu->r[29] + 0x00000018u;
|
|
/* 021AEF10 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_021AEF14: ; // 0x21aef14
|
|
/* 021AEF14 */ cpu->r[7] = 0x101C0000u;
|
|
/* 021AEF18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AEF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEF1C */ _t20 = cpu->r[7] + 0x00004D34u;
|
|
/* 021AEF1C */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 021AEF20 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEF20 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021AEF20 */ if (_t22) goto L_021AEF2C; else goto L_021AEF24;
|
|
L_021AEF24: ; // 0x21aef24
|
|
/* 021AEF24 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AEF28 */ Gambit_fn_02801BB0(cpu);
|
|
L_021AEF2C: ; // 0x21aef2c
|
|
/* 021AEF2C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AEF30 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AEF34 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEF34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AEF38 */ cpu->lr = cpu->r[0];
|
|
/* 021AEF3C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AEF40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEF44 */ return;
|
|
}
|
|
|
|
// fn_021AEE9C @ 0x21aee9c
|
|
void Gambit_fn_021AEE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_021AEE9C: ; // 0x21aee9c
|
|
/* 021AEE9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AEE9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEE9C */ cpu->r[1] = _t0;
|
|
/* 021AEEA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEEA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AEEA4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEEA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEEA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEEA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AEEAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEEAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEEB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AEEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AEEB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 021AEEB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEEB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEEB8 */ if (_t6) goto L_021AEF2C; else goto L_021AEEBC;
|
|
L_021AEEBC: ; // 0x21aeebc
|
|
/* 021AEEBC */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEEBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AEEC0 */ cpu->r[8] = 0x10030000u;
|
|
/* 021AEEC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AEEC8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9880u;
|
|
/* 021AEECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEED0 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 021AEED0 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 021AEED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEED4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AEED4 */ if (_t10) goto L_021AEEF0; else goto L_021AEED8;
|
|
L_021AEED8: ; // 0x21aeed8
|
|
/* 021AEED8 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 021AEED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AEEDC */ _t12 = cpu->r[10] + 0x00000024u;
|
|
/* 021AEEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AEEE0 */ cpu->ctr = cpu->r[12];
|
|
/* 021AEEE4 */ cpu->r[4] = 0x00000003u;
|
|
/* 021AEEE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AEEEC */ _t13 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AEEEC */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
L_021AEEF0: ; // 0x21aeef0
|
|
/* 021AEEF0 */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 021AEEF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AEEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AEEF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEEF8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021AEEF8 */ if (_t16) goto L_021AEF14; else goto L_021AEEFC;
|
|
L_021AEEFC: ; // 0x21aeefc
|
|
/* 021AEEFC */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 021AEEFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AEF00 */ _t18 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021AEF00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AEF04 */ cpu->ctr = cpu->r[11];
|
|
/* 021AEF08 */ cpu->r[4] = 0x00000003u;
|
|
/* 021AEF0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AEF10 */ _t19 = cpu->r[29] + 0x00000018u;
|
|
/* 021AEF10 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_021AEF14: ; // 0x21aef14
|
|
/* 021AEF14 */ cpu->r[7] = 0x101C0000u;
|
|
/* 021AEF18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021AEF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEF1C */ _t20 = cpu->r[7] + 0x00004D34u;
|
|
/* 021AEF1C */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 021AEF20 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEF20 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021AEF20 */ if (_t22) goto L_021AEF2C; else goto L_021AEF24;
|
|
L_021AEF24: ; // 0x21aef24
|
|
/* 021AEF24 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AEF28 */ Gambit_fn_02801BB0(cpu);
|
|
L_021AEF2C: ; // 0x21aef2c
|
|
/* 021AEF2C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AEF30 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AEF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AEF34 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021AEF34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AEF38 */ cpu->lr = cpu->r[0];
|
|
/* 021AEF3C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AEF40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AEF44 */ return;
|
|
}
|
|
|
|
// fn_021AEF48 @ 0x21aef48
|
|
void Gambit_fn_021AEF48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021AEF48: ; // 0x21aef48
|
|
/* 021AEF48 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEF4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AEF4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEF4C */ cpu->r[1] = _t0;
|
|
/* 021AEF50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEF54 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AEF58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEF58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEF5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AEF60 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AEF64 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AEF64 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021AEF68 */ cpu->r[30] = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEF6C */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEF6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AEF70 */ Gambit_fn_028D8A44(cpu);
|
|
/* 021AEF74 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 021AEF74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AEF78 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 021AEF78 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 021AEF7C */ Gambit_fn_028D8A44(cpu);
|
|
/* 021AEF80 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AEF84 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEF88 */ cpu->lr = cpu->r[0];
|
|
/* 021AEF8C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEF90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEF94 */ return;
|
|
}
|
|
|
|
// fn_021AEF4C @ 0x21aef4c
|
|
void Gambit_fn_021AEF4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021AEF4C: ; // 0x21aef4c
|
|
/* 021AEF4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AEF4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEF4C */ cpu->r[1] = _t0;
|
|
/* 021AEF50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEF54 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AEF58 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEF58 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEF5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AEF60 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AEF64 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AEF64 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021AEF68 */ cpu->r[30] = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEF6C */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 021AEF6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AEF70 */ Gambit_fn_028D8A44(cpu);
|
|
/* 021AEF74 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 021AEF74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AEF78 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 021AEF78 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 021AEF7C */ Gambit_fn_028D8A44(cpu);
|
|
/* 021AEF80 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021AEF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AEF84 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AEF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AEF88 */ cpu->lr = cpu->r[0];
|
|
/* 021AEF8C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021AEF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AEF90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AEF94 */ return;
|
|
}
|
|
|
|
// fn_021AEF98 @ 0x21aef98
|
|
void Gambit_fn_021AEF98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021AEF98: ; // 0x21aef98
|
|
/* 021AEF98 */ cpu->r[0] = cpu->lr;
|
|
/* 021AEF9C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 021AEF9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEF9C */ cpu->r[1] = _t0;
|
|
/* 021AEFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEFA4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 021AEFA8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AEFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEFAC */ cpu->r[9] = 0x10030000u;
|
|
/* 021AEFB0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 021AEFB4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AEFB8 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 021AEFB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEFBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 021AEFC0 */ cpu->r[9] = cpu->r[9] + 0xFFFF9850u;
|
|
/* 021AEFC4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 021AEFC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021AEFC8 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 021AEFC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEFCC */ cpu->r[29] = cpu->r[3];
|
|
/* 021AEFD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEFD0 */ if (_t6) goto L_021AF078; else goto L_021AEFD4;
|
|
L_021AEFD4: ; // 0x21aefd4
|
|
/* 021AEFD4 */ _t7 = cpu->r[29] + 0x0000003Bu;
|
|
/* 021AEFD4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021AEFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021AEFDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AEFDC */ if (_t9) goto L_021AF078; else goto L_021AEFE0;
|
|
L_021AEFE0: ; // 0x21aefe0
|
|
/* 021AEFE0 */ _t10 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AEFE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021AEFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEFE8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFE8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AEFE8 */ if (_t12) goto L_021AEFEC; else goto L_021AF10C;
|
|
L_021AEFEC: ; // 0x21aefec
|
|
/* 021AEFEC */ _t13 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AEFEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AEFF0 */ _t14 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AEFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AEFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021AEFF8 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 021AEFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AEFFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFFC */ _t17 = _t16 & 0x00000001u;
|
|
/* 021AEFFC */ if (_t17) goto L_021AF000; else goto L_021AF00C;
|
|
L_021AF000: ; // 0x21af000
|
|
/* 021AF000 */ _t18 = cpu->r[4] + 0x00000000u;
|
|
/* 021AF000 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 021AF004 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF008 */ _t19 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF008 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_021AF00C: ; // 0x21af00c
|
|
/* 021AF00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF010 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF010 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF010 */ if (_t21) goto L_021AF030; else goto L_021AF014;
|
|
L_021AF014: ; // 0x21af014
|
|
/* 021AF014 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 021AF014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AF018 */ _t23 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021AF018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF01C */ cpu->ctr = cpu->r[11];
|
|
/* 021AF020 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF02C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF02C */ _t25 = _t24 & 0x00000001u;
|
|
/* 021AF02C */ if (_t25) goto L_021AF030; else goto L_021AF034;
|
|
L_021AF030: ; // 0x21af030
|
|
/* 021AF030 */ cpu->r[31] = 0x00000000u;
|
|
L_021AF034: ; // 0x21af034
|
|
/* 021AF034 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF038 */ cpu->r[31] = cpu->r[31] + 0x00000100u;
|
|
/* 021AF03C */ Gambit_fn_0284D6E0(cpu);
|
|
/* 021AF040 */ cpu->r[30] = 0x00000002u;
|
|
/* 021AF044 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF048 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF04C */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 021AF04C */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 021AF050 */ Gambit_fn_0284E70C(cpu);
|
|
/* 021AF054 */ cpu->r[31] = 0x00000001u;
|
|
/* 021AF058 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF058 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 021AF05C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF05C */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 021AF060 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF064 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF068 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF06C */ Gambit_fn_028BD11C(cpu);
|
|
/* 021AF070 */ _t29 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF070 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 021AF074 */ goto L_021AF10C;
|
|
L_021AF078: ; // 0x21af078
|
|
/* 021AF078 */ _t30 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF078 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 021AF07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AF080 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF080 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021AF080 */ if (_t32) goto L_021AF10C; else goto L_021AF084;
|
|
L_021AF084: ; // 0x21af084
|
|
/* 021AF084 */ _t33 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF084 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AF088 */ _t34 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AF088 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AF08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021AF090 */ _t35 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021AF094 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF094 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021AF094 */ if (_t37) goto L_021AF098; else goto L_021AF0A4;
|
|
L_021AF098: ; // 0x21af098
|
|
/* 021AF098 */ _t38 = cpu->r[4] + 0x00000000u;
|
|
/* 021AF098 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 021AF09C */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF0A0 */ _t39 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF0A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_021AF0A4: ; // 0x21af0a4
|
|
/* 021AF0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF0A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF0A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021AF0A8 */ if (_t41) goto L_021AF0C8; else goto L_021AF0AC;
|
|
L_021AF0AC: ; // 0x21af0ac
|
|
/* 021AF0AC */ _t42 = cpu->r[31] + 0x00000000u;
|
|
/* 021AF0AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AF0B0 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021AF0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AF0B4 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF0B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF0BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF0C4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF0C4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 021AF0C4 */ if (_t45) goto L_021AF0C8; else goto L_021AF0CC;
|
|
L_021AF0C8: ; // 0x21af0c8
|
|
/* 021AF0C8 */ cpu->r[31] = 0x00000000u;
|
|
L_021AF0CC: ; // 0x21af0cc
|
|
/* 021AF0CC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0D0 */ cpu->r[30] = cpu->r[31] + 0x00000100u;
|
|
/* 021AF0D4 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 021AF0D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AF0DC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF0E0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0E4 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0E4 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 021AF0E8 */ Gambit_fn_0284E70C(cpu);
|
|
/* 021AF0EC */ cpu->r[8] = 0x00000001u;
|
|
/* 021AF0F0 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF0F0 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 021AF0F4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF0F4 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 021AF0F8 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF0FC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021AF100 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF104 */ Gambit_fn_028BD11C(cpu);
|
|
/* 021AF108 */ _t49 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF108 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[31]);
|
|
L_021AF10C: ; // 0x21af10c
|
|
/* 021AF10C */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 021AF10C */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021AF110 */ _t51 = cpu->r[1] + 0x00000054u;
|
|
/* 021AF110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021AF114 */ _t52 = cpu->r[1] + 0x00000048u;
|
|
/* 021AF114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AF118 */ cpu->lr = cpu->r[0];
|
|
/* 021AF11C */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AF11C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AF120 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 021AF124 */ return;
|
|
}
|
|
|
|
// fn_021AEF9C @ 0x21aef9c
|
|
void Gambit_fn_021AEF9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021AEF9C: ; // 0x21aef9c
|
|
/* 021AEF9C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 021AEF9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AEF9C */ cpu->r[1] = _t0;
|
|
/* 021AEFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021AEFA4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 021AEFA8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AEFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AEFAC */ cpu->r[9] = 0x10030000u;
|
|
/* 021AEFB0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 021AEFB4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AEFB8 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 021AEFB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AEFBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 021AEFC0 */ cpu->r[9] = cpu->r[9] + 0xFFFF9850u;
|
|
/* 021AEFC4 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 021AEFC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021AEFC8 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 021AEFC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AEFCC */ cpu->r[29] = cpu->r[3];
|
|
/* 021AEFD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021AEFD0 */ if (_t6) goto L_021AF078; else goto L_021AEFD4;
|
|
L_021AEFD4: ; // 0x21aefd4
|
|
/* 021AEFD4 */ _t7 = cpu->r[29] + 0x0000003Bu;
|
|
/* 021AEFD4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021AEFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021AEFDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AEFDC */ if (_t9) goto L_021AF078; else goto L_021AEFE0;
|
|
L_021AEFE0: ; // 0x21aefe0
|
|
/* 021AEFE0 */ _t10 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AEFE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021AEFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AEFE8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFE8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AEFE8 */ if (_t12) goto L_021AEFEC; else goto L_021AF10C;
|
|
L_021AEFEC: ; // 0x21aefec
|
|
/* 021AEFEC */ _t13 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AEFEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AEFF0 */ _t14 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AEFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AEFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021AEFF8 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 021AEFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AEFFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AEFFC */ _t17 = _t16 & 0x00000001u;
|
|
/* 021AEFFC */ if (_t17) goto L_021AF000; else goto L_021AF00C;
|
|
L_021AF000: ; // 0x21af000
|
|
/* 021AF000 */ _t18 = cpu->r[4] + 0x00000000u;
|
|
/* 021AF000 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 021AF004 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF008 */ _t19 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF008 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_021AF00C: ; // 0x21af00c
|
|
/* 021AF00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF010 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF010 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF010 */ if (_t21) goto L_021AF030; else goto L_021AF014;
|
|
L_021AF014: ; // 0x21af014
|
|
/* 021AF014 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 021AF014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AF018 */ _t23 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021AF018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF01C */ cpu->ctr = cpu->r[11];
|
|
/* 021AF020 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF02C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF02C */ _t25 = _t24 & 0x00000001u;
|
|
/* 021AF02C */ if (_t25) goto L_021AF030; else goto L_021AF034;
|
|
L_021AF030: ; // 0x21af030
|
|
/* 021AF030 */ cpu->r[31] = 0x00000000u;
|
|
L_021AF034: ; // 0x21af034
|
|
/* 021AF034 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF038 */ cpu->r[31] = cpu->r[31] + 0x00000100u;
|
|
/* 021AF03C */ Gambit_fn_0284D6E0(cpu);
|
|
/* 021AF040 */ cpu->r[30] = 0x00000002u;
|
|
/* 021AF044 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF048 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF04C */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 021AF04C */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 021AF050 */ Gambit_fn_0284E70C(cpu);
|
|
/* 021AF054 */ cpu->r[31] = 0x00000001u;
|
|
/* 021AF058 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF058 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 021AF05C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF05C */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 021AF060 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF064 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF068 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF06C */ Gambit_fn_028BD11C(cpu);
|
|
/* 021AF070 */ _t29 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF070 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 021AF074 */ goto L_021AF10C;
|
|
L_021AF078: ; // 0x21af078
|
|
/* 021AF078 */ _t30 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF078 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 021AF07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AF080 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF080 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021AF080 */ if (_t32) goto L_021AF10C; else goto L_021AF084;
|
|
L_021AF084: ; // 0x21af084
|
|
/* 021AF084 */ _t33 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF084 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AF088 */ _t34 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AF088 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021AF08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021AF090 */ _t35 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021AF094 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF094 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021AF094 */ if (_t37) goto L_021AF098; else goto L_021AF0A4;
|
|
L_021AF098: ; // 0x21af098
|
|
/* 021AF098 */ _t38 = cpu->r[4] + 0x00000000u;
|
|
/* 021AF098 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 021AF09C */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF0A0 */ _t39 = cpu->r[11] + 0xFFFFF9D0u;
|
|
/* 021AF0A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_021AF0A4: ; // 0x21af0a4
|
|
/* 021AF0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF0A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF0A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021AF0A8 */ if (_t41) goto L_021AF0C8; else goto L_021AF0AC;
|
|
L_021AF0AC: ; // 0x21af0ac
|
|
/* 021AF0AC */ _t42 = cpu->r[31] + 0x00000000u;
|
|
/* 021AF0AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AF0B0 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021AF0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AF0B4 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF0B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AF0BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF0C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF0C4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF0C4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 021AF0C4 */ if (_t45) goto L_021AF0C8; else goto L_021AF0CC;
|
|
L_021AF0C8: ; // 0x21af0c8
|
|
/* 021AF0C8 */ cpu->r[31] = 0x00000000u;
|
|
L_021AF0CC: ; // 0x21af0cc
|
|
/* 021AF0CC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0D0 */ cpu->r[30] = cpu->r[31] + 0x00000100u;
|
|
/* 021AF0D4 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 021AF0D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AF0DC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF0E0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0E4 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 021AF0E4 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 021AF0E8 */ Gambit_fn_0284E70C(cpu);
|
|
/* 021AF0EC */ cpu->r[8] = 0x00000001u;
|
|
/* 021AF0F0 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF0F0 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 021AF0F4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF0F4 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 021AF0F8 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF0FC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021AF100 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF104 */ Gambit_fn_028BD11C(cpu);
|
|
/* 021AF108 */ _t49 = cpu->r[29] + 0x0000003Cu;
|
|
/* 021AF108 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[31]);
|
|
L_021AF10C: ; // 0x21af10c
|
|
/* 021AF10C */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 021AF10C */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021AF110 */ _t51 = cpu->r[1] + 0x00000054u;
|
|
/* 021AF110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021AF114 */ _t52 = cpu->r[1] + 0x00000048u;
|
|
/* 021AF114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AF118 */ cpu->lr = cpu->r[0];
|
|
/* 021AF11C */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AF11C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AF120 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 021AF124 */ return;
|
|
}
|
|
|
|
// fn_021AF12C @ 0x21af12c
|
|
void Gambit_fn_021AF12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_021AF12C: ; // 0x21af12c
|
|
/* 021AF12C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 021AF12C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF12C */ cpu->r[1] = _t0;
|
|
/* 021AF130 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 021AF130 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AF134 */ /* nop */
|
|
/* 021AF138 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 021AF138 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021AF13C */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021AF13C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AF140 */ /* nop */
|
|
/* 021AF144 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AF148 */ cpu->r[3] = 0x00000004u;
|
|
/* 021AF14C */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF150 */ cpu->r[30] = cpu->r[4];
|
|
/* 021AF154 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF15C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF15C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AF15C */ if (_t5) goto L_021AF16C; else goto L_021AF160;
|
|
L_021AF160: ; // 0x21af160
|
|
/* 021AF160 */ cpu->r[7] = 0x10030000u;
|
|
/* 021AF164 */ cpu->r[7] = cpu->r[7] + 0xFFFF9798u;
|
|
/* 021AF168 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021AF168 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
L_021AF16C: ; // 0x21af16c
|
|
/* 021AF16C */ cpu->r[28] = 0x101D0000u;
|
|
/* 021AF170 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 021AF170 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 021AF174 */ _t8 = cpu->r[28] + 0xFFFF9A68u;
|
|
/* 021AF174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AF174 */ cpu->r[28] = _t8;
|
|
/* 021AF178 */ _t9 = cpu->r[12] + 0x00000038u;
|
|
/* 021AF178 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AF17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021AF180 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF180 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AF180 */ if (_t11) goto L_021AF18C; else goto L_021AF184;
|
|
L_021AF184: ; // 0x21af184
|
|
/* 021AF184 */ _t12 = cpu->r[9] + 0x00000E44u;
|
|
/* 021AF184 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 021AF188 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021AF188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
L_021AF18C: ; // 0x21af18c
|
|
/* 021AF18C */ cpu->r[3] = cpu->r[12];
|
|
/* 021AF190 */ cpu->r[4] = 0x00000E10u;
|
|
/* 021AF194 */ Gambit_fn_028A9EFC(cpu);
|
|
/* 021AF198 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF19C */ cpu->r[8] = 0x10030000u;
|
|
/* 021AF1A0 */ _t14 = cpu->r[8] + 0xFFFF9980u;
|
|
/* 021AF1A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021AF1A4 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF1A8 */ Gambit_fn_028BD1C0(cpu);
|
|
/* 021AF1AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AF1B0 */ _t15 = cpu->r[11] + 0xFFFF9AE0u;
|
|
/* 021AF1B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF1B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 021AF1B8 */ _t16 = cpu->r[11] + 0x00000040u;
|
|
/* 021AF1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF1BC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF1C0 */ _t17 = cpu->r[9] + 0x00000028u;
|
|
/* 021AF1C0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 021AF1C4 */ Gambit_fn_021AE0C0(cpu);
|
|
/* 021AF1C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF1CC */ Gambit_fn_021AE354(cpu);
|
|
/* 021AF1D0 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AF1D4 */ cpu->r[31] = 0x10030000u;
|
|
/* 021AF1D8 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 021AF1D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AF1DC */ cpu->r[31] = cpu->r[31] + 0xFFFF9810u;
|
|
/* 021AF1E0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF1E4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF1E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 021AF1E8 */ cpu->r[0] = cpu->r[0] + 0xFFFF998Cu;
|
|
/* 021AF1EC */ _t20 = cpu->r[29] + 0x00000028u;
|
|
/* 021AF1EC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 021AF1F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF1F0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 021AF1F4 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AF1F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF1FC */ Gambit_fn_028D2200(cpu);
|
|
/* 021AF200 */ _t22 = cpu->r[29] + 0x0000002Cu;
|
|
/* 021AF200 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 021AF204 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF208 */ _t23 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF20C */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF210 */ Gambit_fn_0218DCD4(cpu);
|
|
/* 021AF214 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF218 */ _t24 = cpu->r[3] + 0x000045F4u;
|
|
/* 021AF218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AF21C */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF220 */ Gambit_fn_0218CB30(cpu);
|
|
/* 021AF224 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF228 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF22C */ cpu->r[3] = 0x00000010u;
|
|
/* 021AF230 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF234 */ cpu->r[27] = cpu->r[3];
|
|
/* 021AF234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021AF238 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF238 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021AF238 */ if (_t26) goto L_021AF250; else goto L_021AF23C;
|
|
L_021AF23C: ; // 0x21af23c
|
|
/* 021AF23C */ cpu->r[3] = cpu->r[27];
|
|
/* 021AF240 */ Gambit_fn_0278EEB0(cpu);
|
|
/* 021AF244 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF248 */ cpu->r[0] = cpu->r[0] + 0xFFFF97C8u;
|
|
/* 021AF24C */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 021AF24C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_021AF250: ; // 0x21af250
|
|
/* 021AF250 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021AF254 */ _t28 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AF254 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 021AF258 */ _t29 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 021AF258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF25C */ cpu->r[4] = cpu->r[27];
|
|
/* 021AF260 */ Gambit_fn_0278FC30(cpu);
|
|
/* 021AF264 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF268 */ cpu->r[3] = 0x00000014u;
|
|
/* 021AF26C */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF270 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF274 */ cpu->r[0] = cpu->r[3];
|
|
/* 021AF274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AF278 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF278 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021AF278 */ if (_t31) goto L_021AF290; else goto L_021AF27C;
|
|
L_021AF27C: ; // 0x21af27c
|
|
/* 021AF27C */ cpu->r[9] = 0x10030000u;
|
|
/* 021AF280 */ _t32 = cpu->r[9] + 0xFFFF9978u;
|
|
/* 021AF280 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021AF284 */ cpu->r[3] = cpu->r[0];
|
|
/* 021AF288 */ Gambit_fn_028CA0E4(cpu);
|
|
/* 021AF28C */ cpu->r[0] = cpu->r[3];
|
|
L_021AF290: ; // 0x21af290
|
|
/* 021AF290 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AF294 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 021AF294 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 021AF298 */ Gambit_fn_021AEF48(cpu);
|
|
/* 021AF29C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AF2A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AF2A4 */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF2A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2AC */ Gambit_fn_021B4D20(cpu);
|
|
/* 021AF2B0 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF2B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2B8 */ Gambit_fn_021B4DB4(cpu);
|
|
/* 021AF2BC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2C0 */ Gambit_fn_021B862C(cpu);
|
|
/* 021AF2C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2C8 */ Gambit_fn_021B86CC(cpu);
|
|
/* 021AF2CC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2D0 */ Gambit_fn_021B60B8(cpu);
|
|
/* 021AF2D4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2D8 */ Gambit_fn_021B6148(cpu);
|
|
/* 021AF2DC */ cpu->r[3] = 0x00000004u;
|
|
/* 021AF2E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2E4 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF2E8 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF2F0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF2F0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AF2F0 */ if (_t35) goto L_021AF300; else goto L_021AF2F4;
|
|
L_021AF2F4: ; // 0x21af2f4
|
|
/* 021AF2F4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF2F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9900u;
|
|
/* 021AF2FC */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 021AF2FC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_021AF300: ; // 0x21af300
|
|
/* 021AF300 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF304 */ cpu->r[4] = 0x10030000u;
|
|
/* 021AF308 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF30C */ cpu->r[4] = cpu->r[4] + 0xFFFF9990u;
|
|
/* 021AF310 */ Gambit_fn_028B5CFC(cpu);
|
|
/* 021AF314 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 021AF314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AF318 */ cpu->r[5] = cpu->r[30];
|
|
/* 021AF31C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF320 */ cpu->r[6] = 0x00000000u;
|
|
/* 021AF324 */ Gambit_fn_028B3FAC(cpu);
|
|
/* 021AF328 */ _t38 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF328 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 021AF32C */ _t39 = cpu->r[29] + 0x00000004u;
|
|
/* 021AF32C */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021AF330 */ Gambit_fn_028AC54C(cpu);
|
|
/* 021AF334 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF338 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF338 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 021AF33C */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 021AF340 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF340 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 021AF344 */ Gambit_fn_0278CC64(cpu);
|
|
/* 021AF348 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AF34C */ _t42 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF34C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AF350 */ Gambit_fn_028B4BFC(cpu);
|
|
/* 021AF354 */ _t43 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AF358 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF35C */ Gambit_fn_028AC004(cpu);
|
|
/* 021AF360 */ _t44 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021AF364 */ cpu->r[4] = 0x00000001u;
|
|
/* 021AF368 */ Gambit_fn_028AC0C8(cpu);
|
|
/* 021AF36C */ _t45 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF36C */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021AF370 */ _t46 = cpu->r[11] + 0x00000020u;
|
|
/* 021AF370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021AF374 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF378 */ _t47 = cpu->r[29] + 0x00000030u;
|
|
/* 021AF378 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 021AF37C */ Gambit_fn_021B06D4(cpu);
|
|
/* 021AF380 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF384 */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 021AF384 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 021AF388 */ Gambit_fn_021B0774(cpu);
|
|
/* 021AF38C */ Gambit_fn_028C2A0C(cpu);
|
|
/* 021AF390 */ cpu->r[8] = 0x10030000u;
|
|
/* 021AF394 */ _t49 = cpu->r[8] + 0xFFFF9984u;
|
|
/* 021AF394 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021AF398 */ _t50 = cpu->r[3] + 0x00000100u;
|
|
/* 021AF398 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 021AF39C */ Gambit_fn_028C2A0C(cpu);
|
|
/* 021AF3A0 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AF3A4 */ _t51 = cpu->r[12] + 0xFFFF9988u;
|
|
/* 021AF3A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021AF3A8 */ _t52 = cpu->r[3] + 0x00000104u;
|
|
/* 021AF3A8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 021AF3AC */ /* nop */
|
|
/* 021AF3B0 */ _t53 = cpu->r[1] + 0x00000060u;
|
|
/* 021AF3B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021AF3B4 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 021AF3B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 021AF3B8 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AF3B8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021AF3B8 */ if (_t56) goto L_021AF3BC; // else: addr-0 trap, fall-through
|
|
L_021AF3BC: ; // 0x21af3bc
|
|
/* 021AF3BC */ _t57 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021AF3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AF3C0 */ cpu->lr = cpu->r[0];
|
|
/* 021AF3C4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 021AF3C8 */ return;
|
|
}
|
|
|
|
// fn_021AF3E8 @ 0x21af3e8
|
|
void Gambit_fn_021AF3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AF3E8: ; // 0x21af3e8
|
|
/* 021AF3E8 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF3EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AF3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF3EC */ cpu->r[1] = _t0;
|
|
/* 021AF3F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AF3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AF3F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF3F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AF3FC */ cpu->r[30] = cpu->r[4];
|
|
/* 021AF400 */ cpu->r[3] = 0x00000130u;
|
|
/* 021AF404 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF408 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AF40C */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF414 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF414 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AF414 */ if (_t5) goto L_021AF41C; else goto L_021AF418;
|
|
L_021AF418: ; // 0x21af418
|
|
/* 021AF418 */ Gambit_fn_021B4560(cpu);
|
|
L_021AF41C: ; // 0x21af41c
|
|
/* 021AF41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF420 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021AF420 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021AF424 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF424 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AF424 */ if (_t8) goto L_021AF434; else goto L_021AF428;
|
|
L_021AF428: ; // 0x21af428
|
|
/* 021AF428 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF42C */ Gambit_fn_021B4688(cpu);
|
|
/* 021AF430 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021AF430 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
L_021AF434: ; // 0x21af434
|
|
/* 021AF434 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AF438 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF43C */ cpu->lr = cpu->r[0];
|
|
/* 021AF440 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AF444 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF448 */ return;
|
|
}
|
|
|
|
// fn_021AF3EC @ 0x21af3ec
|
|
void Gambit_fn_021AF3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AF3EC: ; // 0x21af3ec
|
|
/* 021AF3EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AF3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF3EC */ cpu->r[1] = _t0;
|
|
/* 021AF3F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AF3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AF3F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF3F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AF3FC */ cpu->r[30] = cpu->r[4];
|
|
/* 021AF400 */ cpu->r[3] = 0x00000130u;
|
|
/* 021AF404 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF408 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF408 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AF40C */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF414 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF414 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AF414 */ if (_t5) goto L_021AF41C; else goto L_021AF418;
|
|
L_021AF418: ; // 0x21af418
|
|
/* 021AF418 */ Gambit_fn_021B4560(cpu);
|
|
L_021AF41C: ; // 0x21af41c
|
|
/* 021AF41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF420 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021AF420 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021AF424 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF424 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AF424 */ if (_t8) goto L_021AF434; else goto L_021AF428;
|
|
L_021AF428: ; // 0x21af428
|
|
/* 021AF428 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF42C */ Gambit_fn_021B4688(cpu);
|
|
/* 021AF430 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021AF430 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
L_021AF434: ; // 0x21af434
|
|
/* 021AF434 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AF438 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF43C */ cpu->lr = cpu->r[0];
|
|
/* 021AF440 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AF444 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF448 */ return;
|
|
}
|
|
|
|
// fn_021AF44C @ 0x21af44c
|
|
void Gambit_fn_021AF44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021AF44C: ; // 0x21af44c
|
|
/* 021AF44C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 021AF44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF44C */ cpu->r[1] = _t0;
|
|
/* 021AF450 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF454 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 021AF454 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AF458 */ /* nop */
|
|
/* 021AF45C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 021AF45C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021AF460 */ /* nop */
|
|
/* 021AF464 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 021AF464 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021AF468 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 021AF468 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021AF46C */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 021AF46C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021AF470 */ cpu->r[31] = cpu->r[4];
|
|
/* 021AF474 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 021AF474 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 021AF478 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AF47C */ _t7 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AF47C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021AF480 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AF484 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 021AF484 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AF488 */ cpu->r[9] = 0x10030000u;
|
|
/* 021AF48C */ _t9 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF48C */ cpu->r[7] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021AF490 */ cpu->r[8] = 0x10030000u;
|
|
/* 021AF494 */ cpu->r[3] = cpu->r[12] + 0x000000A8u;
|
|
/* 021AF498 */ _t10 = cpu->r[9] + 0xFFFF999Cu;
|
|
/* 021AF498 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021AF49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021AF4A0 */ _t11 = cpu->r[8] + 0xFFFF9978u;
|
|
/* 021AF4A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021AF4A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF4A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AF4A4 */ if (_t13) goto L_021AF504; else goto L_021AF4A8;
|
|
L_021AF4A8: ; // 0x21af4a8
|
|
/* 021AF4A8 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AF4AC */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF4B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF4B4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF4B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021AF4B8 */ Gambit_fn_028BD348(cpu);
|
|
/* 021AF4BC */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 021AF4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021AF4C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF4C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021AF4C4 */ if (_t17) goto L_021AF568; else goto L_021AF4C8;
|
|
L_021AF4C8: ; // 0x21af4c8
|
|
/* 021AF4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF4CC */ cpu->r[3] = cpu->r[12] + 0x000000A8u;
|
|
/* 021AF4D0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF4D0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021AF4D0 */ if (_t19) goto L_021AF4EC; else goto L_021AF4D4;
|
|
L_021AF4D4: ; // 0x21af4d4
|
|
/* 021AF4D4 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF4D8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF4DC */ cpu->r[10] = 0x00000001u;
|
|
/* 021AF4E0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF4E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 021AF4E4 */ Gambit_fn_028BD348(cpu);
|
|
/* 021AF4E8 */ goto L_021AF568;
|
|
L_021AF4EC: ; // 0x21af4ec
|
|
/* 021AF4EC */ cpu->f[1] = cpu->f[30];
|
|
/* 021AF4F0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF4F4 */ cpu->r[11] = 0x00000001u;
|
|
/* 021AF4F8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF4F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 021AF4FC */ Gambit_fn_028BD348(cpu);
|
|
/* 021AF500 */ goto L_021AF568;
|
|
L_021AF504: ; // 0x21af504
|
|
/* 021AF504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF508 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF508 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021AF508 */ if (_t23) goto L_021AF538; else goto L_021AF50C;
|
|
L_021AF50C: ; // 0x21af50c
|
|
/* 021AF50C */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF510 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF514 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF518 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 021AF518 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021AF51C */ Gambit_fn_028BD348(cpu);
|
|
/* 021AF520 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF524 */ _t25 = cpu->r[30] + 0x0000002Cu;
|
|
/* 021AF524 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AF528 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021AF52C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF52C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021AF530 */ cpu->r[3] = cpu->r[11] + 0x000000A8u;
|
|
/* 021AF534 */ goto L_021AF560;
|
|
L_021AF538: ; // 0x21af538
|
|
/* 021AF538 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AF53C */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF540 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF544 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF544 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 021AF548 */ Gambit_fn_028BD348(cpu);
|
|
/* 021AF54C */ _t28 = cpu->r[30] + 0x0000002Cu;
|
|
/* 021AF54C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AF550 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AF554 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021AF558 */ cpu->r[3] = cpu->r[11] + 0x000000A8u;
|
|
/* 021AF55C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF55C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_021AF560: ; // 0x21af560
|
|
/* 021AF560 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AF564 */ Gambit_fn_028BD348(cpu);
|
|
L_021AF568: ; // 0x21af568
|
|
/* 021AF568 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 021AF568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF56C */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 021AF56C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 021AF570 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 021AF570 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021AF574 */ _t33 = cpu->r[1] + 0x00000038u;
|
|
/* 021AF574 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 021AF578 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 021AF578 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 021AF57C */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 021AF57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021AF580 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AF580 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021AF580 */ if (_t37) goto L_021AF584; // else: addr-0 trap, fall-through
|
|
L_021AF584: ; // 0x21af584
|
|
/* 021AF584 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021AF584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021AF588 */ cpu->lr = cpu->r[0];
|
|
/* 021AF58C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 021AF590 */ return;
|
|
}
|
|
|
|
// fn_021AF598 @ 0x21af598
|
|
void Gambit_fn_021AF598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_021AF598: ; // 0x21af598
|
|
/* 021AF598 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AF598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF598 */ cpu->r[1] = _t0;
|
|
/* 021AF59C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF59C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AF5A0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AF5A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AF5A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AF5AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF5AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AF5B0 */ _t5 = cpu->r[30] + 0x00000034u;
|
|
/* 021AF5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AF5B4 */ Gambit_fn_028AC110(cpu);
|
|
/* 021AF5B8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AF5BC */ _t6 = cpu->r[12] + 0x000044E4u;
|
|
/* 021AF5BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AF5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021AF5C4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AF5C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF5C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AF5C8 */ if (_t8) goto L_021AF614; else goto L_021AF5CC;
|
|
L_021AF5CC: ; // 0x21af5cc
|
|
/* 021AF5CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AF5D0 */ _t9 = cpu->r[11] + 0xFFFF927Cu;
|
|
/* 021AF5D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AF5D4 */ _t10 = cpu->r[11] + 0x00000154u;
|
|
/* 021AF5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AF5D8 */ cpu->r[9] = 0x00000000u;
|
|
/* 021AF5DC */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 021AF5E0 */ _t11 = cpu->r[12] + 0x00000254u;
|
|
/* 021AF5E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF5E4 */ cpu->r[31] = cpu->r[9];
|
|
/* 021AF5E8 */ _t12 = cpu->r[3] + 0x000000F1u;
|
|
/* 021AF5E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021AF5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 021AF5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF5F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AF5F0 */ if (_t14) goto L_021AF608; else goto L_021AF5F4;
|
|
L_021AF5F4: ; // 0x21af5f4
|
|
/* 021AF5F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF5F8 */ Gambit_fn_02196EF8(cpu);
|
|
/* 021AF5FC */ _t15 = cpu->r[29] + 0x000045F4u;
|
|
/* 021AF5FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF600 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF604 */ Gambit_fn_0218D640(cpu);
|
|
L_021AF608: ; // 0x21af608
|
|
/* 021AF608 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF60C */ _t16 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF60C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF610 */ Gambit_fn_0218E414(cpu);
|
|
L_021AF614: ; // 0x21af614
|
|
/* 021AF614 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 021AF618 */ _t17 = cpu->r[3] + 0x000007D0u;
|
|
/* 021AF618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AF61C */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 021AF620 */ _t19 = cpu->r[10] + 0x00000021u;
|
|
/* 021AF620 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
|
|
/* 021AF624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021AF628 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF628 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF628 */ if (_t21) goto L_021AF63C; else goto L_021AF62C;
|
|
L_021AF62C: ; // 0x21af62c
|
|
/* 021AF62C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF630 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF634 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF638 */ _t22 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF638 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[31]);
|
|
L_021AF63C: ; // 0x21af63c
|
|
/* 021AF63C */ _t23 = cpu->r[29] + 0x000045F4u;
|
|
/* 021AF63C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF640 */ Gambit_fn_0218CF94(cpu);
|
|
/* 021AF644 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF648 */ _t24 = cpu->r[3] + 0x00004D20u;
|
|
/* 021AF648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AF64C */ Gambit_fn_021AE488(cpu);
|
|
/* 021AF650 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF654 */ _t25 = cpu->r[3] + 0x00004D8Cu;
|
|
/* 021AF654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AF658 */ Gambit_fn_021B5364(cpu);
|
|
/* 021AF65C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF660 */ _t26 = cpu->r[3] + 0x00004DA4u;
|
|
/* 021AF660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AF664 */ Gambit_fn_021B87B4(cpu);
|
|
/* 021AF668 */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 021AF668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021AF66C */ Gambit_fn_021B0CD0(cpu);
|
|
/* 021AF670 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AF674 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF678 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF67C */ cpu->lr = cpu->r[0];
|
|
/* 021AF680 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AF684 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF688 */ return;
|
|
}
|
|
|
|
// fn_021AF698 @ 0x21af698
|
|
void Gambit_fn_021AF698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021AF698: ; // 0x21af698
|
|
/* 021AF698 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021AF698 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF698 */ cpu->r[1] = _t0;
|
|
/* 021AF69C */ /* nop */
|
|
/* 021AF6A0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF6A4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF6A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AF6A8 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF6AC */ _t2 = cpu->r[31] + 0x000044E4u;
|
|
/* 021AF6AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AF6B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AF6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF6B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021AF6BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF6BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AF6BC */ if (_t4) goto L_021AF9B4; else goto L_021AF6C0;
|
|
L_021AF6C0: ; // 0x21af6c0
|
|
/* 021AF6C0 */ Gambit_fn_027FAD20(cpu);
|
|
/* 021AF6C4 */ cpu->r[27] = 0x10030000u;
|
|
/* 021AF6C8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF6C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 021AF6CC */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF6D0 */ cpu->r[27] = cpu->r[27] + 0xFFFF9810u;
|
|
/* 021AF6D4 */ _t6 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AF6D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF6DC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF6DC */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 021AF6E0 */ Gambit_fn_0218DDE0(cpu);
|
|
/* 021AF6E4 */ _t8 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF6E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AF6E8 */ _t9 = cpu->r[30] + 0x00000039u;
|
|
/* 021AF6E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021AF6EC */ Gambit_fn_0219ABC0(cpu);
|
|
/* 021AF6F0 */ cpu->r[7] = 0x10030000u;
|
|
/* 021AF6F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF6F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 021AF6F8 */ cpu->r[7] = cpu->r[7] + 0xFFFF99A8u;
|
|
/* 021AF6FC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF6FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF700 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF700 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 021AF704 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 021AF704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AF708 */ cpu->ctr = cpu->r[9];
|
|
/* 021AF70C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF714 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF714 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AF718 */ _t15 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF71C */ cpu->ctr = cpu->r[11];
|
|
/* 021AF720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF728 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF72C */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AF730 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF734 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AF738 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF73C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF740 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AF744 */ cpu->r[28] = 0x00080000u;
|
|
/* 021AF748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 021AF74C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 021AF750 */ cpu->r[29] = 0x10110000u;
|
|
/* 021AF754 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF754 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF754 */ if (_t21) goto L_021AF758; else goto L_021AF7C8;
|
|
L_021AF758: ; // 0x21af758
|
|
/* 021AF758 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF758 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AF75C */ cpu->r[26] = 0x00000001u;
|
|
/* 021AF760 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF764 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF764 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 021AF768 */ cpu->r[0] = cpu->r[0] + 0xFFFF99A0u;
|
|
/* 021AF76C */ _t24 = cpu->r[30] + 0x0000003Eu;
|
|
/* 021AF76C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[26]);
|
|
/* 021AF770 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF770 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 021AF774 */ _t26 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF774 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[26]);
|
|
/* 021AF778 */ _t27 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021AF77C */ cpu->ctr = cpu->r[0];
|
|
/* 021AF780 */ cpu->r[5] = 0x00000000u;
|
|
/* 021AF784 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF788 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF78C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF78C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AF790 */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF794 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF798 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF79C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF7A0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF7A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF7A4 */ _t31 = cpu->r[6] + 0x00000014u;
|
|
/* 021AF7A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AF7A8 */ cpu->ctr = cpu->r[7];
|
|
/* 021AF7AC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF7AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021AF7B0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF7B8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AF7BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 021AF7C0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7C0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AF7C0 */ if (_t35) goto L_021AF8FC; else goto L_021AF7C4;
|
|
L_021AF7C4: ; // 0x21af7c4
|
|
/* 021AF7C4 */ goto L_021AF960;
|
|
L_021AF7C8: ; // 0x21af7c8
|
|
/* 021AF7C8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF7C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AF7CC */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AF7D0 */ cpu->ctr = cpu->r[28];
|
|
/* 021AF7D4 */ _t38 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF7D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 021AF7D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_021AF7DC: ; // 0x21af7dc
|
|
/* 021AF7DC */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 021AF7DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t39);
|
|
/* 021AF7E0 */ _t40 = cpu->r[12] + 0x00000001u;
|
|
/* 021AF7E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t40);
|
|
/* 021AF7E0 */ cpu->r[12] = _t40;
|
|
/* 021AF7E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 021AF7E8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7E8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021AF7E8 */ if (_t42) goto L_021AF7EC; else goto L_021AF7FC;
|
|
L_021AF7EC: ; // 0x21af7ec
|
|
/* 021AF7EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021AF7F0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7F0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021AF7F0 */ if (_t44) goto L_021AF758; else goto L_021AF7F4;
|
|
L_021AF7F4: ; // 0x21af7f4
|
|
/* 021AF7F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021AF7F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF7F8 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF7F8 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 021AF7F8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021AF7F8 */ if (_t47) goto L_021AF7DC; else goto L_021AF7FC;
|
|
L_021AF7FC: ; // 0x21af7fc
|
|
/* 021AF7FC */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF800 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021AF804 */ cpu->r[0] = cpu->r[0] + 0xFFFF99B0u;
|
|
/* 021AF808 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF808 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 021AF80C */ cpu->r[5] = 0x00000000u;
|
|
/* 021AF810 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF810 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 021AF814 */ _t51 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF814 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[5]);
|
|
/* 021AF818 */ _t52 = cpu->r[8] + 0x00000014u;
|
|
/* 021AF818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AF81C */ cpu->ctr = cpu->r[0];
|
|
/* 021AF820 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF824 */ cpu->r[5] = 0x00000001u;
|
|
/* 021AF828 */ cpu->r[26] = 0x00000001u;
|
|
/* 021AF82C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF830 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AF834 */ _t54 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021AF838 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF83C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF844 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021AF848 */ _t56 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF848 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021AF84C */ cpu->ctr = cpu->r[5];
|
|
/* 021AF850 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF850 */ cpu->r[25] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AF854 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF858 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF85C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF85C */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021AF860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[10]);
|
|
/* 021AF864 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF864 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021AF864 */ if (_t60) goto L_021AF89C; else goto L_021AF868;
|
|
L_021AF868: ; // 0x21af868
|
|
/* 021AF868 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021AF86C */ cpu->ctr = cpu->r[28];
|
|
/* 021AF870 */ _t62 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF870 */ cpu->r[8] = rbrew_read8(cpu->mem, _t62);
|
|
/* 021AF874 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021AF878: ; // 0x21af878
|
|
/* 021AF878 */ _t63 = cpu->r[7] + 0x00000000u;
|
|
/* 021AF878 */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 021AF87C */ _t64 = cpu->r[9] + 0x00000001u;
|
|
/* 021AF87C */ cpu->r[6] = rbrew_read8(cpu->mem, _t64);
|
|
/* 021AF87C */ cpu->r[9] = _t64;
|
|
/* 021AF880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 021AF884 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF884 */ _t66 = _t65 & 0x00000001u;
|
|
/* 021AF884 */ if (_t66) goto L_021AF888; else goto L_021AF898;
|
|
L_021AF888: ; // 0x21af888
|
|
/* 021AF888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 021AF88C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF88C */ _t68 = _t67 & 0x00000001u;
|
|
/* 021AF88C */ if (_t68) goto L_021AF89C; else goto L_021AF890;
|
|
L_021AF890: ; // 0x21af890
|
|
/* 021AF890 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021AF894 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF894 */ _t69 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF894 */ _t70 = _t69 >> (0x00000002u & 31u);
|
|
/* 021AF894 */ _t71 = _t70 & 0x00000001u;
|
|
/* 021AF894 */ if (_t71) goto L_021AF878; else goto L_021AF898;
|
|
L_021AF898: ; // 0x21af898
|
|
/* 021AF898 */ cpu->r[26] = 0x00000000u;
|
|
L_021AF89C: ; // 0x21af89c
|
|
/* 021AF89C */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF8A0 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF8A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021AF8A4 */ cpu->r[0] = cpu->r[0] + 0xFFFF99A0u;
|
|
/* 021AF8A8 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF8A8 */ rbrew_write32(cpu->mem, _t73, cpu->r[27]);
|
|
/* 021AF8AC */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8AC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 021AF8B0 */ _t75 = cpu->r[30] + 0x0000003Eu;
|
|
/* 021AF8B0 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[26]);
|
|
/* 021AF8B4 */ _t76 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021AF8B8 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8C4 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF8C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021AF8C8 */ _t78 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021AF8CC */ cpu->ctr = cpu->r[0];
|
|
/* 021AF8D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8D8 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF8D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 021AF8DC */ _t80 = cpu->r[6] + 0x00000014u;
|
|
/* 021AF8DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 021AF8E0 */ cpu->ctr = cpu->r[7];
|
|
/* 021AF8E4 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8E4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021AF8E8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8F0 */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021AF8F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 021AF8F8 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF8F8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 021AF8F8 */ if (_t84) goto L_021AF8FC; else goto L_021AF960;
|
|
L_021AF8FC: ; // 0x21af8fc
|
|
/* 021AF8FC */ cpu->r[8] = 0x00000001u;
|
|
/* 021AF900 */ _t85 = cpu->r[30] + 0x0000003Fu;
|
|
/* 021AF900 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[8]);
|
|
/* 021AF904 */ _t86 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021AF908 */ _t87 = cpu->r[3] + 0x000000E0u;
|
|
/* 021AF908 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021AF90C */ _t88 = cpu->r[10] + 0x000001ECu;
|
|
/* 021AF90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 021AF910 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF918 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AF91C */ _t89 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF91C */ cpu->r[4] = rbrew_read8(cpu->mem, _t89);
|
|
/* 021AF920 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF924 */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF928 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF92C */ _t90 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF92C */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021AF930 */ Gambit_fn_0218D304(cpu);
|
|
/* 021AF934 */ _t91 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021AF938 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AF93C */ Gambit_fn_0218D510(cpu);
|
|
/* 021AF940 */ _t92 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF940 */ cpu->r[4] = rbrew_read8(cpu->mem, _t92);
|
|
/* 021AF944 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF948 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF94C */ /* nop */
|
|
/* 021AF950 */ _t93 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021AF954 */ cpu->lr = cpu->r[0];
|
|
/* 021AF958 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AF95C */ return;
|
|
L_021AF960: ; // 0x21af960
|
|
/* 021AF960 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021AF964 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF964 */ cpu->r[6] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021AF968 */ cpu->ctr = cpu->r[28];
|
|
/* 021AF96C */ _t96 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF96C */ cpu->r[5] = rbrew_read8(cpu->mem, _t96);
|
|
/* 021AF970 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021AF974: ; // 0x21af974
|
|
/* 021AF974 */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 021AF974 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 021AF978 */ _t98 = cpu->r[6] + 0x00000001u;
|
|
/* 021AF978 */ cpu->r[9] = rbrew_read8(cpu->mem, _t98);
|
|
/* 021AF978 */ cpu->r[6] = _t98;
|
|
/* 021AF97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 021AF980 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF980 */ _t100 = _t99 & 0x00000001u;
|
|
/* 021AF980 */ if (_t100) goto L_021AF984; else goto L_021AF994;
|
|
L_021AF984: ; // 0x21af984
|
|
/* 021AF984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 021AF988 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF988 */ _t102 = _t101 & 0x00000001u;
|
|
/* 021AF988 */ if (_t102) goto L_021AF8FC; else goto L_021AF98C;
|
|
L_021AF98C: ; // 0x21af98c
|
|
/* 021AF98C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021AF990 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF990 */ _t103 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF990 */ _t104 = _t103 >> (0x00000002u & 31u);
|
|
/* 021AF990 */ _t105 = _t104 & 0x00000001u;
|
|
/* 021AF990 */ if (_t105) goto L_021AF974; else goto L_021AF994;
|
|
L_021AF994: ; // 0x21af994
|
|
/* 021AF994 */ cpu->r[8] = 0x00000000u;
|
|
/* 021AF998 */ _t106 = cpu->r[30] + 0x0000003Fu;
|
|
/* 021AF998 */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[8]);
|
|
/* 021AF99C */ _t107 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF99C */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021AF9A0 */ _t108 = cpu->r[3] + 0x000000E0u;
|
|
/* 021AF9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021AF9A4 */ _t109 = cpu->r[10] + 0x000001ECu;
|
|
/* 021AF9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021AF9A8 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF9AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF9B0 */ cpu->r[29] = cpu->r[3];
|
|
L_021AF9B4: ; // 0x21af9b4
|
|
/* 021AF9B4 */ _t110 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF9B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t110);
|
|
/* 021AF9B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF9BC */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF9C0 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF9C4 */ _t111 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF9C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021AF9C8 */ Gambit_fn_0218D304(cpu);
|
|
/* 021AF9CC */ _t112 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF9CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021AF9D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AF9D4 */ Gambit_fn_0218D510(cpu);
|
|
/* 021AF9D8 */ _t113 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF9D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t113);
|
|
/* 021AF9DC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF9E0 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF9E4 */ /* nop */
|
|
/* 021AF9E8 */ _t114 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021AF9EC */ cpu->lr = cpu->r[0];
|
|
/* 021AF9F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AF9F4 */ return;
|
|
}
|
|
|
|
// fn_021AF9FC @ 0x21af9fc
|
|
void Gambit_fn_021AF9FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021AF9FC: ; // 0x21af9fc
|
|
/* 021AF9FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AF9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF9FC */ cpu->r[1] = _t0;
|
|
/* 021AFA00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AFA04 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AFA08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AFA0C */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AFA0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFA10 */ Gambit_fn_021B4B08(cpu);
|
|
/* 021AFA14 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AFA18 */ _t4 = cpu->r[3] + 0x00004604u;
|
|
/* 021AFA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFA1C */ Gambit_fn_0218E214(cpu);
|
|
/* 021AFA20 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AFA24 */ _t5 = cpu->r[3] + 0x00004D8Cu;
|
|
/* 021AFA24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFA28 */ Gambit_fn_021B55B0(cpu);
|
|
/* 021AFA2C */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 021AFA2C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021AFA30 */ cpu->r[12] = 0x00000000u;
|
|
/* 021AFA34 */ _t7 = cpu->r[31] + 0x0000003Eu;
|
|
/* 021AFA34 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 021AFA38 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AFA3C */ _t8 = cpu->r[31] + 0x0000003Du;
|
|
/* 021AFA3C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 021AFA40 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AFA44 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AFA48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AFA4C */ cpu->lr = cpu->r[0];
|
|
/* 021AFA50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFA54 */ return;
|
|
}
|
|
|
|
// fn_021AFA58 @ 0x21afa58
|
|
void Gambit_fn_021AFA58(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021AFA58: ; // 0x21afa58
|
|
/* 021AFA58 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AFA5C */ _t0 = cpu->r[12] + 0x00004604u;
|
|
/* 021AFA5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021AFA60 */ _t1 = cpu->r[12] + 0x00000014u;
|
|
/* 021AFA60 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[4]);
|
|
/* 021AFA64 */ return;
|
|
}
|
|
|
|
// fn_021AFA68 @ 0x21afa68
|
|
void Gambit_fn_021AFA68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_021AFA68: ; // 0x21afa68
|
|
/* 021AFA68 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFA6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AFA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFA6C */ cpu->r[1] = _t0;
|
|
/* 021AFA70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFA70 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021AFA74 */ cpu->r[28] = cpu->r[4];
|
|
/* 021AFA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021AFA78 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFA78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AFA7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AFA80 */ cpu->r[30] = cpu->r[28];
|
|
/* 021AFA84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA84 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AFA88 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AFA8C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFA8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AFA90 */ cpu->r[29] = cpu->r[5];
|
|
/* 021AFA94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFA94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AFA94 */ if (_t7) goto L_021AFA98; else goto L_021AFAA8;
|
|
L_021AFA98: ; // 0x21afa98
|
|
/* 021AFA98 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AFA9C */ Gambit_fn_02801A78(cpu);
|
|
/* 021AFAA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AFAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AFAA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AFAA4 */ if (_t9) goto L_021AFAE4; else goto L_021AFAA8;
|
|
L_021AFAA8: ; // 0x21afaa8
|
|
/* 021AFAA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AFAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFAAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AFAAC */ if (_t11) goto L_021AFAB0; else goto L_021AFAC0;
|
|
L_021AFAB0: ; // 0x21afab0
|
|
/* 021AFAB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AFAB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AFAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFABC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFABC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AFABC */ if (_t13) goto L_021AFAD8; else goto L_021AFAC0;
|
|
L_021AFAC0: ; // 0x21afac0
|
|
/* 021AFAC0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AFAC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 021AFAC8 */ cpu->r[11] = cpu->r[11] + 0xFFFF9860u;
|
|
/* 021AFACC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021AFACC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021AFAD0 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFAD0 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 021AFAD4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFAD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_021AFAD8: ; // 0x21afad8
|
|
/* 021AFAD8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFADC */ cpu->r[0] = cpu->r[0] + 0xFFFF9870u;
|
|
/* 021AFAE0 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 021AFAE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_021AFAE4: ; // 0x21afae4
|
|
/* 021AFAE4 */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 021AFAE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AFAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFAEC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAEC */ _t20 = _t19 & 0x00000001u;
|
|
/* 021AFAEC */ if (_t20) goto L_021AFAFC; else goto L_021AFAF0;
|
|
L_021AFAF0: ; // 0x21afaf0
|
|
/* 021AFAF0 */ cpu->r[5] = cpu->r[28];
|
|
/* 021AFAF4 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AFAF8 */ Gambit_fn_028B48F8(cpu);
|
|
L_021AFAFC: ; // 0x21afafc
|
|
/* 021AFAFC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFAFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AFB00 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFB00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AFB04 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AFB08 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFB08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AFB0C */ cpu->lr = cpu->r[0];
|
|
/* 021AFB10 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AFB14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AFB18 */ return;
|
|
}
|
|
|
|
// fn_021AFA6C @ 0x21afa6c
|
|
void Gambit_fn_021AFA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_021AFA6C: ; // 0x21afa6c
|
|
/* 021AFA6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AFA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFA6C */ cpu->r[1] = _t0;
|
|
/* 021AFA70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFA70 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021AFA74 */ cpu->r[28] = cpu->r[4];
|
|
/* 021AFA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021AFA78 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFA78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AFA7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AFA80 */ cpu->r[30] = cpu->r[28];
|
|
/* 021AFA84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA84 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021AFA88 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AFA8C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFA8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AFA90 */ cpu->r[29] = cpu->r[5];
|
|
/* 021AFA94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFA94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AFA94 */ if (_t7) goto L_021AFA98; else goto L_021AFAA8;
|
|
L_021AFA98: ; // 0x21afa98
|
|
/* 021AFA98 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AFA9C */ Gambit_fn_02801A78(cpu);
|
|
/* 021AFAA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AFAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AFAA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021AFAA4 */ if (_t9) goto L_021AFAE4; else goto L_021AFAA8;
|
|
L_021AFAA8: ; // 0x21afaa8
|
|
/* 021AFAA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AFAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFAAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AFAAC */ if (_t11) goto L_021AFAB0; else goto L_021AFAC0;
|
|
L_021AFAB0: ; // 0x21afab0
|
|
/* 021AFAB0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021AFAB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021AFAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFABC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFABC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021AFABC */ if (_t13) goto L_021AFAD8; else goto L_021AFAC0;
|
|
L_021AFAC0: ; // 0x21afac0
|
|
/* 021AFAC0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AFAC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 021AFAC8 */ cpu->r[11] = cpu->r[11] + 0xFFFF9860u;
|
|
/* 021AFACC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021AFACC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021AFAD0 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFAD0 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 021AFAD4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFAD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_021AFAD8: ; // 0x21afad8
|
|
/* 021AFAD8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFADC */ cpu->r[0] = cpu->r[0] + 0xFFFF9870u;
|
|
/* 021AFAE0 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 021AFAE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_021AFAE4: ; // 0x21afae4
|
|
/* 021AFAE4 */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 021AFAE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AFAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFAEC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFAEC */ _t20 = _t19 & 0x00000001u;
|
|
/* 021AFAEC */ if (_t20) goto L_021AFAFC; else goto L_021AFAF0;
|
|
L_021AFAF0: ; // 0x21afaf0
|
|
/* 021AFAF0 */ cpu->r[5] = cpu->r[28];
|
|
/* 021AFAF4 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AFAF8 */ Gambit_fn_028B48F8(cpu);
|
|
L_021AFAFC: ; // 0x21afafc
|
|
/* 021AFAFC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFAFC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AFB00 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFB00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AFB04 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AFB08 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFB08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AFB0C */ cpu->lr = cpu->r[0];
|
|
/* 021AFB10 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AFB14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AFB18 */ return;
|
|
}
|
|
|
|
// fn_021AFB1C @ 0x21afb1c
|
|
void Gambit_fn_021AFB1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_021AFB1C: ; // 0x21afb1c
|
|
/* 021AFB1C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 021AFB1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFB1C */ cpu->r[1] = _t0;
|
|
/* 021AFB20 */ /* nop */
|
|
/* 021AFB24 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFB28 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 021AFB28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AFB2C */ cpu->r[25] = cpu->r[5];
|
|
/* 021AFB30 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 021AFB30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021AFB38 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFB38 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AFB38 */ if (_t4) goto L_021AFC1C; else goto L_021AFB3C;
|
|
L_021AFB3C: ; // 0x21afb3c
|
|
/* 021AFB3C */ cpu->r[24] = 0x10030000u;
|
|
/* 021AFB40 */ cpu->r[24] = cpu->r[24] + 0xFFFF9810u;
|
|
/* 021AFB44 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFB44 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 021AFB48 */ cpu->r[10] = cpu->r[24];
|
|
/* 021AFB4C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFB4C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021AFB50 */ _t7 = cpu->r[5] + 0x00000014u;
|
|
/* 021AFB50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFB54 */ cpu->r[8] = cpu->r[5] + 0x00000008u;
|
|
/* 021AFB58 */ _t8 = cpu->r[5] + 0x0000000Cu;
|
|
/* 021AFB58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFB5C */ cpu->r[30] = cpu->r[8] - cpu->r[28];
|
|
/* 021AFB60 */ cpu->r[31] = cpu->r[9] - cpu->r[28];
|
|
/* 021AFB64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 021AFB68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFB68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AFB68 */ if (_t10) goto L_021AFC1C; else goto L_021AFB6C;
|
|
L_021AFB6C: ; // 0x21afb6c
|
|
/* 021AFB6C */ cpu->r[29] = 0x10110000u;
|
|
/* 021AFB70 */ cpu->r[23] = 0x00080000u;
|
|
/* 021AFB74 */ cpu->r[26] = 0x00000001u;
|
|
/* 021AFB78 */ _t11 = cpu->r[29] + 0x00007399u;
|
|
/* 021AFB78 */ cpu->r[29] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021AFB7C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_021AFB80: ; // 0x21afb80
|
|
/* 021AFB80 */ _t12 = cpu->r[31] + 0x00000014u;
|
|
/* 021AFB80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AFB84 */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 021AFB84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AFB88 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFB88 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]);
|
|
/* 021AFB8C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFB8C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 021AFB90 */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 021AFB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AFB94 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFB98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFB9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFBA0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFBA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AFBA4 */ _t18 = cpu->r[10] + 0x00000014u;
|
|
/* 021AFBA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AFBA8 */ cpu->ctr = cpu->r[12];
|
|
/* 021AFBAC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFBB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFBB4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFBB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AFBB8 */ _t20 = cpu->r[5] + 0x00000014u;
|
|
/* 021AFBB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AFBBC */ cpu->ctr = cpu->r[6];
|
|
/* 021AFBC0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFBC0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AFBC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFBC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFBCC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFBCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AFBD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]);
|
|
/* 021AFBD4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFBD4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021AFBD4 */ if (_t24) goto L_021AFC30; else goto L_021AFBD8;
|
|
L_021AFBD8: ; // 0x21afbd8
|
|
/* 021AFBD8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFBD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AFBDC */ cpu->ctr = cpu->r[23];
|
|
/* 021AFBE0 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021AFBE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AFBE4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021AFBE8: ; // 0x21afbe8
|
|
/* 021AFBE8 */ _t27 = cpu->r[4] + 0x00000000u;
|
|
/* 021AFBE8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t27);
|
|
/* 021AFBEC */ _t28 = cpu->r[8] + 0x00000001u;
|
|
/* 021AFBEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t28);
|
|
/* 021AFBEC */ cpu->r[8] = _t28;
|
|
/* 021AFBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 021AFBF4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFBF4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021AFBF4 */ if (_t30) goto L_021AFBF8; else goto L_021AFC54;
|
|
L_021AFBF8: ; // 0x21afbf8
|
|
/* 021AFBF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 021AFBFC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFBFC */ _t32 = _t31 & 0x00000001u;
|
|
/* 021AFBFC */ if (_t32) goto L_021AFC30; else goto L_021AFC00;
|
|
L_021AFC00: ; // 0x21afc00
|
|
/* 021AFC00 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021AFC04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AFC04 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AFC04 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 021AFC04 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AFC04 */ if (_t35) goto L_021AFBE8; else goto L_021AFC08;
|
|
L_021AFC08: ; // 0x21afc08
|
|
/* 021AFC08 */ cpu->r[6] = cpu->r[31] + cpu->r[28];
|
|
/* 021AFC0C */ _t36 = cpu->r[6] + 0x00000004u;
|
|
/* 021AFC0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AFC10 */ cpu->r[31] = cpu->r[0] - cpu->r[28];
|
|
/* 021AFC14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 021AFC18 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFC18 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021AFC18 */ if (_t38) goto L_021AFC1C; else goto L_021AFC68;
|
|
L_021AFC1C: ; // 0x21afc1c
|
|
/* 021AFC1C */ /* nop */
|
|
/* 021AFC20 */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 021AFC20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021AFC24 */ cpu->lr = cpu->r[0];
|
|
/* 021AFC28 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021AFC2C */ return;
|
|
L_021AFC30: ; // 0x21afc30
|
|
/* 021AFC30 */ _t40 = cpu->r[31] + 0x00000028u;
|
|
/* 021AFC30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021AFC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AFC38 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFC38 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021AFC38 */ if (_t42) goto L_021AFC50; else goto L_021AFC3C;
|
|
L_021AFC3C: ; // 0x21afc3c
|
|
/* 021AFC3C */ _t43 = cpu->r[3] + 0x00000050u;
|
|
/* 021AFC3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AFC40 */ _t44 = cpu->r[10] + 0x00000024u;
|
|
/* 021AFC40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021AFC44 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFC48 */ cpu->r[4] = cpu->r[25];
|
|
/* 021AFC4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021AFC50: ; // 0x21afc50
|
|
/* 021AFC50 */ _t45 = cpu->r[31] + 0x0000004Cu;
|
|
/* 021AFC50 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[26]);
|
|
L_021AFC54: ; // 0x21afc54
|
|
/* 021AFC54 */ cpu->r[6] = cpu->r[31] + cpu->r[28];
|
|
/* 021AFC58 */ _t46 = cpu->r[6] + 0x00000004u;
|
|
/* 021AFC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021AFC5C */ cpu->r[31] = cpu->r[0] - cpu->r[28];
|
|
/* 021AFC60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 021AFC64 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFC64 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021AFC64 */ if (_t48) goto L_021AFC1C; else goto L_021AFC68;
|
|
L_021AFC68: ; // 0x21afc68
|
|
/* 021AFC68 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFC68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021AFC6C */ goto L_021AFB80;
|
|
}
|
|
|
|
// fn_021AFC70 @ 0x21afc70
|
|
void Gambit_fn_021AFC70(CPUState* cpu) {
|
|
uint32_t _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_021AFC70: ; // 0x21afc70
|
|
/* 021AFC70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021AFC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFC70 */ cpu->r[1] = _t0;
|
|
/* 021AFC74 */ /* nop */
|
|
/* 021AFC78 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFC7C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021AFC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AFC80 */ cpu->r[27] = cpu->r[3];
|
|
/* 021AFC84 */ _t2 = cpu->r[27] + 0x00000030u;
|
|
/* 021AFC84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021AFC8C */ cpu->r[30] = 0x101D0000u;
|
|
/* 021AFC90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFC90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AFC90 */ if (_t4) goto L_021AFD20; else goto L_021AFC94;
|
|
L_021AFC94: ; // 0x21afc94
|
|
/* 021AFC94 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021AFC98 */ _t5 = cpu->r[31] + 0xFFFF9A6Cu;
|
|
/* 021AFC98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFC9C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021AFC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AFCA0 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 021AFCA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFCA4 */ cpu->ctr = cpu->r[9];
|
|
/* 021AFCA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AFCAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFCB0 */ _t8 = cpu->r[30] + 0xFFFF9A68u;
|
|
/* 021AFCB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFCB4 */ _t9 = cpu->r[11] + 0x00000014u;
|
|
/* 021AFCB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AFCB8 */ cpu->r[0] = cpu->r[11] + 0x00000008u;
|
|
/* 021AFCBC */ _t10 = cpu->r[11] + 0x0000000Cu;
|
|
/* 021AFCBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AFCC0 */ cpu->r[30] = cpu->r[0] - cpu->r[29];
|
|
/* 021AFCC4 */ cpu->r[28] = cpu->r[8] - cpu->r[29];
|
|
/* 021AFCC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AFCCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFCCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AFCCC */ if (_t12) goto L_021AFCF8; else goto L_021AFCD0;
|
|
L_021AFCD0: ; // 0x21afcd0
|
|
/* 021AFCD0 */ _t13 = cpu->r[27] + 0x00000030u;
|
|
/* 021AFCD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AFCD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 021AFCD8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFCD8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021AFCD8 */ if (_t15) goto L_021AFCE4; else goto L_021AFCDC;
|
|
L_021AFCDC: ; // 0x21afcdc
|
|
/* 021AFCDC */ cpu->r[3] = cpu->r[28];
|
|
/* 021AFCE0 */ Gambit_fn_028ABD44(cpu);
|
|
L_021AFCE4: ; // 0x21afce4
|
|
/* 021AFCE4 */ cpu->r[10] = cpu->r[28] + cpu->r[29];
|
|
/* 021AFCE8 */ _t16 = cpu->r[10] + 0x00000004u;
|
|
/* 021AFCE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AFCEC */ cpu->r[28] = cpu->r[11] - cpu->r[29];
|
|
/* 021AFCF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021AFCF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFCF4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021AFCF4 */ if (_t18) goto L_021AFCF8; else goto L_021AFCD0;
|
|
L_021AFCF8: ; // 0x21afcf8
|
|
/* 021AFCF8 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 021AFCF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AFCFC */ _t20 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021AFCFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AFD00 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFD04 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AFD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFD0C */ /* nop */
|
|
/* 021AFD10 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 021AFD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021AFD14 */ cpu->lr = cpu->r[0];
|
|
/* 021AFD18 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AFD1C */ return;
|
|
L_021AFD20: ; // 0x21afd20
|
|
/* 021AFD20 */ _t22 = cpu->r[30] + 0xFFFF9A68u;
|
|
/* 021AFD20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AFD24 */ Gambit_fn_028AA2C0(cpu);
|
|
/* 021AFD28 */ /* nop */
|
|
/* 021AFD2C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 021AFD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AFD30 */ cpu->lr = cpu->r[0];
|
|
/* 021AFD34 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021AFD38 */ return;
|
|
}
|
|
|
|
// fn_021AFD48 @ 0x21afd48
|
|
void Gambit_fn_021AFD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021AFD48: ; // 0x21afd48
|
|
/* 021AFD48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AFD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFD48 */ cpu->r[1] = _t0;
|
|
/* 021AFD4C */ _t1 = cpu->r[12] + 0xFFFF99BCu;
|
|
/* 021AFD4C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 021AFD50 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFD54 */ _t2 = cpu->r[3] + 0x00000028u;
|
|
/* 021AFD54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFD58 */ _t3 = cpu->r[12] + 0x00000E7Eu;
|
|
/* 021AFD58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021AFD5C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFD5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFD60 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFD60 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 021AFD64 */ _t6 = cpu->r[11] + 0x0000003Cu;
|
|
/* 021AFD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AFD68 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFD70 */ cpu->r[5] = 0x00000001u;
|
|
/* 021AFD74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFD78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021AFD7C */ _t7 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AFD7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFD80 */ _t8 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021AFD80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFD84 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AFD88 */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 021AFD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AFD8C */ cpu->ctr = cpu->r[0];
|
|
/* 021AFD90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFD94 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AFD98 */ cpu->lr = cpu->r[0];
|
|
/* 021AFD9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFDA0 */ return;
|
|
}
|
|
|
|
// fn_021AFDB0 @ 0x21afdb0
|
|
void Gambit_fn_021AFDB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021AFDB0: ; // 0x21afdb0
|
|
/* 021AFDB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AFDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFDB0 */ cpu->r[1] = _t0;
|
|
/* 021AFDB4 */ _t1 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AFDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021AFDB8 */ _t2 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021AFDB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFDBC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFDBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFDC0 */ _t4 = cpu->r[12] + 0x00000034u;
|
|
/* 021AFDC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFDC4 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFDC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFDCC */ cpu->r[3] = 0x00000006u;
|
|
/* 021AFDD0 */ Gambit_fn_02C31D94(cpu);
|
|
/* 021AFDD4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFDD8 */ cpu->lr = cpu->r[0];
|
|
/* 021AFDDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFDE0 */ return;
|
|
}
|
|
|
|
// fn_021AFDF0 @ 0x21afdf0
|
|
void Gambit_fn_021AFDF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021AFDF0: ; // 0x21afdf0
|
|
/* 021AFDF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AFDF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFDF0 */ cpu->r[1] = _t0;
|
|
/* 021AFDF4 */ _t1 = cpu->r[12] + 0xFFFF99BCu;
|
|
/* 021AFDF4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 021AFDF8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFDFC */ _t2 = cpu->r[3] + 0x00000028u;
|
|
/* 021AFDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFE00 */ _t3 = cpu->r[12] + 0x00000E7Eu;
|
|
/* 021AFE00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021AFE04 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFE04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFE08 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFE08 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 021AFE0C */ _t6 = cpu->r[11] + 0x0000003Cu;
|
|
/* 021AFE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AFE10 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFE14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFE18 */ cpu->r[5] = 0x00000000u;
|
|
/* 021AFE1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFE20 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFE24 */ cpu->lr = cpu->r[0];
|
|
/* 021AFE28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AFE2C */ return;
|
|
}
|
|
|
|
// fn_021AFE30 @ 0x21afe30
|
|
void Gambit_fn_021AFE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AFE30: ; // 0x21afe30
|
|
/* 021AFE30 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021AFE30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFE30 */ cpu->r[1] = _t0;
|
|
/* 021AFE34 */ /* nop */
|
|
/* 021AFE38 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFE3C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AFE3C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AFE40 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AFE44 */ _t2 = cpu->r[29] + 0x00000040u;
|
|
/* 021AFE44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021AFE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AFE4C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFE4C */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AFE4C */ if (_t4) goto L_021AFE50; else goto L_021AFEB0;
|
|
L_021AFE50: ; // 0x21afe50
|
|
/* 021AFE50 */ cpu->r[31] = 0x00000000u;
|
|
/* 021AFE54 */ cpu->r[27] = 0x101E0000u;
|
|
/* 021AFE58 */ cpu->r[25] = cpu->r[31];
|
|
/* 021AFE5C */ cpu->r[27] = cpu->r[27] + 0x00000E80u;
|
|
/* 021AFE60 */ cpu->r[26] = 0x101D0000u;
|
|
/* 021AFE64 */ cpu->r[30] = 0x0000000Au;
|
|
L_021AFE68: ; // 0x21afe68
|
|
/* 021AFE68 */ _t5 = cpu->r[26] + 0xFFFF9ACCu;
|
|
/* 021AFE68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFE6C */ cpu->r[4] = cpu->r[27] + cpu->r[31];
|
|
/* 021AFE70 */ Gambit_fn_028DBAB0(cpu);
|
|
/* 021AFE74 */ cpu->r[28] = cpu->r[3];
|
|
/* 021AFE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021AFE78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFE78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AFE78 */ if (_t7) goto L_021AFE98; else goto L_021AFE7C;
|
|
L_021AFE7C: ; // 0x21afe7c
|
|
/* 021AFE7C */ cpu->r[3] = cpu->r[28];
|
|
/* 021AFE80 */ Gambit_fn_028DB6F4(cpu);
|
|
/* 021AFE84 */ cpu->r[12] = cpu->r[25] + 0x10030000u;
|
|
/* 021AFE88 */ _t8 = cpu->r[12] + 0xFFFF98D8u;
|
|
/* 021AFE88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021AFE8C */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 021AFE90 */ cpu->r[3] = cpu->r[28];
|
|
/* 021AFE94 */ Gambit_fn_028DB6DC(cpu);
|
|
L_021AFE98: ; // 0x21afe98
|
|
/* 021AFE98 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021AFE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AFE9C */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 021AFEA0 */ cpu->r[31] = cpu->r[31] + 0x00000008u;
|
|
/* 021AFEA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFEA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AFEA4 */ if (_t10) goto L_021AFEA8; else goto L_021AFE68;
|
|
L_021AFEA8: ; // 0x21afea8
|
|
/* 021AFEA8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021AFEAC */ _t11 = cpu->r[29] + 0x00000040u;
|
|
/* 021AFEAC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_021AFEB0: ; // 0x21afeb0
|
|
/* 021AFEB0 */ /* nop */
|
|
/* 021AFEB4 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AFEB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AFEB8 */ cpu->lr = cpu->r[0];
|
|
/* 021AFEBC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021AFEC0 */ return;
|
|
}
|
|
|
|
// fn_021AFEC4 @ 0x21afec4
|
|
void Gambit_fn_021AFEC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021AFEC4: ; // 0x21afec4
|
|
/* 021AFEC4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021AFEC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFEC4 */ cpu->r[1] = _t0;
|
|
/* 021AFEC8 */ /* nop */
|
|
/* 021AFECC */ cpu->r[0] = cpu->lr;
|
|
/* 021AFED0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AFED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AFED4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021AFED8 */ _t2 = cpu->r[28] + 0x00000040u;
|
|
/* 021AFED8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021AFEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021AFEE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFEE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AFEE0 */ if (_t4) goto L_021AFF4C; else goto L_021AFEE4;
|
|
L_021AFEE4: ; // 0x21afee4
|
|
/* 021AFEE4 */ cpu->r[27] = 0x00000000u;
|
|
/* 021AFEE8 */ cpu->r[26] = 0x101E0000u;
|
|
/* 021AFEEC */ cpu->r[31] = cpu->r[27];
|
|
/* 021AFEF0 */ cpu->r[26] = cpu->r[26] + 0x00000E80u;
|
|
/* 021AFEF4 */ cpu->r[25] = 0x101D0000u;
|
|
/* 021AFEF8 */ cpu->r[30] = 0x0000000Au;
|
|
L_021AFEFC: ; // 0x21afefc
|
|
/* 021AFEFC */ _t5 = cpu->r[25] + 0xFFFF9ACCu;
|
|
/* 021AFEFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFF00 */ cpu->r[4] = cpu->r[26] + cpu->r[31];
|
|
/* 021AFF04 */ Gambit_fn_028DBAB0(cpu);
|
|
/* 021AFF08 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AFF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021AFF0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFF0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021AFF0C */ if (_t7) goto L_021AFF34; else goto L_021AFF10;
|
|
L_021AFF10: ; // 0x21aff10
|
|
/* 021AFF10 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AFF14 */ Gambit_fn_028DB6F4(cpu);
|
|
/* 021AFF18 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFF1C */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AFF20 */ cpu->r[0] = cpu->r[0] + 0xFFFF98D8u;
|
|
/* 021AFF24 */ _t8 = cpu->r[11] + cpu->r[0];
|
|
/* 021AFF24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFF28 */ cpu->f[1] = cpu->f[1] / cpu->f[0];
|
|
/* 021AFF2C */ cpu->r[3] = cpu->r[29];
|
|
/* 021AFF30 */ Gambit_fn_028DB6DC(cpu);
|
|
L_021AFF34: ; // 0x21aff34
|
|
/* 021AFF34 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021AFF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021AFF38 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 021AFF3C */ cpu->r[31] = cpu->r[31] + 0x00000008u;
|
|
/* 021AFF40 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AFF40 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021AFF40 */ if (_t10) goto L_021AFF44; else goto L_021AFEFC;
|
|
L_021AFF44: ; // 0x21aff44
|
|
/* 021AFF44 */ cpu->r[0] = 0x00000000u;
|
|
/* 021AFF48 */ _t11 = cpu->r[28] + 0x00000040u;
|
|
/* 021AFF48 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_021AFF4C: ; // 0x21aff4c
|
|
/* 021AFF4C */ /* nop */
|
|
/* 021AFF50 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021AFF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AFF54 */ cpu->lr = cpu->r[0];
|
|
/* 021AFF58 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021AFF5C */ return;
|
|
}
|
|
|
|
// fn_021AFF60 @ 0x21aff60
|
|
void Gambit_fn_021AFF60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021AFF60: ; // 0x21aff60
|
|
/* 021AFF60 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFF64 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021AFF68 */ cpu->r[9] = 0x10030000u;
|
|
/* 021AFF6C */ cpu->r[11] = 0x101E0000u;
|
|
/* 021AFF70 */ cpu->r[8] = cpu->r[8] + 0x00000E80u;
|
|
/* 021AFF74 */ cpu->r[9] = cpu->r[9] + 0xFFFF9810u;
|
|
/* 021AFF78 */ cpu->r[12] = 0x00000001u;
|
|
/* 021AFF7C */ cpu->r[10] = 0x101E0000u;
|
|
/* 021AFF80 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021AFF80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021AFF84 */ cpu->r[0] = 0x00000002u;
|
|
/* 021AFF88 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AFF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021AFF88 */ cpu->r[1] = _t1;
|
|
/* 021AFF8C */ _t2 = cpu->r[10] + 0x00000E7Cu;
|
|
/* 021AFF8C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[12]);
|
|
/* 021AFF90 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFF94 */ cpu->r[10] = 0x00000004u;
|
|
/* 021AFF98 */ _t3 = cpu->r[12] + 0x00000E7Du;
|
|
/* 021AFF98 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021AFF9C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFFA0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFFA4 */ cpu->r[12] = cpu->r[12] + 0x00000ED0u;
|
|
/* 021AFFA8 */ _t4 = cpu->r[11] + 0x00000E7Eu;
|
|
/* 021AFFA8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[10]);
|
|
/* 021AFFAC */ cpu->r[0] = cpu->r[0] + 0xFFFF99FCu;
|
|
/* 021AFFB0 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 021AFFB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 021AFFB4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021AFFB8 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 021AFFB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021AFFBC */ cpu->r[12] = 0x10030000u;
|
|
/* 021AFFC0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AFFC4 */ _t7 = cpu->r[8] + 0x00000004u;
|
|
/* 021AFFC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 021AFFC8 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A78u;
|
|
/* 021AFFCC */ cpu->r[11] = cpu->r[11] + 0xFFFF9A54u;
|
|
/* 021AFFD0 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 021AFFD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 021AFFD4 */ cpu->r[10] = cpu->r[10] + 0x00000ED8u;
|
|
/* 021AFFD8 */ _t9 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021AFFD8 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 021AFFDC */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFFE0 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 021AFFE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 021AFFE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9A1Cu;
|
|
/* 021AFFE8 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 021AFFE8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021AFFEC */ cpu->r[10] = 0x10030000u;
|
|
/* 021AFFF0 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 021AFFF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 021AFFF4 */ cpu->r[10] = cpu->r[10] + 0xFFFF9A38u;
|
|
/* 021AFFF8 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 021AFFF8 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 021AFFFC */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0000 */ _t14 = cpu->r[8] + 0x00000010u;
|
|
/* 021B0000 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 021B0004 */ cpu->r[11] = cpu->r[11] + 0xFFFF99E8u;
|
|
/* 021B0008 */ _t15 = cpu->r[8] + 0x0000001Cu;
|
|
/* 021B0008 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 021B000C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0010 */ _t16 = cpu->r[8] + 0x00000018u;
|
|
/* 021B0010 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 021B0014 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A90u;
|
|
/* 021B0018 */ _t17 = cpu->r[8] + 0x00000024u;
|
|
/* 021B0018 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 021B001C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0020 */ _t18 = cpu->r[8] + 0x00000020u;
|
|
/* 021B0020 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 021B0024 */ cpu->r[0] = cpu->r[0] + 0xFFFF99C0u;
|
|
/* 021B0028 */ _t19 = cpu->r[8] + 0x0000002Cu;
|
|
/* 021B0028 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 021B002C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B0030 */ _t20 = cpu->r[8] + 0x00000028u;
|
|
/* 021B0030 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 021B0034 */ cpu->r[10] = cpu->r[10] + 0xFFFF9AA8u;
|
|
/* 021B0038 */ _t21 = cpu->r[8] + 0x00000034u;
|
|
/* 021B0038 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 021B003C */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0040 */ _t22 = cpu->r[8] + 0x00000030u;
|
|
/* 021B0040 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 021B0044 */ cpu->r[11] = cpu->r[11] + 0xFFFF99D8u;
|
|
/* 021B0048 */ _t23 = cpu->r[8] + 0x0000003Cu;
|
|
/* 021B0048 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 021B004C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0050 */ _t24 = cpu->r[8] + 0x00000038u;
|
|
/* 021B0050 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 021B0054 */ cpu->r[12] = cpu->r[12] + 0xFFFF9AC0u;
|
|
/* 021B0058 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B005C */ _t25 = cpu->r[8] + 0x00000044u;
|
|
/* 021B005C */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 021B0060 */ cpu->r[0] = cpu->r[0] + 0xFFFF9AD4u;
|
|
/* 021B0064 */ _t26 = cpu->r[8] + 0x00000040u;
|
|
/* 021B0064 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 021B0068 */ cpu->r[3] = 0x101E0000u;
|
|
/* 021B006C */ _t27 = cpu->r[8] + 0x0000004Cu;
|
|
/* 021B006C */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 021B0070 */ cpu->r[3] = cpu->r[3] + 0x00000EE0u;
|
|
/* 021B0074 */ _t28 = cpu->r[8] + 0x00000048u;
|
|
/* 021B0074 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021B0078 */ Gambit_fn_021AEDE0(cpu);
|
|
/* 021B007C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B0080 */ cpu->r[3] = cpu->r[3] + 0x00004D28u;
|
|
/* 021B0084 */ Gambit_fn_02C83090(cpu);
|
|
/* 021B0088 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B008C */ cpu->lr = cpu->r[0];
|
|
/* 021B0090 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0094 */ return;
|
|
}
|
|
|
|
// fn_021AFF88 @ 0x21aff88
|
|
void Gambit_fn_021AFF88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_021AFF88: ; // 0x21aff88
|
|
/* 021AFF88 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AFF88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AFF88 */ cpu->r[1] = _t0;
|
|
/* 021AFF8C */ _t1 = cpu->r[10] + 0x00000E7Cu;
|
|
/* 021AFF8C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 021AFF90 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFF94 */ cpu->r[10] = 0x00000004u;
|
|
/* 021AFF98 */ _t2 = cpu->r[12] + 0x00000E7Du;
|
|
/* 021AFF98 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 021AFF9C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFFA0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFFA4 */ cpu->r[12] = cpu->r[12] + 0x00000ED0u;
|
|
/* 021AFFA8 */ _t3 = cpu->r[11] + 0x00000E7Eu;
|
|
/* 021AFFA8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 021AFFAC */ cpu->r[0] = cpu->r[0] + 0xFFFF99FCu;
|
|
/* 021AFFB0 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 021AFFB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021AFFB4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021AFFB8 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 021AFFB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021AFFBC */ cpu->r[12] = 0x10030000u;
|
|
/* 021AFFC0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021AFFC4 */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 021AFFC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 021AFFC8 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A78u;
|
|
/* 021AFFCC */ cpu->r[11] = cpu->r[11] + 0xFFFF9A54u;
|
|
/* 021AFFD0 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 021AFFD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021AFFD4 */ cpu->r[10] = cpu->r[10] + 0x00000ED8u;
|
|
/* 021AFFD8 */ _t8 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021AFFD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 021AFFDC */ cpu->r[0] = 0x10030000u;
|
|
/* 021AFFE0 */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 021AFFE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 021AFFE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9A1Cu;
|
|
/* 021AFFE8 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 021AFFE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021AFFEC */ cpu->r[10] = 0x10030000u;
|
|
/* 021AFFF0 */ _t11 = cpu->r[8] + 0x00000008u;
|
|
/* 021AFFF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021AFFF4 */ cpu->r[10] = cpu->r[10] + 0xFFFF9A38u;
|
|
/* 021AFFF8 */ _t12 = cpu->r[8] + 0x00000014u;
|
|
/* 021AFFF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 021AFFFC */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0000 */ _t13 = cpu->r[8] + 0x00000010u;
|
|
/* 021B0000 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 021B0004 */ cpu->r[11] = cpu->r[11] + 0xFFFF99E8u;
|
|
/* 021B0008 */ _t14 = cpu->r[8] + 0x0000001Cu;
|
|
/* 021B0008 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 021B000C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0010 */ _t15 = cpu->r[8] + 0x00000018u;
|
|
/* 021B0010 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 021B0014 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A90u;
|
|
/* 021B0018 */ _t16 = cpu->r[8] + 0x00000024u;
|
|
/* 021B0018 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 021B001C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0020 */ _t17 = cpu->r[8] + 0x00000020u;
|
|
/* 021B0020 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 021B0024 */ cpu->r[0] = cpu->r[0] + 0xFFFF99C0u;
|
|
/* 021B0028 */ _t18 = cpu->r[8] + 0x0000002Cu;
|
|
/* 021B0028 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 021B002C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B0030 */ _t19 = cpu->r[8] + 0x00000028u;
|
|
/* 021B0030 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 021B0034 */ cpu->r[10] = cpu->r[10] + 0xFFFF9AA8u;
|
|
/* 021B0038 */ _t20 = cpu->r[8] + 0x00000034u;
|
|
/* 021B0038 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 021B003C */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0040 */ _t21 = cpu->r[8] + 0x00000030u;
|
|
/* 021B0040 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 021B0044 */ cpu->r[11] = cpu->r[11] + 0xFFFF99D8u;
|
|
/* 021B0048 */ _t22 = cpu->r[8] + 0x0000003Cu;
|
|
/* 021B0048 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 021B004C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0050 */ _t23 = cpu->r[8] + 0x00000038u;
|
|
/* 021B0050 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 021B0054 */ cpu->r[12] = cpu->r[12] + 0xFFFF9AC0u;
|
|
/* 021B0058 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B005C */ _t24 = cpu->r[8] + 0x00000044u;
|
|
/* 021B005C */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 021B0060 */ cpu->r[0] = cpu->r[0] + 0xFFFF9AD4u;
|
|
/* 021B0064 */ _t25 = cpu->r[8] + 0x00000040u;
|
|
/* 021B0064 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 021B0068 */ cpu->r[3] = 0x101E0000u;
|
|
/* 021B006C */ _t26 = cpu->r[8] + 0x0000004Cu;
|
|
/* 021B006C */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 021B0070 */ cpu->r[3] = cpu->r[3] + 0x00000EE0u;
|
|
/* 021B0074 */ _t27 = cpu->r[8] + 0x00000048u;
|
|
/* 021B0074 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 021B0078 */ Gambit_fn_021AEDE0(cpu);
|
|
/* 021B007C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B0080 */ cpu->r[3] = cpu->r[3] + 0x00004D28u;
|
|
/* 021B0084 */ Gambit_fn_02C83090(cpu);
|
|
/* 021B0088 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B008C */ cpu->lr = cpu->r[0];
|
|
/* 021B0090 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0094 */ return;
|
|
}
|
|
|
|
// fn_021B0098 @ 0x21b0098
|
|
void Gambit_fn_021B0098(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_021B0098: ; // 0x21b0098
|
|
/* 021B0098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B009C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B009C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B009C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B009C */ goto L_021B00A0;
|
|
L_021B00A0: ; // 0x21b00a0
|
|
/* 021B00A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B00A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B00A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B00A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00A4 */ goto L_021B00A8;
|
|
L_021B00A8: ; // 0x21b00a8
|
|
/* 021B00A8 */ 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_021B00AC @ 0x21b00ac
|
|
void Gambit_fn_021B00AC(CPUState* cpu) {
|
|
L_021B00AC: ; // 0x21b00ac
|
|
/* 021B00AC */ return;
|
|
}
|
|
|
|
// fn_021B00B0 @ 0x21b00b0
|
|
void Gambit_fn_021B00B0(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_021B00B0: ; // 0x21b00b0
|
|
/* 021B00B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B00B4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00B4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B00B4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00B4 */ goto L_021B00B8;
|
|
L_021B00B8: ; // 0x21b00b8
|
|
/* 021B00B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B00B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B00BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00BC */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B00BC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00BC */ goto L_021B00C0;
|
|
L_021B00C0: ; // 0x21b00c0
|
|
/* 021B00C0 */ 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_021B00C4 @ 0x21b00c4
|
|
void Gambit_fn_021B00C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B00C4: ; // 0x21b00c4
|
|
/* 021B00C4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B00C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B00C8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021B00C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B00CC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021B00D0 */ cpu->r[11] = 0x10110000u;
|
|
/* 021B00D4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021B00D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B00D8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B00D8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021B00DC */ return;
|
|
}
|
|
|
|
// fn_021B00E0 @ 0x21b00e0
|
|
void Gambit_fn_021B00E0(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_021B00E0: ; // 0x21b00e0
|
|
/* 021B00E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B00E4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B00E4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00E4 */ goto L_021B00E8;
|
|
L_021B00E8: ; // 0x21b00e8
|
|
/* 021B00E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B00E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B00EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B00EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00EC */ goto L_021B00F0;
|
|
L_021B00F0: ; // 0x21b00f0
|
|
/* 021B00F0 */ 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_021B00F4 @ 0x21b00f4
|
|
void Gambit_fn_021B00F4(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_021B00F4: ; // 0x21b00f4
|
|
/* 021B00F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B00F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B00F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B00F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B00F8 */ goto L_021B00FC;
|
|
L_021B00FC: ; // 0x21b00fc
|
|
/* 021B00FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B00FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B0100 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0100 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B0100 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B0100 */ goto L_021B0104;
|
|
L_021B0104: ; // 0x21b0104
|
|
/* 021B0104 */ 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_021B0108 @ 0x21b0108
|
|
void Gambit_fn_021B0108(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_021B0108: ; // 0x21b0108
|
|
/* 021B0108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B010C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B010C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B010C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B010C */ goto L_021B0110;
|
|
L_021B0110: ; // 0x21b0110
|
|
/* 021B0110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B0110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B0114 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0114 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B0114 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B0114 */ goto L_021B0118;
|
|
L_021B0118: ; // 0x21b0118
|
|
/* 021B0118 */ 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_021B011C @ 0x21b011c
|
|
void Gambit_fn_021B011C(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_021B011C: ; // 0x21b011c
|
|
/* 021B011C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0120 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0120 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B0120 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B0120 */ goto L_021B0124;
|
|
L_021B0124: ; // 0x21b0124
|
|
/* 021B0124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B0124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B0128 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0128 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B0128 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B0128 */ goto L_021B012C;
|
|
L_021B012C: ; // 0x21b012c
|
|
/* 021B012C */ 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_021B0130 @ 0x21b0130
|
|
void Gambit_fn_021B0130(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_021B0130: ; // 0x21b0130
|
|
/* 021B0130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0134 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0134 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B0134 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B0134 */ goto L_021B0138;
|
|
L_021B0138: ; // 0x21b0138
|
|
/* 021B0138 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B0138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B013C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B013C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B013C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B013C */ goto L_021B0140;
|
|
L_021B0140: ; // 0x21b0140
|
|
/* 021B0140 */ 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_021B0144 @ 0x21b0144
|
|
void Gambit_fn_021B0144(CPUState* cpu) {
|
|
L_021B0144: ; // 0x21b0144
|
|
/* 021B0144 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B0148 */ return;
|
|
}
|
|
|
|
// fn_021B0154 @ 0x21b0154
|
|
void Gambit_fn_021B0154(CPUState* cpu) {
|
|
L_021B0154: ; // 0x21b0154
|
|
/* 021B0154 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B0158 */ return;
|
|
}
|
|
|
|
// fn_021B015C @ 0x21b015c
|
|
void Gambit_fn_021B015C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021B015C: ; // 0x21b015c
|
|
/* 021B015C */ cpu->r[0] = cpu->lr;
|
|
/* 021B0160 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B0160 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B0164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0168 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B0168 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B0168 */ cpu->r[1] = _t1;
|
|
/* 021B016C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B016C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B016C */ if (_t3) goto L_021B0170; else goto L_021B0180;
|
|
L_021B0170: ; // 0x21b0170
|
|
/* 021B0170 */ cpu->r[3] = 0x00000014u;
|
|
/* 021B0174 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B017C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B017C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B017C */ if (_t5) goto L_021B01AC; else goto L_021B0180;
|
|
L_021B0180: ; // 0x21b0180
|
|
/* 021B0180 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0184 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0188 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B08u;
|
|
/* 021B018C */ _t6 = cpu->r[12] + 0xFFFF9B18u;
|
|
/* 021B018C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B0190 */ cpu->r[12] = 0x00000000u;
|
|
/* 021B0194 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 021B0194 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B0198 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B019C */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 021B019C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 021B01A0 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B01A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021B01A4 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 021B01A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 021B01A8 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 021B01A8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_021B01AC: ; // 0x21b01ac
|
|
/* 021B01AC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B01AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B01B0 */ cpu->lr = cpu->r[0];
|
|
/* 021B01B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B01B8 */ return;
|
|
}
|
|
|
|
// fn_021B0168 @ 0x21b0168
|
|
void Gambit_fn_021B0168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021B0168: ; // 0x21b0168
|
|
/* 021B0168 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B0168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0168 */ cpu->r[1] = _t0;
|
|
/* 021B016C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B016C */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B016C */ if (_t2) goto L_021B0170; else goto L_021B0180;
|
|
L_021B0170: ; // 0x21b0170
|
|
/* 021B0170 */ cpu->r[3] = 0x00000014u;
|
|
/* 021B0174 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B017C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B017C */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B017C */ if (_t4) goto L_021B01AC; else goto L_021B0180;
|
|
L_021B0180: ; // 0x21b0180
|
|
/* 021B0180 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0184 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0188 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B08u;
|
|
/* 021B018C */ _t5 = cpu->r[12] + 0xFFFF9B18u;
|
|
/* 021B018C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B0190 */ cpu->r[12] = 0x00000000u;
|
|
/* 021B0194 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021B0194 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B0198 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B019C */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 021B019C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 021B01A0 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B01A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021B01A4 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 021B01A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B01A8 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 021B01A8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
L_021B01AC: ; // 0x21b01ac
|
|
/* 021B01AC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B01AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B01B0 */ cpu->lr = cpu->r[0];
|
|
/* 021B01B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B01B8 */ return;
|
|
}
|
|
|
|
// fn_021B01BC @ 0x21b01bc
|
|
void Gambit_fn_021B01BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B01BC: ; // 0x21b01bc
|
|
/* 021B01BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021B01BC */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 021B01C0 */ return;
|
|
}
|
|
|
|
// fn_021B01C4 @ 0x21b01c4
|
|
void Gambit_fn_021B01C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021B01C4: ; // 0x21b01c4
|
|
/* 021B01C4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 021B01C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021B01C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 021B01CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B01CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B01CC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B01CC */ goto L_021B01D0;
|
|
L_021B01D0: ; // 0x21b01d0
|
|
/* 021B01D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 021B01D4 */ /* nop */
|
|
/* 021B01D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B01DC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 021B01DC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 021B01E0 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 021B01E4 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B01E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 021B01E8 */ return;
|
|
}
|
|
|
|
// fn_021B01EC @ 0x21b01ec
|
|
void Gambit_fn_021B01EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021B01EC: ; // 0x21b01ec
|
|
/* 021B01EC */ cpu->r[0] = cpu->lr;
|
|
/* 021B01F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B01F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B01F0 */ cpu->r[1] = _t0;
|
|
/* 021B01F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B01F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B01F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B01FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B01FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B0200 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0200 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0204 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 021B0204 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021B0208 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B020C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B0210 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0210 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B0210 */ if (_t6) goto L_021B0224; else goto L_021B0214;
|
|
L_021B0214: ; // 0x21b0214
|
|
/* 021B0214 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B0214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B0218 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B021C */ Gambit_fn_0219806C(cpu);
|
|
/* 021B0220 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 021B0220 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
L_021B0224: ; // 0x21b0224
|
|
/* 021B0224 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B0228 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B022C */ cpu->lr = cpu->r[0];
|
|
/* 021B0230 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B0234 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B0238 */ return;
|
|
}
|
|
|
|
// fn_021B01F0 @ 0x21b01f0
|
|
void Gambit_fn_021B01F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021B01F0: ; // 0x21b01f0
|
|
/* 021B01F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B01F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B01F0 */ cpu->r[1] = _t0;
|
|
/* 021B01F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B01F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B01F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B01FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B01FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B0200 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0200 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0204 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 021B0204 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021B0208 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B020C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B0210 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0210 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B0210 */ if (_t6) goto L_021B0224; else goto L_021B0214;
|
|
L_021B0214: ; // 0x21b0214
|
|
/* 021B0214 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B0214 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B0218 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B021C */ Gambit_fn_0219806C(cpu);
|
|
/* 021B0220 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 021B0220 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
L_021B0224: ; // 0x21b0224
|
|
/* 021B0224 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B0228 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B022C */ cpu->lr = cpu->r[0];
|
|
/* 021B0230 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B0234 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B0238 */ return;
|
|
}
|
|
|
|
// fn_021B023C @ 0x21b023c
|
|
void Gambit_fn_021B023C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188;
|
|
|
|
L_021B023C: ; // 0x21b023c
|
|
/* 021B023C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 021B023C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B023C */ cpu->r[1] = _t0;
|
|
/* 021B0240 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021B0240 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B0244 */ /* nop */
|
|
/* 021B0248 */ cpu->r[0] = cpu->lr;
|
|
/* 021B024C */ /* nop */
|
|
/* 021B0250 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 021B0250 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B0254 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B0258 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 021B0258 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B025C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B025C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B025C */ if (_t5) goto L_021B0260; else goto L_021B0270;
|
|
L_021B0260: ; // 0x21b0260
|
|
/* 021B0260 */ cpu->r[3] = 0x00000348u;
|
|
/* 021B0264 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0268 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B026C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B026C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B026C */ if (_t7) goto L_021B06B0; else goto L_021B0270;
|
|
L_021B0270: ; // 0x21b0270
|
|
/* 021B0270 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B0274 */ cpu->r[28] = 0x10030000u;
|
|
/* 021B0278 */ cpu->r[8] = cpu->r[8] + 0xFFFF9BE0u;
|
|
/* 021B027C */ cpu->r[27] = 0x00000000u;
|
|
/* 021B0280 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021B0280 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 021B0284 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B0288 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 021B0288 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 021B028C */ cpu->r[29] = 0x10030000u;
|
|
/* 021B0290 */ cpu->r[26] = 0x10110000u;
|
|
/* 021B0294 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0298 */ cpu->r[29] = cpu->r[29] + 0xFFFF9B80u;
|
|
/* 021B029C */ cpu->r[19] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021B029C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 021B02A0 */ cpu->r[30] = 0x10030000u;
|
|
/* 021B02A4 */ _t10 = cpu->r[12] + 0xFFFF9C10u;
|
|
/* 021B02A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021B02A8 */ cpu->r[28] = cpu->r[28] + 0xFFFF9B98u;
|
|
/* 021B02AC */ cpu->r[30] = cpu->r[30] + 0xFFFF9B68u;
|
|
/* 021B02B0 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 021B02B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021B02B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B02B4 */ if (_t13) goto L_021B02B8; else goto L_021B02C8;
|
|
L_021B02B8: ; // 0x21b02b8
|
|
/* 021B02B8 */ cpu->r[3] = 0x000001A8u;
|
|
/* 021B02BC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B02C0 */ cpu->r[19] = cpu->r[3];
|
|
/* 021B02C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 021B02C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B02C4 */ if (_t15) goto L_021B04B8; else goto L_021B02C8;
|
|
L_021B02C8: ; // 0x21b02c8
|
|
/* 021B02C8 */ cpu->r[24] = cpu->r[19] + 0x00000004u;
|
|
/* 021B02C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B02CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B02CC */ if (_t17) goto L_021B02D0; else goto L_021B02F0;
|
|
L_021B02D0: ; // 0x21b02d0
|
|
/* 021B02D0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B02D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B02D8 */ cpu->r[24] = cpu->r[3];
|
|
/* 021B02D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B02DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B02DC */ if (_t19) goto L_021B02E0; else goto L_021B02F0;
|
|
L_021B02E0: ; // 0x21b02e0
|
|
/* 021B02E0 */ cpu->r[24] = cpu->r[19] + 0x00000090u;
|
|
/* 021B02E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B02E4 */ _t20 = cpu->r[26] + 0x00007399u;
|
|
/* 021B02E4 */ cpu->r[18] = rbrew_read8(cpu->mem, _t20);
|
|
/* 021B02E8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B02E8 */ if (_t22) goto L_021B0374; else goto L_021B02EC;
|
|
L_021B02EC: ; // 0x21b02ec
|
|
/* 021B02EC */ goto L_021B0384;
|
|
L_021B02F0: ; // 0x21b02f0
|
|
/* 021B02F0 */ cpu->r[25] = cpu->r[24];
|
|
/* 021B02F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B02F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B02F4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B02F4 */ if (_t24) goto L_021B02F8; else goto L_021B0314;
|
|
L_021B02F8: ; // 0x21b02f8
|
|
/* 021B02F8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B02FC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0300 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B0300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0304 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0304 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B0304 */ if (_t26) goto L_021B0308; else goto L_021B0314;
|
|
L_021B0308: ; // 0x21b0308
|
|
/* 021B0308 */ _t27 = cpu->r[26] + 0x00007399u;
|
|
/* 021B0308 */ cpu->r[18] = rbrew_read8(cpu->mem, _t27);
|
|
/* 021B030C */ _t28 = cpu->r[24] + 0x00000004u;
|
|
/* 021B030C */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 021B0310 */ goto L_021B036C;
|
|
L_021B0314: ; // 0x21b0314
|
|
/* 021B0314 */ cpu->r[3] = cpu->r[25];
|
|
/* 021B0314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0318 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0318 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B0318 */ if (_t30) goto L_021B031C; else goto L_021B0340;
|
|
L_021B031C: ; // 0x21b031c
|
|
/* 021B031C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B0320 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0328 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0328 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B0328 */ if (_t32) goto L_021B032C; else goto L_021B0340;
|
|
L_021B032C: ; // 0x21b032c
|
|
/* 021B032C */ _t33 = cpu->r[25] + 0x00000000u;
|
|
/* 021B032C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B0330 */ _t34 = cpu->r[26] + 0x00007399u;
|
|
/* 021B0330 */ cpu->r[18] = rbrew_read8(cpu->mem, _t34);
|
|
/* 021B0334 */ _t35 = cpu->r[25] + 0x00000004u;
|
|
/* 021B0334 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 021B0338 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0338 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[18]);
|
|
/* 021B033C */ goto L_021B0368;
|
|
L_021B0340: ; // 0x21b0340
|
|
/* 021B0340 */ cpu->r[10] = cpu->r[25] + 0x0000000Cu;
|
|
/* 021B0344 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 021B0344 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 021B0348 */ cpu->r[0] = 0x00000080u;
|
|
/* 021B034C */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 021B034C */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 021B0350 */ _t39 = cpu->r[3] + 0x00000008u;
|
|
/* 021B0350 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 021B0354 */ _t40 = cpu->r[26] + 0x00007399u;
|
|
/* 021B0354 */ cpu->r[18] = rbrew_read8(cpu->mem, _t40);
|
|
/* 021B0358 */ _t41 = cpu->r[25] + 0x00000004u;
|
|
/* 021B0358 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 021B035C */ _t42 = cpu->r[25] + 0x00000000u;
|
|
/* 021B035C */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B0360 */ _t43 = cpu->r[25] + 0x0000008Bu;
|
|
/* 021B0360 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[18]);
|
|
/* 021B0364 */ _t44 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0364 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[18]);
|
|
L_021B0368: ; // 0x21b0368
|
|
/* 021B0368 */ _t45 = cpu->r[24] + 0x00000004u;
|
|
/* 021B0368 */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
L_021B036C: ; // 0x21b036c
|
|
/* 021B036C */ cpu->r[24] = cpu->r[19] + 0x00000090u;
|
|
/* 021B036C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B0370 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0370 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B0370 */ if (_t47) goto L_021B0374; else goto L_021B0384;
|
|
L_021B0374: ; // 0x21b0374
|
|
/* 021B0374 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B0378 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B037C */ cpu->r[24] = cpu->r[3];
|
|
/* 021B037C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B0380 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0380 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021B0380 */ if (_t49) goto L_021B03DC; else goto L_021B0384;
|
|
L_021B0384: ; // 0x21b0384
|
|
/* 021B0384 */ cpu->r[25] = cpu->r[24];
|
|
/* 021B0384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0388 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0388 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B0388 */ if (_t51) goto L_021B038C; else goto L_021B039C;
|
|
L_021B038C: ; // 0x21b038c
|
|
/* 021B038C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B0390 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0394 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B0394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0398 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0398 */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B0398 */ if (_t53) goto L_021B03D8; else goto L_021B039C;
|
|
L_021B039C: ; // 0x21b039c
|
|
/* 021B039C */ cpu->r[3] = cpu->r[25];
|
|
/* 021B039C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B03A0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B03A0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B03A0 */ if (_t55) goto L_021B03A4; else goto L_021B03B4;
|
|
L_021B03A4: ; // 0x21b03a4
|
|
/* 021B03A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B03A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B03AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B03B0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B03B0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021B03B0 */ if (_t57) goto L_021B03CC; else goto L_021B03B4;
|
|
L_021B03B4: ; // 0x21b03b4
|
|
/* 021B03B4 */ cpu->r[5] = cpu->r[25] + 0x0000000Cu;
|
|
/* 021B03B8 */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 021B03B8 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
|
|
/* 021B03BC */ cpu->r[0] = 0x00000080u;
|
|
/* 021B03C0 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 021B03C0 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]);
|
|
/* 021B03C4 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 021B03C4 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 021B03C8 */ _t61 = cpu->r[25] + 0x0000008Bu;
|
|
/* 021B03C8 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[18]);
|
|
L_021B03CC: ; // 0x21b03cc
|
|
/* 021B03CC */ _t62 = cpu->r[25] + 0x00000000u;
|
|
/* 021B03CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021B03D0 */ _t63 = cpu->r[25] + 0x00000004u;
|
|
/* 021B03D0 */ rbrew_write32(cpu->mem, _t63, cpu->r[29]);
|
|
/* 021B03D4 */ _t64 = cpu->r[7] + 0x00000000u;
|
|
/* 021B03D4 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[18]);
|
|
L_021B03D8: ; // 0x21b03d8
|
|
/* 021B03D8 */ _t65 = cpu->r[24] + 0x00000004u;
|
|
/* 021B03D8 */ rbrew_write32(cpu->mem, _t65, cpu->r[28]);
|
|
L_021B03DC: ; // 0x21b03dc
|
|
/* 021B03DC */ cpu->r[20] = 0x101F0000u;
|
|
/* 021B03E0 */ cpu->r[25] = 0x101F0000u;
|
|
/* 021B03E4 */ cpu->r[3] = cpu->r[19] + 0x00000120u;
|
|
/* 021B03E8 */ cpu->r[9] = cpu->r[20] + 0x00006C2Cu;
|
|
/* 021B03EC */ cpu->r[24] = 0x101F0000u;
|
|
/* 021B03F0 */ cpu->r[4] = cpu->r[25] + 0x00006C18u;
|
|
/* 021B03F4 */ cpu->r[23] = 0x101F0000u;
|
|
/* 021B03F8 */ cpu->r[21] = 0x101F0000u;
|
|
/* 021B03FC */ cpu->r[22] = 0x101F0000u;
|
|
/* 021B0400 */ cpu->r[5] = cpu->r[24] + 0x00006C1Cu;
|
|
/* 021B0404 */ cpu->r[8] = cpu->r[21] + 0x00006C28u;
|
|
/* 021B0408 */ cpu->r[6] = cpu->r[23] + 0x00006C20u;
|
|
/* 021B040C */ cpu->r[7] = cpu->r[22] + 0x00006C24u;
|
|
/* 021B0410 */ _t66 = cpu->r[19] + 0x0000011Cu;
|
|
/* 021B0410 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 021B0414 */ Gambit_fn_0283801C(cpu);
|
|
/* 021B0418 */ cpu->r[3] = cpu->r[19] + 0x0000013Cu;
|
|
/* 021B041C */ cpu->r[4] = cpu->r[25] + 0x00006C18u;
|
|
/* 021B0420 */ cpu->r[5] = cpu->r[24] + 0x00006C1Cu;
|
|
/* 021B0424 */ cpu->r[6] = cpu->r[23] + 0x00006C20u;
|
|
/* 021B0428 */ cpu->r[7] = cpu->r[22] + 0x00006C24u;
|
|
/* 021B042C */ cpu->r[8] = cpu->r[21] + 0x00006C28u;
|
|
/* 021B0430 */ cpu->r[9] = cpu->r[20] + 0x00006C2Cu;
|
|
/* 021B0434 */ Gambit_fn_0283801C(cpu);
|
|
/* 021B0438 */ _t67 = cpu->r[19] + 0x00000004u;
|
|
/* 021B0438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021B043C */ _t68 = cpu->r[19] + 0x00000000u;
|
|
/* 021B043C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[27]);
|
|
/* 021B0440 */ _t69 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0440 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[18]);
|
|
/* 021B0444 */ _t70 = cpu->r[19] + 0x00000090u;
|
|
/* 021B0444 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B0448 */ _t71 = cpu->r[11] + 0x00000000u;
|
|
/* 021B0448 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[18]);
|
|
/* 021B044C */ _t72 = cpu->r[19] + 0x0000011Cu;
|
|
/* 021B044C */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021B0450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B0454 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0454 */ _t74 = _t73 & 0x00000001u;
|
|
/* 021B0454 */ if (_t74) goto L_021B0460; else goto L_021B0458;
|
|
L_021B0458: ; // 0x21b0458
|
|
/* 021B0458 */ _t75 = cpu->r[8] + 0x00000000u;
|
|
/* 021B0458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021B045C */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 021B045C */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[18]);
|
|
L_021B0460: ; // 0x21b0460
|
|
/* 021B0460 */ _t77 = cpu->r[19] + 0x00000158u;
|
|
/* 021B0460 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[31]);
|
|
/* 021B0464 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0468 */ _t78 = cpu->r[19] + 0x00000198u;
|
|
/* 021B0468 */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 021B046C */ _t79 = cpu->r[11] + 0xFFFF9C14u;
|
|
/* 021B046C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 021B0470 */ _t80 = cpu->r[19] + 0x000001A4u;
|
|
/* 021B0470 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[31]);
|
|
/* 021B0474 */ _t81 = cpu->r[19] + 0x0000016Cu;
|
|
/* 021B0474 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 021B0478 */ _t82 = cpu->r[19] + 0x00000170u;
|
|
/* 021B0478 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[11]);
|
|
/* 021B047C */ _t83 = cpu->r[19] + 0x00000168u;
|
|
/* 021B047C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[11]);
|
|
/* 021B0480 */ _t84 = cpu->r[19] + 0x00000160u;
|
|
/* 021B0480 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
/* 021B0484 */ _t85 = cpu->r[19] + 0x00000190u;
|
|
/* 021B0484 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[11]);
|
|
/* 021B0488 */ _t86 = cpu->r[19] + 0x0000015Cu;
|
|
/* 021B0488 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 021B048C */ _t87 = cpu->r[19] + 0x00000184u;
|
|
/* 021B048C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[11]);
|
|
/* 021B0490 */ _t88 = cpu->r[19] + 0x00000164u;
|
|
/* 021B0490 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[11]);
|
|
/* 021B0494 */ _t89 = cpu->r[19] + 0x00000180u;
|
|
/* 021B0494 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
/* 021B0498 */ _t90 = cpu->r[19] + 0x00000178u;
|
|
/* 021B0498 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[11]);
|
|
/* 021B049C */ _t91 = cpu->r[19] + 0x0000018Cu;
|
|
/* 021B049C */ rbrew_write_f32(cpu->mem, _t91, cpu->f[11]);
|
|
/* 021B04A0 */ _t92 = cpu->r[19] + 0x00000194u;
|
|
/* 021B04A0 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[11]);
|
|
/* 021B04A4 */ _t93 = cpu->r[19] + 0x00000188u;
|
|
/* 021B04A4 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[11]);
|
|
/* 021B04A8 */ _t94 = cpu->r[19] + 0x0000017Cu;
|
|
/* 021B04A8 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[11]);
|
|
/* 021B04AC */ _t95 = cpu->r[19] + 0x00000174u;
|
|
/* 021B04AC */ rbrew_write_f32(cpu->mem, _t95, cpu->f[11]);
|
|
/* 021B04B0 */ _t96 = cpu->r[19] + 0x000001A0u;
|
|
/* 021B04B0 */ rbrew_write32(cpu->mem, _t96, cpu->r[27]);
|
|
/* 021B04B4 */ _t97 = cpu->r[19] + 0x0000019Cu;
|
|
/* 021B04B4 */ rbrew_write32(cpu->mem, _t97, cpu->r[27]);
|
|
L_021B04B8: ; // 0x21b04b8
|
|
/* 021B04B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B04BC */ cpu->r[3] = cpu->r[31] + 0x000001C8u;
|
|
/* 021B04C0 */ cpu->r[5] = cpu->r[6];
|
|
/* 021B04C4 */ Gambit_fn_02838654(cpu);
|
|
/* 021B04C8 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021B04CC */ cpu->r[6] = 0x00000000u;
|
|
/* 021B04D0 */ _t98 = cpu->r[31] + 0x000001D0u;
|
|
/* 021B04D0 */ rbrew_write32(cpu->mem, _t98, cpu->r[3]);
|
|
/* 021B04D4 */ cpu->r[3] = cpu->r[31] + 0x000001D8u;
|
|
/* 021B04D8 */ cpu->r[5] = cpu->r[6];
|
|
/* 021B04DC */ _t99 = cpu->r[31] + 0x000001D4u;
|
|
/* 021B04DC */ rbrew_write32(cpu->mem, _t99, cpu->r[4]);
|
|
/* 021B04E0 */ Gambit_fn_02838654(cpu);
|
|
/* 021B04E4 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B04E8 */ _t100 = cpu->r[31] + 0x000001E4u;
|
|
/* 021B04E8 */ rbrew_write32(cpu->mem, _t100, cpu->r[27]);
|
|
/* 021B04EC */ _t101 = cpu->r[10] + 0xFFFF9C18u;
|
|
/* 021B04EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021B04F0 */ _t102 = cpu->r[31] + 0x000001F0u;
|
|
/* 021B04F0 */ rbrew_write32(cpu->mem, _t102, cpu->r[27]);
|
|
/* 021B04F4 */ _t103 = cpu->r[31] + 0x000001E8u;
|
|
/* 021B04F4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[31]);
|
|
/* 021B04F8 */ _t104 = cpu->r[31] + 0x000001F8u;
|
|
/* 021B04F8 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[27]);
|
|
/* 021B04FC */ _t105 = cpu->r[31] + 0x000001F9u;
|
|
/* 021B04FC */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[27]);
|
|
/* 021B0500 */ _t106 = cpu->r[31] + 0x000001ECu;
|
|
/* 021B0500 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 021B0504 */ _t107 = cpu->r[31] + 0x000001E0u;
|
|
/* 021B0504 */ rbrew_write32(cpu->mem, _t107, cpu->r[27]);
|
|
/* 021B0508 */ cpu->r[24] = cpu->r[31] + 0x000001FCu;
|
|
/* 021B0508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B050C */ _t108 = cpu->r[31] + 0x000001F4u;
|
|
/* 021B050C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
/* 021B0510 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0510 */ _t110 = _t109 & 0x00000001u;
|
|
/* 021B0510 */ if (_t110) goto L_021B0514; else goto L_021B0524;
|
|
L_021B0514: ; // 0x21b0514
|
|
/* 021B0514 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B0518 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B051C */ cpu->r[24] = cpu->r[3];
|
|
/* 021B051C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B0520 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0520 */ _t112 = _t111 & 0x00000001u;
|
|
/* 021B0520 */ if (_t112) goto L_021B0594; else goto L_021B0524;
|
|
L_021B0524: ; // 0x21b0524
|
|
/* 021B0524 */ cpu->r[25] = cpu->r[24];
|
|
/* 021B0524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0528 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0528 */ _t114 = _t113 & 0x00000001u;
|
|
/* 021B0528 */ if (_t114) goto L_021B052C; else goto L_021B053C;
|
|
L_021B052C: ; // 0x21b052c
|
|
/* 021B052C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B0530 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0534 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B0534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0538 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0538 */ _t116 = _t115 & 0x00000001u;
|
|
/* 021B0538 */ if (_t116) goto L_021B0590; else goto L_021B053C;
|
|
L_021B053C: ; // 0x21b053c
|
|
/* 021B053C */ cpu->r[3] = cpu->r[25];
|
|
/* 021B053C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0540 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0540 */ _t118 = _t117 & 0x00000001u;
|
|
/* 021B0540 */ if (_t118) goto L_021B0544; else goto L_021B0568;
|
|
L_021B0544: ; // 0x21b0544
|
|
/* 021B0544 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B0548 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B054C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0550 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0550 */ _t120 = _t119 & 0x00000001u;
|
|
/* 021B0550 */ if (_t120) goto L_021B0554; else goto L_021B0568;
|
|
L_021B0554: ; // 0x21b0554
|
|
/* 021B0554 */ _t121 = cpu->r[25] + 0x00000000u;
|
|
/* 021B0554 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B0558 */ _t122 = cpu->r[26] + 0x00007399u;
|
|
/* 021B0558 */ cpu->r[18] = rbrew_read8(cpu->mem, _t122);
|
|
/* 021B055C */ _t123 = cpu->r[25] + 0x00000004u;
|
|
/* 021B055C */ rbrew_write32(cpu->mem, _t123, cpu->r[29]);
|
|
/* 021B0560 */ _t124 = cpu->r[9] + 0x00000000u;
|
|
/* 021B0560 */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[18]);
|
|
/* 021B0564 */ goto L_021B0590;
|
|
L_021B0568: ; // 0x21b0568
|
|
/* 021B0568 */ cpu->r[7] = cpu->r[25] + 0x0000000Cu;
|
|
/* 021B056C */ _t125 = cpu->r[3] + 0x00000004u;
|
|
/* 021B056C */ rbrew_write32(cpu->mem, _t125, cpu->r[30]);
|
|
/* 021B0570 */ cpu->r[8] = 0x00000080u;
|
|
/* 021B0574 */ _t126 = cpu->r[3] + 0x00000000u;
|
|
/* 021B0574 */ rbrew_write32(cpu->mem, _t126, cpu->r[7]);
|
|
/* 021B0578 */ _t127 = cpu->r[3] + 0x00000008u;
|
|
/* 021B0578 */ rbrew_write32(cpu->mem, _t127, cpu->r[8]);
|
|
/* 021B057C */ _t128 = cpu->r[26] + 0x00007399u;
|
|
/* 021B057C */ cpu->r[18] = rbrew_read8(cpu->mem, _t128);
|
|
/* 021B0580 */ _t129 = cpu->r[25] + 0x00000004u;
|
|
/* 021B0580 */ rbrew_write32(cpu->mem, _t129, cpu->r[29]);
|
|
/* 021B0584 */ _t130 = cpu->r[25] + 0x00000000u;
|
|
/* 021B0584 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
|
|
/* 021B0588 */ _t131 = cpu->r[25] + 0x0000008Bu;
|
|
/* 021B0588 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[18]);
|
|
/* 021B058C */ _t132 = cpu->r[9] + 0x00000000u;
|
|
/* 021B058C */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[18]);
|
|
L_021B0590: ; // 0x21b0590
|
|
/* 021B0590 */ _t133 = cpu->r[24] + 0x00000004u;
|
|
/* 021B0590 */ rbrew_write32(cpu->mem, _t133, cpu->r[28]);
|
|
L_021B0594: ; // 0x21b0594
|
|
/* 021B0594 */ cpu->r[24] = cpu->r[31] + 0x00000288u;
|
|
/* 021B0594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B0598 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0598 */ _t135 = _t134 & 0x00000001u;
|
|
/* 021B0598 */ if (_t135) goto L_021B059C; else goto L_021B05AC;
|
|
L_021B059C: ; // 0x21b059c
|
|
/* 021B059C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B05A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B05A4 */ cpu->r[24] = cpu->r[3];
|
|
/* 021B05A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B05A8 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B05A8 */ _t137 = _t136 & 0x00000001u;
|
|
/* 021B05A8 */ if (_t137) goto L_021B061C; else goto L_021B05AC;
|
|
L_021B05AC: ; // 0x21b05ac
|
|
/* 021B05AC */ cpu->r[25] = cpu->r[24];
|
|
/* 021B05AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B05B0 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B05B0 */ _t139 = _t138 & 0x00000001u;
|
|
/* 021B05B0 */ if (_t139) goto L_021B05B4; else goto L_021B05C4;
|
|
L_021B05B4: ; // 0x21b05b4
|
|
/* 021B05B4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 021B05B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B05BC */ cpu->r[25] = cpu->r[3];
|
|
/* 021B05BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B05C0 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B05C0 */ _t141 = _t140 & 0x00000001u;
|
|
/* 021B05C0 */ if (_t141) goto L_021B0618; else goto L_021B05C4;
|
|
L_021B05C4: ; // 0x21b05c4
|
|
/* 021B05C4 */ cpu->r[3] = cpu->r[25];
|
|
/* 021B05C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B05C8 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B05C8 */ _t143 = _t142 & 0x00000001u;
|
|
/* 021B05C8 */ if (_t143) goto L_021B05CC; else goto L_021B05F0;
|
|
L_021B05CC: ; // 0x21b05cc
|
|
/* 021B05CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B05D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B05D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B05D8 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B05D8 */ _t145 = _t144 & 0x00000001u;
|
|
/* 021B05D8 */ if (_t145) goto L_021B05DC; else goto L_021B05F0;
|
|
L_021B05DC: ; // 0x21b05dc
|
|
/* 021B05DC */ _t146 = cpu->r[25] + 0x00000000u;
|
|
/* 021B05DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t146);
|
|
/* 021B05E0 */ _t147 = cpu->r[26] + 0x00007399u;
|
|
/* 021B05E0 */ cpu->r[18] = rbrew_read8(cpu->mem, _t147);
|
|
/* 021B05E4 */ _t148 = cpu->r[25] + 0x00000004u;
|
|
/* 021B05E4 */ rbrew_write32(cpu->mem, _t148, cpu->r[29]);
|
|
/* 021B05E8 */ _t149 = cpu->r[12] + 0x00000000u;
|
|
/* 021B05E8 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[18]);
|
|
/* 021B05EC */ goto L_021B0618;
|
|
L_021B05F0: ; // 0x21b05f0
|
|
/* 021B05F0 */ cpu->r[10] = cpu->r[25] + 0x0000000Cu;
|
|
/* 021B05F4 */ _t150 = cpu->r[3] + 0x00000004u;
|
|
/* 021B05F4 */ rbrew_write32(cpu->mem, _t150, cpu->r[30]);
|
|
/* 021B05F8 */ cpu->r[11] = 0x00000080u;
|
|
/* 021B05FC */ _t151 = cpu->r[3] + 0x00000000u;
|
|
/* 021B05FC */ rbrew_write32(cpu->mem, _t151, cpu->r[10]);
|
|
/* 021B0600 */ _t152 = cpu->r[3] + 0x00000008u;
|
|
/* 021B0600 */ rbrew_write32(cpu->mem, _t152, cpu->r[11]);
|
|
/* 021B0604 */ _t153 = cpu->r[26] + 0x00007399u;
|
|
/* 021B0604 */ cpu->r[18] = rbrew_read8(cpu->mem, _t153);
|
|
/* 021B0608 */ _t154 = cpu->r[25] + 0x00000004u;
|
|
/* 021B0608 */ rbrew_write32(cpu->mem, _t154, cpu->r[29]);
|
|
/* 021B060C */ _t155 = cpu->r[25] + 0x00000000u;
|
|
/* 021B060C */ cpu->r[12] = rbrew_read32(cpu->mem, _t155);
|
|
/* 021B0610 */ _t156 = cpu->r[25] + 0x0000008Bu;
|
|
/* 021B0610 */ rbrew_write8(cpu->mem, _t156, (uint8_t)cpu->r[18]);
|
|
/* 021B0614 */ _t157 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0614 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[18]);
|
|
L_021B0618: ; // 0x21b0618
|
|
/* 021B0618 */ _t158 = cpu->r[24] + 0x00000004u;
|
|
/* 021B0618 */ rbrew_write32(cpu->mem, _t158, cpu->r[28]);
|
|
L_021B061C: ; // 0x21b061c
|
|
/* 021B061C */ _t159 = cpu->r[31] + 0x00000314u;
|
|
/* 021B061C */ rbrew_write32(cpu->mem, _t159, cpu->r[27]);
|
|
/* 021B0620 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B0624 */ _t160 = cpu->r[31] + 0x00000318u;
|
|
/* 021B0624 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[27]);
|
|
/* 021B0628 */ cpu->r[3] = cpu->r[31] + 0x0000031Cu;
|
|
/* 021B0628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B062C */ _t161 = cpu->r[31] + 0x00000319u;
|
|
/* 021B062C */ rbrew_write8(cpu->mem, _t161, (uint8_t)cpu->r[0]);
|
|
/* 021B0630 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0630 */ _t163 = _t162 & 0x00000001u;
|
|
/* 021B0630 */ if (_t163) goto L_021B0634; else goto L_021B0644;
|
|
L_021B0634: ; // 0x21b0634
|
|
/* 021B0634 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B0638 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B063C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0640 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0640 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021B0640 */ if (_t165) goto L_021B0678; else goto L_021B0644;
|
|
L_021B0644: ; // 0x21b0644
|
|
/* 021B0644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0648 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0648 */ _t167 = _t166 & 0x00000001u;
|
|
/* 021B0648 */ if (_t167) goto L_021B064C; else goto L_021B065C;
|
|
L_021B064C: ; // 0x21b064c
|
|
/* 021B064C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B0650 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B0654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0658 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0658 */ _t169 = _t168 & 0x00000001u;
|
|
/* 021B0658 */ if (_t169) goto L_021B0678; else goto L_021B065C;
|
|
L_021B065C: ; // 0x21b065c
|
|
/* 021B065C */ _t170 = cpu->r[3] + 0x00000008u;
|
|
/* 021B065C */ rbrew_write_f32(cpu->mem, _t170, cpu->f[31]);
|
|
/* 021B0660 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0664 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B0668 */ _t171 = cpu->r[6] + 0xFFFF9C1Cu;
|
|
/* 021B0668 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 021B066C */ _t172 = cpu->r[5] + 0xFFFF9C20u;
|
|
/* 021B066C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 021B0670 */ _t173 = cpu->r[3] + 0x00000000u;
|
|
/* 021B0670 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[0]);
|
|
/* 021B0674 */ _t174 = cpu->r[3] + 0x00000004u;
|
|
/* 021B0674 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[13]);
|
|
L_021B0678: ; // 0x21b0678
|
|
/* 021B0678 */ cpu->r[0] = 0x0000012Cu;
|
|
/* 021B067C */ cpu->r[5] = 0x00000001u;
|
|
/* 021B0680 */ _t175 = cpu->r[31] + 0x00000330u;
|
|
/* 021B0680 */ rbrew_write32(cpu->mem, _t175, cpu->r[0]);
|
|
/* 021B0684 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B0688 */ _t176 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0688 */ rbrew_write32(cpu->mem, _t176, cpu->r[27]);
|
|
/* 021B068C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B0690 */ _t177 = cpu->r[31] + 0x00000328u;
|
|
/* 021B0690 */ rbrew_write8(cpu->mem, _t177, (uint8_t)cpu->r[5]);
|
|
/* 021B0694 */ _t178 = cpu->r[8] + 0xFFFF9C28u;
|
|
/* 021B0694 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 021B0698 */ cpu->r[7] = 0x00000060u;
|
|
/* 021B069C */ _t179 = cpu->r[9] + 0xFFFF9C24u;
|
|
/* 021B069C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 021B06A0 */ _t180 = cpu->r[31] + 0x0000033Cu;
|
|
/* 021B06A0 */ rbrew_write32(cpu->mem, _t180, cpu->r[7]);
|
|
/* 021B06A4 */ _t181 = cpu->r[31] + 0x00000338u;
|
|
/* 021B06A4 */ rbrew_write32(cpu->mem, _t181, cpu->r[7]);
|
|
/* 021B06A8 */ _t182 = cpu->r[31] + 0x00000340u;
|
|
/* 021B06A8 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[13]);
|
|
/* 021B06AC */ _t183 = cpu->r[31] + 0x00000334u;
|
|
/* 021B06AC */ rbrew_write_f32(cpu->mem, _t183, cpu->f[12]);
|
|
L_021B06B0: ; // 0x21b06b0
|
|
/* 021B06B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B06B4 */ /* nop */
|
|
/* 021B06B8 */ _t184 = cpu->r[1] + 0x00000048u;
|
|
/* 021B06B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 021B06BC */ _t185 = cpu->r[1] + 0x00000040u;
|
|
/* 021B06BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t185);
|
|
/* 021B06C0 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B06C0 */ _t187 = _t186 & 0x00000001u;
|
|
/* 021B06C0 */ if (_t187) goto L_021B06C4; // else: addr-0 trap, fall-through
|
|
L_021B06C4: ; // 0x21b06c4
|
|
/* 021B06C4 */ _t188 = cpu->r[1] + 0x00000054u;
|
|
/* 021B06C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t188);
|
|
/* 021B06C8 */ cpu->lr = cpu->r[0];
|
|
/* 021B06CC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 021B06D0 */ return;
|
|
}
|
|
|
|
// fn_021B06D4 @ 0x21b06d4
|
|
void Gambit_fn_021B06D4(CPUState* 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_021B06D4: ; // 0x21b06d4
|
|
/* 021B06D4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B06D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B06D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B06D8 */ cpu->r[1] = _t0;
|
|
/* 021B06DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B06DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B06E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B06E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B06E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B06E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B06E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B06E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B06EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B06EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B06F0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B06F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B06F8 */ _t6 = cpu->r[29] + 0x00004D38u;
|
|
/* 021B06F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B06F8 */ cpu->r[29] = _t6;
|
|
/* 021B06FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0700 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0700 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B0700 */ if (_t8) goto L_021B0704; else goto L_021B0754;
|
|
L_021B0704: ; // 0x21b0704
|
|
/* 021B0704 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B0708 */ cpu->r[3] = 0x00000348u;
|
|
/* 021B070C */ cpu->r[5] = 0x00000004u;
|
|
/* 021B0710 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B0714 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0718 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B0718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B071C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B071C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B071C */ if (_t10) goto L_021B073C; else goto L_021B0720;
|
|
L_021B0720: ; // 0x21b0720
|
|
/* 021B0720 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B0724 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B0728 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B072C */ Gambit_fn_02821D88(cpu);
|
|
/* 021B0730 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0734 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C80u;
|
|
/* 021B0738 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B0738 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B073C: ; // 0x21b073c
|
|
/* 021B073C */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B0740 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B0740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0744 */ _t12 = cpu->r[12] + 0x00004D3Cu;
|
|
/* 021B0744 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B0748 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0748 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B0748 */ if (_t14) goto L_021B0750; else goto L_021B074C;
|
|
L_021B074C: ; // 0x21b074c
|
|
/* 021B074C */ Gambit_fn_021B023C(cpu);
|
|
L_021B0750: ; // 0x21b0750
|
|
/* 021B0750 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B0750 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B0754: ; // 0x21b0754
|
|
/* 021B0754 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0754 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B0758 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0758 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B075C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B0760 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B0764 */ cpu->lr = cpu->r[0];
|
|
/* 021B0768 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B076C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B0770 */ return;
|
|
}
|
|
|
|
// fn_021B06D8 @ 0x21b06d8
|
|
void Gambit_fn_021B06D8(CPUState* 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_021B06D8: ; // 0x21b06d8
|
|
/* 021B06D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B06D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B06D8 */ cpu->r[1] = _t0;
|
|
/* 021B06DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B06DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B06E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B06E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B06E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B06E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B06E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B06E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B06EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B06EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B06F0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B06F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B06F8 */ _t6 = cpu->r[29] + 0x00004D38u;
|
|
/* 021B06F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B06F8 */ cpu->r[29] = _t6;
|
|
/* 021B06FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0700 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0700 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B0700 */ if (_t8) goto L_021B0704; else goto L_021B0754;
|
|
L_021B0704: ; // 0x21b0704
|
|
/* 021B0704 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B0708 */ cpu->r[3] = 0x00000348u;
|
|
/* 021B070C */ cpu->r[5] = 0x00000004u;
|
|
/* 021B0710 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B0714 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0718 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B0718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B071C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B071C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B071C */ if (_t10) goto L_021B073C; else goto L_021B0720;
|
|
L_021B0720: ; // 0x21b0720
|
|
/* 021B0720 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B0724 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B0728 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B072C */ Gambit_fn_02821D88(cpu);
|
|
/* 021B0730 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0734 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C80u;
|
|
/* 021B0738 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B0738 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B073C: ; // 0x21b073c
|
|
/* 021B073C */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B0740 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B0740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0744 */ _t12 = cpu->r[12] + 0x00004D3Cu;
|
|
/* 021B0744 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B0748 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0748 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B0748 */ if (_t14) goto L_021B0750; else goto L_021B074C;
|
|
L_021B074C: ; // 0x21b074c
|
|
/* 021B074C */ Gambit_fn_021B023C(cpu);
|
|
L_021B0750: ; // 0x21b0750
|
|
/* 021B0750 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B0750 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B0754: ; // 0x21b0754
|
|
/* 021B0754 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0754 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B0758 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0758 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B075C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B0760 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B0764 */ cpu->lr = cpu->r[0];
|
|
/* 021B0768 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B076C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B0770 */ return;
|
|
}
|
|
|
|
// fn_021B0774 @ 0x21b0774
|
|
void Gambit_fn_021B0774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B0774: ; // 0x21b0774
|
|
/* 021B0774 */ cpu->r[0] = cpu->lr;
|
|
/* 021B0778 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B0778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0778 */ cpu->r[1] = _t0;
|
|
/* 021B077C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B077C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B0780 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0784 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0784 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B0788 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B078C */ cpu->r[3] = 0x00000224u;
|
|
/* 021B0790 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B0794 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0794 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0798 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B07A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B07A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B07A0 */ if (_t5) goto L_021B07A8; else goto L_021B07A4;
|
|
L_021B07A4: ; // 0x21b07a4
|
|
/* 021B07A4 */ Gambit_fn_021B113C(cpu);
|
|
L_021B07A8: ; // 0x21b07a8
|
|
/* 021B07A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B07AC */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 021B07AC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021B07B0 */ Gambit_fn_021B12B8(cpu);
|
|
/* 021B07B4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B07B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B07B8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021B07B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B07BC */ cpu->lr = cpu->r[0];
|
|
/* 021B07C0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B07C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B07C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B07C8 */ return;
|
|
}
|
|
|
|
// fn_021B0778 @ 0x21b0778
|
|
void Gambit_fn_021B0778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B0778: ; // 0x21b0778
|
|
/* 021B0778 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B0778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0778 */ cpu->r[1] = _t0;
|
|
/* 021B077C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B077C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B0780 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0784 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0784 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B0788 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B078C */ cpu->r[3] = 0x00000224u;
|
|
/* 021B0790 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B0794 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0794 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0798 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B07A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B07A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B07A0 */ if (_t5) goto L_021B07A8; else goto L_021B07A4;
|
|
L_021B07A4: ; // 0x21b07a4
|
|
/* 021B07A4 */ Gambit_fn_021B113C(cpu);
|
|
L_021B07A8: ; // 0x21b07a8
|
|
/* 021B07A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B07AC */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 021B07AC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021B07B0 */ Gambit_fn_021B12B8(cpu);
|
|
/* 021B07B4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B07B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B07B8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021B07B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B07BC */ cpu->lr = cpu->r[0];
|
|
/* 021B07C0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B07C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B07C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B07C8 */ return;
|
|
}
|
|
|
|
// fn_021B07CC @ 0x21b07cc
|
|
void Gambit_fn_021B07CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187;
|
|
|
|
L_021B07CC: ; // 0x21b07cc
|
|
/* 021B07CC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B07CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B07CC */ cpu->r[1] = _t0;
|
|
/* 021B07D0 */ /* nop */
|
|
/* 021B07D4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B07D8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B07D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B07DC */ cpu->r[28] = cpu->r[3];
|
|
/* 021B07E0 */ _t2 = cpu->r[28] + 0x000001F8u;
|
|
/* 021B07E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B07E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B07E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B07E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B07E8 */ if (_t4) goto L_021B0CBC; else goto L_021B07EC;
|
|
L_021B07EC: ; // 0x21b07ec
|
|
/* 021B07EC */ _t5 = cpu->r[28] + 0x000001F9u;
|
|
/* 021B07EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 021B07F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B07F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B07F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B07F4 */ if (_t7) goto L_021B0CBC; else goto L_021B07F8;
|
|
L_021B07F8: ; // 0x21b07f8
|
|
/* 021B07F8 */ cpu->r[3] = cpu->r[28] + 0x000001D8u;
|
|
/* 021B07FC */ Gambit_fn_02838564(cpu);
|
|
/* 021B0800 */ _t8 = cpu->r[28] + 0x00000020u;
|
|
/* 021B0800 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B0804 */ cpu->r[27] = 0x00000000u;
|
|
/* 021B0808 */ cpu->r[31] = 0x10110000u;
|
|
/* 021B080C */ _t9 = cpu->r[28] + 0x0000001Cu;
|
|
/* 021B080C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[27]);
|
|
/* 021B0810 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 021B0810 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B0814 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0814 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[31]);
|
|
/* 021B0818 */ _t12 = cpu->r[28] + 0x000000ACu;
|
|
/* 021B0818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B081C */ _t13 = cpu->r[11] + 0x00000000u;
|
|
/* 021B081C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[31]);
|
|
/* 021B0820 */ _t14 = cpu->r[28] + 0x00000138u;
|
|
/* 021B0820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B0824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B0828 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0828 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B0828 */ if (_t16) goto L_021B0834; else goto L_021B082C;
|
|
L_021B082C: ; // 0x21b082c
|
|
/* 021B082C */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 021B082C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B0830 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0830 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[31]);
|
|
L_021B0834: ; // 0x21b0834
|
|
/* 021B0834 */ _t19 = cpu->r[28] + 0x000001B4u;
|
|
/* 021B0834 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 021B0838 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B083C */ _t20 = cpu->r[28] + 0x00000024u;
|
|
/* 021B083C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B0840 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0844 */ _t21 = cpu->r[11] + 0xFFFF9C10u;
|
|
/* 021B0844 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021B0848 */ _t22 = cpu->r[6] + 0xFFFF9C14u;
|
|
/* 021B0848 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021B084C */ _t23 = cpu->r[28] + 0x00000018u;
|
|
/* 021B084C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B0850 */ _t24 = cpu->r[28] + 0x00000198u;
|
|
/* 021B0850 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 021B0854 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 021B0858 */ _t25 = cpu->r[28] + 0x00000190u;
|
|
/* 021B0858 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 021B085C */ cpu->r[7] = rbrew_clz32(cpu->r[0]);
|
|
/* 021B0860 */ _t26 = cpu->r[28] + 0x00000184u;
|
|
/* 021B0860 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 021B0864 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021B0868 */ _t27 = cpu->r[28] + 0x000001A4u;
|
|
/* 021B0868 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 021B086C */ _t28 = cpu->r[28] + 0x0000001Cu;
|
|
/* 021B086C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 021B0870 */ _t29 = cpu->r[28] + 0x0000019Cu;
|
|
/* 021B0870 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 021B0874 */ _t30 = cpu->r[28] + 0x00000180u;
|
|
/* 021B0874 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 021B0878 */ _t31 = cpu->r[28] + 0x000001B0u;
|
|
/* 021B0878 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 021B087C */ _t32 = cpu->r[28] + 0x000001A8u;
|
|
/* 021B087C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 021B0880 */ _t33 = cpu->r[28] + 0x0000018Cu;
|
|
/* 021B0880 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 021B0884 */ _t34 = cpu->r[28] + 0x000001B8u;
|
|
/* 021B0884 */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
/* 021B0888 */ _t35 = cpu->r[28] + 0x000001C0u;
|
|
/* 021B0888 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[13]);
|
|
/* 021B088C */ _t36 = cpu->r[28] + 0x000001ACu;
|
|
/* 021B088C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 021B0890 */ _t37 = cpu->r[28] + 0x00000188u;
|
|
/* 021B0890 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 021B0894 */ _t38 = cpu->r[28] + 0x00000178u;
|
|
/* 021B0894 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 021B0898 */ _t39 = cpu->r[28] + 0x00000174u;
|
|
/* 021B0898 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 021B089C */ _t40 = cpu->r[28] + 0x000001A0u;
|
|
/* 021B089C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 021B08A0 */ _t41 = cpu->r[28] + 0x00000194u;
|
|
/* 021B08A0 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 021B08A4 */ _t42 = cpu->r[28] + 0x000001BCu;
|
|
/* 021B08A4 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 021B08A8 */ _t43 = cpu->r[28] + 0x0000017Cu;
|
|
/* 021B08A8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 021B08AC */ _t44 = cpu->r[8] + 0x00000014u;
|
|
/* 021B08AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021B08B0 */ cpu->ctr = cpu->r[9];
|
|
/* 021B08B4 */ _t45 = cpu->r[28] + 0x00000020u;
|
|
/* 021B08B4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B08B8 */ cpu->r[3] = cpu->r[28] + 0x00000020u;
|
|
/* 021B08BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B08C0 */ _t46 = cpu->r[28] + 0x00000020u;
|
|
/* 021B08C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021B08C4 */ _t47 = cpu->r[12] + 0x00000000u;
|
|
/* 021B08C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
|
|
/* 021B08C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B08CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B08D0 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B08D4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B08D4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021B08D4 */ if (_t49) goto L_021B08FC; else goto L_021B08D8;
|
|
L_021B08D8: ; // 0x21b08d8
|
|
/* 021B08D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B08DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 021B08E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B08E4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B08E4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B08E4 */ if (_t51) goto L_021B08F8; else goto L_021B08E8;
|
|
L_021B08E8: ; // 0x21b08e8
|
|
/* 021B08E8 */ _t52 = cpu->r[12] + 0x00000000u;
|
|
/* 021B08E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 021B08EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B08F0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B08F0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021B08F0 */ if (_t54) goto L_021B08F4; else goto L_021B08D8;
|
|
L_021B08F4: ; // 0x21b08f4
|
|
/* 021B08F4 */ goto L_021B08FC;
|
|
L_021B08F8: ; // 0x21b08f8
|
|
/* 021B08F8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B08FC: ; // 0x21b08fc
|
|
/* 021B08FC */ _t55 = cpu->r[28] + 0x00000200u;
|
|
/* 021B08FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021B0900 */ cpu->r[25] = cpu->r[30];
|
|
/* 021B0900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0904 */ _t56 = cpu->r[12] + 0x00000014u;
|
|
/* 021B0904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021B0908 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0908 */ _t58 = _t57 & 0x00000001u;
|
|
/* 021B0908 */ if (_t58) goto L_021B090C; else goto L_021B0910;
|
|
L_021B090C: ; // 0x21b090c
|
|
/* 021B090C */ cpu->r[25] = 0x00000000u;
|
|
L_021B0910: ; // 0x21b0910
|
|
/* 021B0910 */ cpu->ctr = cpu->r[0];
|
|
/* 021B0914 */ cpu->r[3] = cpu->r[28] + 0x000001FCu;
|
|
/* 021B0918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B091C */ _t59 = cpu->r[28] + 0x000001FCu;
|
|
/* 021B091C */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B0920 */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 021B0920 */ cpu->r[5] = rbrew_read8(cpu->mem, _t60);
|
|
/* 021B0924 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B0928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B092C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B0930 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0930 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B0930 */ if (_t62) goto L_021B0958; else goto L_021B0934;
|
|
L_021B0934: ; // 0x21b0934
|
|
/* 021B0934 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B0938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B093C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B0940 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0940 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B0940 */ if (_t64) goto L_021B0954; else goto L_021B0944;
|
|
L_021B0944: ; // 0x21b0944
|
|
/* 021B0944 */ _t65 = cpu->r[6] + 0x00000000u;
|
|
/* 021B0944 */ cpu->r[7] = rbrew_read8(cpu->mem, _t65);
|
|
/* 021B0948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B094C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B094C */ _t67 = _t66 & 0x00000001u;
|
|
/* 021B094C */ if (_t67) goto L_021B0950; else goto L_021B0934;
|
|
L_021B0950: ; // 0x21b0950
|
|
/* 021B0950 */ goto L_021B0958;
|
|
L_021B0954: ; // 0x21b0954
|
|
/* 021B0954 */ cpu->r[29] = 0x00000000u;
|
|
L_021B0958: ; // 0x21b0958
|
|
/* 021B0958 */ _t68 = cpu->r[28] + 0x00000028u;
|
|
/* 021B0958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021B095C */ cpu->r[7] = cpu->r[0] - cpu->r[25];
|
|
/* 021B0960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B0964 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0964 */ _t70 = _t69 & 0x00000001u;
|
|
/* 021B0964 */ if (_t70) goto L_021B096C; else goto L_021B0968;
|
|
L_021B0968: ; // 0x21b0968
|
|
/* 021B0968 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021B096C: ; // 0x21b096c
|
|
/* 021B096C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B0970 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0970 */ _t72 = _t71 & 0x00000001u;
|
|
/* 021B0970 */ if (_t72) goto L_021B0974; else goto L_021B09B0;
|
|
L_021B0974: ; // 0x21b0974
|
|
/* 021B0974 */ _t73 = cpu->r[28] + 0x00000200u;
|
|
/* 021B0974 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 021B0978 */ _t74 = cpu->r[9] + 0x00000014u;
|
|
/* 021B0978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B097C */ cpu->ctr = cpu->r[10];
|
|
/* 021B0980 */ cpu->r[24] = cpu->r[26] + cpu->r[25];
|
|
/* 021B0984 */ cpu->r[3] = cpu->r[28] + 0x000001FCu;
|
|
/* 021B0988 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B098C */ _t75 = cpu->r[28] + 0x000001FCu;
|
|
/* 021B098C */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021B0990 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0994 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B0998 */ cpu->r[3] = cpu->r[24];
|
|
/* 021B099C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B09A0 */ cpu->r[12] = cpu->r[25] + cpu->r[29];
|
|
/* 021B09A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
|
|
/* 021B09A8 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B09A8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 021B09A8 */ if (_t77) goto L_021B09AC; else goto L_021B09B0;
|
|
L_021B09AC: ; // 0x21b09ac
|
|
/* 021B09AC */ _t78 = cpu->r[26] + cpu->r[12];
|
|
/* 021B09AC */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[31]);
|
|
L_021B09B0: ; // 0x21b09b0
|
|
/* 021B09B0 */ _t79 = cpu->r[28] + 0x000000B0u;
|
|
/* 021B09B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 021B09B4 */ _t80 = cpu->r[11] + 0x00000014u;
|
|
/* 021B09B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 021B09B8 */ cpu->ctr = cpu->r[12];
|
|
/* 021B09BC */ _t81 = cpu->r[28] + 0x000000ACu;
|
|
/* 021B09BC */ cpu->r[26] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B09C0 */ cpu->r[3] = cpu->r[28] + 0x000000ACu;
|
|
/* 021B09C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B09C8 */ _t82 = cpu->r[28] + 0x000000ACu;
|
|
/* 021B09C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021B09CC */ _t83 = cpu->r[9] + 0x00000000u;
|
|
/* 021B09CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t83);
|
|
/* 021B09D0 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B09D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B09D8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B09DC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B09DC */ _t85 = _t84 & 0x00000001u;
|
|
/* 021B09DC */ if (_t85) goto L_021B0A04; else goto L_021B09E0;
|
|
L_021B09E0: ; // 0x21b09e0
|
|
/* 021B09E0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B09E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B09E8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B09EC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B09EC */ _t87 = _t86 & 0x00000001u;
|
|
/* 021B09EC */ if (_t87) goto L_021B0A00; else goto L_021B09F0;
|
|
L_021B09F0: ; // 0x21b09f0
|
|
/* 021B09F0 */ _t88 = cpu->r[9] + 0x00000000u;
|
|
/* 021B09F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t88);
|
|
/* 021B09F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B09F8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B09F8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B09F8 */ if (_t90) goto L_021B09FC; else goto L_021B09E0;
|
|
L_021B09FC: ; // 0x21b09fc
|
|
/* 021B09FC */ goto L_021B0A04;
|
|
L_021B0A00: ; // 0x21b0a00
|
|
/* 021B0A00 */ cpu->r[29] = 0x00000000u;
|
|
L_021B0A04: ; // 0x21b0a04
|
|
/* 021B0A04 */ _t91 = cpu->r[28] + 0x0000028Cu;
|
|
/* 021B0A04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B0A08 */ cpu->r[25] = cpu->r[29];
|
|
/* 021B0A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B0A0C */ _t92 = cpu->r[7] + 0x00000014u;
|
|
/* 021B0A0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021B0A10 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0A10 */ _t94 = _t93 & 0x00000001u;
|
|
/* 021B0A10 */ if (_t94) goto L_021B0A14; else goto L_021B0A18;
|
|
L_021B0A14: ; // 0x21b0a14
|
|
/* 021B0A14 */ cpu->r[25] = 0x00000000u;
|
|
L_021B0A18: ; // 0x21b0a18
|
|
/* 021B0A18 */ cpu->ctr = cpu->r[10];
|
|
/* 021B0A1C */ cpu->r[3] = cpu->r[28] + 0x00000288u;
|
|
/* 021B0A20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B0A24 */ _t95 = cpu->r[28] + 0x00000288u;
|
|
/* 021B0A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B0A28 */ _t96 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0A28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 021B0A2C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B0A30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B0A34 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B0A38 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0A38 */ _t98 = _t97 & 0x00000001u;
|
|
/* 021B0A38 */ if (_t98) goto L_021B0A60; else goto L_021B0A3C;
|
|
L_021B0A3C: ; // 0x21b0a3c
|
|
/* 021B0A3C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B0A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B0A44 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B0A48 */ _t99 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0A48 */ _t100 = _t99 & 0x00000001u;
|
|
/* 021B0A48 */ if (_t100) goto L_021B0A5C; else goto L_021B0A4C;
|
|
L_021B0A4C: ; // 0x21b0a4c
|
|
/* 021B0A4C */ _t101 = cpu->r[12] + 0x00000000u;
|
|
/* 021B0A4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 021B0A50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B0A54 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0A54 */ _t103 = _t102 & 0x00000001u;
|
|
/* 021B0A54 */ if (_t103) goto L_021B0A58; else goto L_021B0A3C;
|
|
L_021B0A58: ; // 0x21b0a58
|
|
/* 021B0A58 */ goto L_021B0A60;
|
|
L_021B0A5C: ; // 0x21b0a5c
|
|
/* 021B0A5C */ cpu->r[30] = 0x00000000u;
|
|
L_021B0A60: ; // 0x21b0a60
|
|
/* 021B0A60 */ _t104 = cpu->r[28] + 0x000000B4u;
|
|
/* 021B0A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 021B0A64 */ cpu->r[8] = cpu->r[7] - cpu->r[25];
|
|
/* 021B0A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021B0A6C */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0A6C */ _t106 = _t105 & 0x00000001u;
|
|
/* 021B0A6C */ if (_t106) goto L_021B0A74; else goto L_021B0A70;
|
|
L_021B0A70: ; // 0x21b0a70
|
|
/* 021B0A70 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021B0A74: ; // 0x21b0a74
|
|
/* 021B0A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B0A78 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0A78 */ _t108 = _t107 & 0x00000001u;
|
|
/* 021B0A78 */ if (_t108) goto L_021B0A7C; else goto L_021B0AB8;
|
|
L_021B0A7C: ; // 0x21b0a7c
|
|
/* 021B0A7C */ _t109 = cpu->r[28] + 0x0000028Cu;
|
|
/* 021B0A7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B0A80 */ _t110 = cpu->r[8] + 0x00000014u;
|
|
/* 021B0A80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B0A84 */ cpu->ctr = cpu->r[10];
|
|
/* 021B0A88 */ cpu->r[24] = cpu->r[26] + cpu->r[25];
|
|
/* 021B0A8C */ cpu->r[3] = cpu->r[28] + 0x00000288u;
|
|
/* 021B0A90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B0A94 */ _t111 = cpu->r[28] + 0x00000288u;
|
|
/* 021B0A94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021B0A98 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0A9C */ cpu->r[5] = cpu->r[30];
|
|
/* 021B0AA0 */ cpu->r[3] = cpu->r[24];
|
|
/* 021B0AA4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B0AA8 */ cpu->r[5] = cpu->r[25] + cpu->r[30];
|
|
/* 021B0AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[29]);
|
|
/* 021B0AB0 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0AB0 */ _t113 = _t112 & 0x00000001u;
|
|
/* 021B0AB0 */ if (_t113) goto L_021B0AB4; else goto L_021B0AB8;
|
|
L_021B0AB4: ; // 0x21b0ab4
|
|
/* 021B0AB4 */ _t114 = cpu->r[26] + cpu->r[5];
|
|
/* 021B0AB4 */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[31]);
|
|
L_021B0AB8: ; // 0x21b0ab8
|
|
/* 021B0AB8 */ _t115 = cpu->r[28] + 0x00000314u;
|
|
/* 021B0AB8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B0ABC */ _t116 = cpu->r[26] + 0x00000004u;
|
|
/* 021B0ABC */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 021B0AC0 */ _t117 = cpu->r[12] + 0x00000014u;
|
|
/* 021B0AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 021B0AC4 */ _t118 = cpu->r[28] + 0x00000138u;
|
|
/* 021B0AC4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t118);
|
|
/* 021B0AC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B0ACC */ _t119 = cpu->r[25] + 0x00000000u;
|
|
/* 021B0ACC */ cpu->r[29] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B0AD0 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B0AD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B0AD8 */ _t120 = cpu->r[26] + 0x00000000u;
|
|
/* 021B0AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021B0ADC */ _t121 = cpu->r[6] + 0x00000000u;
|
|
/* 021B0ADC */ cpu->r[7] = rbrew_read8(cpu->mem, _t121);
|
|
/* 021B0AE0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B0AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B0AE8 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B0AEC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0AEC */ _t123 = _t122 & 0x00000001u;
|
|
/* 021B0AEC */ if (_t123) goto L_021B0B14; else goto L_021B0AF0;
|
|
L_021B0AF0: ; // 0x21b0af0
|
|
/* 021B0AF0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B0AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021B0AF8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B0AFC */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0AFC */ _t125 = _t124 & 0x00000001u;
|
|
/* 021B0AFC */ if (_t125) goto L_021B0B10; else goto L_021B0B00;
|
|
L_021B0B00: ; // 0x21b0b00
|
|
/* 021B0B00 */ _t126 = cpu->r[6] + 0x00000000u;
|
|
/* 021B0B00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t126);
|
|
/* 021B0B04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B0B08 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0B08 */ _t128 = _t127 & 0x00000001u;
|
|
/* 021B0B08 */ if (_t128) goto L_021B0B0C; else goto L_021B0AF0;
|
|
L_021B0B0C: ; // 0x21b0b0c
|
|
/* 021B0B0C */ goto L_021B0B14;
|
|
L_021B0B10: ; // 0x21b0b10
|
|
/* 021B0B10 */ cpu->r[30] = 0x00000000u;
|
|
L_021B0B14: ; // 0x21b0b14
|
|
/* 021B0B14 */ _t129 = cpu->r[25] + 0x00000008u;
|
|
/* 021B0B14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t129);
|
|
/* 021B0B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 021B0B1C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0B1C */ _t131 = _t130 & 0x00000001u;
|
|
/* 021B0B1C */ if (_t131) goto L_021B0B24; else goto L_021B0B20;
|
|
L_021B0B20: ; // 0x21b0b20
|
|
/* 021B0B20 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B0B24: ; // 0x21b0b24
|
|
/* 021B0B24 */ _t132 = cpu->r[26] + 0x00000004u;
|
|
/* 021B0B24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t132);
|
|
/* 021B0B28 */ _t133 = cpu->r[10] + 0x00000014u;
|
|
/* 021B0B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 021B0B2C */ cpu->ctr = cpu->r[0];
|
|
/* 021B0B30 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B0B34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B0B38 */ _t134 = cpu->r[26] + 0x00000000u;
|
|
/* 021B0B38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 021B0B3C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B0B40 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B0B44 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0B48 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B0B4C */ cpu->r[4] = cpu->r[28] + 0x0000013Cu;
|
|
/* 021B0B50 */ cpu->r[3] = cpu->r[28] + 0x000001C8u;
|
|
/* 021B0B54 */ _t135 = cpu->r[29] + cpu->r[30];
|
|
/* 021B0B54 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[31]);
|
|
/* 021B0B58 */ Gambit_fn_02838874(cpu);
|
|
/* 021B0B5C */ cpu->r[3] = cpu->r[28] + 0x000001D8u;
|
|
/* 021B0B60 */ cpu->r[4] = cpu->r[28] + 0x00000158u;
|
|
/* 021B0B64 */ Gambit_fn_02838874(cpu);
|
|
/* 021B0B68 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021B0B6C */ _t136 = cpu->r[28] + 0x000001D4u;
|
|
/* 021B0B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 021B0B70 */ _t137 = cpu->r[28] + 0x000001D0u;
|
|
/* 021B0B70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 021B0B74 */ cpu->r[4] = cpu->r[4] - cpu->r[0];
|
|
/* 021B0B78 */ cpu->r[11] = 0xFFDF0000u;
|
|
/* 021B0B7C */ cpu->r[3] = cpu->r[3] - cpu->r[8];
|
|
/* 021B0B80 */ cpu->r[8] = 0x101F0000u;
|
|
/* 021B0B84 */ cpu->r[11] = cpu->r[11] + 0x00003B64u;
|
|
/* 021B0B88 */ cpu->r[8] = cpu->r[8] + 0x00006C30u;
|
|
/* 021B0B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[11]);
|
|
/* 021B0B90 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0B90 */ _t139 = _t138 & 0x00000001u;
|
|
/* 021B0B90 */ if (_t139) goto L_021B0BA8; else goto L_021B0B94;
|
|
L_021B0B94: ; // 0x21b0b94
|
|
/* 021B0B94 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0B94 */ _t141 = _t140 & 0x00000001u;
|
|
/* 021B0B94 */ if (_t141) goto L_021B0C38; else goto L_021B0B98;
|
|
L_021B0B98: ; // 0x21b0b98
|
|
/* 021B0B98 */ cpu->r[0] = 0x5A1C0000u;
|
|
/* 021B0B9C */ cpu->r[0] = cpu->r[0] | 0x0000AC09u;
|
|
/* 021B0BA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 021B0BA4 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0BA4 */ _t143 = _t142 & 0x00000001u;
|
|
/* 021B0BA4 */ if (_t143) goto L_021B0C38; else goto L_021B0BA8;
|
|
L_021B0BA8: ; // 0x21b0ba8
|
|
/* 021B0BA8 */ cpu->r[6] = 0x00210000u;
|
|
/* 021B0BAC */ cpu->r[6] = cpu->r[6] + 0xFFFFC49Bu;
|
|
/* 021B0BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[6]);
|
|
/* 021B0BB4 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0BB4 */ _t145 = _t144 & 0x00000001u;
|
|
/* 021B0BB4 */ if (_t145) goto L_021B0BCC; else goto L_021B0BB8;
|
|
L_021B0BB8: ; // 0x21b0bb8
|
|
/* 021B0BB8 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0BB8 */ _t147 = _t146 & 0x00000001u;
|
|
/* 021B0BB8 */ if (_t147) goto L_021B0C38; else goto L_021B0BBC;
|
|
L_021B0BBC: ; // 0x21b0bbc
|
|
/* 021B0BBC */ cpu->r[7] = 0xA5E30000u;
|
|
/* 021B0BC0 */ cpu->r[7] = cpu->r[7] + 0x000053F7u;
|
|
/* 021B0BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 021B0BC8 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0BC8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 021B0BC8 */ if (_t149) goto L_021B0BCC; else goto L_021B0C38;
|
|
L_021B0BCC: ; // 0x21b0bcc
|
|
/* 021B0BCC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0BD0 */ _t150 = cpu->r[8] + 0x00000000u;
|
|
/* 021B0BD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t150);
|
|
/* 021B0BD4 */ cpu->r[10] = 0x000003E8u;
|
|
/* 021B0BD8 */ /* nop */
|
|
/* 021B0BDC */ _t151 = cpu->r[8] + 0x00000004u;
|
|
/* 021B0BDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t151);
|
|
/* 021B0BE0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0BE4 */ cpu->r[3] = cpu->r[9] + cpu->r[11];
|
|
/* 021B0BE8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0BEC */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0BF0 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B0BF4 */ _t152 = cpu->r[5] + 0xFFFF9C2Cu;
|
|
/* 021B0BF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 021B0BF8 */ _t153 = cpu->r[28] + 0x000001F0u;
|
|
/* 021B0BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
|
|
/* 021B0BFC */ cpu->f[0] = cpu->f[1] / cpu->f[0];
|
|
/* 021B0C00 */ _t154 = cpu->r[28] + 0x000001E4u;
|
|
/* 021B0C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t154);
|
|
/* 021B0C04 */ _t155 = cpu->r[28] + 0x000001ECu;
|
|
/* 021B0C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 021B0C08 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 021B0C0C */ _t156 = cpu->r[28] + 0x000001BCu;
|
|
/* 021B0C0C */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
/* 021B0C10 */ _t157 = cpu->r[28] + 0x000001E0u;
|
|
/* 021B0C10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t157);
|
|
/* 021B0C14 */ _t158 = cpu->r[28] + 0x000001B4u;
|
|
/* 021B0C14 */ rbrew_write32(cpu->mem, _t158, cpu->r[9]);
|
|
/* 021B0C18 */ _t159 = cpu->r[28] + 0x000001E8u;
|
|
/* 021B0C18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 021B0C1C */ _t160 = cpu->r[28] + 0x000001C0u;
|
|
/* 021B0C1C */ rbrew_write_f32(cpu->mem, _t160, cpu->f[13]);
|
|
/* 021B0C20 */ _t161 = cpu->r[28] + 0x00000014u;
|
|
/* 021B0C20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t161);
|
|
/* 021B0C24 */ _t162 = cpu->r[28] + 0x000001B8u;
|
|
/* 021B0C24 */ rbrew_write32(cpu->mem, _t162, cpu->r[10]);
|
|
/* 021B0C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0C2C */ _t163 = cpu->r[28] + 0x00000174u;
|
|
/* 021B0C2C */ rbrew_write_f32(cpu->mem, _t163, cpu->f[0]);
|
|
/* 021B0C30 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0C30 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021B0C30 */ if (_t165) goto L_021B0CB8; else goto L_021B0C34;
|
|
L_021B0C34: ; // 0x21b0c34
|
|
/* 021B0C34 */ goto L_021B0CA0;
|
|
L_021B0C38: ; // 0x21b0c38
|
|
/* 021B0C38 */ _t166 = cpu->r[8] + 0x00000000u;
|
|
/* 021B0C38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t166);
|
|
/* 021B0C3C */ _t167 = cpu->r[8] + 0x00000004u;
|
|
/* 021B0C3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t167);
|
|
/* 021B0C40 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0C44 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0C48 */ cpu->r[6] = 0x000003E8u;
|
|
/* 021B0C4C */ /* nop */
|
|
/* 021B0C50 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0C54 */ cpu->r[3] = cpu->r[5] + cpu->r[7];
|
|
/* 021B0C58 */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0C5C */ cpu->r[5] = 0x10030000u;
|
|
/* 021B0C60 */ _t168 = cpu->r[5] + 0xFFFF9C2Cu;
|
|
/* 021B0C60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 021B0C64 */ _t169 = cpu->r[28] + 0x000001F0u;
|
|
/* 021B0C64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t169);
|
|
/* 021B0C68 */ cpu->f[0] = cpu->f[1] / cpu->f[0];
|
|
/* 021B0C6C */ _t170 = cpu->r[28] + 0x000001E4u;
|
|
/* 021B0C6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t170);
|
|
/* 021B0C70 */ _t171 = cpu->r[28] + 0x000001ECu;
|
|
/* 021B0C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021B0C74 */ cpu->r[11] = cpu->r[12] - cpu->r[0];
|
|
/* 021B0C78 */ _t172 = cpu->r[28] + 0x000001BCu;
|
|
/* 021B0C78 */ rbrew_write32(cpu->mem, _t172, cpu->r[11]);
|
|
/* 021B0C7C */ _t173 = cpu->r[28] + 0x000001E0u;
|
|
/* 021B0C7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 021B0C80 */ _t174 = cpu->r[28] + 0x000001B4u;
|
|
/* 021B0C80 */ rbrew_write32(cpu->mem, _t174, cpu->r[9]);
|
|
/* 021B0C84 */ _t175 = cpu->r[28] + 0x000001E8u;
|
|
/* 021B0C84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 021B0C88 */ _t176 = cpu->r[28] + 0x000001C0u;
|
|
/* 021B0C88 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[13]);
|
|
/* 021B0C8C */ _t177 = cpu->r[28] + 0x00000014u;
|
|
/* 021B0C8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t177);
|
|
/* 021B0C90 */ _t178 = cpu->r[28] + 0x000001B8u;
|
|
/* 021B0C90 */ rbrew_write32(cpu->mem, _t178, cpu->r[10]);
|
|
/* 021B0C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B0C98 */ _t179 = cpu->r[28] + 0x00000174u;
|
|
/* 021B0C98 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[0]);
|
|
/* 021B0C9C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0C9C */ _t181 = _t180 & 0x00000001u;
|
|
/* 021B0C9C */ if (_t181) goto L_021B0CB8; else goto L_021B0CA0;
|
|
L_021B0CA0: ; // 0x21b0ca0
|
|
/* 021B0CA0 */ _t182 = cpu->r[28] + 0x00000174u;
|
|
/* 021B0CA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 021B0CA4 */ _t183 = cpu->r[28] + 0x000001F4u;
|
|
/* 021B0CA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 021B0CA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 021B0CAC */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0CAC */ _t185 = _t184 & 0x00000001u;
|
|
/* 021B0CAC */ if (_t185) goto L_021B0CB8; else goto L_021B0CB0;
|
|
L_021B0CB0: ; // 0x21b0cb0
|
|
/* 021B0CB0 */ cpu->r[4] = cpu->r[28] + 0x0000001Cu;
|
|
/* 021B0CB4 */ Gambit_fn_021B3D08(cpu);
|
|
L_021B0CB8: ; // 0x21b0cb8
|
|
/* 021B0CB8 */ _t186 = cpu->r[28] + 0x000001F9u;
|
|
/* 021B0CB8 */ rbrew_write8(cpu->mem, _t186, (uint8_t)cpu->r[27]);
|
|
L_021B0CBC: ; // 0x21b0cbc
|
|
/* 021B0CBC */ /* nop */
|
|
/* 021B0CC0 */ _t187 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B0CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 021B0CC4 */ cpu->lr = cpu->r[0];
|
|
/* 021B0CC8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B0CCC */ return;
|
|
}
|
|
|
|
// fn_021B0CD0 @ 0x21b0cd0
|
|
void Gambit_fn_021B0CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B0CD0: ; // 0x21b0cd0
|
|
/* 021B0CD0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B0CD4 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 021B0CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0CD4 */ cpu->r[1] = _t0;
|
|
/* 021B0CD8 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B0CD8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B0CDC */ /* nop */
|
|
/* 021B0CE0 */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 021B0CE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B0CE4 */ _t3 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B0CE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B0CE8 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B0CE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B0CEC */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B0CEC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 021B0CF0 */ _t6 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B0CF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B0CF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0CF8 */ _t7 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B0CF8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021B0CFC */ _t8 = cpu->r[31] + 0x000001F8u;
|
|
/* 021B0CFC */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B0D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B0D04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B0D04 */ if (_t10) goto L_021B0F9C; else goto L_021B0D08;
|
|
L_021B0D08: ; // 0x21b0d08
|
|
/* 021B0D08 */ _t11 = cpu->r[31] + 0x000001F9u;
|
|
/* 021B0D08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B0D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B0D10 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D10 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B0D10 */ if (_t13) goto L_021B0F9C; else goto L_021B0D14;
|
|
L_021B0D14: ; // 0x21b0d14
|
|
/* 021B0D14 */ _t14 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B0D18 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B0D1C */ _t15 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D1C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 021B0D20 */ Gambit_fn_028C2A4C(cpu);
|
|
/* 021B0D24 */ _t16 = cpu->r[31] + 0x000001E0u;
|
|
/* 021B0D24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B0D28 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B0D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 021B0D30 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D30 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B0D30 */ if (_t18) goto L_021B0D34; else goto L_021B0D38;
|
|
L_021B0D34: ; // 0x21b0d34
|
|
/* 021B0D34 */ _t19 = cpu->r[31] + 0x000001E0u;
|
|
/* 021B0D34 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_021B0D38: ; // 0x21b0d38
|
|
/* 021B0D38 */ rbrew_dispatch(cpu, 0x02d06628u);
|
|
/* 021B0D3C */ _t20 = cpu->r[31] + 0x000001E4u;
|
|
/* 021B0D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B0D40 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 021B0D48 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D48 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B0D48 */ if (_t22) goto L_021B0D4C; else goto L_021B0D50;
|
|
L_021B0D4C: ; // 0x21b0d4c
|
|
/* 021B0D4C */ _t23 = cpu->r[31] + 0x000001E4u;
|
|
/* 021B0D4C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_021B0D50: ; // 0x21b0d50
|
|
/* 021B0D50 */ rbrew_dispatch(cpu, 0x02d065e0u);
|
|
/* 021B0D54 */ cpu->f[31] = cpu->f[1];
|
|
/* 021B0D58 */ _t24 = cpu->r[31] + 0x000001E8u;
|
|
/* 021B0D58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021B0D5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[10]);
|
|
/* 021B0D60 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B0D60 */ if (_t26) goto L_021B0D64; else goto L_021B0D68;
|
|
L_021B0D64: ; // 0x21b0d64
|
|
/* 021B0D64 */ _t27 = cpu->r[31] + 0x000001E8u;
|
|
/* 021B0D64 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
L_021B0D68: ; // 0x21b0d68
|
|
/* 021B0D68 */ rbrew_dispatch(cpu, 0x02d065d0u);
|
|
/* 021B0D6C */ _t28 = cpu->r[31] + 0x000001F0u;
|
|
/* 021B0D6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B0D70 */ cpu->r[8] = cpu->r[3];
|
|
/* 021B0D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 021B0D78 */ _t29 = cpu->r[31] + 0x00000328u;
|
|
/* 021B0D78 */ cpu->r[7] = rbrew_read8(cpu->mem, _t29);
|
|
/* 021B0D7C */ cpu->r[10] = 0x00000000u;
|
|
/* 021B0D80 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B0D80 */ if (_t31) goto L_021B0D84; else goto L_021B0D8C;
|
|
L_021B0D84: ; // 0x21b0d84
|
|
/* 021B0D84 */ cpu->r[10] = 0x00000001u;
|
|
/* 021B0D88 */ _t32 = cpu->r[31] + 0x000001F0u;
|
|
/* 021B0D88 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
L_021B0D8C: ; // 0x21b0d8c
|
|
/* 021B0D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B0D90 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D90 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B0D90 */ if (_t34) goto L_021B0EAC; else goto L_021B0D94;
|
|
L_021B0D94: ; // 0x21b0d94
|
|
/* 021B0D94 */ _t35 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B0D98 */ _t36 = cpu->r[31] + 0x00000330u;
|
|
/* 021B0D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B0D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B0DA0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0DA0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B0DA0 */ if (_t38) goto L_021B0EAC; else goto L_021B0DA4;
|
|
L_021B0DA4: ; // 0x21b0da4
|
|
/* 021B0DA4 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0DA8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B0DB0 */ _t39 = cpu->r[6] + 0xFFFF9C30u;
|
|
/* 021B0DB0 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 021B0DB4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B98u;
|
|
/* 021B0DB8 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B0DBC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0DBC */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B0DBC */ if (_t41) goto L_021B0E20; else goto L_021B0DC0;
|
|
L_021B0DC0: ; // 0x21b0dc0
|
|
/* 021B0DC0 */ _t42 = cpu->r[12] + 0x00007399u;
|
|
/* 021B0DC0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t42);
|
|
/* 021B0DC4 */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 021B0DC8 */ _t43 = cpu->r[31] + 0x000001ECu;
|
|
/* 021B0DC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B0DCC */ cpu->r[6] = 0x00000080u;
|
|
/* 021B0DD0 */ _t44 = cpu->r[1] + 0x00000093u;
|
|
/* 021B0DD0 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]);
|
|
/* 021B0DD4 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B0DD8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0DD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 021B0DDC */ cpu->f[2] = cpu->f[31];
|
|
/* 021B0DE0 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B0DE4 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0DE4 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 021B0DE8 */ cpu->r[7] = cpu->r[8] - cpu->r[7];
|
|
/* 021B0DEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0DF0 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0DF0 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 021B0DF4 */ cpu->r[6] = cpu->r[30];
|
|
/* 021B0DF8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9C58u;
|
|
/* 021B0DFC */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0DFC */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
/* 021B0E00 */ _t49 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B0E00 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B0E00 */ if (_t50) goto L_021B0E04; // else: addr-0 trap, fall-through
|
|
L_021B0E04: ; // 0x21b0e04
|
|
/* 021B0E04 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B0E08 */ _t51 = cpu->r[31] + 0x00000014u;
|
|
/* 021B0E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B0E0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E10 */ Gambit_fn_021B3F40(cpu);
|
|
/* 021B0E14 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0E18 */ _t52 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0E18 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 021B0E1C */ goto L_021B0EAC;
|
|
L_021B0E20: ; // 0x21b0e20
|
|
/* 021B0E20 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0E24 */ _t53 = cpu->r[31] + 0x00000334u;
|
|
/* 021B0E24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021B0E28 */ _t54 = cpu->r[11] + 0xFFFF9C14u;
|
|
/* 021B0E28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021B0E2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 021B0E30 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E30 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B0E30 */ if (_t56) goto L_021B0E34; else goto L_021B0E58;
|
|
L_021B0E34: ; // 0x21b0e34
|
|
/* 021B0E34 */ _t57 = cpu->r[31] + 0x00000338u;
|
|
/* 021B0E34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021B0E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 021B0E3C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E3C */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B0E3C */ if (_t59) goto L_021B0E40; else goto L_021B0E58;
|
|
L_021B0E40: ; // 0x21b0e40
|
|
/* 021B0E40 */ _t60 = cpu->r[31] + 0x0000033Cu;
|
|
/* 021B0E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B0E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 021B0E48 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E48 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B0E48 */ if (_t62) goto L_021B0E4C; else goto L_021B0E58;
|
|
L_021B0E4C: ; // 0x21b0e4c
|
|
/* 021B0E4C */ _t63 = cpu->r[31] + 0x00000340u;
|
|
/* 021B0E4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 021B0E50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 021B0E54 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E54 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B0E54 */ if (_t65) goto L_021B0EAC; else goto L_021B0E58;
|
|
L_021B0E58: ; // 0x21b0e58
|
|
/* 021B0E58 */ cpu->r[11] = 0x00000080u;
|
|
/* 021B0E5C */ _t66 = cpu->r[12] + 0x00007399u;
|
|
/* 021B0E5C */ cpu->r[9] = rbrew_read8(cpu->mem, _t66);
|
|
/* 021B0E60 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B0E64 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0E64 */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 021B0E68 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B0E6C */ _t68 = cpu->r[1] + 0x00000093u;
|
|
/* 021B0E6C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[9]);
|
|
/* 021B0E70 */ cpu->r[4] = cpu->r[4] + 0xFFFF9C3Cu;
|
|
/* 021B0E74 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0E74 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 021B0E78 */ cpu->f[2] = cpu->f[31];
|
|
/* 021B0E7C */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 021B0E80 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0E80 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[9]);
|
|
/* 021B0E84 */ cpu->r[6] = cpu->r[30];
|
|
/* 021B0E88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E8C */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E8C */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 021B0E90 */ _t72 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B0E90 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B0E90 */ if (_t73) goto L_021B0E94; // else: addr-0 trap, fall-through
|
|
L_021B0E94: ; // 0x21b0e94
|
|
/* 021B0E94 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B0E98 */ _t74 = cpu->r[31] + 0x00000014u;
|
|
/* 021B0E98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B0E9C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0EA0 */ Gambit_fn_021B3F40(cpu);
|
|
/* 021B0EA4 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0EA8 */ _t75 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0EA8 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
L_021B0EAC: ; // 0x21b0eac
|
|
/* 021B0EAC */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021B0EB0 */ _t76 = cpu->r[31] + 0x000001D4u;
|
|
/* 021B0EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021B0EB4 */ _t77 = cpu->r[31] + 0x000001D0u;
|
|
/* 021B0EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B0EB8 */ cpu->r[4] = cpu->r[4] - cpu->r[0];
|
|
/* 021B0EBC */ cpu->r[7] = 0xFFDF0000u;
|
|
/* 021B0EC0 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
|
|
/* 021B0EC4 */ cpu->r[7] = cpu->r[7] + 0x00003B64u;
|
|
/* 021B0EC8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 021B0ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[7]);
|
|
/* 021B0ED0 */ cpu->r[10] = cpu->r[10] + 0x00006C30u;
|
|
/* 021B0ED4 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0ED4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 021B0ED4 */ if (_t79) goto L_021B0EEC; else goto L_021B0ED8;
|
|
L_021B0ED8: ; // 0x21b0ed8
|
|
/* 021B0ED8 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0ED8 */ _t81 = _t80 & 0x00000001u;
|
|
/* 021B0ED8 */ if (_t81) goto L_021B0F54; else goto L_021B0EDC;
|
|
L_021B0EDC: ; // 0x21b0edc
|
|
/* 021B0EDC */ cpu->r[8] = 0x5A1D0000u;
|
|
/* 021B0EE0 */ cpu->r[8] = cpu->r[8] + 0xFFFFAC09u;
|
|
/* 021B0EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 021B0EE8 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0EE8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 021B0EE8 */ if (_t83) goto L_021B0F54; else goto L_021B0EEC;
|
|
L_021B0EEC: ; // 0x21b0eec
|
|
/* 021B0EEC */ cpu->r[9] = 0x00210000u;
|
|
/* 021B0EF0 */ cpu->r[9] = cpu->r[9] + 0xFFFFC49Bu;
|
|
/* 021B0EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[9]);
|
|
/* 021B0EF8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0EF8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 021B0EF8 */ if (_t85) goto L_021B0F10; else goto L_021B0EFC;
|
|
L_021B0EFC: ; // 0x21b0efc
|
|
/* 021B0EFC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0EFC */ _t87 = _t86 & 0x00000001u;
|
|
/* 021B0EFC */ if (_t87) goto L_021B0F54; else goto L_021B0F00;
|
|
L_021B0F00: ; // 0x21b0f00
|
|
/* 021B0F00 */ cpu->r[0] = 0xA5E30000u;
|
|
/* 021B0F04 */ cpu->r[0] = cpu->r[0] | 0x000053F7u;
|
|
/* 021B0F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 021B0F0C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0F0C */ _t89 = _t88 & 0x00000001u;
|
|
/* 021B0F0C */ if (_t89) goto L_021B0F10; else goto L_021B0F54;
|
|
L_021B0F10: ; // 0x21b0f10
|
|
/* 021B0F10 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0F14 */ _t90 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0F14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021B0F18 */ cpu->r[7] = 0x000003E8u;
|
|
/* 021B0F1C */ /* nop */
|
|
/* 021B0F20 */ _t91 = cpu->r[10] + 0x00000004u;
|
|
/* 021B0F20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B0F24 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0F28 */ cpu->r[3] = cpu->r[12] + cpu->r[8];
|
|
/* 021B0F2C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0F30 */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0F34 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B0F38 */ _t92 = cpu->r[7] + 0xFFFF9C2Cu;
|
|
/* 021B0F38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 021B0F3C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0F40 */ cpu->f[12] = cpu->f[1] / cpu->f[12];
|
|
/* 021B0F44 */ _t93 = cpu->r[12] + 0xFFFF9C38u;
|
|
/* 021B0F44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 021B0F48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 021B0F4C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0F4C */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B0F4C */ if (_t95) goto L_021B0F50; else goto L_021B0F9C;
|
|
L_021B0F50: ; // 0x21b0f50
|
|
/* 021B0F50 */ goto L_021B0F94;
|
|
L_021B0F54: ; // 0x21b0f54
|
|
/* 021B0F54 */ _t96 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0F54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B0F58 */ _t97 = cpu->r[10] + 0x00000004u;
|
|
/* 021B0F58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B0F5C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0F60 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0F64 */ cpu->r[0] = 0x000003E8u;
|
|
/* 021B0F68 */ /* nop */
|
|
/* 021B0F6C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0F70 */ cpu->r[3] = cpu->r[6] + cpu->r[8];
|
|
/* 021B0F74 */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0F78 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B0F7C */ _t98 = cpu->r[7] + 0xFFFF9C2Cu;
|
|
/* 021B0F7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 021B0F80 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0F84 */ cpu->f[12] = cpu->f[1] / cpu->f[12];
|
|
/* 021B0F88 */ _t99 = cpu->r[12] + 0xFFFF9C38u;
|
|
/* 021B0F88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021B0F8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 021B0F90 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0F90 */ _t101 = _t100 & 0x00000001u;
|
|
/* 021B0F90 */ if (_t101) goto L_021B0F94; else goto L_021B0F9C;
|
|
L_021B0F94: ; // 0x21b0f94
|
|
/* 021B0F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B0F98 */ Gambit_fn_021B07CC(cpu);
|
|
L_021B0F9C: ; // 0x21b0f9c
|
|
/* 021B0F9C */ _t102 = cpu->r[1] + 0x00000098u;
|
|
/* 021B0F9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021B0FA0 */ _t103 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B0FA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B0FA4 */ _t104 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B0FA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 021B0FA8 */ _t105 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B0FA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B0FAC */ _t106 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B0FAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 021B0FB0 */ _t107 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B0FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B0FB4 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0FB4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 021B0FB4 */ if (_t109) goto L_021B0FB8; // else: addr-0 trap, fall-through
|
|
L_021B0FB8: ; // 0x21b0fb8
|
|
/* 021B0FB8 */ _t110 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B0FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B0FBC */ cpu->lr = cpu->r[0];
|
|
/* 021B0FC0 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B0FC4 */ return;
|
|
}
|
|
|
|
// fn_021B0CD4 @ 0x21b0cd4
|
|
void Gambit_fn_021B0CD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B0CD4: ; // 0x21b0cd4
|
|
/* 021B0CD4 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 021B0CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0CD4 */ cpu->r[1] = _t0;
|
|
/* 021B0CD8 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B0CD8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B0CDC */ /* nop */
|
|
/* 021B0CE0 */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 021B0CE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B0CE4 */ _t3 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B0CE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B0CE8 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B0CE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B0CEC */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B0CEC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 021B0CF0 */ _t6 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B0CF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B0CF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B0CF8 */ _t7 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B0CF8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021B0CFC */ _t8 = cpu->r[31] + 0x000001F8u;
|
|
/* 021B0CFC */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B0D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B0D04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B0D04 */ if (_t10) goto L_021B0F9C; else goto L_021B0D08;
|
|
L_021B0D08: ; // 0x21b0d08
|
|
/* 021B0D08 */ _t11 = cpu->r[31] + 0x000001F9u;
|
|
/* 021B0D08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B0D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B0D10 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D10 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B0D10 */ if (_t13) goto L_021B0F9C; else goto L_021B0D14;
|
|
L_021B0D14: ; // 0x21b0d14
|
|
/* 021B0D14 */ _t14 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B0D18 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B0D1C */ _t15 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D1C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 021B0D20 */ Gambit_fn_028C2A4C(cpu);
|
|
/* 021B0D24 */ _t16 = cpu->r[31] + 0x000001E0u;
|
|
/* 021B0D24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B0D28 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B0D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 021B0D30 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D30 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B0D30 */ if (_t18) goto L_021B0D34; else goto L_021B0D38;
|
|
L_021B0D34: ; // 0x21b0d34
|
|
/* 021B0D34 */ _t19 = cpu->r[31] + 0x000001E0u;
|
|
/* 021B0D34 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_021B0D38: ; // 0x21b0d38
|
|
/* 021B0D38 */ rbrew_dispatch(cpu, 0x02d06628u);
|
|
/* 021B0D3C */ _t20 = cpu->r[31] + 0x000001E4u;
|
|
/* 021B0D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B0D40 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 021B0D48 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D48 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B0D48 */ if (_t22) goto L_021B0D4C; else goto L_021B0D50;
|
|
L_021B0D4C: ; // 0x21b0d4c
|
|
/* 021B0D4C */ _t23 = cpu->r[31] + 0x000001E4u;
|
|
/* 021B0D4C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_021B0D50: ; // 0x21b0d50
|
|
/* 021B0D50 */ rbrew_dispatch(cpu, 0x02d065e0u);
|
|
/* 021B0D54 */ cpu->f[31] = cpu->f[1];
|
|
/* 021B0D58 */ _t24 = cpu->r[31] + 0x000001E8u;
|
|
/* 021B0D58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021B0D5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[10]);
|
|
/* 021B0D60 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B0D60 */ if (_t26) goto L_021B0D64; else goto L_021B0D68;
|
|
L_021B0D64: ; // 0x21b0d64
|
|
/* 021B0D64 */ _t27 = cpu->r[31] + 0x000001E8u;
|
|
/* 021B0D64 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
L_021B0D68: ; // 0x21b0d68
|
|
/* 021B0D68 */ rbrew_dispatch(cpu, 0x02d065d0u);
|
|
/* 021B0D6C */ _t28 = cpu->r[31] + 0x000001F0u;
|
|
/* 021B0D6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B0D70 */ cpu->r[8] = cpu->r[3];
|
|
/* 021B0D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 021B0D78 */ _t29 = cpu->r[31] + 0x00000328u;
|
|
/* 021B0D78 */ cpu->r[7] = rbrew_read8(cpu->mem, _t29);
|
|
/* 021B0D7C */ cpu->r[10] = 0x00000000u;
|
|
/* 021B0D80 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0D80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B0D80 */ if (_t31) goto L_021B0D84; else goto L_021B0D8C;
|
|
L_021B0D84: ; // 0x21b0d84
|
|
/* 021B0D84 */ cpu->r[10] = 0x00000001u;
|
|
/* 021B0D88 */ _t32 = cpu->r[31] + 0x000001F0u;
|
|
/* 021B0D88 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
L_021B0D8C: ; // 0x21b0d8c
|
|
/* 021B0D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B0D90 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0D90 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B0D90 */ if (_t34) goto L_021B0EAC; else goto L_021B0D94;
|
|
L_021B0D94: ; // 0x21b0d94
|
|
/* 021B0D94 */ _t35 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0D94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B0D98 */ _t36 = cpu->r[31] + 0x00000330u;
|
|
/* 021B0D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B0D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B0DA0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0DA0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B0DA0 */ if (_t38) goto L_021B0EAC; else goto L_021B0DA4;
|
|
L_021B0DA4: ; // 0x21b0da4
|
|
/* 021B0DA4 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0DA8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B0DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B0DB0 */ _t39 = cpu->r[6] + 0xFFFF9C30u;
|
|
/* 021B0DB0 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 021B0DB4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B98u;
|
|
/* 021B0DB8 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B0DBC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0DBC */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B0DBC */ if (_t41) goto L_021B0E20; else goto L_021B0DC0;
|
|
L_021B0DC0: ; // 0x21b0dc0
|
|
/* 021B0DC0 */ _t42 = cpu->r[12] + 0x00007399u;
|
|
/* 021B0DC0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t42);
|
|
/* 021B0DC4 */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 021B0DC8 */ _t43 = cpu->r[31] + 0x000001ECu;
|
|
/* 021B0DC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B0DCC */ cpu->r[6] = 0x00000080u;
|
|
/* 021B0DD0 */ _t44 = cpu->r[1] + 0x00000093u;
|
|
/* 021B0DD0 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]);
|
|
/* 021B0DD4 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B0DD8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0DD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 021B0DDC */ cpu->f[2] = cpu->f[31];
|
|
/* 021B0DE0 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B0DE4 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0DE4 */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
/* 021B0DE8 */ cpu->r[7] = cpu->r[8] - cpu->r[7];
|
|
/* 021B0DEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0DF0 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0DF0 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 021B0DF4 */ cpu->r[6] = cpu->r[30];
|
|
/* 021B0DF8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9C58u;
|
|
/* 021B0DFC */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0DFC */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[9]);
|
|
/* 021B0E00 */ _t49 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B0E00 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B0E00 */ if (_t50) goto L_021B0E04; // else: addr-0 trap, fall-through
|
|
L_021B0E04: ; // 0x21b0e04
|
|
/* 021B0E04 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B0E08 */ _t51 = cpu->r[31] + 0x00000014u;
|
|
/* 021B0E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B0E0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E10 */ Gambit_fn_021B3F40(cpu);
|
|
/* 021B0E14 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0E18 */ _t52 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0E18 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 021B0E1C */ goto L_021B0EAC;
|
|
L_021B0E20: ; // 0x21b0e20
|
|
/* 021B0E20 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B0E24 */ _t53 = cpu->r[31] + 0x00000334u;
|
|
/* 021B0E24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021B0E28 */ _t54 = cpu->r[11] + 0xFFFF9C14u;
|
|
/* 021B0E28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021B0E2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 021B0E30 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E30 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B0E30 */ if (_t56) goto L_021B0E34; else goto L_021B0E58;
|
|
L_021B0E34: ; // 0x21b0e34
|
|
/* 021B0E34 */ _t57 = cpu->r[31] + 0x00000338u;
|
|
/* 021B0E34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021B0E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 021B0E3C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E3C */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B0E3C */ if (_t59) goto L_021B0E40; else goto L_021B0E58;
|
|
L_021B0E40: ; // 0x21b0e40
|
|
/* 021B0E40 */ _t60 = cpu->r[31] + 0x0000033Cu;
|
|
/* 021B0E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B0E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 021B0E48 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E48 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B0E48 */ if (_t62) goto L_021B0E4C; else goto L_021B0E58;
|
|
L_021B0E4C: ; // 0x21b0e4c
|
|
/* 021B0E4C */ _t63 = cpu->r[31] + 0x00000340u;
|
|
/* 021B0E4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 021B0E50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 021B0E54 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0E54 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B0E54 */ if (_t65) goto L_021B0EAC; else goto L_021B0E58;
|
|
L_021B0E58: ; // 0x21b0e58
|
|
/* 021B0E58 */ cpu->r[11] = 0x00000080u;
|
|
/* 021B0E5C */ _t66 = cpu->r[12] + 0x00007399u;
|
|
/* 021B0E5C */ cpu->r[9] = rbrew_read8(cpu->mem, _t66);
|
|
/* 021B0E60 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B0E64 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 021B0E64 */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 021B0E68 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B0E6C */ _t68 = cpu->r[1] + 0x00000093u;
|
|
/* 021B0E6C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[9]);
|
|
/* 021B0E70 */ cpu->r[4] = cpu->r[4] + 0xFFFF9C3Cu;
|
|
/* 021B0E74 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0E74 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 021B0E78 */ cpu->f[2] = cpu->f[31];
|
|
/* 021B0E7C */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 021B0E80 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0E80 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[9]);
|
|
/* 021B0E84 */ cpu->r[6] = cpu->r[30];
|
|
/* 021B0E88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E8C */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0E8C */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 021B0E90 */ _t72 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B0E90 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B0E90 */ if (_t73) goto L_021B0E94; // else: addr-0 trap, fall-through
|
|
L_021B0E94: ; // 0x21b0e94
|
|
/* 021B0E94 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B0E98 */ _t74 = cpu->r[31] + 0x00000014u;
|
|
/* 021B0E98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B0E9C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B0EA0 */ Gambit_fn_021B3F40(cpu);
|
|
/* 021B0EA4 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B0EA8 */ _t75 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B0EA8 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
L_021B0EAC: ; // 0x21b0eac
|
|
/* 021B0EAC */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021B0EB0 */ _t76 = cpu->r[31] + 0x000001D4u;
|
|
/* 021B0EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021B0EB4 */ _t77 = cpu->r[31] + 0x000001D0u;
|
|
/* 021B0EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B0EB8 */ cpu->r[4] = cpu->r[4] - cpu->r[0];
|
|
/* 021B0EBC */ cpu->r[7] = 0xFFDF0000u;
|
|
/* 021B0EC0 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
|
|
/* 021B0EC4 */ cpu->r[7] = cpu->r[7] + 0x00003B64u;
|
|
/* 021B0EC8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 021B0ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[7]);
|
|
/* 021B0ED0 */ cpu->r[10] = cpu->r[10] + 0x00006C30u;
|
|
/* 021B0ED4 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0ED4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 021B0ED4 */ if (_t79) goto L_021B0EEC; else goto L_021B0ED8;
|
|
L_021B0ED8: ; // 0x21b0ed8
|
|
/* 021B0ED8 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0ED8 */ _t81 = _t80 & 0x00000001u;
|
|
/* 021B0ED8 */ if (_t81) goto L_021B0F54; else goto L_021B0EDC;
|
|
L_021B0EDC: ; // 0x21b0edc
|
|
/* 021B0EDC */ cpu->r[8] = 0x5A1D0000u;
|
|
/* 021B0EE0 */ cpu->r[8] = cpu->r[8] + 0xFFFFAC09u;
|
|
/* 021B0EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 021B0EE8 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0EE8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 021B0EE8 */ if (_t83) goto L_021B0F54; else goto L_021B0EEC;
|
|
L_021B0EEC: ; // 0x21b0eec
|
|
/* 021B0EEC */ cpu->r[9] = 0x00210000u;
|
|
/* 021B0EF0 */ cpu->r[9] = cpu->r[9] + 0xFFFFC49Bu;
|
|
/* 021B0EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[9]);
|
|
/* 021B0EF8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0EF8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 021B0EF8 */ if (_t85) goto L_021B0F10; else goto L_021B0EFC;
|
|
L_021B0EFC: ; // 0x21b0efc
|
|
/* 021B0EFC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0EFC */ _t87 = _t86 & 0x00000001u;
|
|
/* 021B0EFC */ if (_t87) goto L_021B0F54; else goto L_021B0F00;
|
|
L_021B0F00: ; // 0x21b0f00
|
|
/* 021B0F00 */ cpu->r[0] = 0xA5E30000u;
|
|
/* 021B0F04 */ cpu->r[0] = cpu->r[0] | 0x000053F7u;
|
|
/* 021B0F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 021B0F0C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0F0C */ _t89 = _t88 & 0x00000001u;
|
|
/* 021B0F0C */ if (_t89) goto L_021B0F10; else goto L_021B0F54;
|
|
L_021B0F10: ; // 0x21b0f10
|
|
/* 021B0F10 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0F14 */ _t90 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0F14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021B0F18 */ cpu->r[7] = 0x000003E8u;
|
|
/* 021B0F1C */ /* nop */
|
|
/* 021B0F20 */ _t91 = cpu->r[10] + 0x00000004u;
|
|
/* 021B0F20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B0F24 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0F28 */ cpu->r[3] = cpu->r[12] + cpu->r[8];
|
|
/* 021B0F2C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0F30 */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0F34 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B0F38 */ _t92 = cpu->r[7] + 0xFFFF9C2Cu;
|
|
/* 021B0F38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 021B0F3C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0F40 */ cpu->f[12] = cpu->f[1] / cpu->f[12];
|
|
/* 021B0F44 */ _t93 = cpu->r[12] + 0xFFFF9C38u;
|
|
/* 021B0F44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 021B0F48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 021B0F4C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0F4C */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B0F4C */ if (_t95) goto L_021B0F50; else goto L_021B0F9C;
|
|
L_021B0F50: ; // 0x21b0f50
|
|
/* 021B0F50 */ goto L_021B0F94;
|
|
L_021B0F54: ; // 0x21b0f54
|
|
/* 021B0F54 */ _t96 = cpu->r[10] + 0x00000000u;
|
|
/* 021B0F54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B0F58 */ _t97 = cpu->r[10] + 0x00000004u;
|
|
/* 021B0F58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B0F5C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 021B0F60 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000003E8u);
|
|
/* 021B0F64 */ cpu->r[0] = 0x000003E8u;
|
|
/* 021B0F68 */ /* nop */
|
|
/* 021B0F6C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x000003E8u);
|
|
/* 021B0F70 */ cpu->r[3] = cpu->r[6] + cpu->r[8];
|
|
/* 021B0F74 */ Gambit_fn_02C89780(cpu);
|
|
/* 021B0F78 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B0F7C */ _t98 = cpu->r[7] + 0xFFFF9C2Cu;
|
|
/* 021B0F7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 021B0F80 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B0F84 */ cpu->f[12] = cpu->f[1] / cpu->f[12];
|
|
/* 021B0F88 */ _t99 = cpu->r[12] + 0xFFFF9C38u;
|
|
/* 021B0F88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021B0F8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 021B0F90 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B0F90 */ _t101 = _t100 & 0x00000001u;
|
|
/* 021B0F90 */ if (_t101) goto L_021B0F94; else goto L_021B0F9C;
|
|
L_021B0F94: ; // 0x21b0f94
|
|
/* 021B0F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B0F98 */ Gambit_fn_021B07CC(cpu);
|
|
L_021B0F9C: ; // 0x21b0f9c
|
|
/* 021B0F9C */ _t102 = cpu->r[1] + 0x00000098u;
|
|
/* 021B0F9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021B0FA0 */ _t103 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B0FA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B0FA4 */ _t104 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B0FA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 021B0FA8 */ _t105 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B0FA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B0FAC */ _t106 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B0FAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 021B0FB0 */ _t107 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B0FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B0FB4 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B0FB4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 021B0FB4 */ if (_t109) goto L_021B0FB8; // else: addr-0 trap, fall-through
|
|
L_021B0FB8: ; // 0x21b0fb8
|
|
/* 021B0FB8 */ _t110 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B0FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B0FBC */ cpu->lr = cpu->r[0];
|
|
/* 021B0FC0 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B0FC4 */ return;
|
|
}
|
|
|
|
// fn_021B0FC8 @ 0x21b0fc8
|
|
void Gambit_fn_021B0FC8(CPUState* 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_021B0FC8: ; // 0x21b0fc8
|
|
/* 021B0FC8 */ cpu->r[0] = cpu->lr;
|
|
/* 021B0FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B0FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0FCC */ cpu->r[1] = _t0;
|
|
/* 021B0FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B0FD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0FD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B0FD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B0FDC */ cpu->r[31] = cpu->r[4];
|
|
/* 021B0FE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0FE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0FE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0FE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B0FE4 */ if (_t5) goto L_021B1048; else goto L_021B0FE8;
|
|
L_021B0FE8: ; // 0x21b0fe8
|
|
/* 021B0FE8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0FEC */ cpu->r[6] = cpu->r[6] + 0xFFFF9C80u;
|
|
/* 021B0FF0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B0FF4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B0FF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 021B0FF8 */ _t7 = cpu->r[12] + 0x00004D3Cu;
|
|
/* 021B0FF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B0FF8 */ cpu->r[12] = _t7;
|
|
/* 021B0FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 021B1000 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B1004 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1004 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B1004 */ if (_t9) goto L_021B1008; else goto L_021B102C;
|
|
L_021B1008: ; // 0x21b1008
|
|
/* 021B1008 */ cpu->r[10] = 0x101C0000u;
|
|
/* 021B100C */ _t10 = cpu->r[10] + 0x00004D38u;
|
|
/* 021B100C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B100C */ cpu->r[10] = _t10;
|
|
/* 021B1010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B1014 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 021B1014 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021B1018 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1018 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B1018 */ if (_t13) goto L_021B1028; else goto L_021B101C;
|
|
L_021B101C: ; // 0x21b101c
|
|
/* 021B101C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B1020 */ cpu->r[9] = cpu->r[9] + 0xFFFF9BE0u;
|
|
/* 021B1024 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1024 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
L_021B1028: ; // 0x21b1028
|
|
/* 021B1028 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1028 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_021B102C: ; // 0x21b102c
|
|
/* 021B102C */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1030 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B1034 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B1038 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B1038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B103C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B103C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B103C */ if (_t17) goto L_021B1048; else goto L_021B1040;
|
|
L_021B1040: ; // 0x21b1040
|
|
/* 021B1040 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1044 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B1048: ; // 0x21b1048
|
|
/* 021B1048 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B1048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B104C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B104C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B1050 */ cpu->lr = cpu->r[0];
|
|
/* 021B1054 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B1054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B1058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B105C */ return;
|
|
}
|
|
|
|
// fn_021B0FCC @ 0x21b0fcc
|
|
void Gambit_fn_021B0FCC(CPUState* 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_021B0FCC: ; // 0x21b0fcc
|
|
/* 021B0FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B0FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B0FCC */ cpu->r[1] = _t0;
|
|
/* 021B0FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B0FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B0FD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B0FD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B0FD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B0FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B0FDC */ cpu->r[31] = cpu->r[4];
|
|
/* 021B0FE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B0FE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B0FE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B0FE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B0FE4 */ if (_t5) goto L_021B1048; else goto L_021B0FE8;
|
|
L_021B0FE8: ; // 0x21b0fe8
|
|
/* 021B0FE8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B0FEC */ cpu->r[6] = cpu->r[6] + 0xFFFF9C80u;
|
|
/* 021B0FF0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B0FF4 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B0FF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 021B0FF8 */ _t7 = cpu->r[12] + 0x00004D3Cu;
|
|
/* 021B0FF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B0FF8 */ cpu->r[12] = _t7;
|
|
/* 021B0FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 021B1000 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B1004 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1004 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B1004 */ if (_t9) goto L_021B1008; else goto L_021B102C;
|
|
L_021B1008: ; // 0x21b1008
|
|
/* 021B1008 */ cpu->r[10] = 0x101C0000u;
|
|
/* 021B100C */ _t10 = cpu->r[10] + 0x00004D38u;
|
|
/* 021B100C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B100C */ cpu->r[10] = _t10;
|
|
/* 021B1010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B1014 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 021B1014 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021B1018 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1018 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B1018 */ if (_t13) goto L_021B1028; else goto L_021B101C;
|
|
L_021B101C: ; // 0x21b101c
|
|
/* 021B101C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B1020 */ cpu->r[9] = cpu->r[9] + 0xFFFF9BE0u;
|
|
/* 021B1024 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1024 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
L_021B1028: ; // 0x21b1028
|
|
/* 021B1028 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1028 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_021B102C: ; // 0x21b102c
|
|
/* 021B102C */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1030 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B1034 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B1038 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B1038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B103C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B103C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B103C */ if (_t17) goto L_021B1048; else goto L_021B1040;
|
|
L_021B1040: ; // 0x21b1040
|
|
/* 021B1040 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1044 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B1048: ; // 0x21b1048
|
|
/* 021B1048 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B1048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B104C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B104C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B1050 */ cpu->lr = cpu->r[0];
|
|
/* 021B1054 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B1054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B1058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B105C */ return;
|
|
}
|
|
|
|
// fn_021B1060 @ 0x21b1060
|
|
void Gambit_fn_021B1060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B1060: ; // 0x21b1060
|
|
/* 021B1060 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021B1064 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B1064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B1064 */ cpu->r[1] = _t0;
|
|
/* 021B1068 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B106C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B1070 */ _t1 = cpu->r[10] + 0x00000F24u;
|
|
/* 021B1070 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B1070 */ cpu->r[10] = _t1;
|
|
/* 021B1074 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B1078 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B1078 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B107C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B1080 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B1084 */ _t3 = cpu->r[7] + 0x00000F34u;
|
|
/* 021B1084 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B1084 */ cpu->r[7] = _t3;
|
|
/* 021B1088 */ _t4 = cpu->r[8] + 0x00000F2Cu;
|
|
/* 021B1088 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B1088 */ cpu->r[8] = _t4;
|
|
/* 021B108C */ cpu->r[0] = 0x00000002u;
|
|
/* 021B1090 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B1090 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B1094 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B1098 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B1098 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B109C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B10A0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B10A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B10A4 */ _t8 = cpu->r[8] + 0x00000F44u;
|
|
/* 021B10A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B10A4 */ cpu->r[8] = _t8;
|
|
/* 021B10A8 */ _t9 = cpu->r[12] + 0x00000F3Cu;
|
|
/* 021B10A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B10A8 */ cpu->r[12] = _t9;
|
|
/* 021B10AC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B10AC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B10B0 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B10B4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B10B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B10B8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B10BC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B10BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B10C0 */ _t13 = cpu->r[11] + 0x00000F4Cu;
|
|
/* 021B10C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B10C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B10C8 */ return;
|
|
}
|
|
|
|
// fn_021B1064 @ 0x21b1064
|
|
void Gambit_fn_021B1064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B1064: ; // 0x21b1064
|
|
/* 021B1064 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B1064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B1064 */ cpu->r[1] = _t0;
|
|
/* 021B1068 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B106C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B1070 */ _t1 = cpu->r[10] + 0x00000F24u;
|
|
/* 021B1070 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B1070 */ cpu->r[10] = _t1;
|
|
/* 021B1074 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B1078 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B1078 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B107C */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B1080 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B1084 */ _t3 = cpu->r[7] + 0x00000F34u;
|
|
/* 021B1084 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B1084 */ cpu->r[7] = _t3;
|
|
/* 021B1088 */ _t4 = cpu->r[8] + 0x00000F2Cu;
|
|
/* 021B1088 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B1088 */ cpu->r[8] = _t4;
|
|
/* 021B108C */ cpu->r[0] = 0x00000002u;
|
|
/* 021B1090 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B1090 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B1094 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B1098 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B1098 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B109C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B10A0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B10A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B10A4 */ _t8 = cpu->r[8] + 0x00000F44u;
|
|
/* 021B10A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B10A4 */ cpu->r[8] = _t8;
|
|
/* 021B10A8 */ _t9 = cpu->r[12] + 0x00000F3Cu;
|
|
/* 021B10A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B10A8 */ cpu->r[12] = _t9;
|
|
/* 021B10AC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B10AC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B10B0 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B10B4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B10B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B10B8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B10BC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B10BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B10C0 */ _t13 = cpu->r[11] + 0x00000F4Cu;
|
|
/* 021B10C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B10C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B10C8 */ return;
|
|
}
|
|
|
|
// fn_021B10CC @ 0x21b10cc
|
|
void Gambit_fn_021B10CC(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_021B10CC: ; // 0x21b10cc
|
|
/* 021B10CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B10D0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B10D0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B10D0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B10D0 */ goto L_021B10D4;
|
|
L_021B10D4: ; // 0x21b10d4
|
|
/* 021B10D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B10D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B10D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B10D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B10D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B10D8 */ goto L_021B10DC;
|
|
L_021B10DC: ; // 0x21b10dc
|
|
/* 021B10DC */ 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_021B10E0 @ 0x21b10e0
|
|
void Gambit_fn_021B10E0(CPUState* cpu) {
|
|
L_021B10E0: ; // 0x21b10e0
|
|
/* 021B10E0 */ return;
|
|
}
|
|
|
|
// fn_021B10E4 @ 0x21b10e4
|
|
void Gambit_fn_021B10E4(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_021B10E4: ; // 0x21b10e4
|
|
/* 021B10E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B10E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B10E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B10E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B10E8 */ goto L_021B10EC;
|
|
L_021B10EC: ; // 0x21b10ec
|
|
/* 021B10EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B10EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B10F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B10F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B10F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B10F0 */ goto L_021B10F4;
|
|
L_021B10F4: ; // 0x21b10f4
|
|
/* 021B10F4 */ 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_021B10F8 @ 0x21b10f8
|
|
void Gambit_fn_021B10F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B10F8: ; // 0x21b10f8
|
|
/* 021B10F8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B10F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B10FC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021B10FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B1100 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021B1104 */ cpu->r[11] = 0x10110000u;
|
|
/* 021B1108 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021B1108 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B110C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B110C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021B1110 */ return;
|
|
}
|
|
|
|
// fn_021B1114 @ 0x21b1114
|
|
void Gambit_fn_021B1114(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_021B1114: ; // 0x21b1114
|
|
/* 021B1114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B1118 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1118 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B1118 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B1118 */ goto L_021B111C;
|
|
L_021B111C: ; // 0x21b111c
|
|
/* 021B111C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B111C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1120 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1120 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B1120 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B1120 */ goto L_021B1124;
|
|
L_021B1124: ; // 0x21b1124
|
|
/* 021B1124 */ 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_021B1128 @ 0x21b1128
|
|
void Gambit_fn_021B1128(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_021B1128: ; // 0x21b1128
|
|
/* 021B1128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B112C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B112C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B112C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B112C */ goto L_021B1130;
|
|
L_021B1130: ; // 0x21b1130
|
|
/* 021B1130 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B1130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1134 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1134 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B1134 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B1134 */ goto L_021B1138;
|
|
L_021B1138: ; // 0x21b1138
|
|
/* 021B1138 */ 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_021B113C @ 0x21b113c
|
|
void Gambit_fn_021B113C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59;
|
|
|
|
L_021B113C: ; // 0x21b113c
|
|
/* 021B113C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B113C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B113C */ cpu->r[1] = _t0;
|
|
/* 021B1140 */ cpu->r[0] = cpu->lr;
|
|
/* 021B1144 */ /* nop */
|
|
/* 021B1148 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B1148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B114C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B114C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B1150 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1150 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B1150 */ if (_t3) goto L_021B1154; else goto L_021B1164;
|
|
L_021B1154: ; // 0x21b1154
|
|
/* 021B1154 */ cpu->r[3] = 0x00000224u;
|
|
/* 021B1158 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B115C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B115C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B1160 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1160 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B1160 */ if (_t5) goto L_021B12A0; else goto L_021B1164;
|
|
L_021B1164: ; // 0x21b1164
|
|
/* 021B1164 */ cpu->r[29] = 0x10030000u;
|
|
/* 021B1168 */ cpu->r[25] = cpu->r[31];
|
|
/* 021B1168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B116C */ cpu->r[30] = 0x10030000u;
|
|
/* 021B1170 */ cpu->r[29] = cpu->r[29] + 0xFFFF9D08u;
|
|
/* 021B1174 */ cpu->r[28] = 0x10030000u;
|
|
/* 021B1178 */ cpu->r[30] = cpu->r[30] + 0xFFFF9CA8u;
|
|
/* 021B117C */ cpu->r[27] = 0x10110000u;
|
|
/* 021B1180 */ cpu->r[28] = cpu->r[28] + 0xFFFF9D20u;
|
|
/* 021B1184 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1184 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B1184 */ if (_t7) goto L_021B1188; else goto L_021B1198;
|
|
L_021B1188: ; // 0x21b1188
|
|
/* 021B1188 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 021B118C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B1190 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B1190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B1194 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1194 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B1194 */ if (_t9) goto L_021B1208; else goto L_021B1198;
|
|
L_021B1198: ; // 0x21b1198
|
|
/* 021B1198 */ cpu->r[26] = cpu->r[25];
|
|
/* 021B1198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B119C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B119C */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B119C */ if (_t11) goto L_021B11A0; else goto L_021B11B0;
|
|
L_021B11A0: ; // 0x21b11a0
|
|
/* 021B11A0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 021B11A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B11A8 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B11A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B11AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B11AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B11AC */ if (_t13) goto L_021B1204; else goto L_021B11B0;
|
|
L_021B11B0: ; // 0x21b11b0
|
|
/* 021B11B0 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B11B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B11B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B11B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B11B4 */ if (_t15) goto L_021B11B8; else goto L_021B11DC;
|
|
L_021B11B8: ; // 0x21b11b8
|
|
/* 021B11B8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B11BC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B11C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B11C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B11C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B11C4 */ if (_t17) goto L_021B11C8; else goto L_021B11DC;
|
|
L_021B11C8: ; // 0x21b11c8
|
|
/* 021B11C8 */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 021B11C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B11CC */ _t19 = cpu->r[27] + 0x00007399u;
|
|
/* 021B11CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 021B11D0 */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 021B11D0 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 021B11D4 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 021B11D4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 021B11D8 */ goto L_021B1204;
|
|
L_021B11DC: ; // 0x21b11dc
|
|
/* 021B11DC */ cpu->r[12] = cpu->r[26] + 0x0000000Cu;
|
|
/* 021B11E0 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 021B11E0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 021B11E4 */ cpu->r[0] = 0x00000100u;
|
|
/* 021B11E8 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 021B11E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 021B11EC */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 021B11EC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021B11F0 */ _t25 = cpu->r[27] + 0x00007399u;
|
|
/* 021B11F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 021B11F4 */ _t26 = cpu->r[26] + 0x00000004u;
|
|
/* 021B11F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 021B11F8 */ _t27 = cpu->r[26] + 0x00000000u;
|
|
/* 021B11F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B11FC */ _t28 = cpu->r[26] + 0x0000010Bu;
|
|
/* 021B11FC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 021B1200 */ _t29 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1200 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_021B1204: ; // 0x21b1204
|
|
/* 021B1204 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 021B1204 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
L_021B1208: ; // 0x21b1208
|
|
/* 021B1208 */ cpu->r[25] = cpu->r[31] + 0x0000010Cu;
|
|
/* 021B1208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B120C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B120C */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B120C */ if (_t32) goto L_021B1210; else goto L_021B1220;
|
|
L_021B1210: ; // 0x21b1210
|
|
/* 021B1210 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 021B1214 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B1218 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B1218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B121C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B121C */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B121C */ if (_t34) goto L_021B1290; else goto L_021B1220;
|
|
L_021B1220: ; // 0x21b1220
|
|
/* 021B1220 */ cpu->r[26] = cpu->r[25];
|
|
/* 021B1220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1224 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1224 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B1224 */ if (_t36) goto L_021B1228; else goto L_021B1238;
|
|
L_021B1228: ; // 0x21b1228
|
|
/* 021B1228 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 021B122C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B1230 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B1230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1234 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1234 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B1234 */ if (_t38) goto L_021B128C; else goto L_021B1238;
|
|
L_021B1238: ; // 0x21b1238
|
|
/* 021B1238 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B1238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B123C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B123C */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B123C */ if (_t40) goto L_021B1240; else goto L_021B1264;
|
|
L_021B1240: ; // 0x21b1240
|
|
/* 021B1240 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B1244 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B1248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B124C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B124C */ _t42 = _t41 & 0x00000001u;
|
|
/* 021B124C */ if (_t42) goto L_021B1250; else goto L_021B1264;
|
|
L_021B1250: ; // 0x21b1250
|
|
/* 021B1250 */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 021B1250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B1254 */ _t44 = cpu->r[27] + 0x00007399u;
|
|
/* 021B1254 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 021B1258 */ _t45 = cpu->r[26] + 0x00000004u;
|
|
/* 021B1258 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
/* 021B125C */ _t46 = cpu->r[9] + 0x00000000u;
|
|
/* 021B125C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 021B1260 */ goto L_021B128C;
|
|
L_021B1264: ; // 0x21b1264
|
|
/* 021B1264 */ cpu->r[7] = cpu->r[26] + 0x0000000Cu;
|
|
/* 021B1268 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 021B1268 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 021B126C */ cpu->r[8] = 0x00000100u;
|
|
/* 021B1270 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 021B1270 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 021B1274 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 021B1274 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 021B1278 */ _t50 = cpu->r[27] + 0x00007399u;
|
|
/* 021B1278 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 021B127C */ _t51 = cpu->r[26] + 0x00000004u;
|
|
/* 021B127C */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 021B1280 */ _t52 = cpu->r[26] + 0x00000000u;
|
|
/* 021B1280 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021B1284 */ _t53 = cpu->r[26] + 0x0000010Bu;
|
|
/* 021B1284 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[0]);
|
|
/* 021B1288 */ _t54 = cpu->r[9] + 0x00000000u;
|
|
/* 021B1288 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
L_021B128C: ; // 0x21b128c
|
|
/* 021B128C */ _t55 = cpu->r[25] + 0x00000004u;
|
|
/* 021B128C */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
L_021B1290: ; // 0x21b1290
|
|
/* 021B1290 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B1294 */ _t56 = cpu->r[31] + 0x00000218u;
|
|
/* 021B1294 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 021B1298 */ _t57 = cpu->r[31] + 0x00000220u;
|
|
/* 021B1298 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 021B129C */ _t58 = cpu->r[31] + 0x0000021Cu;
|
|
/* 021B129C */ rbrew_write32(cpu->mem, _t58, cpu->r[10]);
|
|
L_021B12A0: ; // 0x21b12a0
|
|
/* 021B12A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B12A4 */ /* nop */
|
|
/* 021B12A8 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B12A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B12AC */ cpu->lr = cpu->r[0];
|
|
/* 021B12B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B12B4 */ return;
|
|
}
|
|
|
|
// fn_021B12B8 @ 0x21b12b8
|
|
void Gambit_fn_021B12B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_021B12B8: ; // 0x21b12b8
|
|
/* 021B12B8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B12B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B12B8 */ cpu->r[1] = _t0;
|
|
/* 021B12BC */ cpu->r[0] = cpu->lr;
|
|
/* 021B12C0 */ /* nop */
|
|
/* 021B12C4 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B12C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B12CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B12D0 */ cpu->r[28] = cpu->r[4];
|
|
/* 021B12D4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B12D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B12D8 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B12DC */ cpu->r[26] = 0x10030000u;
|
|
/* 021B12E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B12E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B12E4 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B12E8 */ cpu->r[26] = cpu->r[26] + 0xFFFF9CC0u;
|
|
/* 021B12EC */ cpu->r[29] = 0x10110000u;
|
|
/* 021B12F0 */ cpu->r[25] = cpu->r[25] + 0xFFFF9CA8u;
|
|
/* 021B12F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B12F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B12F4 */ if (_t3) goto L_021B13C4; else goto L_021B12F8;
|
|
L_021B12F8: ; // 0x21b12f8
|
|
/* 021B12F8 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B12FC */ cpu->r[3] = 0x00000400u;
|
|
/* 021B1300 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B1304 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B1308 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B1308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B130C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B130C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B130C */ if (_t5) goto L_021B131C; else goto L_021B1310;
|
|
L_021B1310: ; // 0x21b1310
|
|
/* 021B1310 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1314 */ cpu->r[4] = 0x00000400u;
|
|
/* 021B1318 */ Gambit_fn_02C89380(cpu);
|
|
L_021B131C: ; // 0x21b131c
|
|
/* 021B131C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B1320 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1320 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B1320 */ if (_t7) goto L_021B1324; else goto L_021B1380;
|
|
L_021B1324: ; // 0x21b1324
|
|
/* 021B1324 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B1328 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B132C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B1330 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1330 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B1330 */ if (_t9) goto L_021B1334; else goto L_021B1380;
|
|
L_021B1334: ; // 0x21b1334
|
|
/* 021B1334 */ _t10 = cpu->r[29] + 0x00007399u;
|
|
/* 021B1334 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B1338 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B133C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 021B133C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B1340 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 021B1340 */ rbrew_write32(cpu->mem, _t12, cpu->r[26]);
|
|
/* 021B1344 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B1348 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1348 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 021B134C */ cpu->r[4] = cpu->r[28];
|
|
/* 021B1350 */ _t14 = cpu->r[27] + 0x00000218u;
|
|
/* 021B1350 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 021B1354 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B1358 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B1358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B135C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B135C */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B135C */ if (_t16) goto L_021B1360; else goto L_021B13E4;
|
|
L_021B1360: ; // 0x21b1360
|
|
/* 021B1360 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B1364 */ cpu->r[5] = 0x00000040u;
|
|
/* 021B1368 */ cpu->r[3] = 0x00010000u;
|
|
/* 021B136C */ _t17 = cpu->r[27] + 0x0000021Cu;
|
|
/* 021B136C */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 021B1370 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B1374 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B1378 */ _t18 = cpu->r[27] + 0x00000220u;
|
|
/* 021B1378 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 021B137C */ goto L_021B1488;
|
|
L_021B1380: ; // 0x21b1380
|
|
/* 021B1380 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 021B1380 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 021B1384 */ cpu->r[0] = 0x00000400u;
|
|
/* 021B1388 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 021B1388 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 021B138C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 021B138C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 021B1390 */ _t22 = cpu->r[29] + 0x00007399u;
|
|
/* 021B1390 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B1394 */ _t23 = cpu->r[30] + 0x000003FFu;
|
|
/* 021B1394 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 021B1398 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 021B1398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B139C */ _t25 = cpu->r[31] + 0x00000004u;
|
|
/* 021B139C */ rbrew_write32(cpu->mem, _t25, cpu->r[26]);
|
|
/* 021B13A0 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B13A4 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B13A8 */ _t26 = cpu->r[10] + 0x00000000u;
|
|
/* 021B13A8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 021B13AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B13B0 */ _t27 = cpu->r[27] + 0x00000218u;
|
|
/* 021B13B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 021B13B4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B13B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B13B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B13BC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B13BC */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B13BC */ if (_t29) goto L_021B1360; else goto L_021B13C0;
|
|
L_021B13C0: ; // 0x21b13c0
|
|
/* 021B13C0 */ goto L_021B13E4;
|
|
L_021B13C4: ; // 0x21b13c4
|
|
/* 021B13C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B13C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B13CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B13D0 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B13D4 */ _t30 = cpu->r[27] + 0x00000218u;
|
|
/* 021B13D4 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 021B13D8 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B13DC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B13DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B13E0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B13E0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B13E0 */ if (_t32) goto L_021B1360; else goto L_021B13E4;
|
|
L_021B13E4: ; // 0x21b13e4
|
|
/* 021B13E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B13E8 */ cpu->r[3] = 0x00000400u;
|
|
/* 021B13EC */ cpu->r[5] = 0x00000004u;
|
|
/* 021B13F0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B13F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B13F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B13F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B13F8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B13F8 */ if (_t34) goto L_021B1408; else goto L_021B13FC;
|
|
L_021B13FC: ; // 0x21b13fc
|
|
/* 021B13FC */ cpu->r[3] = cpu->r[30];
|
|
/* 021B1400 */ cpu->r[4] = 0x00000400u;
|
|
/* 021B1404 */ Gambit_fn_02C89380(cpu);
|
|
L_021B1408: ; // 0x21b1408
|
|
/* 021B1408 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B1408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B140C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B140C */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B140C */ if (_t36) goto L_021B1410; else goto L_021B144C;
|
|
L_021B1410: ; // 0x21b1410
|
|
/* 021B1410 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B1414 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B1418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B141C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B141C */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B141C */ if (_t38) goto L_021B1420; else goto L_021B144C;
|
|
L_021B1420: ; // 0x21b1420
|
|
/* 021B1420 */ _t39 = cpu->r[29] + 0x00007399u;
|
|
/* 021B1420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 021B1424 */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 021B1424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B1428 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 021B1428 */ rbrew_write32(cpu->mem, _t41, cpu->r[26]);
|
|
/* 021B142C */ cpu->r[5] = 0x00000040u;
|
|
/* 021B1430 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 021B1430 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 021B1434 */ cpu->r[3] = 0x00010000u;
|
|
/* 021B1438 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B143C */ _t43 = cpu->r[27] + 0x0000021Cu;
|
|
/* 021B143C */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 021B1440 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B1444 */ _t44 = cpu->r[27] + 0x00000220u;
|
|
/* 021B1444 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 021B1448 */ goto L_021B1488;
|
|
L_021B144C: ; // 0x21b144c
|
|
/* 021B144C */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 021B144C */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
|
|
/* 021B1450 */ cpu->r[11] = 0x00000400u;
|
|
/* 021B1454 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 021B1454 */ rbrew_write32(cpu->mem, _t46, cpu->r[25]);
|
|
/* 021B1458 */ _t47 = cpu->r[3] + 0x00000008u;
|
|
/* 021B1458 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 021B145C */ _t48 = cpu->r[29] + 0x00007399u;
|
|
/* 021B145C */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 021B1460 */ _t49 = cpu->r[30] + 0x000003FFu;
|
|
/* 021B1460 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
/* 021B1464 */ _t50 = cpu->r[31] + 0x00000000u;
|
|
/* 021B1464 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B1468 */ _t51 = cpu->r[31] + 0x00000004u;
|
|
/* 021B1468 */ rbrew_write32(cpu->mem, _t51, cpu->r[26]);
|
|
/* 021B146C */ cpu->r[4] = cpu->r[28];
|
|
/* 021B1470 */ _t52 = cpu->r[12] + 0x00000000u;
|
|
/* 021B1470 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 021B1474 */ cpu->r[3] = 0x00010000u;
|
|
/* 021B1478 */ cpu->r[5] = 0x00000040u;
|
|
/* 021B147C */ _t53 = cpu->r[27] + 0x0000021Cu;
|
|
/* 021B147C */ rbrew_write32(cpu->mem, _t53, cpu->r[31]);
|
|
/* 021B1480 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B1484 */ _t54 = cpu->r[27] + 0x00000220u;
|
|
/* 021B1484 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
L_021B1488: ; // 0x21b1488
|
|
/* 021B1488 */ /* nop */
|
|
/* 021B148C */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B148C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021B1490 */ cpu->lr = cpu->r[0];
|
|
/* 021B1494 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B1498 */ return;
|
|
}
|
|
|
|
// fn_021B149C @ 0x21b149c
|
|
void Gambit_fn_021B149C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735, _t736, _t737, _t738, _t739, _t740, _t741, _t742, _t743, _t744, _t745, _t746, _t747, _t748, _t749, _t750, _t751, _t752, _t753, _t754, _t755, _t756, _t757, _t758, _t759, _t760, _t761, _t762, _t763, _t764, _t765, _t766, _t767, _t768, _t769, _t770, _t771, _t772, _t773, _t774, _t775, _t776, _t777, _t778, _t779, _t780, _t781, _t782, _t783, _t784, _t785, _t786, _t787, _t788, _t789, _t790, _t791, _t792, _t793, _t794, _t795, _t796, _t797, _t798, _t799, _t800, _t801, _t802, _t803, _t804, _t805, _t806, _t807, _t808, _t809, _t810, _t811, _t812, _t813, _t814, _t815, _t816, _t817, _t818, _t819, _t820, _t821, _t822, _t823, _t824, _t825, _t826, _t827, _t828, _t829, _t830, _t831, _t832, _t833, _t834, _t835, _t836, _t837, _t838, _t839, _t840, _t841, _t842, _t843, _t844, _t845, _t846, _t847, _t848, _t849, _t850, _t851, _t852, _t853, _t854, _t855, _t856, _t857, _t858, _t859, _t860, _t861, _t862, _t863, _t864, _t865, _t866, _t867, _t868, _t869, _t870, _t871, _t872, _t873, _t874, _t875, _t876, _t877, _t878, _t879, _t880, _t881, _t882, _t883, _t884;
|
|
|
|
L_021B149C: ; // 0x21b149c
|
|
/* 021B149C */ cpu->r[0] = cpu->lr;
|
|
/* 021B14A0 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 021B14A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B14A0 */ cpu->r[1] = _t0;
|
|
/* 021B14A4 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B14A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B14A8 */ /* nop */
|
|
/* 021B14AC */ cpu->r[28] = cpu->r[4];
|
|
/* 021B14AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B14B0 */ cpu->r[27] = cpu->r[5];
|
|
/* 021B14B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B14B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B14B4 */ if (_t3) goto L_021B2DE4; else goto L_021B14B8;
|
|
L_021B14B8: ; // 0x21b14b8
|
|
/* 021B14B8 */ cpu->r[26] = 0x10030000u;
|
|
/* 021B14BC */ cpu->r[4] = 0x10030000u;
|
|
/* 021B14C0 */ _t4 = cpu->r[27] + 0x00000004u;
|
|
/* 021B14C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B14C4 */ cpu->r[26] = cpu->r[26] + 0xFFFF9C90u;
|
|
/* 021B14C8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9D88u;
|
|
/* 021B14CC */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B14CC */ rbrew_write32(cpu->mem, _t5, cpu->r[26]);
|
|
/* 021B14D0 */ _t6 = cpu->r[1] + 0x00000058u;
|
|
/* 021B14D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 021B14D4 */ _t7 = cpu->r[5] + 0x00000014u;
|
|
/* 021B14D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B14D8 */ cpu->ctr = cpu->r[6];
|
|
/* 021B14DC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B14E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B14E4 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B14E8 */ _t8 = cpu->r[27] + 0x00000000u;
|
|
/* 021B14E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B14EC */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 021B14EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021B14F0 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 021B14F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B14F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B14F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B14FC */ cpu->r[11] = 0x00080000u;
|
|
/* 021B1500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1500 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B1500 */ if (_t12) goto L_021B1528; else goto L_021B1504;
|
|
L_021B1504: ; // 0x21b1504
|
|
/* 021B1504 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B150C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1510 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1510 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B1510 */ if (_t14) goto L_021B1524; else goto L_021B1514;
|
|
L_021B1514: ; // 0x21b1514
|
|
/* 021B1514 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 021B1518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B151C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B151C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B151C */ if (_t17) goto L_021B1520; else goto L_021B1504;
|
|
L_021B1520: ; // 0x21b1520
|
|
/* 021B1520 */ goto L_021B1528;
|
|
L_021B1524: ; // 0x21b1524
|
|
/* 021B1524 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1528: ; // 0x21b1528
|
|
/* 021B1528 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B1528 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B152C */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 021B152C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B1530 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1534 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B1538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B153C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 021B153C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B1540 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1540 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 021B1544 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B1548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B154C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1550 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1550 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B1550 */ if (_t23) goto L_021B1578; else goto L_021B1554;
|
|
L_021B1554: ; // 0x21b1554
|
|
/* 021B1554 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B155C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1560 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1560 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B1560 */ if (_t25) goto L_021B1574; else goto L_021B1564;
|
|
L_021B1564: ; // 0x21b1564
|
|
/* 021B1564 */ _t26 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1564 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26);
|
|
/* 021B1568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B156C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B156C */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B156C */ if (_t28) goto L_021B1570; else goto L_021B1554;
|
|
L_021B1570: ; // 0x21b1570
|
|
/* 021B1570 */ goto L_021B1578;
|
|
L_021B1574: ; // 0x21b1574
|
|
/* 021B1574 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1578: ; // 0x21b1578
|
|
/* 021B1578 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B1578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B157C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B1580 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1580 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B1580 */ if (_t30) goto L_021B1648; else goto L_021B1584;
|
|
L_021B1584: ; // 0x21b1584
|
|
/* 021B1584 */ cpu->r[25] = cpu->r[31];
|
|
L_021B1588: ; // 0x21b1588
|
|
/* 021B1588 */ _t31 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1588 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B158C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B158C */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
/* 021B1590 */ cpu->r[7] = cpu->r[8] + cpu->r[24];
|
|
/* 021B1594 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B1598 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 021B1598 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 021B159C */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B15A0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B15A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B15A4 */ _t35 = cpu->r[9] + 0x00000014u;
|
|
/* 021B15A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B15A8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B15AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B15B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B15B4 */ _t36 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B15B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B15B8 */ _t37 = cpu->r[11] + 0x00000014u;
|
|
/* 021B15B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B15BC */ cpu->ctr = cpu->r[5];
|
|
/* 021B15C0 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 021B15C0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B15C4 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B15C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B15CC */ _t39 = cpu->r[1] + 0x00000058u;
|
|
/* 021B15CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B15D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[6]);
|
|
/* 021B15D4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B15D4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B15D4 */ if (_t41) goto L_021B1628; else goto L_021B15D8;
|
|
L_021B15D8: ; // 0x21b15d8
|
|
/* 021B15D8 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B15D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B15DC */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B15DC */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B15DC */ if (_t43) goto L_021B15E0; else goto L_021B1628;
|
|
L_021B15E0: ; // 0x21b15e0
|
|
/* 021B15E0 */ _t44 = cpu->r[1] + 0x00000058u;
|
|
/* 021B15E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021B15E4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B15E8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 021B15E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
L_021B15EC: ; // 0x21b15ec
|
|
/* 021B15EC */ _t46 = cpu->r[7] + 0x00000000u;
|
|
/* 021B15EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 021B15F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[25]);
|
|
/* 021B15F4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B15F4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021B15F4 */ if (_t48) goto L_021B15F8; else goto L_021B1608;
|
|
L_021B15F8: ; // 0x21b15f8
|
|
/* 021B15F8 */ _t49 = cpu->r[6] + 0x00000000u;
|
|
/* 021B15F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t49);
|
|
/* 021B15FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 021B1600 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1600 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B1600 */ if (_t51) goto L_021B1628; else goto L_021B1604;
|
|
L_021B1604: ; // 0x21b1604
|
|
/* 021B1604 */ goto L_021B163C;
|
|
L_021B1608: ; // 0x21b1608
|
|
/* 021B1608 */ _t52 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1608 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 021B160C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B1610 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1610 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021B1610 */ if (_t54) goto L_021B163C; else goto L_021B1614;
|
|
L_021B1614: ; // 0x21b1614
|
|
/* 021B1614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 021B1618 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1618 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B1618 */ if (_t56) goto L_021B161C; else goto L_021B163C;
|
|
L_021B161C: ; // 0x21b161c
|
|
/* 021B161C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1620 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B1624 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1624 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1624 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 021B1624 */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B1624 */ if (_t59) goto L_021B15EC; else goto L_021B1628;
|
|
L_021B1628: ; // 0x21b1628
|
|
/* 021B1628 */ _t60 = cpu->r[24] | cpu->r[24];
|
|
/* 021B1628 */ cpu->r[0] = ~_t60;
|
|
/* 021B162C */ cpu->r[9] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B1630 */ cpu->r[0] = cpu->r[0] - cpu->r[9];
|
|
/* 021B1630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1634 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1634 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B1634 */ if (_t62) goto L_021B1784; else goto L_021B1638;
|
|
L_021B1638: ; // 0x21b1638
|
|
/* 021B1638 */ goto L_021B1658;
|
|
L_021B163C: ; // 0x21b163c
|
|
/* 021B163C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B1640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B1644 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1644 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B1644 */ if (_t64) goto L_021B1648; else goto L_021B1588;
|
|
L_021B1648: ; // 0x21b1648
|
|
/* 021B1648 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B164C */ cpu->r[9] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B1650 */ cpu->r[0] = ~cpu->r[9];
|
|
/* 021B1650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1654 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1654 */ _t66 = _t65 & 0x00000001u;
|
|
/* 021B1654 */ if (_t66) goto L_021B1784; else goto L_021B1658;
|
|
L_021B1658: ; // 0x21b1658
|
|
/* 021B1658 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B165C */ _t67 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B165C */ rbrew_write32(cpu->mem, _t67, cpu->r[26]);
|
|
/* 021B1660 */ cpu->r[10] = cpu->r[10] + 0xFFFF9DB8u;
|
|
/* 021B1664 */ _t68 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021B1668 */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 021B1668 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 021B166C */ _t70 = cpu->r[11] + 0x00000014u;
|
|
/* 021B166C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B1670 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1674 */ _t71 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1674 */ cpu->r[27] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B1678 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B167C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1680 */ _t72 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021B1684 */ _t73 = cpu->r[9] + 0x00000000u;
|
|
/* 021B1684 */ cpu->r[4] = rbrew_read8(cpu->mem, _t73);
|
|
/* 021B1688 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B168C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B1690 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B1694 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1694 */ _t75 = _t74 & 0x00000001u;
|
|
/* 021B1694 */ if (_t75) goto L_021B16BC; else goto L_021B1698;
|
|
L_021B1698: ; // 0x21b1698
|
|
/* 021B1698 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B169C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B16A0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B16A4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B16A4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 021B16A4 */ if (_t77) goto L_021B16B8; else goto L_021B16A8;
|
|
L_021B16A8: ; // 0x21b16a8
|
|
/* 021B16A8 */ _t78 = cpu->r[9] + 0x00000000u;
|
|
/* 021B16A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
|
|
/* 021B16AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B16B0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B16B0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B16B0 */ if (_t80) goto L_021B16B4; else goto L_021B1698;
|
|
L_021B16B4: ; // 0x21b16b4
|
|
/* 021B16B4 */ goto L_021B16BC;
|
|
L_021B16B8: ; // 0x21b16b8
|
|
/* 021B16B8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B16BC: ; // 0x21b16bc
|
|
/* 021B16BC */ _t81 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B16BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B16C0 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B16C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B16C4 */ _t82 = cpu->r[6] + 0x00000014u;
|
|
/* 021B16C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021B16C8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B16C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 021B16C8 */ if (_t84) goto L_021B16CC; else goto L_021B16D0;
|
|
L_021B16CC: ; // 0x21b16cc
|
|
/* 021B16CC */ cpu->r[26] = 0x00000000u;
|
|
L_021B16D0: ; // 0x21b16d0
|
|
/* 021B16D0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B16D4 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 021B16D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B16DC */ _t85 = cpu->r[1] + 0x00000098u;
|
|
/* 021B16DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B16E0 */ _t86 = cpu->r[4] + 0x00000000u;
|
|
/* 021B16E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t86);
|
|
/* 021B16E4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B16E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B16EC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B16F0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B16F0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B16F0 */ if (_t88) goto L_021B1718; else goto L_021B16F4;
|
|
L_021B16F4: ; // 0x21b16f4
|
|
/* 021B16F4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B16F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B16FC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1700 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1700 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B1700 */ if (_t90) goto L_021B1714; else goto L_021B1704;
|
|
L_021B1704: ; // 0x21b1704
|
|
/* 021B1704 */ _t91 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1704 */ cpu->r[9] = rbrew_read8(cpu->mem, _t91);
|
|
/* 021B1708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B170C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B170C */ _t93 = _t92 & 0x00000001u;
|
|
/* 021B170C */ if (_t93) goto L_021B1710; else goto L_021B16F4;
|
|
L_021B1710: ; // 0x21b1710
|
|
/* 021B1710 */ goto L_021B1718;
|
|
L_021B1714: ; // 0x21b1714
|
|
/* 021B1714 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1718: ; // 0x21b1718
|
|
/* 021B1718 */ _t94 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B171C */ cpu->r[4] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B1724 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1724 */ _t96 = _t95 & 0x00000001u;
|
|
/* 021B1724 */ if (_t96) goto L_021B172C; else goto L_021B1728;
|
|
L_021B1728: ; // 0x21b1728
|
|
/* 021B1728 */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_021B172C: ; // 0x21b172c
|
|
/* 021B172C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1730 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1730 */ _t98 = _t97 & 0x00000001u;
|
|
/* 021B1730 */ if (_t98) goto L_021B1734; else goto L_021B2DE4;
|
|
L_021B1734: ; // 0x21b1734
|
|
/* 021B1734 */ _t99 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B1734 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B1738 */ _t100 = cpu->r[10] + 0x00000014u;
|
|
/* 021B1738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 021B173C */ cpu->ctr = cpu->r[0];
|
|
/* 021B1740 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1744 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 021B1748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B174C */ _t101 = cpu->r[1] + 0x00000098u;
|
|
/* 021B174C */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 021B1750 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1754 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1758 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B175C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1760 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B1768 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1768 */ _t103 = _t102 & 0x00000001u;
|
|
/* 021B1768 */ if (_t103) goto L_021B176C; else goto L_021B2DE4;
|
|
L_021B176C: ; // 0x21b176c
|
|
/* 021B176C */ _t104 = cpu->r[27] + cpu->r[0];
|
|
/* 021B176C */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[31]);
|
|
/* 021B1770 */ /* nop */
|
|
/* 021B1774 */ _t105 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B1778 */ cpu->lr = cpu->r[0];
|
|
/* 021B177C */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1780 */ return;
|
|
L_021B1784: ; // 0x21b1784
|
|
/* 021B1784 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B1788 */ _t106 = cpu->r[1] + 0x00000064u;
|
|
/* 021B1788 */ rbrew_write32(cpu->mem, _t106, cpu->r[26]);
|
|
/* 021B178C */ cpu->r[4] = cpu->r[4] + 0xFFFF9D8Cu;
|
|
/* 021B1790 */ _t107 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1790 */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B1794 */ _t108 = cpu->r[1] + 0x00000060u;
|
|
/* 021B1794 */ rbrew_write32(cpu->mem, _t108, cpu->r[4]);
|
|
/* 021B1798 */ _t109 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B179C */ cpu->ctr = cpu->r[6];
|
|
/* 021B17A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B17A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B17A8 */ _t110 = cpu->r[27] + 0x00000000u;
|
|
/* 021B17A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B17AC */ _t111 = cpu->r[4] + 0x00000000u;
|
|
/* 021B17AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t111);
|
|
/* 021B17B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B17B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B17B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B17BC */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B17BC */ _t113 = _t112 & 0x00000001u;
|
|
/* 021B17BC */ if (_t113) goto L_021B17E4; else goto L_021B17C0;
|
|
L_021B17C0: ; // 0x21b17c0
|
|
/* 021B17C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B17C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B17C8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B17CC */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B17CC */ _t115 = _t114 & 0x00000001u;
|
|
/* 021B17CC */ if (_t115) goto L_021B17E0; else goto L_021B17D0;
|
|
L_021B17D0: ; // 0x21b17d0
|
|
/* 021B17D0 */ _t116 = cpu->r[4] + 0x00000000u;
|
|
/* 021B17D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t116);
|
|
/* 021B17D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B17D8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B17D8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 021B17D8 */ if (_t118) goto L_021B17DC; else goto L_021B17C0;
|
|
L_021B17DC: ; // 0x21b17dc
|
|
/* 021B17DC */ goto L_021B17E4;
|
|
L_021B17E0: ; // 0x21b17e0
|
|
/* 021B17E0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B17E4: ; // 0x21b17e4
|
|
/* 021B17E4 */ _t119 = cpu->r[1] + 0x00000064u;
|
|
/* 021B17E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B17E8 */ _t120 = cpu->r[9] + 0x00000014u;
|
|
/* 021B17E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021B17EC */ cpu->ctr = cpu->r[10];
|
|
/* 021B17F0 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 021B17F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B17F8 */ _t121 = cpu->r[1] + 0x00000060u;
|
|
/* 021B17F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B17FC */ _t122 = cpu->r[10] + 0x00000000u;
|
|
/* 021B17FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t122);
|
|
/* 021B1800 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1808 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B180C */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B180C */ _t124 = _t123 & 0x00000001u;
|
|
/* 021B180C */ if (_t124) goto L_021B1834; else goto L_021B1810;
|
|
L_021B1810: ; // 0x21b1810
|
|
/* 021B1810 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B1818 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B181C */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B181C */ _t126 = _t125 & 0x00000001u;
|
|
/* 021B181C */ if (_t126) goto L_021B1830; else goto L_021B1820;
|
|
L_021B1820: ; // 0x21b1820
|
|
/* 021B1820 */ _t127 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 021B1824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1828 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1828 */ _t129 = _t128 & 0x00000001u;
|
|
/* 021B1828 */ if (_t129) goto L_021B182C; else goto L_021B1810;
|
|
L_021B182C: ; // 0x21b182c
|
|
/* 021B182C */ goto L_021B1834;
|
|
L_021B1830: ; // 0x21b1830
|
|
/* 021B1830 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1834: ; // 0x21b1834
|
|
/* 021B1834 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1838 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B183C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B183C */ _t131 = _t130 & 0x00000001u;
|
|
/* 021B183C */ if (_t131) goto L_021B1904; else goto L_021B1840;
|
|
L_021B1840: ; // 0x21b1840
|
|
/* 021B1840 */ cpu->r[24] = cpu->r[31];
|
|
L_021B1844: ; // 0x21b1844
|
|
/* 021B1844 */ _t132 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t132);
|
|
/* 021B1848 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 021B1848 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]);
|
|
/* 021B184C */ cpu->r[4] = cpu->r[5] + cpu->r[25];
|
|
/* 021B1850 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B1854 */ _t134 = cpu->r[1] + 0x00000010u;
|
|
/* 021B1854 */ rbrew_write32(cpu->mem, _t134, cpu->r[4]);
|
|
/* 021B1858 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B185C */ _t135 = cpu->r[1] + 0x00000014u;
|
|
/* 021B185C */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 021B1860 */ _t136 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 021B1864 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1868 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B186C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1870 */ _t137 = cpu->r[1] + 0x00000064u;
|
|
/* 021B1870 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 021B1874 */ _t138 = cpu->r[8] + 0x00000014u;
|
|
/* 021B1874 */ cpu->r[9] = rbrew_read32(cpu->mem, _t138);
|
|
/* 021B1878 */ cpu->ctr = cpu->r[9];
|
|
/* 021B187C */ _t139 = cpu->r[1] + 0x00000010u;
|
|
/* 021B187C */ cpu->r[23] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021B1880 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 021B1884 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1888 */ _t140 = cpu->r[1] + 0x00000060u;
|
|
/* 021B1888 */ cpu->r[10] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B188C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[10]);
|
|
/* 021B1890 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1890 */ _t142 = _t141 & 0x00000001u;
|
|
/* 021B1890 */ if (_t142) goto L_021B18E4; else goto L_021B1894;
|
|
L_021B1894: ; // 0x21b1894
|
|
/* 021B1894 */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1898 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1898 */ _t144 = _t143 & 0x00000001u;
|
|
/* 021B1898 */ if (_t144) goto L_021B189C; else goto L_021B18E4;
|
|
L_021B189C: ; // 0x21b189c
|
|
/* 021B189C */ _t145 = cpu->r[1] + 0x00000060u;
|
|
/* 021B189C */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 021B18A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B18A4 */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 021B18A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t146);
|
|
L_021B18A8: ; // 0x21b18a8
|
|
/* 021B18A8 */ _t147 = cpu->r[9] + 0x00000000u;
|
|
/* 021B18A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t147);
|
|
/* 021B18AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 021B18B0 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18B0 */ _t149 = _t148 & 0x00000001u;
|
|
/* 021B18B0 */ if (_t149) goto L_021B18B4; else goto L_021B18C4;
|
|
L_021B18B4: ; // 0x21b18b4
|
|
/* 021B18B4 */ _t150 = cpu->r[8] + 0x00000000u;
|
|
/* 021B18B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t150);
|
|
/* 021B18B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[24]);
|
|
/* 021B18BC */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18BC */ _t152 = _t151 & 0x00000001u;
|
|
/* 021B18BC */ if (_t152) goto L_021B18E4; else goto L_021B18C0;
|
|
L_021B18C0: ; // 0x21b18c0
|
|
/* 021B18C0 */ goto L_021B18F8;
|
|
L_021B18C4: ; // 0x21b18c4
|
|
/* 021B18C4 */ _t153 = cpu->r[8] + 0x00000000u;
|
|
/* 021B18C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t153);
|
|
/* 021B18C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[24]);
|
|
/* 021B18CC */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18CC */ _t155 = _t154 & 0x00000001u;
|
|
/* 021B18CC */ if (_t155) goto L_021B18F8; else goto L_021B18D0;
|
|
L_021B18D0: ; // 0x21b18d0
|
|
/* 021B18D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 021B18D4 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18D4 */ _t157 = _t156 & 0x00000001u;
|
|
/* 021B18D4 */ if (_t157) goto L_021B18D8; else goto L_021B18F8;
|
|
L_021B18D8: ; // 0x21b18d8
|
|
/* 021B18D8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B18DC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B18E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B18E0 */ _t158 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B18E0 */ _t159 = _t158 >> (0x00000002u & 31u);
|
|
/* 021B18E0 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021B18E0 */ if (_t160) goto L_021B18A8; else goto L_021B18E4;
|
|
L_021B18E4: ; // 0x21b18e4
|
|
/* 021B18E4 */ _t161 = cpu->r[25] | cpu->r[25];
|
|
/* 021B18E4 */ cpu->r[0] = ~_t161;
|
|
/* 021B18E8 */ cpu->r[4] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B18EC */ cpu->r[11] = cpu->r[0] - cpu->r[4];
|
|
/* 021B18EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B18F0 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18F0 */ _t163 = _t162 & 0x00000001u;
|
|
/* 021B18F0 */ if (_t163) goto L_021B1A40; else goto L_021B18F4;
|
|
L_021B18F4: ; // 0x21b18f4
|
|
/* 021B18F4 */ goto L_021B1914;
|
|
L_021B18F8: ; // 0x21b18f8
|
|
/* 021B18F8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B18FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1900 */ _t164 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1900 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021B1900 */ if (_t165) goto L_021B1904; else goto L_021B1844;
|
|
L_021B1904: ; // 0x21b1904
|
|
/* 021B1904 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B1908 */ cpu->r[4] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B190C */ cpu->r[11] = ~cpu->r[4];
|
|
/* 021B190C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B1910 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1910 */ _t167 = _t166 & 0x00000001u;
|
|
/* 021B1910 */ if (_t167) goto L_021B1A40; else goto L_021B1914;
|
|
L_021B1914: ; // 0x21b1914
|
|
/* 021B1914 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B1918 */ _t168 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B1918 */ rbrew_write32(cpu->mem, _t168, cpu->r[26]);
|
|
/* 021B191C */ cpu->r[5] = cpu->r[5] + 0xFFFF9DBBu;
|
|
/* 021B1920 */ _t169 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t169);
|
|
/* 021B1924 */ _t170 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1924 */ rbrew_write32(cpu->mem, _t170, cpu->r[5]);
|
|
/* 021B1928 */ _t171 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1928 */ cpu->r[7] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021B192C */ cpu->ctr = cpu->r[7];
|
|
/* 021B1930 */ _t172 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1930 */ cpu->r[27] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021B1934 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B193C */ _t173 = cpu->r[28] + 0x00000000u;
|
|
/* 021B193C */ cpu->r[10] = rbrew_read32(cpu->mem, _t173);
|
|
/* 021B1940 */ _t174 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1940 */ cpu->r[0] = rbrew_read8(cpu->mem, _t174);
|
|
/* 021B1944 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B194C */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1950 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1950 */ _t176 = _t175 & 0x00000001u;
|
|
/* 021B1950 */ if (_t176) goto L_021B1978; else goto L_021B1954;
|
|
L_021B1954: ; // 0x21b1954
|
|
/* 021B1954 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B195C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1960 */ _t177 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1960 */ _t178 = _t177 & 0x00000001u;
|
|
/* 021B1960 */ if (_t178) goto L_021B1974; else goto L_021B1964;
|
|
L_021B1964: ; // 0x21b1964
|
|
/* 021B1964 */ _t179 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1964 */ cpu->r[9] = rbrew_read8(cpu->mem, _t179);
|
|
/* 021B1968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B196C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B196C */ _t181 = _t180 & 0x00000001u;
|
|
/* 021B196C */ if (_t181) goto L_021B1970; else goto L_021B1954;
|
|
L_021B1970: ; // 0x21b1970
|
|
/* 021B1970 */ goto L_021B1978;
|
|
L_021B1974: ; // 0x21b1974
|
|
/* 021B1974 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1978: ; // 0x21b1978
|
|
/* 021B1978 */ _t182 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B1978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t182);
|
|
/* 021B197C */ cpu->r[26] = cpu->r[30];
|
|
/* 021B197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1980 */ _t183 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1980 */ cpu->r[4] = rbrew_read32(cpu->mem, _t183);
|
|
/* 021B1984 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1984 */ _t185 = _t184 & 0x00000001u;
|
|
/* 021B1984 */ if (_t185) goto L_021B1988; else goto L_021B198C;
|
|
L_021B1988: ; // 0x21b1988
|
|
/* 021B1988 */ cpu->r[26] = 0x00000000u;
|
|
L_021B198C: ; // 0x21b198c
|
|
/* 021B198C */ cpu->ctr = cpu->r[4];
|
|
/* 021B1990 */ cpu->r[3] = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1998 */ _t186 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1998 */ cpu->r[5] = rbrew_read32(cpu->mem, _t186);
|
|
/* 021B199C */ _t187 = cpu->r[5] + 0x00000000u;
|
|
/* 021B199C */ cpu->r[0] = rbrew_read8(cpu->mem, _t187);
|
|
/* 021B19A0 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B19A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B19A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B19AC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B19AC */ _t189 = _t188 & 0x00000001u;
|
|
/* 021B19AC */ if (_t189) goto L_021B19D4; else goto L_021B19B0;
|
|
L_021B19B0: ; // 0x21b19b0
|
|
/* 021B19B0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B19B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B19B8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B19BC */ _t190 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B19BC */ _t191 = _t190 & 0x00000001u;
|
|
/* 021B19BC */ if (_t191) goto L_021B19D0; else goto L_021B19C0;
|
|
L_021B19C0: ; // 0x21b19c0
|
|
/* 021B19C0 */ _t192 = cpu->r[5] + 0x00000000u;
|
|
/* 021B19C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t192);
|
|
/* 021B19C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B19C8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B19C8 */ _t194 = _t193 & 0x00000001u;
|
|
/* 021B19C8 */ if (_t194) goto L_021B19CC; else goto L_021B19B0;
|
|
L_021B19CC: ; // 0x21b19cc
|
|
/* 021B19CC */ goto L_021B19D4;
|
|
L_021B19D0: ; // 0x21b19d0
|
|
/* 021B19D0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B19D4: ; // 0x21b19d4
|
|
/* 021B19D4 */ _t195 = cpu->r[28] + 0x00000008u;
|
|
/* 021B19D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t195);
|
|
/* 021B19D8 */ cpu->r[11] = cpu->r[4] - cpu->r[26];
|
|
/* 021B19DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B19E0 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B19E0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 021B19E0 */ if (_t197) goto L_021B19E8; else goto L_021B19E4;
|
|
L_021B19E4: ; // 0x21b19e4
|
|
/* 021B19E4 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_021B19E8: ; // 0x21b19e8
|
|
/* 021B19E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B19EC */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B19EC */ _t199 = _t198 & 0x00000001u;
|
|
/* 021B19EC */ if (_t199) goto L_021B19F0; else goto L_021B2DE4;
|
|
L_021B19F0: ; // 0x21b19f0
|
|
/* 021B19F0 */ _t200 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B19F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t200);
|
|
/* 021B19F4 */ _t201 = cpu->r[8] + 0x00000014u;
|
|
/* 021B19F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t201);
|
|
/* 021B19F8 */ cpu->ctr = cpu->r[9];
|
|
/* 021B19FC */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1A00 */ cpu->r[3] = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1A04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1A08 */ _t202 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1A08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021B1A0C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1A10 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1A14 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1A18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1A1C */ cpu->r[11] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
|
|
/* 021B1A24 */ _t203 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1A24 */ _t204 = _t203 & 0x00000001u;
|
|
/* 021B1A24 */ if (_t204) goto L_021B1A28; else goto L_021B2DE4;
|
|
L_021B1A28: ; // 0x21b1a28
|
|
/* 021B1A28 */ _t205 = cpu->r[27] + cpu->r[11];
|
|
/* 021B1A28 */ rbrew_write8(cpu->mem, _t205, (uint8_t)cpu->r[31]);
|
|
/* 021B1A2C */ /* nop */
|
|
/* 021B1A30 */ _t206 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 021B1A34 */ cpu->lr = cpu->r[0];
|
|
/* 021B1A38 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1A3C */ return;
|
|
L_021B1A40: ; // 0x21b1a40
|
|
/* 021B1A40 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B1A44 */ _t207 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1A44 */ rbrew_write32(cpu->mem, _t207, cpu->r[26]);
|
|
/* 021B1A48 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D90u;
|
|
/* 021B1A4C */ _t208 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1A4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t208);
|
|
/* 021B1A50 */ _t209 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1A50 */ rbrew_write32(cpu->mem, _t209, cpu->r[0]);
|
|
/* 021B1A54 */ _t210 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1A54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t210);
|
|
/* 021B1A58 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1A5C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1A64 */ _t211 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t211);
|
|
/* 021B1A68 */ _t212 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1A68 */ cpu->r[5] = rbrew_read8(cpu->mem, _t212);
|
|
/* 021B1A6C */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B1A74 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1A78 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1A78 */ _t214 = _t213 & 0x00000001u;
|
|
/* 021B1A78 */ if (_t214) goto L_021B1AA0; else goto L_021B1A7C;
|
|
L_021B1A7C: ; // 0x21b1a7c
|
|
/* 021B1A7C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B1A84 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1A88 */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1A88 */ _t216 = _t215 & 0x00000001u;
|
|
/* 021B1A88 */ if (_t216) goto L_021B1A9C; else goto L_021B1A8C;
|
|
L_021B1A8C: ; // 0x21b1a8c
|
|
/* 021B1A8C */ _t217 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1A8C */ cpu->r[6] = rbrew_read8(cpu->mem, _t217);
|
|
/* 021B1A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B1A94 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1A94 */ _t219 = _t218 & 0x00000001u;
|
|
/* 021B1A94 */ if (_t219) goto L_021B1A98; else goto L_021B1A7C;
|
|
L_021B1A98: ; // 0x21b1a98
|
|
/* 021B1A98 */ goto L_021B1AA0;
|
|
L_021B1A9C: ; // 0x21b1a9c
|
|
/* 021B1A9C */ cpu->r[29] = 0x00000000u;
|
|
L_021B1AA0: ; // 0x21b1aa0
|
|
/* 021B1AA0 */ _t220 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1AA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t220);
|
|
/* 021B1AA4 */ _t221 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t221);
|
|
/* 021B1AA8 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1AAC */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021B1AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1AB4 */ _t222 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t222);
|
|
/* 021B1AB8 */ _t223 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1AB8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t223);
|
|
/* 021B1ABC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1AC4 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1AC8 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1AC8 */ _t225 = _t224 & 0x00000001u;
|
|
/* 021B1AC8 */ if (_t225) goto L_021B1AF0; else goto L_021B1ACC;
|
|
L_021B1ACC: ; // 0x21b1acc
|
|
/* 021B1ACC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B1AD4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1AD8 */ _t226 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1AD8 */ _t227 = _t226 & 0x00000001u;
|
|
/* 021B1AD8 */ if (_t227) goto L_021B1AEC; else goto L_021B1ADC;
|
|
L_021B1ADC: ; // 0x21b1adc
|
|
/* 021B1ADC */ _t228 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1ADC */ cpu->r[11] = rbrew_read8(cpu->mem, _t228);
|
|
/* 021B1AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1AE4 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1AE4 */ _t230 = _t229 & 0x00000001u;
|
|
/* 021B1AE4 */ if (_t230) goto L_021B1AE8; else goto L_021B1ACC;
|
|
L_021B1AE8: ; // 0x21b1ae8
|
|
/* 021B1AE8 */ goto L_021B1AF0;
|
|
L_021B1AEC: ; // 0x21b1aec
|
|
/* 021B1AEC */ cpu->r[30] = 0x00000000u;
|
|
L_021B1AF0: ; // 0x21b1af0
|
|
/* 021B1AF0 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1AF4 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B1AF8 */ _t231 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1AF8 */ _t232 = _t231 & 0x00000001u;
|
|
/* 021B1AF8 */ if (_t232) goto L_021B1BC0; else goto L_021B1AFC;
|
|
L_021B1AFC: ; // 0x21b1afc
|
|
/* 021B1AFC */ cpu->r[24] = cpu->r[31];
|
|
L_021B1B00: ; // 0x21b1b00
|
|
/* 021B1B00 */ _t233 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1B00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t233);
|
|
/* 021B1B04 */ _t234 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B1B04 */ rbrew_write32(cpu->mem, _t234, cpu->r[26]);
|
|
/* 021B1B08 */ cpu->r[0] = cpu->r[4] + cpu->r[25];
|
|
/* 021B1B0C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B10 */ _t235 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B10 */ rbrew_write32(cpu->mem, _t235, cpu->r[0]);
|
|
/* 021B1B14 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B1B18 */ _t236 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B1B18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t236);
|
|
/* 021B1B1C */ _t237 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1B1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t237);
|
|
/* 021B1B20 */ cpu->ctr = cpu->r[6];
|
|
/* 021B1B24 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1B2C */ _t238 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t238);
|
|
/* 021B1B30 */ _t239 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1B30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t239);
|
|
/* 021B1B34 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1B38 */ _t240 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B38 */ cpu->r[23] = rbrew_read32(cpu->mem, _t240);
|
|
/* 021B1B3C */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1B44 */ _t241 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 021B1B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[9]);
|
|
/* 021B1B4C */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B4C */ _t243 = _t242 & 0x00000001u;
|
|
/* 021B1B4C */ if (_t243) goto L_021B1BA0; else goto L_021B1B50;
|
|
L_021B1B50: ; // 0x21b1b50
|
|
/* 021B1B50 */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1B54 */ _t244 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1B54 */ _t245 = _t244 & 0x00000001u;
|
|
/* 021B1B54 */ if (_t245) goto L_021B1B58; else goto L_021B1BA0;
|
|
L_021B1B58: ; // 0x21b1b58
|
|
/* 021B1B58 */ _t246 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t246);
|
|
/* 021B1B5C */ cpu->ctr = cpu->r[0];
|
|
/* 021B1B60 */ _t247 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247);
|
|
L_021B1B64: ; // 0x21b1b64
|
|
/* 021B1B64 */ _t248 = cpu->r[9] + 0x00000000u;
|
|
/* 021B1B64 */ cpu->r[8] = rbrew_read8(cpu->mem, _t248);
|
|
/* 021B1B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 021B1B6C */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B6C */ _t250 = _t249 & 0x00000001u;
|
|
/* 021B1B6C */ if (_t250) goto L_021B1B70; else goto L_021B1B80;
|
|
L_021B1B70: ; // 0x21b1b70
|
|
/* 021B1B70 */ _t251 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1B70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t251);
|
|
/* 021B1B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 021B1B78 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B78 */ _t253 = _t252 & 0x00000001u;
|
|
/* 021B1B78 */ if (_t253) goto L_021B1BA0; else goto L_021B1B7C;
|
|
L_021B1B7C: ; // 0x21b1b7c
|
|
/* 021B1B7C */ goto L_021B1BB4;
|
|
L_021B1B80: ; // 0x21b1b80
|
|
/* 021B1B80 */ _t254 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1B80 */ cpu->r[7] = rbrew_read8(cpu->mem, _t254);
|
|
/* 021B1B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 021B1B88 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B88 */ _t256 = _t255 & 0x00000001u;
|
|
/* 021B1B88 */ if (_t256) goto L_021B1BB4; else goto L_021B1B8C;
|
|
L_021B1B8C: ; // 0x21b1b8c
|
|
/* 021B1B8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 021B1B90 */ _t257 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B90 */ _t258 = _t257 & 0x00000001u;
|
|
/* 021B1B90 */ if (_t258) goto L_021B1B94; else goto L_021B1BB4;
|
|
L_021B1B94: ; // 0x21b1b94
|
|
/* 021B1B94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1B98 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B1B9C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1B9C */ _t259 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1B9C */ _t260 = _t259 >> (0x00000002u & 31u);
|
|
/* 021B1B9C */ _t261 = _t260 & 0x00000001u;
|
|
/* 021B1B9C */ if (_t261) goto L_021B1B64; else goto L_021B1BA0;
|
|
L_021B1BA0: ; // 0x21b1ba0
|
|
/* 021B1BA0 */ _t262 = cpu->r[25] | cpu->r[25];
|
|
/* 021B1BA0 */ cpu->r[11] = ~_t262;
|
|
/* 021B1BA4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B1BA8 */ cpu->r[6] = cpu->r[11] - cpu->r[0];
|
|
/* 021B1BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B1BAC */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1BAC */ _t264 = _t263 & 0x00000001u;
|
|
/* 021B1BAC */ if (_t264) goto L_021B1CFC; else goto L_021B1BB0;
|
|
L_021B1BB0: ; // 0x21b1bb0
|
|
/* 021B1BB0 */ goto L_021B1BD0;
|
|
L_021B1BB4: ; // 0x21b1bb4
|
|
/* 021B1BB4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B1BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1BBC */ _t265 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1BBC */ _t266 = _t265 & 0x00000001u;
|
|
/* 021B1BBC */ if (_t266) goto L_021B1BC0; else goto L_021B1B00;
|
|
L_021B1BC0: ; // 0x21b1bc0
|
|
/* 021B1BC0 */ cpu->r[11] = 0x00000000u;
|
|
/* 021B1BC4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B1BC8 */ cpu->r[6] = ~cpu->r[0];
|
|
/* 021B1BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B1BCC */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1BCC */ _t268 = _t267 & 0x00000001u;
|
|
/* 021B1BCC */ if (_t268) goto L_021B1CFC; else goto L_021B1BD0;
|
|
L_021B1BD0: ; // 0x21b1bd0
|
|
/* 021B1BD0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B1BD4 */ _t269 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1BD4 */ rbrew_write32(cpu->mem, _t269, cpu->r[26]);
|
|
/* 021B1BD8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DBEu;
|
|
/* 021B1BDC */ _t270 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1BDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t270);
|
|
/* 021B1BE0 */ _t271 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1BE0 */ rbrew_write32(cpu->mem, _t271, cpu->r[4]);
|
|
/* 021B1BE4 */ _t272 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1BE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t272);
|
|
/* 021B1BE8 */ cpu->ctr = cpu->r[6];
|
|
/* 021B1BEC */ _t273 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1BEC */ cpu->r[27] = rbrew_read32(cpu->mem, _t273);
|
|
/* 021B1BF0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1BF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1BF8 */ _t274 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1BF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t274);
|
|
/* 021B1BFC */ _t275 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t275);
|
|
/* 021B1C00 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B1C08 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B1C0C */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C0C */ _t277 = _t276 & 0x00000001u;
|
|
/* 021B1C0C */ if (_t277) goto L_021B1C34; else goto L_021B1C10;
|
|
L_021B1C10: ; // 0x21b1c10
|
|
/* 021B1C10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 021B1C18 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B1C1C */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1C1C */ _t279 = _t278 & 0x00000001u;
|
|
/* 021B1C1C */ if (_t279) goto L_021B1C30; else goto L_021B1C20;
|
|
L_021B1C20: ; // 0x21b1c20
|
|
/* 021B1C20 */ _t280 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1C20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t280);
|
|
/* 021B1C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1C28 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C28 */ _t282 = _t281 & 0x00000001u;
|
|
/* 021B1C28 */ if (_t282) goto L_021B1C2C; else goto L_021B1C10;
|
|
L_021B1C2C: ; // 0x21b1c2c
|
|
/* 021B1C2C */ goto L_021B1C34;
|
|
L_021B1C30: ; // 0x21b1c30
|
|
/* 021B1C30 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1C34: ; // 0x21b1c34
|
|
/* 021B1C34 */ _t283 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1C34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t283);
|
|
/* 021B1C38 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B1C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1C3C */ _t284 = cpu->r[9] + 0x00000014u;
|
|
/* 021B1C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t284);
|
|
/* 021B1C40 */ _t285 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1C40 */ _t286 = _t285 & 0x00000001u;
|
|
/* 021B1C40 */ if (_t286) goto L_021B1C44; else goto L_021B1C48;
|
|
L_021B1C44: ; // 0x21b1c44
|
|
/* 021B1C44 */ cpu->r[26] = 0x00000000u;
|
|
L_021B1C48: ; // 0x21b1c48
|
|
/* 021B1C48 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1C4C */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1C50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1C54 */ _t287 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1C54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t287);
|
|
/* 021B1C58 */ _t288 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1C58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t288);
|
|
/* 021B1C5C */ cpu->r[8] = 0x00080000u;
|
|
/* 021B1C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1C64 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1C68 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C68 */ _t290 = _t289 & 0x00000001u;
|
|
/* 021B1C68 */ if (_t290) goto L_021B1C90; else goto L_021B1C6C;
|
|
L_021B1C6C: ; // 0x21b1c6c
|
|
/* 021B1C6C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B1C74 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1C78 */ _t291 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1C78 */ _t292 = _t291 & 0x00000001u;
|
|
/* 021B1C78 */ if (_t292) goto L_021B1C8C; else goto L_021B1C7C;
|
|
L_021B1C7C: ; // 0x21b1c7c
|
|
/* 021B1C7C */ _t293 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1C7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t293);
|
|
/* 021B1C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1C84 */ _t294 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C84 */ _t295 = _t294 & 0x00000001u;
|
|
/* 021B1C84 */ if (_t295) goto L_021B1C88; else goto L_021B1C6C;
|
|
L_021B1C88: ; // 0x21b1c88
|
|
/* 021B1C88 */ goto L_021B1C90;
|
|
L_021B1C8C: ; // 0x21b1c8c
|
|
/* 021B1C8C */ cpu->r[29] = 0x00000000u;
|
|
L_021B1C90: ; // 0x21b1c90
|
|
/* 021B1C90 */ _t296 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1C90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t296);
|
|
/* 021B1C94 */ cpu->r[10] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B1C9C */ _t297 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1C9C */ _t298 = _t297 & 0x00000001u;
|
|
/* 021B1C9C */ if (_t298) goto L_021B1CA4; else goto L_021B1CA0;
|
|
L_021B1CA0: ; // 0x21b1ca0
|
|
/* 021B1CA0 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B1CA4: ; // 0x21b1ca4
|
|
/* 021B1CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1CA8 */ _t299 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1CA8 */ _t300 = _t299 & 0x00000001u;
|
|
/* 021B1CA8 */ if (_t300) goto L_021B1CAC; else goto L_021B2DE4;
|
|
L_021B1CAC: ; // 0x21b1cac
|
|
/* 021B1CAC */ _t301 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t301);
|
|
/* 021B1CB0 */ _t302 = cpu->r[4] + 0x00000014u;
|
|
/* 021B1CB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t302);
|
|
/* 021B1CB4 */ cpu->ctr = cpu->r[5];
|
|
/* 021B1CB8 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1CBC */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1CC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1CC4 */ _t303 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1CC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t303);
|
|
/* 021B1CC8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1CCC */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1CD4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1CD8 */ cpu->r[10] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[30]);
|
|
/* 021B1CE0 */ _t304 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1CE0 */ _t305 = _t304 & 0x00000001u;
|
|
/* 021B1CE0 */ if (_t305) goto L_021B1CE4; else goto L_021B2DE4;
|
|
L_021B1CE4: ; // 0x21b1ce4
|
|
/* 021B1CE4 */ _t306 = cpu->r[27] + cpu->r[10];
|
|
/* 021B1CE4 */ rbrew_write8(cpu->mem, _t306, (uint8_t)cpu->r[31]);
|
|
/* 021B1CE8 */ /* nop */
|
|
/* 021B1CEC */ _t307 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
|
|
/* 021B1CF0 */ cpu->lr = cpu->r[0];
|
|
/* 021B1CF4 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1CF8 */ return;
|
|
L_021B1CFC: ; // 0x21b1cfc
|
|
/* 021B1CFC */ cpu->r[6] = 0x10030000u;
|
|
/* 021B1D00 */ _t308 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1D00 */ rbrew_write32(cpu->mem, _t308, cpu->r[26]);
|
|
/* 021B1D04 */ cpu->r[6] = cpu->r[6] + 0xFFFF9D94u;
|
|
/* 021B1D08 */ _t309 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1D08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t309);
|
|
/* 021B1D0C */ _t310 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D0C */ rbrew_write32(cpu->mem, _t310, cpu->r[6]);
|
|
/* 021B1D10 */ _t311 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1D10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t311);
|
|
/* 021B1D14 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1D18 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1D20 */ _t312 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t312);
|
|
/* 021B1D24 */ _t313 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1D24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t313);
|
|
/* 021B1D28 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B1D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1D30 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1D34 */ _t314 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D34 */ _t315 = _t314 & 0x00000001u;
|
|
/* 021B1D34 */ if (_t315) goto L_021B1D5C; else goto L_021B1D38;
|
|
L_021B1D38: ; // 0x21b1d38
|
|
/* 021B1D38 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B1D40 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1D44 */ _t316 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1D44 */ _t317 = _t316 & 0x00000001u;
|
|
/* 021B1D44 */ if (_t317) goto L_021B1D58; else goto L_021B1D48;
|
|
L_021B1D48: ; // 0x21b1d48
|
|
/* 021B1D48 */ _t318 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1D48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t318);
|
|
/* 021B1D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1D50 */ _t319 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D50 */ _t320 = _t319 & 0x00000001u;
|
|
/* 021B1D50 */ if (_t320) goto L_021B1D54; else goto L_021B1D38;
|
|
L_021B1D54: ; // 0x21b1d54
|
|
/* 021B1D54 */ goto L_021B1D5C;
|
|
L_021B1D58: ; // 0x21b1d58
|
|
/* 021B1D58 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1D5C: ; // 0x21b1d5c
|
|
/* 021B1D5C */ _t321 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1D5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t321);
|
|
/* 021B1D60 */ _t322 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1D60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t322);
|
|
/* 021B1D64 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1D68 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1D70 */ _t323 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t323);
|
|
/* 021B1D74 */ _t324 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1D74 */ cpu->r[5] = rbrew_read8(cpu->mem, _t324);
|
|
/* 021B1D78 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B1D80 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1D84 */ _t325 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D84 */ _t326 = _t325 & 0x00000001u;
|
|
/* 021B1D84 */ if (_t326) goto L_021B1DAC; else goto L_021B1D88;
|
|
L_021B1D88: ; // 0x21b1d88
|
|
/* 021B1D88 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B1D90 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B1D94 */ _t327 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1D94 */ _t328 = _t327 & 0x00000001u;
|
|
/* 021B1D94 */ if (_t328) goto L_021B1DA8; else goto L_021B1D98;
|
|
L_021B1D98: ; // 0x21b1d98
|
|
/* 021B1D98 */ _t329 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1D98 */ cpu->r[6] = rbrew_read8(cpu->mem, _t329);
|
|
/* 021B1D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B1DA0 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1DA0 */ _t331 = _t330 & 0x00000001u;
|
|
/* 021B1DA0 */ if (_t331) goto L_021B1DA4; else goto L_021B1D88;
|
|
L_021B1DA4: ; // 0x21b1da4
|
|
/* 021B1DA4 */ goto L_021B1DAC;
|
|
L_021B1DA8: ; // 0x21b1da8
|
|
/* 021B1DA8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1DAC: ; // 0x21b1dac
|
|
/* 021B1DAC */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1DB0 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B1DB4 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1DB4 */ _t333 = _t332 & 0x00000001u;
|
|
/* 021B1DB4 */ if (_t333) goto L_021B1E7C; else goto L_021B1DB8;
|
|
L_021B1DB8: ; // 0x21b1db8
|
|
/* 021B1DB8 */ cpu->r[24] = cpu->r[31];
|
|
L_021B1DBC: ; // 0x21b1dbc
|
|
/* 021B1DBC */ _t334 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1DBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t334);
|
|
/* 021B1DC0 */ _t335 = cpu->r[1] + 0x00000024u;
|
|
/* 021B1DC0 */ rbrew_write32(cpu->mem, _t335, cpu->r[26]);
|
|
/* 021B1DC4 */ cpu->r[0] = cpu->r[8] + cpu->r[25];
|
|
/* 021B1DC8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DCC */ _t336 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DCC */ rbrew_write32(cpu->mem, _t336, cpu->r[0]);
|
|
/* 021B1DD0 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B1DD4 */ _t337 = cpu->r[1] + 0x00000024u;
|
|
/* 021B1DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t337);
|
|
/* 021B1DD8 */ _t338 = cpu->r[9] + 0x00000014u;
|
|
/* 021B1DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t338);
|
|
/* 021B1DDC */ cpu->ctr = cpu->r[0];
|
|
/* 021B1DE0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1DE8 */ _t339 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1DE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t339);
|
|
/* 021B1DEC */ _t340 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1DEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t340);
|
|
/* 021B1DF0 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1DF4 */ _t341 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DF4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t341);
|
|
/* 021B1DF8 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 021B1DFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1E00 */ _t342 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1E00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t342);
|
|
/* 021B1E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B1E08 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E08 */ _t344 = _t343 & 0x00000001u;
|
|
/* 021B1E08 */ if (_t344) goto L_021B1E5C; else goto L_021B1E0C;
|
|
L_021B1E0C: ; // 0x21b1e0c
|
|
/* 021B1E0C */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E10 */ _t345 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1E10 */ _t346 = _t345 & 0x00000001u;
|
|
/* 021B1E10 */ if (_t346) goto L_021B1E14; else goto L_021B1E5C;
|
|
L_021B1E14: ; // 0x21b1e14
|
|
/* 021B1E14 */ _t347 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1E14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t347);
|
|
/* 021B1E18 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1E1C */ _t348 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1E1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t348);
|
|
L_021B1E20: ; // 0x21b1e20
|
|
/* 021B1E20 */ _t349 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1E20 */ cpu->r[10] = rbrew_read8(cpu->mem, _t349);
|
|
/* 021B1E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 021B1E28 */ _t350 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E28 */ _t351 = _t350 & 0x00000001u;
|
|
/* 021B1E28 */ if (_t351) goto L_021B1E2C; else goto L_021B1E3C;
|
|
L_021B1E2C: ; // 0x21b1e2c
|
|
/* 021B1E2C */ _t352 = cpu->r[7] + 0x00000000u;
|
|
/* 021B1E2C */ cpu->r[6] = rbrew_read8(cpu->mem, _t352);
|
|
/* 021B1E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 021B1E34 */ _t353 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E34 */ _t354 = _t353 & 0x00000001u;
|
|
/* 021B1E34 */ if (_t354) goto L_021B1E5C; else goto L_021B1E38;
|
|
L_021B1E38: ; // 0x21b1e38
|
|
/* 021B1E38 */ goto L_021B1E70;
|
|
L_021B1E3C: ; // 0x21b1e3c
|
|
/* 021B1E3C */ _t355 = cpu->r[7] + 0x00000000u;
|
|
/* 021B1E3C */ cpu->r[9] = rbrew_read8(cpu->mem, _t355);
|
|
/* 021B1E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 021B1E44 */ _t356 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E44 */ _t357 = _t356 & 0x00000001u;
|
|
/* 021B1E44 */ if (_t357) goto L_021B1E70; else goto L_021B1E48;
|
|
L_021B1E48: ; // 0x21b1e48
|
|
/* 021B1E48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 021B1E4C */ _t358 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E4C */ _t359 = _t358 & 0x00000001u;
|
|
/* 021B1E4C */ if (_t359) goto L_021B1E50; else goto L_021B1E70;
|
|
L_021B1E50: ; // 0x21b1e50
|
|
/* 021B1E50 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B1E54 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1E58 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1E58 */ _t360 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1E58 */ _t361 = _t360 >> (0x00000002u & 31u);
|
|
/* 021B1E58 */ _t362 = _t361 & 0x00000001u;
|
|
/* 021B1E58 */ if (_t362) goto L_021B1E20; else goto L_021B1E5C;
|
|
L_021B1E5C: ; // 0x21b1e5c
|
|
/* 021B1E5C */ _t363 = cpu->r[25] | cpu->r[25];
|
|
/* 021B1E5C */ cpu->r[7] = ~_t363;
|
|
/* 021B1E60 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B1E64 */ cpu->r[0] = cpu->r[7] - cpu->r[8];
|
|
/* 021B1E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E68 */ _t364 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E68 */ _t365 = _t364 & 0x00000001u;
|
|
/* 021B1E68 */ if (_t365) goto L_021B1FB8; else goto L_021B1E6C;
|
|
L_021B1E6C: ; // 0x21b1e6c
|
|
/* 021B1E6C */ goto L_021B1E8C;
|
|
L_021B1E70: ; // 0x21b1e70
|
|
/* 021B1E70 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B1E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1E78 */ _t366 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1E78 */ _t367 = _t366 & 0x00000001u;
|
|
/* 021B1E78 */ if (_t367) goto L_021B1E7C; else goto L_021B1DBC;
|
|
L_021B1E7C: ; // 0x21b1e7c
|
|
/* 021B1E7C */ cpu->r[7] = 0x00000000u;
|
|
/* 021B1E80 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B1E84 */ cpu->r[0] = ~cpu->r[8];
|
|
/* 021B1E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E88 */ _t368 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E88 */ _t369 = _t368 & 0x00000001u;
|
|
/* 021B1E88 */ if (_t369) goto L_021B1FB8; else goto L_021B1E8C;
|
|
L_021B1E8C: ; // 0x21b1e8c
|
|
/* 021B1E8C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B1E90 */ _t370 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1E90 */ rbrew_write32(cpu->mem, _t370, cpu->r[26]);
|
|
/* 021B1E94 */ cpu->r[9] = cpu->r[9] + 0xFFFF9DC1u;
|
|
/* 021B1E98 */ _t371 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1E98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t371);
|
|
/* 021B1E9C */ _t372 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1E9C */ rbrew_write32(cpu->mem, _t372, cpu->r[9]);
|
|
/* 021B1EA0 */ _t373 = cpu->r[10] + 0x00000014u;
|
|
/* 021B1EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t373);
|
|
/* 021B1EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1EA8 */ _t374 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1EA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t374);
|
|
/* 021B1EAC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1EB4 */ _t375 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1EB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t375);
|
|
/* 021B1EB8 */ _t376 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1EB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t376);
|
|
/* 021B1EBC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1EC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B1EC4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B1EC8 */ _t377 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1EC8 */ _t378 = _t377 & 0x00000001u;
|
|
/* 021B1EC8 */ if (_t378) goto L_021B1EF0; else goto L_021B1ECC;
|
|
L_021B1ECC: ; // 0x21b1ecc
|
|
/* 021B1ECC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B1ED4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B1ED8 */ _t379 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1ED8 */ _t380 = _t379 & 0x00000001u;
|
|
/* 021B1ED8 */ if (_t380) goto L_021B1EEC; else goto L_021B1EDC;
|
|
L_021B1EDC: ; // 0x21b1edc
|
|
/* 021B1EDC */ _t381 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t381);
|
|
/* 021B1EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1EE4 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1EE4 */ _t383 = _t382 & 0x00000001u;
|
|
/* 021B1EE4 */ if (_t383) goto L_021B1EE8; else goto L_021B1ECC;
|
|
L_021B1EE8: ; // 0x21b1ee8
|
|
/* 021B1EE8 */ goto L_021B1EF0;
|
|
L_021B1EEC: ; // 0x21b1eec
|
|
/* 021B1EEC */ cpu->r[30] = 0x00000000u;
|
|
L_021B1EF0: ; // 0x21b1ef0
|
|
/* 021B1EF0 */ _t384 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1EF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t384);
|
|
/* 021B1EF4 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B1EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1EF8 */ _t385 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1EF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t385);
|
|
/* 021B1EFC */ _t386 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1EFC */ _t387 = _t386 & 0x00000001u;
|
|
/* 021B1EFC */ if (_t387) goto L_021B1F00; else goto L_021B1F04;
|
|
L_021B1F00: ; // 0x21b1f00
|
|
/* 021B1F00 */ cpu->r[26] = 0x00000000u;
|
|
L_021B1F04: ; // 0x21b1f04
|
|
/* 021B1F04 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1F08 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1F10 */ _t388 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t388);
|
|
/* 021B1F14 */ _t389 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1F14 */ cpu->r[9] = rbrew_read8(cpu->mem, _t389);
|
|
/* 021B1F18 */ cpu->r[10] = 0x00080000u;
|
|
/* 021B1F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1F20 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1F24 */ _t390 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1F24 */ _t391 = _t390 & 0x00000001u;
|
|
/* 021B1F24 */ if (_t391) goto L_021B1F4C; else goto L_021B1F28;
|
|
L_021B1F28: ; // 0x21b1f28
|
|
/* 021B1F28 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B1F30 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1F34 */ _t392 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F34 */ _t393 = _t392 & 0x00000001u;
|
|
/* 021B1F34 */ if (_t393) goto L_021B1F48; else goto L_021B1F38;
|
|
L_021B1F38: ; // 0x21b1f38
|
|
/* 021B1F38 */ _t394 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1F38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t394);
|
|
/* 021B1F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1F40 */ _t395 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1F40 */ _t396 = _t395 & 0x00000001u;
|
|
/* 021B1F40 */ if (_t396) goto L_021B1F44; else goto L_021B1F28;
|
|
L_021B1F44: ; // 0x21b1f44
|
|
/* 021B1F44 */ goto L_021B1F4C;
|
|
L_021B1F48: ; // 0x21b1f48
|
|
/* 021B1F48 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1F4C: ; // 0x21b1f4c
|
|
/* 021B1F4C */ _t397 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1F4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t397);
|
|
/* 021B1F50 */ cpu->r[9] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B1F58 */ _t398 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1F58 */ _t399 = _t398 & 0x00000001u;
|
|
/* 021B1F58 */ if (_t399) goto L_021B1F60; else goto L_021B1F5C;
|
|
L_021B1F5C: ; // 0x21b1f5c
|
|
/* 021B1F5C */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B1F60: ; // 0x21b1f60
|
|
/* 021B1F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1F64 */ _t400 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F64 */ _t401 = _t400 & 0x00000001u;
|
|
/* 021B1F64 */ if (_t401) goto L_021B1F68; else goto L_021B2DE4;
|
|
L_021B1F68: ; // 0x21b1f68
|
|
/* 021B1F68 */ _t402 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t402);
|
|
/* 021B1F6C */ _t403 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1F6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t403);
|
|
/* 021B1F70 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1F74 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1F78 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1F80 */ _t404 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t404);
|
|
/* 021B1F84 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1F88 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1F8C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1F90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1F94 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B1F9C */ _t405 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F9C */ _t406 = _t405 & 0x00000001u;
|
|
/* 021B1F9C */ if (_t406) goto L_021B1FA0; else goto L_021B2DE4;
|
|
L_021B1FA0: ; // 0x21b1fa0
|
|
/* 021B1FA0 */ _t407 = cpu->r[27] + cpu->r[0];
|
|
/* 021B1FA0 */ rbrew_write8(cpu->mem, _t407, (uint8_t)cpu->r[31]);
|
|
/* 021B1FA4 */ /* nop */
|
|
/* 021B1FA8 */ _t408 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t408);
|
|
/* 021B1FAC */ cpu->lr = cpu->r[0];
|
|
/* 021B1FB0 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1FB4 */ return;
|
|
L_021B1FB8: ; // 0x21b1fb8
|
|
/* 021B1FB8 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B1FBC */ _t409 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B1FBC */ rbrew_write32(cpu->mem, _t409, cpu->r[26]);
|
|
/* 021B1FC0 */ cpu->r[5] = cpu->r[5] + 0xFFFF9D98u;
|
|
/* 021B1FC4 */ _t410 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1FC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t410);
|
|
/* 021B1FC8 */ _t411 = cpu->r[1] + 0x00000078u;
|
|
/* 021B1FC8 */ rbrew_write32(cpu->mem, _t411, cpu->r[5]);
|
|
/* 021B1FCC */ _t412 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1FCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t412);
|
|
/* 021B1FD0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B1FD4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1FDC */ _t413 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1FDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t413);
|
|
/* 021B1FE0 */ _t414 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1FE0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t414);
|
|
/* 021B1FE4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B1FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B1FEC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1FF0 */ _t415 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1FF0 */ _t416 = _t415 & 0x00000001u;
|
|
/* 021B1FF0 */ if (_t416) goto L_021B2018; else goto L_021B1FF4;
|
|
L_021B1FF4: ; // 0x21b1ff4
|
|
/* 021B1FF4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B1FFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2000 */ _t417 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2000 */ _t418 = _t417 & 0x00000001u;
|
|
/* 021B2000 */ if (_t418) goto L_021B2014; else goto L_021B2004;
|
|
L_021B2004: ; // 0x21b2004
|
|
/* 021B2004 */ _t419 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2004 */ cpu->r[9] = rbrew_read8(cpu->mem, _t419);
|
|
/* 021B2008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B200C */ _t420 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B200C */ _t421 = _t420 & 0x00000001u;
|
|
/* 021B200C */ if (_t421) goto L_021B2010; else goto L_021B1FF4;
|
|
L_021B2010: ; // 0x21b2010
|
|
/* 021B2010 */ goto L_021B2018;
|
|
L_021B2014: ; // 0x21b2014
|
|
/* 021B2014 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2018: ; // 0x21b2018
|
|
/* 021B2018 */ _t422 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B2018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t422);
|
|
/* 021B201C */ _t423 = cpu->r[10] + 0x00000014u;
|
|
/* 021B201C */ cpu->r[11] = rbrew_read32(cpu->mem, _t423);
|
|
/* 021B2020 */ cpu->ctr = cpu->r[11];
|
|
/* 021B2024 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 021B2028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B202C */ _t424 = cpu->r[1] + 0x00000078u;
|
|
/* 021B202C */ cpu->r[11] = rbrew_read32(cpu->mem, _t424);
|
|
/* 021B2030 */ _t425 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2030 */ cpu->r[0] = rbrew_read8(cpu->mem, _t425);
|
|
/* 021B2034 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2038 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B203C */ cpu->r[4] = 0x00080000u;
|
|
/* 021B2040 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2040 */ _t427 = _t426 & 0x00000001u;
|
|
/* 021B2040 */ if (_t427) goto L_021B2068; else goto L_021B2044;
|
|
L_021B2044: ; // 0x21b2044
|
|
/* 021B2044 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 021B204C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2050 */ _t428 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2050 */ _t429 = _t428 & 0x00000001u;
|
|
/* 021B2050 */ if (_t429) goto L_021B2064; else goto L_021B2054;
|
|
L_021B2054: ; // 0x21b2054
|
|
/* 021B2054 */ _t430 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2054 */ cpu->r[0] = rbrew_read8(cpu->mem, _t430);
|
|
/* 021B2058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B205C */ _t431 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B205C */ _t432 = _t431 & 0x00000001u;
|
|
/* 021B205C */ if (_t432) goto L_021B2060; else goto L_021B2044;
|
|
L_021B2060: ; // 0x21b2060
|
|
/* 021B2060 */ goto L_021B2068;
|
|
L_021B2064: ; // 0x21b2064
|
|
/* 021B2064 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2068: ; // 0x21b2068
|
|
/* 021B2068 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B2068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B206C */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2070 */ _t433 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2070 */ _t434 = _t433 & 0x00000001u;
|
|
/* 021B2070 */ if (_t434) goto L_021B213C; else goto L_021B2074;
|
|
L_021B2074: ; // 0x21b2074
|
|
/* 021B2074 */ cpu->r[23] = cpu->r[31];
|
|
L_021B2078: ; // 0x21b2078
|
|
/* 021B2078 */ _t435 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t435);
|
|
/* 021B207C */ cpu->r[24] = cpu->r[30];
|
|
/* 021B2080 */ _t436 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B2080 */ rbrew_write32(cpu->mem, _t436, cpu->r[26]);
|
|
/* 021B2084 */ cpu->r[5] = cpu->r[6] + cpu->r[25];
|
|
/* 021B2088 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B208C */ _t437 = cpu->r[1] + 0x00000028u;
|
|
/* 021B208C */ rbrew_write32(cpu->mem, _t437, cpu->r[5]);
|
|
/* 021B2090 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2094 */ _t438 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B2094 */ cpu->r[7] = rbrew_read32(cpu->mem, _t438);
|
|
/* 021B2098 */ _t439 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2098 */ cpu->r[8] = rbrew_read32(cpu->mem, _t439);
|
|
/* 021B209C */ cpu->ctr = cpu->r[8];
|
|
/* 021B20A0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B20A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B20A8 */ _t440 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B20A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t440);
|
|
/* 021B20AC */ _t441 = cpu->r[9] + 0x00000014u;
|
|
/* 021B20AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t441);
|
|
/* 021B20B0 */ cpu->ctr = cpu->r[10];
|
|
/* 021B20B4 */ _t442 = cpu->r[1] + 0x00000028u;
|
|
/* 021B20B4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t442);
|
|
/* 021B20B8 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 021B20BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B20C0 */ _t443 = cpu->r[1] + 0x00000078u;
|
|
/* 021B20C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t443);
|
|
/* 021B20C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 021B20C8 */ _t444 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20C8 */ _t445 = _t444 & 0x00000001u;
|
|
/* 021B20C8 */ if (_t445) goto L_021B211C; else goto L_021B20CC;
|
|
L_021B20CC: ; // 0x21b20cc
|
|
/* 021B20CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B20D0 */ _t446 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B20D0 */ _t447 = _t446 & 0x00000001u;
|
|
/* 021B20D0 */ if (_t447) goto L_021B20D4; else goto L_021B211C;
|
|
L_021B20D4: ; // 0x21b20d4
|
|
/* 021B20D4 */ _t448 = cpu->r[1] + 0x00000078u;
|
|
/* 021B20D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t448);
|
|
/* 021B20D8 */ cpu->ctr = cpu->r[24];
|
|
/* 021B20DC */ _t449 = cpu->r[1] + 0x00000028u;
|
|
/* 021B20DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t449);
|
|
L_021B20E0: ; // 0x21b20e0
|
|
/* 021B20E0 */ _t450 = cpu->r[10] + 0x00000000u;
|
|
/* 021B20E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t450);
|
|
/* 021B20E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 021B20E8 */ _t451 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20E8 */ _t452 = _t451 & 0x00000001u;
|
|
/* 021B20E8 */ if (_t452) goto L_021B20EC; else goto L_021B20FC;
|
|
L_021B20EC: ; // 0x21b20ec
|
|
/* 021B20EC */ _t453 = cpu->r[9] + 0x00000000u;
|
|
/* 021B20EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t453);
|
|
/* 021B20F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 021B20F4 */ _t454 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20F4 */ _t455 = _t454 & 0x00000001u;
|
|
/* 021B20F4 */ if (_t455) goto L_021B211C; else goto L_021B20F8;
|
|
L_021B20F8: ; // 0x21b20f8
|
|
/* 021B20F8 */ goto L_021B2130;
|
|
L_021B20FC: ; // 0x21b20fc
|
|
/* 021B20FC */ _t456 = cpu->r[9] + 0x00000000u;
|
|
/* 021B20FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t456);
|
|
/* 021B2100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[23]);
|
|
/* 021B2104 */ _t457 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2104 */ _t458 = _t457 & 0x00000001u;
|
|
/* 021B2104 */ if (_t458) goto L_021B2130; else goto L_021B2108;
|
|
L_021B2108: ; // 0x21b2108
|
|
/* 021B2108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021B210C */ _t459 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B210C */ _t460 = _t459 & 0x00000001u;
|
|
/* 021B210C */ if (_t460) goto L_021B2110; else goto L_021B2130;
|
|
L_021B2110: ; // 0x21b2110
|
|
/* 021B2110 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2114 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B2118 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2118 */ _t461 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2118 */ _t462 = _t461 >> (0x00000002u & 31u);
|
|
/* 021B2118 */ _t463 = _t462 & 0x00000001u;
|
|
/* 021B2118 */ if (_t463) goto L_021B20E0; else goto L_021B211C;
|
|
L_021B211C: ; // 0x21b211c
|
|
/* 021B211C */ _t464 = cpu->r[25] | cpu->r[25];
|
|
/* 021B211C */ cpu->r[4] = ~_t464;
|
|
/* 021B2120 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B2124 */ cpu->r[8] = cpu->r[4] - cpu->r[0];
|
|
/* 021B2124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B2128 */ _t465 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2128 */ _t466 = _t465 & 0x00000001u;
|
|
/* 021B2128 */ if (_t466) goto L_021B2278; else goto L_021B212C;
|
|
L_021B212C: ; // 0x21b212c
|
|
/* 021B212C */ goto L_021B214C;
|
|
L_021B2130: ; // 0x21b2130
|
|
/* 021B2130 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B2134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B2138 */ _t467 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2138 */ _t468 = _t467 & 0x00000001u;
|
|
/* 021B2138 */ if (_t468) goto L_021B213C; else goto L_021B2078;
|
|
L_021B213C: ; // 0x21b213c
|
|
/* 021B213C */ cpu->r[4] = 0x00000000u;
|
|
/* 021B2140 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B2144 */ cpu->r[8] = ~cpu->r[0];
|
|
/* 021B2144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B2148 */ _t469 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2148 */ _t470 = _t469 & 0x00000001u;
|
|
/* 021B2148 */ if (_t470) goto L_021B2278; else goto L_021B214C;
|
|
L_021B214C: ; // 0x21b214c
|
|
/* 021B214C */ cpu->r[6] = 0x10030000u;
|
|
/* 021B2150 */ _t471 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B2150 */ rbrew_write32(cpu->mem, _t471, cpu->r[26]);
|
|
/* 021B2154 */ cpu->r[6] = cpu->r[6] + 0xFFFF9DC4u;
|
|
/* 021B2158 */ _t472 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2158 */ cpu->r[7] = rbrew_read32(cpu->mem, _t472);
|
|
/* 021B215C */ _t473 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B215C */ rbrew_write32(cpu->mem, _t473, cpu->r[6]);
|
|
/* 021B2160 */ _t474 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t474);
|
|
/* 021B2164 */ cpu->ctr = cpu->r[8];
|
|
/* 021B2168 */ _t475 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2168 */ cpu->r[27] = rbrew_read32(cpu->mem, _t475);
|
|
/* 021B216C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2174 */ _t476 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t476);
|
|
/* 021B2178 */ _t477 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t477);
|
|
/* 021B217C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2184 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2188 */ _t478 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2188 */ _t479 = _t478 & 0x00000001u;
|
|
/* 021B2188 */ if (_t479) goto L_021B21B0; else goto L_021B218C;
|
|
L_021B218C: ; // 0x21b218c
|
|
/* 021B218C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2194 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2198 */ _t480 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2198 */ _t481 = _t480 & 0x00000001u;
|
|
/* 021B2198 */ if (_t481) goto L_021B21AC; else goto L_021B219C;
|
|
L_021B219C: ; // 0x21b219c
|
|
/* 021B219C */ _t482 = cpu->r[9] + 0x00000000u;
|
|
/* 021B219C */ cpu->r[10] = rbrew_read8(cpu->mem, _t482);
|
|
/* 021B21A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B21A4 */ _t483 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B21A4 */ _t484 = _t483 & 0x00000001u;
|
|
/* 021B21A4 */ if (_t484) goto L_021B21A8; else goto L_021B218C;
|
|
L_021B21A8: ; // 0x21b21a8
|
|
/* 021B21A8 */ goto L_021B21B0;
|
|
L_021B21AC: ; // 0x21b21ac
|
|
/* 021B21AC */ cpu->r[30] = 0x00000000u;
|
|
L_021B21B0: ; // 0x21b21b0
|
|
/* 021B21B0 */ _t485 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B21B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t485);
|
|
/* 021B21B4 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B21B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B21B8 */ _t486 = cpu->r[11] + 0x00000014u;
|
|
/* 021B21B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t486);
|
|
/* 021B21BC */ _t487 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B21BC */ _t488 = _t487 & 0x00000001u;
|
|
/* 021B21BC */ if (_t488) goto L_021B21C0; else goto L_021B21C4;
|
|
L_021B21C0: ; // 0x21b21c0
|
|
/* 021B21C0 */ cpu->r[26] = 0x00000000u;
|
|
L_021B21C4: ; // 0x21b21c4
|
|
/* 021B21C4 */ cpu->ctr = cpu->r[4];
|
|
/* 021B21C8 */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B21CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B21D0 */ _t489 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B21D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t489);
|
|
/* 021B21D4 */ _t490 = cpu->r[7] + 0x00000000u;
|
|
/* 021B21D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t490);
|
|
/* 021B21D8 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B21DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B21E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B21E4 */ _t491 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B21E4 */ _t492 = _t491 & 0x00000001u;
|
|
/* 021B21E4 */ if (_t492) goto L_021B220C; else goto L_021B21E8;
|
|
L_021B21E8: ; // 0x21b21e8
|
|
/* 021B21E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B21EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B21F0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B21F4 */ _t493 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B21F4 */ _t494 = _t493 & 0x00000001u;
|
|
/* 021B21F4 */ if (_t494) goto L_021B2208; else goto L_021B21F8;
|
|
L_021B21F8: ; // 0x21b21f8
|
|
/* 021B21F8 */ _t495 = cpu->r[7] + 0x00000000u;
|
|
/* 021B21F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t495);
|
|
/* 021B21FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B2200 */ _t496 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2200 */ _t497 = _t496 & 0x00000001u;
|
|
/* 021B2200 */ if (_t497) goto L_021B2204; else goto L_021B21E8;
|
|
L_021B2204: ; // 0x21b2204
|
|
/* 021B2204 */ goto L_021B220C;
|
|
L_021B2208: ; // 0x21b2208
|
|
/* 021B2208 */ cpu->r[29] = 0x00000000u;
|
|
L_021B220C: ; // 0x21b220c
|
|
/* 021B220C */ _t498 = cpu->r[28] + 0x00000008u;
|
|
/* 021B220C */ cpu->r[4] = rbrew_read32(cpu->mem, _t498);
|
|
/* 021B2210 */ cpu->r[8] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B2218 */ _t499 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2218 */ _t500 = _t499 & 0x00000001u;
|
|
/* 021B2218 */ if (_t500) goto L_021B2220; else goto L_021B221C;
|
|
L_021B221C: ; // 0x21b221c
|
|
/* 021B221C */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021B2220: ; // 0x21b2220
|
|
/* 021B2220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B2224 */ _t501 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2224 */ _t502 = _t501 & 0x00000001u;
|
|
/* 021B2224 */ if (_t502) goto L_021B2228; else goto L_021B2DE4;
|
|
L_021B2228: ; // 0x21b2228
|
|
/* 021B2228 */ _t503 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B2228 */ cpu->r[7] = rbrew_read32(cpu->mem, _t503);
|
|
/* 021B222C */ _t504 = cpu->r[7] + 0x00000014u;
|
|
/* 021B222C */ cpu->r[8] = rbrew_read32(cpu->mem, _t504);
|
|
/* 021B2230 */ cpu->ctr = cpu->r[8];
|
|
/* 021B2234 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B2238 */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B223C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2240 */ _t505 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B2240 */ cpu->r[4] = rbrew_read32(cpu->mem, _t505);
|
|
/* 021B2244 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2248 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B224C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2250 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2254 */ cpu->r[8] = cpu->r[26] + cpu->r[29];
|
|
/* 021B2258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[30]);
|
|
/* 021B225C */ _t506 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B225C */ _t507 = _t506 & 0x00000001u;
|
|
/* 021B225C */ if (_t507) goto L_021B2260; else goto L_021B2DE4;
|
|
L_021B2260: ; // 0x21b2260
|
|
/* 021B2260 */ _t508 = cpu->r[27] + cpu->r[8];
|
|
/* 021B2260 */ rbrew_write8(cpu->mem, _t508, (uint8_t)cpu->r[31]);
|
|
/* 021B2264 */ /* nop */
|
|
/* 021B2268 */ _t509 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t509);
|
|
/* 021B226C */ cpu->lr = cpu->r[0];
|
|
/* 021B2270 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2274 */ return;
|
|
L_021B2278: ; // 0x21b2278
|
|
/* 021B2278 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B227C */ _t510 = cpu->r[1] + 0x00000084u;
|
|
/* 021B227C */ rbrew_write32(cpu->mem, _t510, cpu->r[26]);
|
|
/* 021B2280 */ cpu->r[9] = cpu->r[9] + 0xFFFF9D9Cu;
|
|
/* 021B2284 */ _t511 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2284 */ cpu->r[10] = rbrew_read32(cpu->mem, _t511);
|
|
/* 021B2288 */ _t512 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2288 */ rbrew_write32(cpu->mem, _t512, cpu->r[9]);
|
|
/* 021B228C */ _t513 = cpu->r[10] + 0x00000014u;
|
|
/* 021B228C */ cpu->r[11] = rbrew_read32(cpu->mem, _t513);
|
|
/* 021B2290 */ cpu->ctr = cpu->r[11];
|
|
/* 021B2294 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B229C */ _t514 = cpu->r[27] + 0x00000000u;
|
|
/* 021B229C */ cpu->r[7] = rbrew_read32(cpu->mem, _t514);
|
|
/* 021B22A0 */ _t515 = cpu->r[7] + 0x00000000u;
|
|
/* 021B22A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t515);
|
|
/* 021B22A4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B22A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B22AC */ cpu->r[0] = 0x00080000u;
|
|
/* 021B22B0 */ _t516 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B22B0 */ _t517 = _t516 & 0x00000001u;
|
|
/* 021B22B0 */ if (_t517) goto L_021B22D8; else goto L_021B22B4;
|
|
L_021B22B4: ; // 0x21b22b4
|
|
/* 021B22B4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B22B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B22BC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B22C0 */ _t518 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B22C0 */ _t519 = _t518 & 0x00000001u;
|
|
/* 021B22C0 */ if (_t519) goto L_021B22D4; else goto L_021B22C4;
|
|
L_021B22C4: ; // 0x21b22c4
|
|
/* 021B22C4 */ _t520 = cpu->r[7] + 0x00000000u;
|
|
/* 021B22C4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t520);
|
|
/* 021B22C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B22CC */ _t521 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B22CC */ _t522 = _t521 & 0x00000001u;
|
|
/* 021B22CC */ if (_t522) goto L_021B22D0; else goto L_021B22B4;
|
|
L_021B22D0: ; // 0x21b22d0
|
|
/* 021B22D0 */ goto L_021B22D8;
|
|
L_021B22D4: ; // 0x21b22d4
|
|
/* 021B22D4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B22D8: ; // 0x21b22d8
|
|
/* 021B22D8 */ _t523 = cpu->r[1] + 0x00000084u;
|
|
/* 021B22D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t523);
|
|
/* 021B22DC */ _t524 = cpu->r[5] + 0x00000014u;
|
|
/* 021B22DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t524);
|
|
/* 021B22E0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B22E4 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 021B22E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B22EC */ _t525 = cpu->r[1] + 0x00000080u;
|
|
/* 021B22EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t525);
|
|
/* 021B22F0 */ _t526 = cpu->r[5] + 0x00000000u;
|
|
/* 021B22F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t526);
|
|
/* 021B22F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B22F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B22FC */ cpu->r[6] = 0x00080000u;
|
|
/* 021B2300 */ _t527 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2300 */ _t528 = _t527 & 0x00000001u;
|
|
/* 021B2300 */ if (_t528) goto L_021B2328; else goto L_021B2304;
|
|
L_021B2304: ; // 0x21b2304
|
|
/* 021B2304 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B230C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2310 */ _t529 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2310 */ _t530 = _t529 & 0x00000001u;
|
|
/* 021B2310 */ if (_t530) goto L_021B2324; else goto L_021B2314;
|
|
L_021B2314: ; // 0x21b2314
|
|
/* 021B2314 */ _t531 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2314 */ cpu->r[8] = rbrew_read8(cpu->mem, _t531);
|
|
/* 021B2318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B231C */ _t532 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B231C */ _t533 = _t532 & 0x00000001u;
|
|
/* 021B231C */ if (_t533) goto L_021B2320; else goto L_021B2304;
|
|
L_021B2320: ; // 0x21b2320
|
|
/* 021B2320 */ goto L_021B2328;
|
|
L_021B2324: ; // 0x21b2324
|
|
/* 021B2324 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2328: ; // 0x21b2328
|
|
/* 021B2328 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B2328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B232C */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2330 */ _t534 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2330 */ _t535 = _t534 & 0x00000001u;
|
|
/* 021B2330 */ if (_t535) goto L_021B23FC; else goto L_021B2334;
|
|
L_021B2334: ; // 0x21b2334
|
|
/* 021B2334 */ cpu->r[23] = cpu->r[31];
|
|
L_021B2338: ; // 0x21b2338
|
|
/* 021B2338 */ _t536 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2338 */ cpu->r[10] = rbrew_read32(cpu->mem, _t536);
|
|
/* 021B233C */ cpu->r[24] = cpu->r[30];
|
|
/* 021B2340 */ _t537 = cpu->r[1] + 0x00000034u;
|
|
/* 021B2340 */ rbrew_write32(cpu->mem, _t537, cpu->r[26]);
|
|
/* 021B2344 */ cpu->r[9] = cpu->r[10] + cpu->r[25];
|
|
/* 021B2348 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B234C */ _t538 = cpu->r[1] + 0x00000030u;
|
|
/* 021B234C */ rbrew_write32(cpu->mem, _t538, cpu->r[9]);
|
|
/* 021B2350 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2354 */ _t539 = cpu->r[1] + 0x00000034u;
|
|
/* 021B2354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t539);
|
|
/* 021B2358 */ _t540 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t540);
|
|
/* 021B235C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2360 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B2364 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2368 */ _t541 = cpu->r[1] + 0x00000084u;
|
|
/* 021B2368 */ cpu->r[4] = rbrew_read32(cpu->mem, _t541);
|
|
/* 021B236C */ _t542 = cpu->r[4] + 0x00000014u;
|
|
/* 021B236C */ cpu->r[5] = rbrew_read32(cpu->mem, _t542);
|
|
/* 021B2370 */ cpu->ctr = cpu->r[5];
|
|
/* 021B2374 */ _t543 = cpu->r[1] + 0x00000030u;
|
|
/* 021B2374 */ cpu->r[22] = rbrew_read32(cpu->mem, _t543);
|
|
/* 021B2378 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 021B237C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2380 */ _t544 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2380 */ cpu->r[6] = rbrew_read32(cpu->mem, _t544);
|
|
/* 021B2384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]);
|
|
/* 021B2388 */ _t545 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2388 */ _t546 = _t545 & 0x00000001u;
|
|
/* 021B2388 */ if (_t546) goto L_021B23DC; else goto L_021B238C;
|
|
L_021B238C: ; // 0x21b238c
|
|
/* 021B238C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B2390 */ _t547 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2390 */ _t548 = _t547 & 0x00000001u;
|
|
/* 021B2390 */ if (_t548) goto L_021B2394; else goto L_021B23DC;
|
|
L_021B2394: ; // 0x21b2394
|
|
/* 021B2394 */ _t549 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t549);
|
|
/* 021B2398 */ cpu->ctr = cpu->r[24];
|
|
/* 021B239C */ _t550 = cpu->r[1] + 0x00000030u;
|
|
/* 021B239C */ cpu->r[11] = rbrew_read32(cpu->mem, _t550);
|
|
L_021B23A0: ; // 0x21b23a0
|
|
/* 021B23A0 */ _t551 = cpu->r[11] + 0x00000000u;
|
|
/* 021B23A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t551);
|
|
/* 021B23A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[23]);
|
|
/* 021B23A8 */ _t552 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23A8 */ _t553 = _t552 & 0x00000001u;
|
|
/* 021B23A8 */ if (_t553) goto L_021B23AC; else goto L_021B23BC;
|
|
L_021B23AC: ; // 0x21b23ac
|
|
/* 021B23AC */ _t554 = cpu->r[10] + 0x00000000u;
|
|
/* 021B23AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t554);
|
|
/* 021B23B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[23]);
|
|
/* 021B23B4 */ _t555 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23B4 */ _t556 = _t555 & 0x00000001u;
|
|
/* 021B23B4 */ if (_t556) goto L_021B23DC; else goto L_021B23B8;
|
|
L_021B23B8: ; // 0x21b23b8
|
|
/* 021B23B8 */ goto L_021B23F0;
|
|
L_021B23BC: ; // 0x21b23bc
|
|
/* 021B23BC */ _t557 = cpu->r[10] + 0x00000000u;
|
|
/* 021B23BC */ cpu->r[4] = rbrew_read8(cpu->mem, _t557);
|
|
/* 021B23C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[23]);
|
|
/* 021B23C4 */ _t558 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23C4 */ _t559 = _t558 & 0x00000001u;
|
|
/* 021B23C4 */ if (_t559) goto L_021B23F0; else goto L_021B23C8;
|
|
L_021B23C8: ; // 0x21b23c8
|
|
/* 021B23C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 021B23CC */ _t560 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23CC */ _t561 = _t560 & 0x00000001u;
|
|
/* 021B23CC */ if (_t561) goto L_021B23D0; else goto L_021B23F0;
|
|
L_021B23D0: ; // 0x21b23d0
|
|
/* 021B23D0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B23D4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B23D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B23D8 */ _t562 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B23D8 */ _t563 = _t562 >> (0x00000002u & 31u);
|
|
/* 021B23D8 */ _t564 = _t563 & 0x00000001u;
|
|
/* 021B23D8 */ if (_t564) goto L_021B23A0; else goto L_021B23DC;
|
|
L_021B23DC: ; // 0x21b23dc
|
|
/* 021B23DC */ _t565 = cpu->r[25] | cpu->r[25];
|
|
/* 021B23DC */ cpu->r[8] = ~_t565;
|
|
/* 021B23E0 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B23E4 */ cpu->r[11] = cpu->r[8] - cpu->r[9];
|
|
/* 021B23E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B23E8 */ _t566 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23E8 */ _t567 = _t566 & 0x00000001u;
|
|
/* 021B23E8 */ if (_t567) goto L_021B2538; else goto L_021B23EC;
|
|
L_021B23EC: ; // 0x21b23ec
|
|
/* 021B23EC */ goto L_021B240C;
|
|
L_021B23F0: ; // 0x21b23f0
|
|
/* 021B23F0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B23F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B23F8 */ _t568 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B23F8 */ _t569 = _t568 & 0x00000001u;
|
|
/* 021B23F8 */ if (_t569) goto L_021B23FC; else goto L_021B2338;
|
|
L_021B23FC: ; // 0x21b23fc
|
|
/* 021B23FC */ cpu->r[8] = 0x00000000u;
|
|
/* 021B2400 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B2404 */ cpu->r[11] = ~cpu->r[9];
|
|
/* 021B2404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2408 */ _t570 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2408 */ _t571 = _t570 & 0x00000001u;
|
|
/* 021B2408 */ if (_t571) goto L_021B2538; else goto L_021B240C;
|
|
L_021B240C: ; // 0x21b240c
|
|
/* 021B240C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B2410 */ _t572 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B2410 */ rbrew_write32(cpu->mem, _t572, cpu->r[26]);
|
|
/* 021B2414 */ cpu->r[10] = cpu->r[10] + 0xFFFF9DC7u;
|
|
/* 021B2418 */ _t573 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2418 */ cpu->r[11] = rbrew_read32(cpu->mem, _t573);
|
|
/* 021B241C */ _t574 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B241C */ rbrew_write32(cpu->mem, _t574, cpu->r[10]);
|
|
/* 021B2420 */ _t575 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t575);
|
|
/* 021B2424 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2428 */ _t576 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2428 */ cpu->r[27] = rbrew_read32(cpu->mem, _t576);
|
|
/* 021B242C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2434 */ _t577 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2434 */ cpu->r[5] = rbrew_read32(cpu->mem, _t577);
|
|
/* 021B2438 */ _t578 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2438 */ cpu->r[4] = rbrew_read8(cpu->mem, _t578);
|
|
/* 021B243C */ cpu->r[6] = 0x00080000u;
|
|
/* 021B2440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2444 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2448 */ _t579 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2448 */ _t580 = _t579 & 0x00000001u;
|
|
/* 021B2448 */ if (_t580) goto L_021B2470; else goto L_021B244C;
|
|
L_021B244C: ; // 0x21b244c
|
|
/* 021B244C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B2454 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2458 */ _t581 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2458 */ _t582 = _t581 & 0x00000001u;
|
|
/* 021B2458 */ if (_t582) goto L_021B246C; else goto L_021B245C;
|
|
L_021B245C: ; // 0x21b245c
|
|
/* 021B245C */ _t583 = cpu->r[5] + 0x00000000u;
|
|
/* 021B245C */ cpu->r[0] = rbrew_read8(cpu->mem, _t583);
|
|
/* 021B2460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2464 */ _t584 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2464 */ _t585 = _t584 & 0x00000001u;
|
|
/* 021B2464 */ if (_t585) goto L_021B2468; else goto L_021B244C;
|
|
L_021B2468: ; // 0x21b2468
|
|
/* 021B2468 */ goto L_021B2470;
|
|
L_021B246C: ; // 0x21b246c
|
|
/* 021B246C */ cpu->r[29] = 0x00000000u;
|
|
L_021B2470: ; // 0x21b2470
|
|
/* 021B2470 */ _t586 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B2470 */ cpu->r[6] = rbrew_read32(cpu->mem, _t586);
|
|
/* 021B2474 */ cpu->r[26] = cpu->r[29];
|
|
/* 021B2474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B2478 */ _t587 = cpu->r[6] + 0x00000014u;
|
|
/* 021B2478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t587);
|
|
/* 021B247C */ _t588 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B247C */ _t589 = _t588 & 0x00000001u;
|
|
/* 021B247C */ if (_t589) goto L_021B2480; else goto L_021B2484;
|
|
L_021B2480: ; // 0x21b2480
|
|
/* 021B2480 */ cpu->r[26] = 0x00000000u;
|
|
L_021B2484: ; // 0x21b2484
|
|
/* 021B2484 */ cpu->ctr = cpu->r[7];
|
|
/* 021B2488 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 021B248C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2490 */ _t590 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B2490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t590);
|
|
/* 021B2494 */ _t591 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2494 */ cpu->r[8] = rbrew_read8(cpu->mem, _t591);
|
|
/* 021B2498 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B249C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B24A0 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B24A4 */ _t592 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B24A4 */ _t593 = _t592 & 0x00000001u;
|
|
/* 021B24A4 */ if (_t593) goto L_021B24CC; else goto L_021B24A8;
|
|
L_021B24A8: ; // 0x21b24a8
|
|
/* 021B24A8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B24AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 021B24B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B24B4 */ _t594 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B24B4 */ _t595 = _t594 & 0x00000001u;
|
|
/* 021B24B4 */ if (_t595) goto L_021B24C8; else goto L_021B24B8;
|
|
L_021B24B8: ; // 0x21b24b8
|
|
/* 021B24B8 */ _t596 = cpu->r[11] + 0x00000000u;
|
|
/* 021B24B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t596);
|
|
/* 021B24BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B24C0 */ _t597 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B24C0 */ _t598 = _t597 & 0x00000001u;
|
|
/* 021B24C0 */ if (_t598) goto L_021B24C4; else goto L_021B24A8;
|
|
L_021B24C4: ; // 0x21b24c4
|
|
/* 021B24C4 */ goto L_021B24CC;
|
|
L_021B24C8: ; // 0x21b24c8
|
|
/* 021B24C8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B24CC: ; // 0x21b24cc
|
|
/* 021B24CC */ _t599 = cpu->r[28] + 0x00000008u;
|
|
/* 021B24CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t599);
|
|
/* 021B24D0 */ cpu->r[7] = cpu->r[4] - cpu->r[26];
|
|
/* 021B24D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B24D8 */ _t600 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B24D8 */ _t601 = _t600 & 0x00000001u;
|
|
/* 021B24D8 */ if (_t601) goto L_021B24E0; else goto L_021B24DC;
|
|
L_021B24DC: ; // 0x21b24dc
|
|
/* 021B24DC */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021B24E0: ; // 0x21b24e0
|
|
/* 021B24E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B24E4 */ _t602 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B24E4 */ _t603 = _t602 & 0x00000001u;
|
|
/* 021B24E4 */ if (_t603) goto L_021B24E8; else goto L_021B2DE4;
|
|
L_021B24E8: ; // 0x21b24e8
|
|
/* 021B24E8 */ _t604 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B24E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t604);
|
|
/* 021B24EC */ _t605 = cpu->r[10] + 0x00000014u;
|
|
/* 021B24EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t605);
|
|
/* 021B24F0 */ cpu->ctr = cpu->r[11];
|
|
/* 021B24F4 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B24F8 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 021B24FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2500 */ _t606 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B2500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t606);
|
|
/* 021B2504 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2508 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B250C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2510 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2514 */ cpu->r[7] = cpu->r[26] + cpu->r[30];
|
|
/* 021B2518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[29]);
|
|
/* 021B251C */ _t607 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B251C */ _t608 = _t607 & 0x00000001u;
|
|
/* 021B251C */ if (_t608) goto L_021B2520; else goto L_021B2DE4;
|
|
L_021B2520: ; // 0x21b2520
|
|
/* 021B2520 */ _t609 = cpu->r[27] + cpu->r[7];
|
|
/* 021B2520 */ rbrew_write8(cpu->mem, _t609, (uint8_t)cpu->r[31]);
|
|
/* 021B2524 */ /* nop */
|
|
/* 021B2528 */ _t610 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t610);
|
|
/* 021B252C */ cpu->lr = cpu->r[0];
|
|
/* 021B2530 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2534 */ return;
|
|
L_021B2538: ; // 0x21b2538
|
|
/* 021B2538 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B253C */ _t611 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B253C */ rbrew_write32(cpu->mem, _t611, cpu->r[26]);
|
|
/* 021B2540 */ cpu->r[0] = cpu->r[0] + 0xFFFF9DA0u;
|
|
/* 021B2544 */ _t612 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2544 */ cpu->r[4] = rbrew_read32(cpu->mem, _t612);
|
|
/* 021B2548 */ _t613 = cpu->r[1] + 0x00000088u;
|
|
/* 021B2548 */ rbrew_write32(cpu->mem, _t613, cpu->r[0]);
|
|
/* 021B254C */ _t614 = cpu->r[4] + 0x00000014u;
|
|
/* 021B254C */ cpu->r[5] = rbrew_read32(cpu->mem, _t614);
|
|
/* 021B2550 */ cpu->ctr = cpu->r[5];
|
|
/* 021B2554 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2558 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B255C */ _t615 = cpu->r[27] + 0x00000000u;
|
|
/* 021B255C */ cpu->r[6] = rbrew_read32(cpu->mem, _t615);
|
|
/* 021B2560 */ _t616 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2560 */ cpu->r[0] = rbrew_read8(cpu->mem, _t616);
|
|
/* 021B2564 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B256C */ cpu->r[8] = 0x00080000u;
|
|
/* 021B2570 */ _t617 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2570 */ _t618 = _t617 & 0x00000001u;
|
|
/* 021B2570 */ if (_t618) goto L_021B2598; else goto L_021B2574;
|
|
L_021B2574: ; // 0x21b2574
|
|
/* 021B2574 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021B257C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B2580 */ _t619 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2580 */ _t620 = _t619 & 0x00000001u;
|
|
/* 021B2580 */ if (_t620) goto L_021B2594; else goto L_021B2584;
|
|
L_021B2584: ; // 0x21b2584
|
|
/* 021B2584 */ _t621 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2584 */ cpu->r[7] = rbrew_read8(cpu->mem, _t621);
|
|
/* 021B2588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B258C */ _t622 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B258C */ _t623 = _t622 & 0x00000001u;
|
|
/* 021B258C */ if (_t623) goto L_021B2590; else goto L_021B2574;
|
|
L_021B2590: ; // 0x21b2590
|
|
/* 021B2590 */ goto L_021B2598;
|
|
L_021B2594: ; // 0x21b2594
|
|
/* 021B2594 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2598: ; // 0x21b2598
|
|
/* 021B2598 */ _t624 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B2598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t624);
|
|
/* 021B259C */ _t625 = cpu->r[8] + 0x00000014u;
|
|
/* 021B259C */ cpu->r[9] = rbrew_read32(cpu->mem, _t625);
|
|
/* 021B25A0 */ cpu->ctr = cpu->r[9];
|
|
/* 021B25A4 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 021B25A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B25AC */ _t626 = cpu->r[1] + 0x00000088u;
|
|
/* 021B25AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t626);
|
|
/* 021B25B0 */ _t627 = cpu->r[4] + 0x00000000u;
|
|
/* 021B25B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t627);
|
|
/* 021B25B4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B25B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B25BC */ cpu->r[0] = 0x00080000u;
|
|
/* 021B25C0 */ _t628 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B25C0 */ _t629 = _t628 & 0x00000001u;
|
|
/* 021B25C0 */ if (_t629) goto L_021B25E8; else goto L_021B25C4;
|
|
L_021B25C4: ; // 0x21b25c4
|
|
/* 021B25C4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B25C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B25CC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B25D0 */ _t630 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B25D0 */ _t631 = _t630 & 0x00000001u;
|
|
/* 021B25D0 */ if (_t631) goto L_021B25E4; else goto L_021B25D4;
|
|
L_021B25D4: ; // 0x21b25d4
|
|
/* 021B25D4 */ _t632 = cpu->r[4] + 0x00000000u;
|
|
/* 021B25D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t632);
|
|
/* 021B25D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B25DC */ _t633 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B25DC */ _t634 = _t633 & 0x00000001u;
|
|
/* 021B25DC */ if (_t634) goto L_021B25E0; else goto L_021B25C4;
|
|
L_021B25E0: ; // 0x21b25e0
|
|
/* 021B25E0 */ goto L_021B25E8;
|
|
L_021B25E4: ; // 0x21b25e4
|
|
/* 021B25E4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B25E8: ; // 0x21b25e8
|
|
/* 021B25E8 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B25E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B25EC */ cpu->r[24] = 0x00000000u;
|
|
/* 021B25F0 */ _t635 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B25F0 */ _t636 = _t635 & 0x00000001u;
|
|
/* 021B25F0 */ if (_t636) goto L_021B26B8; else goto L_021B25F4;
|
|
L_021B25F4: ; // 0x21b25f4
|
|
/* 021B25F4 */ cpu->r[25] = cpu->r[31];
|
|
L_021B25F8: ; // 0x21b25f8
|
|
/* 021B25F8 */ _t637 = cpu->r[27] + 0x00000000u;
|
|
/* 021B25F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t637);
|
|
/* 021B25FC */ _t638 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B25FC */ rbrew_write32(cpu->mem, _t638, cpu->r[26]);
|
|
/* 021B2600 */ cpu->r[5] = cpu->r[6] + cpu->r[24];
|
|
/* 021B2604 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B2608 */ _t639 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2608 */ rbrew_write32(cpu->mem, _t639, cpu->r[5]);
|
|
/* 021B260C */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2610 */ _t640 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B2610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t640);
|
|
/* 021B2614 */ _t641 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2614 */ cpu->r[8] = rbrew_read32(cpu->mem, _t641);
|
|
/* 021B2618 */ cpu->ctr = cpu->r[8];
|
|
/* 021B261C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B2620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2624 */ _t642 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B2624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t642);
|
|
/* 021B2628 */ _t643 = cpu->r[9] + 0x00000014u;
|
|
/* 021B2628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t643);
|
|
/* 021B262C */ cpu->ctr = cpu->r[10];
|
|
/* 021B2630 */ _t644 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2630 */ cpu->r[23] = rbrew_read32(cpu->mem, _t644);
|
|
/* 021B2634 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 021B2638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B263C */ _t645 = cpu->r[1] + 0x00000088u;
|
|
/* 021B263C */ cpu->r[11] = rbrew_read32(cpu->mem, _t645);
|
|
/* 021B2640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 021B2644 */ _t646 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2644 */ _t647 = _t646 & 0x00000001u;
|
|
/* 021B2644 */ if (_t647) goto L_021B2698; else goto L_021B2648;
|
|
L_021B2648: ; // 0x21b2648
|
|
/* 021B2648 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B264C */ _t648 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B264C */ _t649 = _t648 & 0x00000001u;
|
|
/* 021B264C */ if (_t649) goto L_021B2650; else goto L_021B2698;
|
|
L_021B2650: ; // 0x21b2650
|
|
/* 021B2650 */ _t650 = cpu->r[1] + 0x00000088u;
|
|
/* 021B2650 */ cpu->r[10] = rbrew_read32(cpu->mem, _t650);
|
|
/* 021B2654 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2658 */ _t651 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t651);
|
|
L_021B265C: ; // 0x21b265c
|
|
/* 021B265C */ _t652 = cpu->r[11] + 0x00000000u;
|
|
/* 021B265C */ cpu->r[8] = rbrew_read8(cpu->mem, _t652);
|
|
/* 021B2660 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]);
|
|
/* 021B2664 */ _t653 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2664 */ _t654 = _t653 & 0x00000001u;
|
|
/* 021B2664 */ if (_t654) goto L_021B2668; else goto L_021B2678;
|
|
L_021B2668: ; // 0x21b2668
|
|
/* 021B2668 */ _t655 = cpu->r[10] + 0x00000000u;
|
|
/* 021B2668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t655);
|
|
/* 021B266C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B2670 */ _t656 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2670 */ _t657 = _t656 & 0x00000001u;
|
|
/* 021B2670 */ if (_t657) goto L_021B2698; else goto L_021B2674;
|
|
L_021B2674: ; // 0x21b2674
|
|
/* 021B2674 */ goto L_021B26AC;
|
|
L_021B2678: ; // 0x21b2678
|
|
/* 021B2678 */ _t658 = cpu->r[10] + 0x00000000u;
|
|
/* 021B2678 */ cpu->r[7] = rbrew_read8(cpu->mem, _t658);
|
|
/* 021B267C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 021B2680 */ _t659 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2680 */ _t660 = _t659 & 0x00000001u;
|
|
/* 021B2680 */ if (_t660) goto L_021B26AC; else goto L_021B2684;
|
|
L_021B2684: ; // 0x21b2684
|
|
/* 021B2684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 021B2688 */ _t661 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2688 */ _t662 = _t661 & 0x00000001u;
|
|
/* 021B2688 */ if (_t662) goto L_021B268C; else goto L_021B26AC;
|
|
L_021B268C: ; // 0x21b268c
|
|
/* 021B268C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B2690 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2694 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2694 */ _t663 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2694 */ _t664 = _t663 >> (0x00000002u & 31u);
|
|
/* 021B2694 */ _t665 = _t664 & 0x00000001u;
|
|
/* 021B2694 */ if (_t665) goto L_021B265C; else goto L_021B2698;
|
|
L_021B2698: ; // 0x21b2698
|
|
/* 021B2698 */ _t666 = cpu->r[24] | cpu->r[24];
|
|
/* 021B2698 */ cpu->r[4] = ~_t666;
|
|
/* 021B269C */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B26A0 */ cpu->r[10] = cpu->r[4] - cpu->r[5];
|
|
/* 021B26A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B26A4 */ _t667 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B26A4 */ _t668 = _t667 & 0x00000001u;
|
|
/* 021B26A4 */ if (_t668) goto L_021B27F4; else goto L_021B26A8;
|
|
L_021B26A8: ; // 0x21b26a8
|
|
/* 021B26A8 */ goto L_021B26C8;
|
|
L_021B26AC: ; // 0x21b26ac
|
|
/* 021B26AC */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B26B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B26B4 */ _t669 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B26B4 */ _t670 = _t669 & 0x00000001u;
|
|
/* 021B26B4 */ if (_t670) goto L_021B26B8; else goto L_021B25F8;
|
|
L_021B26B8: ; // 0x21b26b8
|
|
/* 021B26B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B26BC */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B26C0 */ cpu->r[10] = ~cpu->r[5];
|
|
/* 021B26C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B26C4 */ _t671 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B26C4 */ _t672 = _t671 & 0x00000001u;
|
|
/* 021B26C4 */ if (_t672) goto L_021B27F4; else goto L_021B26C8;
|
|
L_021B26C8: ; // 0x21b26c8
|
|
/* 021B26C8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B26CC */ _t673 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B26CC */ rbrew_write32(cpu->mem, _t673, cpu->r[26]);
|
|
/* 021B26D0 */ cpu->r[6] = cpu->r[6] + 0xFFFF9DCAu;
|
|
/* 021B26D4 */ _t674 = cpu->r[28] + 0x00000004u;
|
|
/* 021B26D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t674);
|
|
/* 021B26D8 */ _t675 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B26D8 */ rbrew_write32(cpu->mem, _t675, cpu->r[6]);
|
|
/* 021B26DC */ _t676 = cpu->r[7] + 0x00000014u;
|
|
/* 021B26DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t676);
|
|
/* 021B26E0 */ cpu->ctr = cpu->r[8];
|
|
/* 021B26E4 */ _t677 = cpu->r[28] + 0x00000000u;
|
|
/* 021B26E4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t677);
|
|
/* 021B26E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B26EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B26F0 */ _t678 = cpu->r[28] + 0x00000000u;
|
|
/* 021B26F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t678);
|
|
/* 021B26F4 */ _t679 = cpu->r[9] + 0x00000000u;
|
|
/* 021B26F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t679);
|
|
/* 021B26F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B26FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2700 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2704 */ _t680 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2704 */ _t681 = _t680 & 0x00000001u;
|
|
/* 021B2704 */ if (_t681) goto L_021B272C; else goto L_021B2708;
|
|
L_021B2708: ; // 0x21b2708
|
|
/* 021B2708 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B270C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2710 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2714 */ _t682 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2714 */ _t683 = _t682 & 0x00000001u;
|
|
/* 021B2714 */ if (_t683) goto L_021B2728; else goto L_021B2718;
|
|
L_021B2718: ; // 0x21b2718
|
|
/* 021B2718 */ _t684 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2718 */ cpu->r[10] = rbrew_read8(cpu->mem, _t684);
|
|
/* 021B271C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B2720 */ _t685 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2720 */ _t686 = _t685 & 0x00000001u;
|
|
/* 021B2720 */ if (_t686) goto L_021B2724; else goto L_021B2708;
|
|
L_021B2724: ; // 0x21b2724
|
|
/* 021B2724 */ goto L_021B272C;
|
|
L_021B2728: ; // 0x21b2728
|
|
/* 021B2728 */ cpu->r[30] = 0x00000000u;
|
|
L_021B272C: ; // 0x21b272c
|
|
/* 021B272C */ _t687 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B272C */ cpu->r[11] = rbrew_read32(cpu->mem, _t687);
|
|
/* 021B2730 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B2730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B2734 */ _t688 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2734 */ cpu->r[4] = rbrew_read32(cpu->mem, _t688);
|
|
/* 021B2738 */ _t689 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2738 */ _t690 = _t689 & 0x00000001u;
|
|
/* 021B2738 */ if (_t690) goto L_021B273C; else goto L_021B2740;
|
|
L_021B273C: ; // 0x21b273c
|
|
/* 021B273C */ cpu->r[26] = 0x00000000u;
|
|
L_021B2740: ; // 0x21b2740
|
|
/* 021B2740 */ cpu->ctr = cpu->r[4];
|
|
/* 021B2744 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 021B2748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B274C */ _t691 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B274C */ cpu->r[7] = rbrew_read32(cpu->mem, _t691);
|
|
/* 021B2750 */ _t692 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2750 */ cpu->r[5] = rbrew_read8(cpu->mem, _t692);
|
|
/* 021B2754 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B2758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B275C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2760 */ _t693 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2760 */ _t694 = _t693 & 0x00000001u;
|
|
/* 021B2760 */ if (_t694) goto L_021B2788; else goto L_021B2764;
|
|
L_021B2764: ; // 0x21b2764
|
|
/* 021B2764 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B276C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B2770 */ _t695 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2770 */ _t696 = _t695 & 0x00000001u;
|
|
/* 021B2770 */ if (_t696) goto L_021B2784; else goto L_021B2774;
|
|
L_021B2774: ; // 0x21b2774
|
|
/* 021B2774 */ _t697 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2774 */ cpu->r[6] = rbrew_read8(cpu->mem, _t697);
|
|
/* 021B2778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B277C */ _t698 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B277C */ _t699 = _t698 & 0x00000001u;
|
|
/* 021B277C */ if (_t699) goto L_021B2780; else goto L_021B2764;
|
|
L_021B2780: ; // 0x21b2780
|
|
/* 021B2780 */ goto L_021B2788;
|
|
L_021B2784: ; // 0x21b2784
|
|
/* 021B2784 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2788: ; // 0x21b2788
|
|
/* 021B2788 */ _t700 = cpu->r[28] + 0x00000008u;
|
|
/* 021B2788 */ cpu->r[4] = rbrew_read32(cpu->mem, _t700);
|
|
/* 021B278C */ cpu->r[6] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B2794 */ _t701 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2794 */ _t702 = _t701 & 0x00000001u;
|
|
/* 021B2794 */ if (_t702) goto L_021B279C; else goto L_021B2798;
|
|
L_021B2798: ; // 0x21b2798
|
|
/* 021B2798 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021B279C: ; // 0x21b279c
|
|
/* 021B279C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B27A0 */ _t703 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B27A0 */ _t704 = _t703 & 0x00000001u;
|
|
/* 021B27A0 */ if (_t704) goto L_021B27A4; else goto L_021B2DE4;
|
|
L_021B27A4: ; // 0x21b27a4
|
|
/* 021B27A4 */ _t705 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B27A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t705);
|
|
/* 021B27A8 */ _t706 = cpu->r[8] + 0x00000014u;
|
|
/* 021B27A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t706);
|
|
/* 021B27AC */ cpu->ctr = cpu->r[9];
|
|
/* 021B27B0 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B27B4 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 021B27B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B27BC */ _t707 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B27BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t707);
|
|
/* 021B27C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B27C4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B27C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B27CC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B27D0 */ cpu->r[6] = cpu->r[26] + cpu->r[29];
|
|
/* 021B27D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[30]);
|
|
/* 021B27D8 */ _t708 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B27D8 */ _t709 = _t708 & 0x00000001u;
|
|
/* 021B27D8 */ if (_t709) goto L_021B27DC; else goto L_021B2DE4;
|
|
L_021B27DC: ; // 0x21b27dc
|
|
/* 021B27DC */ _t710 = cpu->r[27] + cpu->r[6];
|
|
/* 021B27DC */ rbrew_write8(cpu->mem, _t710, (uint8_t)cpu->r[31]);
|
|
/* 021B27E0 */ /* nop */
|
|
/* 021B27E4 */ _t711 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B27E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t711);
|
|
/* 021B27E8 */ cpu->lr = cpu->r[0];
|
|
/* 021B27EC */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B27F0 */ return;
|
|
L_021B27F4: ; // 0x21b27f4
|
|
/* 021B27F4 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B27F8 */ _t712 = cpu->r[1] + 0x00000094u;
|
|
/* 021B27F8 */ rbrew_write32(cpu->mem, _t712, cpu->r[26]);
|
|
/* 021B27FC */ cpu->r[10] = cpu->r[10] + 0xFFFF9DA4u;
|
|
/* 021B2800 */ _t713 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t713);
|
|
/* 021B2804 */ _t714 = cpu->r[1] + 0x00000090u;
|
|
/* 021B2804 */ rbrew_write32(cpu->mem, _t714, cpu->r[10]);
|
|
/* 021B2808 */ _t715 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t715);
|
|
/* 021B280C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2810 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2818 */ _t716 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t716);
|
|
/* 021B281C */ _t717 = cpu->r[8] + 0x00000000u;
|
|
/* 021B281C */ cpu->r[4] = rbrew_read8(cpu->mem, _t717);
|
|
/* 021B2820 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2828 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B282C */ _t718 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B282C */ _t719 = _t718 & 0x00000001u;
|
|
/* 021B282C */ if (_t719) goto L_021B2854; else goto L_021B2830;
|
|
L_021B2830: ; // 0x21b2830
|
|
/* 021B2830 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2838 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B283C */ _t720 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B283C */ _t721 = _t720 & 0x00000001u;
|
|
/* 021B283C */ if (_t721) goto L_021B2850; else goto L_021B2840;
|
|
L_021B2840: ; // 0x21b2840
|
|
/* 021B2840 */ _t722 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2840 */ cpu->r[5] = rbrew_read8(cpu->mem, _t722);
|
|
/* 021B2844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B2848 */ _t723 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2848 */ _t724 = _t723 & 0x00000001u;
|
|
/* 021B2848 */ if (_t724) goto L_021B284C; else goto L_021B2830;
|
|
L_021B284C: ; // 0x21b284c
|
|
/* 021B284C */ goto L_021B2854;
|
|
L_021B2850: ; // 0x21b2850
|
|
/* 021B2850 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2854: ; // 0x21b2854
|
|
/* 021B2854 */ _t725 = cpu->r[1] + 0x00000094u;
|
|
/* 021B2854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t725);
|
|
/* 021B2858 */ _t726 = cpu->r[6] + 0x00000014u;
|
|
/* 021B2858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t726);
|
|
/* 021B285C */ cpu->ctr = cpu->r[7];
|
|
/* 021B2860 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 021B2864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2868 */ _t727 = cpu->r[1] + 0x00000090u;
|
|
/* 021B2868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t727);
|
|
/* 021B286C */ _t728 = cpu->r[6] + 0x00000000u;
|
|
/* 021B286C */ cpu->r[8] = rbrew_read8(cpu->mem, _t728);
|
|
/* 021B2870 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B2874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B2878 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B287C */ _t729 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B287C */ _t730 = _t729 & 0x00000001u;
|
|
/* 021B287C */ if (_t730) goto L_021B28A4; else goto L_021B2880;
|
|
L_021B2880: ; // 0x21b2880
|
|
/* 021B2880 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B2888 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B288C */ _t731 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B288C */ _t732 = _t731 & 0x00000001u;
|
|
/* 021B288C */ if (_t732) goto L_021B28A0; else goto L_021B2890;
|
|
L_021B2890: ; // 0x21b2890
|
|
/* 021B2890 */ _t733 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2890 */ cpu->r[9] = rbrew_read8(cpu->mem, _t733);
|
|
/* 021B2894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B2898 */ _t734 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2898 */ _t735 = _t734 & 0x00000001u;
|
|
/* 021B2898 */ if (_t735) goto L_021B289C; else goto L_021B2880;
|
|
L_021B289C: ; // 0x21b289c
|
|
/* 021B289C */ goto L_021B28A4;
|
|
L_021B28A0: ; // 0x21b28a0
|
|
/* 021B28A0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B28A4: ; // 0x21b28a4
|
|
/* 021B28A4 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B28A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B28A8 */ cpu->r[24] = 0x00000000u;
|
|
/* 021B28AC */ _t736 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B28AC */ _t737 = _t736 & 0x00000001u;
|
|
/* 021B28AC */ if (_t737) goto L_021B2974; else goto L_021B28B0;
|
|
L_021B28B0: ; // 0x21b28b0
|
|
/* 021B28B0 */ cpu->r[25] = cpu->r[31];
|
|
L_021B28B4: ; // 0x21b28b4
|
|
/* 021B28B4 */ _t738 = cpu->r[27] + 0x00000000u;
|
|
/* 021B28B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t738);
|
|
/* 021B28B8 */ _t739 = cpu->r[1] + 0x00000044u;
|
|
/* 021B28B8 */ rbrew_write32(cpu->mem, _t739, cpu->r[26]);
|
|
/* 021B28BC */ cpu->r[0] = cpu->r[11] + cpu->r[24];
|
|
/* 021B28C0 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B28C4 */ _t740 = cpu->r[1] + 0x00000040u;
|
|
/* 021B28C4 */ rbrew_write32(cpu->mem, _t740, cpu->r[0]);
|
|
/* 021B28C8 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B28CC */ _t741 = cpu->r[1] + 0x00000044u;
|
|
/* 021B28CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t741);
|
|
/* 021B28D0 */ _t742 = cpu->r[4] + 0x00000014u;
|
|
/* 021B28D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t742);
|
|
/* 021B28D4 */ cpu->ctr = cpu->r[5];
|
|
/* 021B28D8 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B28DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B28E0 */ _t743 = cpu->r[1] + 0x00000094u;
|
|
/* 021B28E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t743);
|
|
/* 021B28E4 */ _t744 = cpu->r[6] + 0x00000014u;
|
|
/* 021B28E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t744);
|
|
/* 021B28E8 */ cpu->ctr = cpu->r[7];
|
|
/* 021B28EC */ _t745 = cpu->r[1] + 0x00000040u;
|
|
/* 021B28EC */ cpu->r[23] = rbrew_read32(cpu->mem, _t745);
|
|
/* 021B28F0 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 021B28F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B28F8 */ _t746 = cpu->r[1] + 0x00000090u;
|
|
/* 021B28F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t746);
|
|
/* 021B28FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[8]);
|
|
/* 021B2900 */ _t747 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2900 */ _t748 = _t747 & 0x00000001u;
|
|
/* 021B2900 */ if (_t748) goto L_021B2954; else goto L_021B2904;
|
|
L_021B2904: ; // 0x21b2904
|
|
/* 021B2904 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B2908 */ _t749 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2908 */ _t750 = _t749 & 0x00000001u;
|
|
/* 021B2908 */ if (_t750) goto L_021B290C; else goto L_021B2954;
|
|
L_021B290C: ; // 0x21b290c
|
|
/* 021B290C */ _t751 = cpu->r[1] + 0x00000090u;
|
|
/* 021B290C */ cpu->r[4] = rbrew_read32(cpu->mem, _t751);
|
|
/* 021B2910 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2914 */ _t752 = cpu->r[1] + 0x00000040u;
|
|
/* 021B2914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t752);
|
|
L_021B2918: ; // 0x21b2918
|
|
/* 021B2918 */ _t753 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2918 */ cpu->r[0] = rbrew_read8(cpu->mem, _t753);
|
|
/* 021B291C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B2920 */ _t754 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2920 */ _t755 = _t754 & 0x00000001u;
|
|
/* 021B2920 */ if (_t755) goto L_021B2924; else goto L_021B2934;
|
|
L_021B2924: ; // 0x21b2924
|
|
/* 021B2924 */ _t756 = cpu->r[4] + 0x00000000u;
|
|
/* 021B2924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t756);
|
|
/* 021B2928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[25]);
|
|
/* 021B292C */ _t757 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B292C */ _t758 = _t757 & 0x00000001u;
|
|
/* 021B292C */ if (_t758) goto L_021B2954; else goto L_021B2930;
|
|
L_021B2930: ; // 0x21b2930
|
|
/* 021B2930 */ goto L_021B2968;
|
|
L_021B2934: ; // 0x21b2934
|
|
/* 021B2934 */ _t759 = cpu->r[4] + 0x00000000u;
|
|
/* 021B2934 */ cpu->r[9] = rbrew_read8(cpu->mem, _t759);
|
|
/* 021B2938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[25]);
|
|
/* 021B293C */ _t760 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B293C */ _t761 = _t760 & 0x00000001u;
|
|
/* 021B293C */ if (_t761) goto L_021B2968; else goto L_021B2940;
|
|
L_021B2940: ; // 0x21b2940
|
|
/* 021B2940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B2944 */ _t762 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2944 */ _t763 = _t762 & 0x00000001u;
|
|
/* 021B2944 */ if (_t763) goto L_021B2948; else goto L_021B2968;
|
|
L_021B2948: ; // 0x21b2948
|
|
/* 021B2948 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B294C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2950 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2950 */ _t764 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2950 */ _t765 = _t764 >> (0x00000002u & 31u);
|
|
/* 021B2950 */ _t766 = _t765 & 0x00000001u;
|
|
/* 021B2950 */ if (_t766) goto L_021B2918; else goto L_021B2954;
|
|
L_021B2954: ; // 0x21b2954
|
|
/* 021B2954 */ _t767 = cpu->r[24] | cpu->r[24];
|
|
/* 021B2954 */ cpu->r[10] = ~_t767;
|
|
/* 021B2958 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 021B295C */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 021B295C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2960 */ _t768 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2960 */ _t769 = _t768 & 0x00000001u;
|
|
/* 021B2960 */ if (_t769) goto L_021B2AB0; else goto L_021B2964;
|
|
L_021B2964: ; // 0x21b2964
|
|
/* 021B2964 */ goto L_021B2984;
|
|
L_021B2968: ; // 0x21b2968
|
|
/* 021B2968 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B296C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B2970 */ _t770 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2970 */ _t771 = _t770 & 0x00000001u;
|
|
/* 021B2970 */ if (_t771) goto L_021B2974; else goto L_021B28B4;
|
|
L_021B2974: ; // 0x21b2974
|
|
/* 021B2974 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B2978 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 021B297C */ cpu->r[11] = ~cpu->r[11];
|
|
/* 021B297C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2980 */ _t772 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2980 */ _t773 = _t772 & 0x00000001u;
|
|
/* 021B2980 */ if (_t773) goto L_021B2AB0; else goto L_021B2984;
|
|
L_021B2984: ; // 0x21b2984
|
|
/* 021B2984 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B2988 */ _t774 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B2988 */ rbrew_write32(cpu->mem, _t774, cpu->r[26]);
|
|
/* 021B298C */ cpu->r[0] = cpu->r[0] + 0xFFFF9DCDu;
|
|
/* 021B2990 */ _t775 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t775);
|
|
/* 021B2994 */ _t776 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2994 */ rbrew_write32(cpu->mem, _t776, cpu->r[0]);
|
|
/* 021B2998 */ _t777 = cpu->r[4] + 0x00000014u;
|
|
/* 021B2998 */ cpu->r[5] = rbrew_read32(cpu->mem, _t777);
|
|
/* 021B299C */ cpu->ctr = cpu->r[5];
|
|
/* 021B29A0 */ _t778 = cpu->r[28] + 0x00000000u;
|
|
/* 021B29A0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t778);
|
|
/* 021B29A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B29A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B29AC */ _t779 = cpu->r[28] + 0x00000000u;
|
|
/* 021B29AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t779);
|
|
/* 021B29B0 */ _t780 = cpu->r[5] + 0x00000000u;
|
|
/* 021B29B0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t780);
|
|
/* 021B29B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B29B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B29BC */ cpu->r[6] = 0x00080000u;
|
|
/* 021B29C0 */ _t781 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B29C0 */ _t782 = _t781 & 0x00000001u;
|
|
/* 021B29C0 */ if (_t782) goto L_021B29E8; else goto L_021B29C4;
|
|
L_021B29C4: ; // 0x21b29c4
|
|
/* 021B29C4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B29C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B29CC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B29D0 */ _t783 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B29D0 */ _t784 = _t783 & 0x00000001u;
|
|
/* 021B29D0 */ if (_t784) goto L_021B29E4; else goto L_021B29D4;
|
|
L_021B29D4: ; // 0x21b29d4
|
|
/* 021B29D4 */ _t785 = cpu->r[5] + 0x00000000u;
|
|
/* 021B29D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t785);
|
|
/* 021B29D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B29DC */ _t786 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B29DC */ _t787 = _t786 & 0x00000001u;
|
|
/* 021B29DC */ if (_t787) goto L_021B29E0; else goto L_021B29C4;
|
|
L_021B29E0: ; // 0x21b29e0
|
|
/* 021B29E0 */ goto L_021B29E8;
|
|
L_021B29E4: ; // 0x21b29e4
|
|
/* 021B29E4 */ cpu->r[30] = 0x00000000u;
|
|
L_021B29E8: ; // 0x21b29e8
|
|
/* 021B29E8 */ _t788 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B29E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t788);
|
|
/* 021B29EC */ cpu->r[26] = cpu->r[30];
|
|
/* 021B29EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B29F0 */ _t789 = cpu->r[8] + 0x00000014u;
|
|
/* 021B29F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t789);
|
|
/* 021B29F4 */ _t790 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B29F4 */ _t791 = _t790 & 0x00000001u;
|
|
/* 021B29F4 */ if (_t791) goto L_021B29F8; else goto L_021B29FC;
|
|
L_021B29F8: ; // 0x21b29f8
|
|
/* 021B29F8 */ cpu->r[26] = 0x00000000u;
|
|
L_021B29FC: ; // 0x21b29fc
|
|
/* 021B29FC */ cpu->ctr = cpu->r[9];
|
|
/* 021B2A00 */ cpu->r[3] = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2A08 */ _t792 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t792);
|
|
/* 021B2A0C */ _t793 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2A0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t793);
|
|
/* 021B2A10 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B2A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B2A18 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2A1C */ _t794 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2A1C */ _t795 = _t794 & 0x00000001u;
|
|
/* 021B2A1C */ if (_t795) goto L_021B2A44; else goto L_021B2A20;
|
|
L_021B2A20: ; // 0x21b2a20
|
|
/* 021B2A20 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B2A28 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2A2C */ _t796 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A2C */ _t797 = _t796 & 0x00000001u;
|
|
/* 021B2A2C */ if (_t797) goto L_021B2A40; else goto L_021B2A30;
|
|
L_021B2A30: ; // 0x21b2a30
|
|
/* 021B2A30 */ _t798 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2A30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t798);
|
|
/* 021B2A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2A38 */ _t799 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2A38 */ _t800 = _t799 & 0x00000001u;
|
|
/* 021B2A38 */ if (_t800) goto L_021B2A3C; else goto L_021B2A20;
|
|
L_021B2A3C: ; // 0x21b2a3c
|
|
/* 021B2A3C */ goto L_021B2A44;
|
|
L_021B2A40: ; // 0x21b2a40
|
|
/* 021B2A40 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2A44: ; // 0x21b2a44
|
|
/* 021B2A44 */ _t801 = cpu->r[28] + 0x00000008u;
|
|
/* 021B2A44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t801);
|
|
/* 021B2A48 */ cpu->r[5] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B2A50 */ _t802 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2A50 */ _t803 = _t802 & 0x00000001u;
|
|
/* 021B2A50 */ if (_t803) goto L_021B2A58; else goto L_021B2A54;
|
|
L_021B2A54: ; // 0x21b2a54
|
|
/* 021B2A54 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021B2A58: ; // 0x21b2a58
|
|
/* 021B2A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B2A5C */ _t804 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A5C */ _t805 = _t804 & 0x00000001u;
|
|
/* 021B2A5C */ if (_t805) goto L_021B2A60; else goto L_021B2DE4;
|
|
L_021B2A60: ; // 0x21b2a60
|
|
/* 021B2A60 */ _t806 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B2A60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t806);
|
|
/* 021B2A64 */ _t807 = cpu->r[5] + 0x00000014u;
|
|
/* 021B2A64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t807);
|
|
/* 021B2A68 */ cpu->ctr = cpu->r[7];
|
|
/* 021B2A6C */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B2A70 */ cpu->r[3] = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2A78 */ _t808 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t808);
|
|
/* 021B2A7C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2A80 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B2A84 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2A88 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2A8C */ cpu->r[5] = cpu->r[26] + cpu->r[29];
|
|
/* 021B2A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
|
|
/* 021B2A94 */ _t809 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A94 */ _t810 = _t809 & 0x00000001u;
|
|
/* 021B2A94 */ if (_t810) goto L_021B2A98; else goto L_021B2DE4;
|
|
L_021B2A98: ; // 0x21b2a98
|
|
/* 021B2A98 */ _t811 = cpu->r[27] + cpu->r[5];
|
|
/* 021B2A98 */ rbrew_write8(cpu->mem, _t811, (uint8_t)cpu->r[31]);
|
|
/* 021B2A9C */ /* nop */
|
|
/* 021B2AA0 */ _t812 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t812);
|
|
/* 021B2AA4 */ cpu->lr = cpu->r[0];
|
|
/* 021B2AA8 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2AAC */ return;
|
|
L_021B2AB0: ; // 0x21b2ab0
|
|
/* 021B2AB0 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B2AB4 */ _t813 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2AB4 */ rbrew_write32(cpu->mem, _t813, cpu->r[26]);
|
|
/* 021B2AB8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9DA8u;
|
|
/* 021B2ABC */ _t814 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2ABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t814);
|
|
/* 021B2AC0 */ _t815 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2AC0 */ rbrew_write32(cpu->mem, _t815, cpu->r[8]);
|
|
/* 021B2AC4 */ _t816 = cpu->r[10] + 0x00000014u;
|
|
/* 021B2AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t816);
|
|
/* 021B2AC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2ACC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2AD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2AD4 */ _t817 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2AD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t817);
|
|
/* 021B2AD8 */ _t818 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2AD8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t818);
|
|
/* 021B2ADC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2AE4 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2AE8 */ _t819 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2AE8 */ _t820 = _t819 & 0x00000001u;
|
|
/* 021B2AE8 */ if (_t820) goto L_021B2B10; else goto L_021B2AEC;
|
|
L_021B2AEC: ; // 0x21b2aec
|
|
/* 021B2AEC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2AF4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2AF8 */ _t821 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2AF8 */ _t822 = _t821 & 0x00000001u;
|
|
/* 021B2AF8 */ if (_t822) goto L_021B2B0C; else goto L_021B2AFC;
|
|
L_021B2AFC: ; // 0x21b2afc
|
|
/* 021B2AFC */ _t823 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2AFC */ cpu->r[6] = rbrew_read8(cpu->mem, _t823);
|
|
/* 021B2B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B2B04 */ _t824 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B04 */ _t825 = _t824 & 0x00000001u;
|
|
/* 021B2B04 */ if (_t825) goto L_021B2B08; else goto L_021B2AEC;
|
|
L_021B2B08: ; // 0x21b2b08
|
|
/* 021B2B08 */ goto L_021B2B10;
|
|
L_021B2B0C: ; // 0x21b2b0c
|
|
/* 021B2B0C */ cpu->r[30] = 0x00000000u;
|
|
L_021B2B10: ; // 0x21b2b10
|
|
/* 021B2B10 */ _t826 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2B10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t826);
|
|
/* 021B2B14 */ _t827 = cpu->r[8] + 0x00000014u;
|
|
/* 021B2B14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t827);
|
|
/* 021B2B18 */ cpu->ctr = cpu->r[9];
|
|
/* 021B2B1C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2B20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2B24 */ _t828 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2B24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t828);
|
|
/* 021B2B28 */ _t829 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2B28 */ cpu->r[11] = rbrew_read8(cpu->mem, _t829);
|
|
/* 021B2B2C */ cpu->r[10] = 0x00080000u;
|
|
/* 021B2B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B2B34 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2B38 */ _t830 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B38 */ _t831 = _t830 & 0x00000001u;
|
|
/* 021B2B38 */ if (_t831) goto L_021B2B60; else goto L_021B2B3C;
|
|
L_021B2B3C: ; // 0x21b2b3c
|
|
/* 021B2B3C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B2B44 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2B48 */ _t832 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2B48 */ _t833 = _t832 & 0x00000001u;
|
|
/* 021B2B48 */ if (_t833) goto L_021B2B5C; else goto L_021B2B4C;
|
|
L_021B2B4C: ; // 0x21b2b4c
|
|
/* 021B2B4C */ _t834 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2B4C */ cpu->r[4] = rbrew_read8(cpu->mem, _t834);
|
|
/* 021B2B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2B54 */ _t835 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B54 */ _t836 = _t835 & 0x00000001u;
|
|
/* 021B2B54 */ if (_t836) goto L_021B2B58; else goto L_021B2B3C;
|
|
L_021B2B58: ; // 0x21b2b58
|
|
/* 021B2B58 */ goto L_021B2B60;
|
|
L_021B2B5C: ; // 0x21b2b5c
|
|
/* 021B2B5C */ cpu->r[29] = 0x00000000u;
|
|
L_021B2B60: ; // 0x21b2b60
|
|
/* 021B2B60 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B2B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B2B64 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2B68 */ _t837 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2B68 */ _t838 = _t837 & 0x00000001u;
|
|
/* 021B2B68 */ if (_t838) goto L_021B2C3C; else goto L_021B2B6C;
|
|
L_021B2B6C: ; // 0x21b2b6c
|
|
/* 021B2B6C */ _t839 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2B6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t839);
|
|
/* 021B2B70 */ _t840 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2B70 */ rbrew_write32(cpu->mem, _t840, cpu->r[26]);
|
|
/* 021B2B74 */ cpu->r[5] = cpu->r[7] + cpu->r[25];
|
|
/* 021B2B78 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B7C */ _t841 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B7C */ rbrew_write32(cpu->mem, _t841, cpu->r[5]);
|
|
/* 021B2B80 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2B84 */ _t842 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2B84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t842);
|
|
/* 021B2B88 */ _t843 = cpu->r[9] + 0x00000014u;
|
|
/* 021B2B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t843);
|
|
/* 021B2B8C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2B90 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2B98 */ _t844 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2B98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t844);
|
|
/* 021B2B9C */ _t845 = cpu->r[4] + 0x00000014u;
|
|
/* 021B2B9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t845);
|
|
/* 021B2BA0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B2BA4 */ _t846 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2BA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t846);
|
|
/* 021B2BA8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2BB0 */ _t847 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t847);
|
|
/* 021B2BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 021B2BB8 */ _t848 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BB8 */ _t849 = _t848 & 0x00000001u;
|
|
/* 021B2BB8 */ if (_t849) goto L_021B2C0C; else goto L_021B2BBC;
|
|
L_021B2BBC: ; // 0x21b2bbc
|
|
/* 021B2BBC */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B2BC0 */ _t850 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2BC0 */ _t851 = _t850 & 0x00000001u;
|
|
/* 021B2BC0 */ if (_t851) goto L_021B2BC4; else goto L_021B2C0C;
|
|
L_021B2BC4: ; // 0x21b2bc4
|
|
/* 021B2BC4 */ _t852 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t852);
|
|
/* 021B2BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2BCC */ _t853 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2BCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t853);
|
|
L_021B2BD0: ; // 0x21b2bd0
|
|
/* 021B2BD0 */ _t854 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2BD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t854);
|
|
/* 021B2BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2BD8 */ _t855 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BD8 */ _t856 = _t855 & 0x00000001u;
|
|
/* 021B2BD8 */ if (_t856) goto L_021B2BDC; else goto L_021B2BEC;
|
|
L_021B2BDC: ; // 0x21b2bdc
|
|
/* 021B2BDC */ _t857 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2BDC */ cpu->r[9] = rbrew_read8(cpu->mem, _t857);
|
|
/* 021B2BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B2BE4 */ _t858 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BE4 */ _t859 = _t858 & 0x00000001u;
|
|
/* 021B2BE4 */ if (_t859) goto L_021B2C0C; else goto L_021B2BE8;
|
|
L_021B2BE8: ; // 0x21b2be8
|
|
/* 021B2BE8 */ goto L_021B2C30;
|
|
L_021B2BEC: ; // 0x21b2bec
|
|
/* 021B2BEC */ _t860 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2BEC */ cpu->r[11] = rbrew_read8(cpu->mem, _t860);
|
|
/* 021B2BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B2BF4 */ _t861 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BF4 */ _t862 = _t861 & 0x00000001u;
|
|
/* 021B2BF4 */ if (_t862) goto L_021B2C30; else goto L_021B2BF8;
|
|
L_021B2BF8: ; // 0x21b2bf8
|
|
/* 021B2BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021B2BFC */ _t863 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BFC */ _t864 = _t863 & 0x00000001u;
|
|
/* 021B2BFC */ if (_t864) goto L_021B2C00; else goto L_021B2C30;
|
|
L_021B2C00: ; // 0x21b2c00
|
|
/* 021B2C00 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B2C04 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B2C08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2C08 */ _t865 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2C08 */ _t866 = _t865 >> (0x00000002u & 31u);
|
|
/* 021B2C08 */ _t867 = _t866 & 0x00000001u;
|
|
/* 021B2C08 */ if (_t867) goto L_021B2BD0; else goto L_021B2C0C;
|
|
L_021B2C0C: ; // 0x21b2c0c
|
|
/* 021B2C0C */ _t868 = cpu->r[25] | cpu->r[25];
|
|
/* 021B2C0C */ cpu->r[11] = ~_t868;
|
|
/* 021B2C10 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2C14 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B2C18 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C1C */ cpu->r[31] = cpu->r[11] - cpu->r[0];
|
|
/* 021B2C20 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2C28 */ _t869 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2C28 */ _t870 = _t869 & 0x00000001u;
|
|
/* 021B2C28 */ if (_t870) goto L_021B2C9C; else goto L_021B2C2C;
|
|
L_021B2C2C: ; // 0x21b2c2c
|
|
/* 021B2C2C */ goto L_021B2C5C;
|
|
L_021B2C30: ; // 0x21b2c30
|
|
/* 021B2C30 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B2C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[30]);
|
|
/* 021B2C38 */ _t871 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2C38 */ _t872 = _t871 & 0x00000001u;
|
|
/* 021B2C38 */ if (_t872) goto L_021B2C3C; else goto L_021B2B6C;
|
|
L_021B2C3C: ; // 0x21b2c3c
|
|
/* 021B2C3C */ cpu->r[11] = 0x00000000u;
|
|
/* 021B2C40 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2C44 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B2C48 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C4C */ cpu->r[31] = ~cpu->r[0];
|
|
/* 021B2C50 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2C58 */ _t873 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2C58 */ _t874 = _t873 & 0x00000001u;
|
|
/* 021B2C58 */ if (_t874) goto L_021B2C9C; else goto L_021B2C5C;
|
|
L_021B2C5C: ; // 0x21b2c5c
|
|
/* 021B2C5C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2C60 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 021B2C64 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD0u;
|
|
/* 021B2C68 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2C6C */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2C70 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2C74 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2C78 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2C7C */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C80 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 021B2C84 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C88 */ /* nop */
|
|
/* 021B2C8C */ _t875 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t875);
|
|
/* 021B2C90 */ cpu->lr = cpu->r[0];
|
|
/* 021B2C94 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2C98 */ return;
|
|
L_021B2C9C: ; // 0x21b2c9c
|
|
/* 021B2C9C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2CA0 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
|
|
/* 021B2CA4 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DACu;
|
|
/* 021B2CA8 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2CAC */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2CB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2CB4 */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2CB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2CBC */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2CC0 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
|
|
/* 021B2CC4 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2CCC */ _t876 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2CCC */ _t877 = _t876 & 0x00000001u;
|
|
/* 021B2CCC */ if (_t877) goto L_021B2D10; else goto L_021B2CD0;
|
|
L_021B2CD0: ; // 0x21b2cd0
|
|
/* 021B2CD0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2CD4 */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 021B2CD8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD3u;
|
|
/* 021B2CDC */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2CE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2CE4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2CE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2CEC */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2CF0 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2CF4 */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 021B2CF8 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2CFC */ /* nop */
|
|
/* 021B2D00 */ _t878 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t878);
|
|
/* 021B2D04 */ cpu->lr = cpu->r[0];
|
|
/* 021B2D08 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2D0C */ return;
|
|
L_021B2D10: ; // 0x21b2d10
|
|
/* 021B2D10 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D14 */ cpu->r[3] = cpu->r[1] + 0x000000F0u;
|
|
/* 021B2D18 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DB0u;
|
|
/* 021B2D1C */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D20 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D24 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2D28 */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2D2C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2D30 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2D34 */ cpu->r[3] = cpu->r[1] + 0x000000F0u;
|
|
/* 021B2D38 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2D40 */ _t879 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2D40 */ _t880 = _t879 & 0x00000001u;
|
|
/* 021B2D40 */ if (_t880) goto L_021B2D84; else goto L_021B2D44;
|
|
L_021B2D44: ; // 0x21b2d44
|
|
/* 021B2D44 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D48 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021B2D4C */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD6u;
|
|
/* 021B2D50 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D54 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D58 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2D5C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2D60 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2D64 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2D68 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021B2D6C */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2D70 */ /* nop */
|
|
/* 021B2D74 */ _t881 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t881);
|
|
/* 021B2D78 */ cpu->lr = cpu->r[0];
|
|
/* 021B2D7C */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2D80 */ return;
|
|
L_021B2D84: ; // 0x21b2d84
|
|
/* 021B2D84 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D88 */ cpu->r[3] = cpu->r[1] + 0x00000100u;
|
|
/* 021B2D8C */ cpu->r[4] = cpu->r[4] + 0xFFFF9DB4u;
|
|
/* 021B2D90 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D94 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D98 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2D9C */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2DA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2DA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2DA8 */ cpu->r[3] = cpu->r[1] + 0x00000100u;
|
|
/* 021B2DAC */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2DB4 */ _t882 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2DB4 */ _t883 = _t882 & 0x00000001u;
|
|
/* 021B2DB4 */ if (_t883) goto L_021B2DE4; else goto L_021B2DB8;
|
|
L_021B2DB8: ; // 0x21b2db8
|
|
/* 021B2DB8 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2DBC */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 021B2DC0 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD9u;
|
|
/* 021B2DC4 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2DC8 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2DCC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2DD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2DD4 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2DD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2DDC */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 021B2DE0 */ Gambit_fn_021B40DC(cpu);
|
|
L_021B2DE4: ; // 0x21b2de4
|
|
/* 021B2DE4 */ /* nop */
|
|
/* 021B2DE8 */ _t884 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t884);
|
|
/* 021B2DEC */ cpu->lr = cpu->r[0];
|
|
/* 021B2DF0 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2DF4 */ return;
|
|
}
|
|
|
|
// fn_021B14A0 @ 0x21b14a0
|
|
void Gambit_fn_021B14A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735, _t736, _t737, _t738, _t739, _t740, _t741, _t742, _t743, _t744, _t745, _t746, _t747, _t748, _t749, _t750, _t751, _t752, _t753, _t754, _t755, _t756, _t757, _t758, _t759, _t760, _t761, _t762, _t763, _t764, _t765, _t766, _t767, _t768, _t769, _t770, _t771, _t772, _t773, _t774, _t775, _t776, _t777, _t778, _t779, _t780, _t781, _t782, _t783, _t784, _t785, _t786, _t787, _t788, _t789, _t790, _t791, _t792, _t793, _t794, _t795, _t796, _t797, _t798, _t799, _t800, _t801, _t802, _t803, _t804, _t805, _t806, _t807, _t808, _t809, _t810, _t811, _t812, _t813, _t814, _t815, _t816, _t817, _t818, _t819, _t820, _t821, _t822, _t823, _t824, _t825, _t826, _t827, _t828, _t829, _t830, _t831, _t832, _t833, _t834, _t835, _t836, _t837, _t838, _t839, _t840, _t841, _t842, _t843, _t844, _t845, _t846, _t847, _t848, _t849, _t850, _t851, _t852, _t853, _t854, _t855, _t856, _t857, _t858, _t859, _t860, _t861, _t862, _t863, _t864, _t865, _t866, _t867, _t868, _t869, _t870, _t871, _t872, _t873, _t874, _t875, _t876, _t877, _t878, _t879, _t880, _t881, _t882, _t883, _t884;
|
|
|
|
L_021B14A0: ; // 0x21b14a0
|
|
/* 021B14A0 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 021B14A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B14A0 */ cpu->r[1] = _t0;
|
|
/* 021B14A4 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B14A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B14A8 */ /* nop */
|
|
/* 021B14AC */ cpu->r[28] = cpu->r[4];
|
|
/* 021B14AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B14B0 */ cpu->r[27] = cpu->r[5];
|
|
/* 021B14B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B14B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B14B4 */ if (_t3) goto L_021B2DE4; else goto L_021B14B8;
|
|
L_021B14B8: ; // 0x21b14b8
|
|
/* 021B14B8 */ cpu->r[26] = 0x10030000u;
|
|
/* 021B14BC */ cpu->r[4] = 0x10030000u;
|
|
/* 021B14C0 */ _t4 = cpu->r[27] + 0x00000004u;
|
|
/* 021B14C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B14C4 */ cpu->r[26] = cpu->r[26] + 0xFFFF9C90u;
|
|
/* 021B14C8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9D88u;
|
|
/* 021B14CC */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B14CC */ rbrew_write32(cpu->mem, _t5, cpu->r[26]);
|
|
/* 021B14D0 */ _t6 = cpu->r[1] + 0x00000058u;
|
|
/* 021B14D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 021B14D4 */ _t7 = cpu->r[5] + 0x00000014u;
|
|
/* 021B14D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B14D8 */ cpu->ctr = cpu->r[6];
|
|
/* 021B14DC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B14E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B14E4 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B14E8 */ _t8 = cpu->r[27] + 0x00000000u;
|
|
/* 021B14E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B14EC */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 021B14EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021B14F0 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 021B14F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B14F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B14F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B14FC */ cpu->r[11] = 0x00080000u;
|
|
/* 021B1500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1500 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B1500 */ if (_t12) goto L_021B1528; else goto L_021B1504;
|
|
L_021B1504: ; // 0x21b1504
|
|
/* 021B1504 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B150C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1510 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1510 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B1510 */ if (_t14) goto L_021B1524; else goto L_021B1514;
|
|
L_021B1514: ; // 0x21b1514
|
|
/* 021B1514 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 021B1518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B151C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B151C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B151C */ if (_t17) goto L_021B1520; else goto L_021B1504;
|
|
L_021B1520: ; // 0x21b1520
|
|
/* 021B1520 */ goto L_021B1528;
|
|
L_021B1524: ; // 0x21b1524
|
|
/* 021B1524 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1528: ; // 0x21b1528
|
|
/* 021B1528 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B1528 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B152C */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 021B152C */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B1530 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1534 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B1538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B153C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 021B153C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B1540 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1540 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 021B1544 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B1548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B154C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1550 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1550 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B1550 */ if (_t23) goto L_021B1578; else goto L_021B1554;
|
|
L_021B1554: ; // 0x21b1554
|
|
/* 021B1554 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B155C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1560 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1560 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B1560 */ if (_t25) goto L_021B1574; else goto L_021B1564;
|
|
L_021B1564: ; // 0x21b1564
|
|
/* 021B1564 */ _t26 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1564 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26);
|
|
/* 021B1568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B156C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B156C */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B156C */ if (_t28) goto L_021B1570; else goto L_021B1554;
|
|
L_021B1570: ; // 0x21b1570
|
|
/* 021B1570 */ goto L_021B1578;
|
|
L_021B1574: ; // 0x21b1574
|
|
/* 021B1574 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1578: ; // 0x21b1578
|
|
/* 021B1578 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B1578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B157C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B1580 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1580 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B1580 */ if (_t30) goto L_021B1648; else goto L_021B1584;
|
|
L_021B1584: ; // 0x21b1584
|
|
/* 021B1584 */ cpu->r[25] = cpu->r[31];
|
|
L_021B1588: ; // 0x21b1588
|
|
/* 021B1588 */ _t31 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1588 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B158C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B158C */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
/* 021B1590 */ cpu->r[7] = cpu->r[8] + cpu->r[24];
|
|
/* 021B1594 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B1598 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 021B1598 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 021B159C */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B15A0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B15A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B15A4 */ _t35 = cpu->r[9] + 0x00000014u;
|
|
/* 021B15A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B15A8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B15AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B15B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B15B4 */ _t36 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B15B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B15B8 */ _t37 = cpu->r[11] + 0x00000014u;
|
|
/* 021B15B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B15BC */ cpu->ctr = cpu->r[5];
|
|
/* 021B15C0 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 021B15C0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B15C4 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B15C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B15CC */ _t39 = cpu->r[1] + 0x00000058u;
|
|
/* 021B15CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B15D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[6]);
|
|
/* 021B15D4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B15D4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B15D4 */ if (_t41) goto L_021B1628; else goto L_021B15D8;
|
|
L_021B15D8: ; // 0x21b15d8
|
|
/* 021B15D8 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B15D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B15DC */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B15DC */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B15DC */ if (_t43) goto L_021B15E0; else goto L_021B1628;
|
|
L_021B15E0: ; // 0x21b15e0
|
|
/* 021B15E0 */ _t44 = cpu->r[1] + 0x00000058u;
|
|
/* 021B15E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021B15E4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B15E8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 021B15E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
L_021B15EC: ; // 0x21b15ec
|
|
/* 021B15EC */ _t46 = cpu->r[7] + 0x00000000u;
|
|
/* 021B15EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 021B15F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[25]);
|
|
/* 021B15F4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B15F4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021B15F4 */ if (_t48) goto L_021B15F8; else goto L_021B1608;
|
|
L_021B15F8: ; // 0x21b15f8
|
|
/* 021B15F8 */ _t49 = cpu->r[6] + 0x00000000u;
|
|
/* 021B15F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t49);
|
|
/* 021B15FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 021B1600 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1600 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B1600 */ if (_t51) goto L_021B1628; else goto L_021B1604;
|
|
L_021B1604: ; // 0x21b1604
|
|
/* 021B1604 */ goto L_021B163C;
|
|
L_021B1608: ; // 0x21b1608
|
|
/* 021B1608 */ _t52 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1608 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 021B160C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B1610 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1610 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021B1610 */ if (_t54) goto L_021B163C; else goto L_021B1614;
|
|
L_021B1614: ; // 0x21b1614
|
|
/* 021B1614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 021B1618 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1618 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B1618 */ if (_t56) goto L_021B161C; else goto L_021B163C;
|
|
L_021B161C: ; // 0x21b161c
|
|
/* 021B161C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1620 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B1624 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1624 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1624 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 021B1624 */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B1624 */ if (_t59) goto L_021B15EC; else goto L_021B1628;
|
|
L_021B1628: ; // 0x21b1628
|
|
/* 021B1628 */ _t60 = cpu->r[24] | cpu->r[24];
|
|
/* 021B1628 */ cpu->r[0] = ~_t60;
|
|
/* 021B162C */ cpu->r[9] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B1630 */ cpu->r[0] = cpu->r[0] - cpu->r[9];
|
|
/* 021B1630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1634 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1634 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B1634 */ if (_t62) goto L_021B1784; else goto L_021B1638;
|
|
L_021B1638: ; // 0x21b1638
|
|
/* 021B1638 */ goto L_021B1658;
|
|
L_021B163C: ; // 0x21b163c
|
|
/* 021B163C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B1640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B1644 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1644 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B1644 */ if (_t64) goto L_021B1648; else goto L_021B1588;
|
|
L_021B1648: ; // 0x21b1648
|
|
/* 021B1648 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B164C */ cpu->r[9] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B1650 */ cpu->r[0] = ~cpu->r[9];
|
|
/* 021B1650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1654 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1654 */ _t66 = _t65 & 0x00000001u;
|
|
/* 021B1654 */ if (_t66) goto L_021B1784; else goto L_021B1658;
|
|
L_021B1658: ; // 0x21b1658
|
|
/* 021B1658 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B165C */ _t67 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B165C */ rbrew_write32(cpu->mem, _t67, cpu->r[26]);
|
|
/* 021B1660 */ cpu->r[10] = cpu->r[10] + 0xFFFF9DB8u;
|
|
/* 021B1664 */ _t68 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021B1668 */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 021B1668 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 021B166C */ _t70 = cpu->r[11] + 0x00000014u;
|
|
/* 021B166C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B1670 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1674 */ _t71 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1674 */ cpu->r[27] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B1678 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B167C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1680 */ _t72 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021B1684 */ _t73 = cpu->r[9] + 0x00000000u;
|
|
/* 021B1684 */ cpu->r[4] = rbrew_read8(cpu->mem, _t73);
|
|
/* 021B1688 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B168C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B1690 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B1694 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1694 */ _t75 = _t74 & 0x00000001u;
|
|
/* 021B1694 */ if (_t75) goto L_021B16BC; else goto L_021B1698;
|
|
L_021B1698: ; // 0x21b1698
|
|
/* 021B1698 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B169C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B16A0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B16A4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B16A4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 021B16A4 */ if (_t77) goto L_021B16B8; else goto L_021B16A8;
|
|
L_021B16A8: ; // 0x21b16a8
|
|
/* 021B16A8 */ _t78 = cpu->r[9] + 0x00000000u;
|
|
/* 021B16A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
|
|
/* 021B16AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B16B0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B16B0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B16B0 */ if (_t80) goto L_021B16B4; else goto L_021B1698;
|
|
L_021B16B4: ; // 0x21b16b4
|
|
/* 021B16B4 */ goto L_021B16BC;
|
|
L_021B16B8: ; // 0x21b16b8
|
|
/* 021B16B8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B16BC: ; // 0x21b16bc
|
|
/* 021B16BC */ _t81 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B16BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B16C0 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B16C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B16C4 */ _t82 = cpu->r[6] + 0x00000014u;
|
|
/* 021B16C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021B16C8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B16C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 021B16C8 */ if (_t84) goto L_021B16CC; else goto L_021B16D0;
|
|
L_021B16CC: ; // 0x21b16cc
|
|
/* 021B16CC */ cpu->r[26] = 0x00000000u;
|
|
L_021B16D0: ; // 0x21b16d0
|
|
/* 021B16D0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B16D4 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 021B16D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B16DC */ _t85 = cpu->r[1] + 0x00000098u;
|
|
/* 021B16DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B16E0 */ _t86 = cpu->r[4] + 0x00000000u;
|
|
/* 021B16E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t86);
|
|
/* 021B16E4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B16E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B16EC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B16F0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B16F0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B16F0 */ if (_t88) goto L_021B1718; else goto L_021B16F4;
|
|
L_021B16F4: ; // 0x21b16f4
|
|
/* 021B16F4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B16F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B16FC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1700 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1700 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B1700 */ if (_t90) goto L_021B1714; else goto L_021B1704;
|
|
L_021B1704: ; // 0x21b1704
|
|
/* 021B1704 */ _t91 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1704 */ cpu->r[9] = rbrew_read8(cpu->mem, _t91);
|
|
/* 021B1708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B170C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B170C */ _t93 = _t92 & 0x00000001u;
|
|
/* 021B170C */ if (_t93) goto L_021B1710; else goto L_021B16F4;
|
|
L_021B1710: ; // 0x21b1710
|
|
/* 021B1710 */ goto L_021B1718;
|
|
L_021B1714: ; // 0x21b1714
|
|
/* 021B1714 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1718: ; // 0x21b1718
|
|
/* 021B1718 */ _t94 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B171C */ cpu->r[4] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B1724 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1724 */ _t96 = _t95 & 0x00000001u;
|
|
/* 021B1724 */ if (_t96) goto L_021B172C; else goto L_021B1728;
|
|
L_021B1728: ; // 0x21b1728
|
|
/* 021B1728 */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_021B172C: ; // 0x21b172c
|
|
/* 021B172C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1730 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1730 */ _t98 = _t97 & 0x00000001u;
|
|
/* 021B1730 */ if (_t98) goto L_021B1734; else goto L_021B2DE4;
|
|
L_021B1734: ; // 0x21b1734
|
|
/* 021B1734 */ _t99 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B1734 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B1738 */ _t100 = cpu->r[10] + 0x00000014u;
|
|
/* 021B1738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 021B173C */ cpu->ctr = cpu->r[0];
|
|
/* 021B1740 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1744 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 021B1748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B174C */ _t101 = cpu->r[1] + 0x00000098u;
|
|
/* 021B174C */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 021B1750 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1754 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1758 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B175C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1760 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B1768 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1768 */ _t103 = _t102 & 0x00000001u;
|
|
/* 021B1768 */ if (_t103) goto L_021B176C; else goto L_021B2DE4;
|
|
L_021B176C: ; // 0x21b176c
|
|
/* 021B176C */ _t104 = cpu->r[27] + cpu->r[0];
|
|
/* 021B176C */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[31]);
|
|
/* 021B1770 */ /* nop */
|
|
/* 021B1774 */ _t105 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B1778 */ cpu->lr = cpu->r[0];
|
|
/* 021B177C */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1780 */ return;
|
|
L_021B1784: ; // 0x21b1784
|
|
/* 021B1784 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B1788 */ _t106 = cpu->r[1] + 0x00000064u;
|
|
/* 021B1788 */ rbrew_write32(cpu->mem, _t106, cpu->r[26]);
|
|
/* 021B178C */ cpu->r[4] = cpu->r[4] + 0xFFFF9D8Cu;
|
|
/* 021B1790 */ _t107 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1790 */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B1794 */ _t108 = cpu->r[1] + 0x00000060u;
|
|
/* 021B1794 */ rbrew_write32(cpu->mem, _t108, cpu->r[4]);
|
|
/* 021B1798 */ _t109 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B179C */ cpu->ctr = cpu->r[6];
|
|
/* 021B17A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B17A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B17A8 */ _t110 = cpu->r[27] + 0x00000000u;
|
|
/* 021B17A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B17AC */ _t111 = cpu->r[4] + 0x00000000u;
|
|
/* 021B17AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t111);
|
|
/* 021B17B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B17B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B17B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B17BC */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B17BC */ _t113 = _t112 & 0x00000001u;
|
|
/* 021B17BC */ if (_t113) goto L_021B17E4; else goto L_021B17C0;
|
|
L_021B17C0: ; // 0x21b17c0
|
|
/* 021B17C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B17C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B17C8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B17CC */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B17CC */ _t115 = _t114 & 0x00000001u;
|
|
/* 021B17CC */ if (_t115) goto L_021B17E0; else goto L_021B17D0;
|
|
L_021B17D0: ; // 0x21b17d0
|
|
/* 021B17D0 */ _t116 = cpu->r[4] + 0x00000000u;
|
|
/* 021B17D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t116);
|
|
/* 021B17D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B17D8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B17D8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 021B17D8 */ if (_t118) goto L_021B17DC; else goto L_021B17C0;
|
|
L_021B17DC: ; // 0x21b17dc
|
|
/* 021B17DC */ goto L_021B17E4;
|
|
L_021B17E0: ; // 0x21b17e0
|
|
/* 021B17E0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B17E4: ; // 0x21b17e4
|
|
/* 021B17E4 */ _t119 = cpu->r[1] + 0x00000064u;
|
|
/* 021B17E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B17E8 */ _t120 = cpu->r[9] + 0x00000014u;
|
|
/* 021B17E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021B17EC */ cpu->ctr = cpu->r[10];
|
|
/* 021B17F0 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 021B17F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B17F8 */ _t121 = cpu->r[1] + 0x00000060u;
|
|
/* 021B17F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B17FC */ _t122 = cpu->r[10] + 0x00000000u;
|
|
/* 021B17FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t122);
|
|
/* 021B1800 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1808 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B180C */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B180C */ _t124 = _t123 & 0x00000001u;
|
|
/* 021B180C */ if (_t124) goto L_021B1834; else goto L_021B1810;
|
|
L_021B1810: ; // 0x21b1810
|
|
/* 021B1810 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B1818 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B181C */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B181C */ _t126 = _t125 & 0x00000001u;
|
|
/* 021B181C */ if (_t126) goto L_021B1830; else goto L_021B1820;
|
|
L_021B1820: ; // 0x21b1820
|
|
/* 021B1820 */ _t127 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 021B1824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1828 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1828 */ _t129 = _t128 & 0x00000001u;
|
|
/* 021B1828 */ if (_t129) goto L_021B182C; else goto L_021B1810;
|
|
L_021B182C: ; // 0x21b182c
|
|
/* 021B182C */ goto L_021B1834;
|
|
L_021B1830: ; // 0x21b1830
|
|
/* 021B1830 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1834: ; // 0x21b1834
|
|
/* 021B1834 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1838 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B183C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B183C */ _t131 = _t130 & 0x00000001u;
|
|
/* 021B183C */ if (_t131) goto L_021B1904; else goto L_021B1840;
|
|
L_021B1840: ; // 0x21b1840
|
|
/* 021B1840 */ cpu->r[24] = cpu->r[31];
|
|
L_021B1844: ; // 0x21b1844
|
|
/* 021B1844 */ _t132 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t132);
|
|
/* 021B1848 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 021B1848 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]);
|
|
/* 021B184C */ cpu->r[4] = cpu->r[5] + cpu->r[25];
|
|
/* 021B1850 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B1854 */ _t134 = cpu->r[1] + 0x00000010u;
|
|
/* 021B1854 */ rbrew_write32(cpu->mem, _t134, cpu->r[4]);
|
|
/* 021B1858 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B185C */ _t135 = cpu->r[1] + 0x00000014u;
|
|
/* 021B185C */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 021B1860 */ _t136 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 021B1864 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1868 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B186C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1870 */ _t137 = cpu->r[1] + 0x00000064u;
|
|
/* 021B1870 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 021B1874 */ _t138 = cpu->r[8] + 0x00000014u;
|
|
/* 021B1874 */ cpu->r[9] = rbrew_read32(cpu->mem, _t138);
|
|
/* 021B1878 */ cpu->ctr = cpu->r[9];
|
|
/* 021B187C */ _t139 = cpu->r[1] + 0x00000010u;
|
|
/* 021B187C */ cpu->r[23] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021B1880 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 021B1884 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1888 */ _t140 = cpu->r[1] + 0x00000060u;
|
|
/* 021B1888 */ cpu->r[10] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B188C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[10]);
|
|
/* 021B1890 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1890 */ _t142 = _t141 & 0x00000001u;
|
|
/* 021B1890 */ if (_t142) goto L_021B18E4; else goto L_021B1894;
|
|
L_021B1894: ; // 0x21b1894
|
|
/* 021B1894 */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1898 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1898 */ _t144 = _t143 & 0x00000001u;
|
|
/* 021B1898 */ if (_t144) goto L_021B189C; else goto L_021B18E4;
|
|
L_021B189C: ; // 0x21b189c
|
|
/* 021B189C */ _t145 = cpu->r[1] + 0x00000060u;
|
|
/* 021B189C */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 021B18A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B18A4 */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 021B18A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t146);
|
|
L_021B18A8: ; // 0x21b18a8
|
|
/* 021B18A8 */ _t147 = cpu->r[9] + 0x00000000u;
|
|
/* 021B18A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t147);
|
|
/* 021B18AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 021B18B0 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18B0 */ _t149 = _t148 & 0x00000001u;
|
|
/* 021B18B0 */ if (_t149) goto L_021B18B4; else goto L_021B18C4;
|
|
L_021B18B4: ; // 0x21b18b4
|
|
/* 021B18B4 */ _t150 = cpu->r[8] + 0x00000000u;
|
|
/* 021B18B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t150);
|
|
/* 021B18B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[24]);
|
|
/* 021B18BC */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18BC */ _t152 = _t151 & 0x00000001u;
|
|
/* 021B18BC */ if (_t152) goto L_021B18E4; else goto L_021B18C0;
|
|
L_021B18C0: ; // 0x21b18c0
|
|
/* 021B18C0 */ goto L_021B18F8;
|
|
L_021B18C4: ; // 0x21b18c4
|
|
/* 021B18C4 */ _t153 = cpu->r[8] + 0x00000000u;
|
|
/* 021B18C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t153);
|
|
/* 021B18C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[24]);
|
|
/* 021B18CC */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18CC */ _t155 = _t154 & 0x00000001u;
|
|
/* 021B18CC */ if (_t155) goto L_021B18F8; else goto L_021B18D0;
|
|
L_021B18D0: ; // 0x21b18d0
|
|
/* 021B18D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 021B18D4 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18D4 */ _t157 = _t156 & 0x00000001u;
|
|
/* 021B18D4 */ if (_t157) goto L_021B18D8; else goto L_021B18F8;
|
|
L_021B18D8: ; // 0x21b18d8
|
|
/* 021B18D8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B18DC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B18E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B18E0 */ _t158 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B18E0 */ _t159 = _t158 >> (0x00000002u & 31u);
|
|
/* 021B18E0 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021B18E0 */ if (_t160) goto L_021B18A8; else goto L_021B18E4;
|
|
L_021B18E4: ; // 0x21b18e4
|
|
/* 021B18E4 */ _t161 = cpu->r[25] | cpu->r[25];
|
|
/* 021B18E4 */ cpu->r[0] = ~_t161;
|
|
/* 021B18E8 */ cpu->r[4] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B18EC */ cpu->r[11] = cpu->r[0] - cpu->r[4];
|
|
/* 021B18EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B18F0 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B18F0 */ _t163 = _t162 & 0x00000001u;
|
|
/* 021B18F0 */ if (_t163) goto L_021B1A40; else goto L_021B18F4;
|
|
L_021B18F4: ; // 0x21b18f4
|
|
/* 021B18F4 */ goto L_021B1914;
|
|
L_021B18F8: ; // 0x21b18f8
|
|
/* 021B18F8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B18FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1900 */ _t164 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1900 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021B1900 */ if (_t165) goto L_021B1904; else goto L_021B1844;
|
|
L_021B1904: ; // 0x21b1904
|
|
/* 021B1904 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B1908 */ cpu->r[4] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B190C */ cpu->r[11] = ~cpu->r[4];
|
|
/* 021B190C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B1910 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1910 */ _t167 = _t166 & 0x00000001u;
|
|
/* 021B1910 */ if (_t167) goto L_021B1A40; else goto L_021B1914;
|
|
L_021B1914: ; // 0x21b1914
|
|
/* 021B1914 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B1918 */ _t168 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B1918 */ rbrew_write32(cpu->mem, _t168, cpu->r[26]);
|
|
/* 021B191C */ cpu->r[5] = cpu->r[5] + 0xFFFF9DBBu;
|
|
/* 021B1920 */ _t169 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t169);
|
|
/* 021B1924 */ _t170 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1924 */ rbrew_write32(cpu->mem, _t170, cpu->r[5]);
|
|
/* 021B1928 */ _t171 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1928 */ cpu->r[7] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021B192C */ cpu->ctr = cpu->r[7];
|
|
/* 021B1930 */ _t172 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1930 */ cpu->r[27] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021B1934 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B193C */ _t173 = cpu->r[28] + 0x00000000u;
|
|
/* 021B193C */ cpu->r[10] = rbrew_read32(cpu->mem, _t173);
|
|
/* 021B1940 */ _t174 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1940 */ cpu->r[0] = rbrew_read8(cpu->mem, _t174);
|
|
/* 021B1944 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B194C */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1950 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1950 */ _t176 = _t175 & 0x00000001u;
|
|
/* 021B1950 */ if (_t176) goto L_021B1978; else goto L_021B1954;
|
|
L_021B1954: ; // 0x21b1954
|
|
/* 021B1954 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B195C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1960 */ _t177 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1960 */ _t178 = _t177 & 0x00000001u;
|
|
/* 021B1960 */ if (_t178) goto L_021B1974; else goto L_021B1964;
|
|
L_021B1964: ; // 0x21b1964
|
|
/* 021B1964 */ _t179 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1964 */ cpu->r[9] = rbrew_read8(cpu->mem, _t179);
|
|
/* 021B1968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B196C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B196C */ _t181 = _t180 & 0x00000001u;
|
|
/* 021B196C */ if (_t181) goto L_021B1970; else goto L_021B1954;
|
|
L_021B1970: ; // 0x21b1970
|
|
/* 021B1970 */ goto L_021B1978;
|
|
L_021B1974: ; // 0x21b1974
|
|
/* 021B1974 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1978: ; // 0x21b1978
|
|
/* 021B1978 */ _t182 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B1978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t182);
|
|
/* 021B197C */ cpu->r[26] = cpu->r[30];
|
|
/* 021B197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1980 */ _t183 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1980 */ cpu->r[4] = rbrew_read32(cpu->mem, _t183);
|
|
/* 021B1984 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1984 */ _t185 = _t184 & 0x00000001u;
|
|
/* 021B1984 */ if (_t185) goto L_021B1988; else goto L_021B198C;
|
|
L_021B1988: ; // 0x21b1988
|
|
/* 021B1988 */ cpu->r[26] = 0x00000000u;
|
|
L_021B198C: ; // 0x21b198c
|
|
/* 021B198C */ cpu->ctr = cpu->r[4];
|
|
/* 021B1990 */ cpu->r[3] = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1998 */ _t186 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1998 */ cpu->r[5] = rbrew_read32(cpu->mem, _t186);
|
|
/* 021B199C */ _t187 = cpu->r[5] + 0x00000000u;
|
|
/* 021B199C */ cpu->r[0] = rbrew_read8(cpu->mem, _t187);
|
|
/* 021B19A0 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B19A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B19A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B19AC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B19AC */ _t189 = _t188 & 0x00000001u;
|
|
/* 021B19AC */ if (_t189) goto L_021B19D4; else goto L_021B19B0;
|
|
L_021B19B0: ; // 0x21b19b0
|
|
/* 021B19B0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B19B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B19B8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B19BC */ _t190 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B19BC */ _t191 = _t190 & 0x00000001u;
|
|
/* 021B19BC */ if (_t191) goto L_021B19D0; else goto L_021B19C0;
|
|
L_021B19C0: ; // 0x21b19c0
|
|
/* 021B19C0 */ _t192 = cpu->r[5] + 0x00000000u;
|
|
/* 021B19C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t192);
|
|
/* 021B19C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B19C8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B19C8 */ _t194 = _t193 & 0x00000001u;
|
|
/* 021B19C8 */ if (_t194) goto L_021B19CC; else goto L_021B19B0;
|
|
L_021B19CC: ; // 0x21b19cc
|
|
/* 021B19CC */ goto L_021B19D4;
|
|
L_021B19D0: ; // 0x21b19d0
|
|
/* 021B19D0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B19D4: ; // 0x21b19d4
|
|
/* 021B19D4 */ _t195 = cpu->r[28] + 0x00000008u;
|
|
/* 021B19D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t195);
|
|
/* 021B19D8 */ cpu->r[11] = cpu->r[4] - cpu->r[26];
|
|
/* 021B19DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B19E0 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B19E0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 021B19E0 */ if (_t197) goto L_021B19E8; else goto L_021B19E4;
|
|
L_021B19E4: ; // 0x21b19e4
|
|
/* 021B19E4 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_021B19E8: ; // 0x21b19e8
|
|
/* 021B19E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B19EC */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B19EC */ _t199 = _t198 & 0x00000001u;
|
|
/* 021B19EC */ if (_t199) goto L_021B19F0; else goto L_021B2DE4;
|
|
L_021B19F0: ; // 0x21b19f0
|
|
/* 021B19F0 */ _t200 = cpu->r[1] + 0x000000A4u;
|
|
/* 021B19F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t200);
|
|
/* 021B19F4 */ _t201 = cpu->r[8] + 0x00000014u;
|
|
/* 021B19F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t201);
|
|
/* 021B19F8 */ cpu->ctr = cpu->r[9];
|
|
/* 021B19FC */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1A00 */ cpu->r[3] = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1A04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1A08 */ _t202 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B1A08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021B1A0C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1A10 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1A14 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1A18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1A1C */ cpu->r[11] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
|
|
/* 021B1A24 */ _t203 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1A24 */ _t204 = _t203 & 0x00000001u;
|
|
/* 021B1A24 */ if (_t204) goto L_021B1A28; else goto L_021B2DE4;
|
|
L_021B1A28: ; // 0x21b1a28
|
|
/* 021B1A28 */ _t205 = cpu->r[27] + cpu->r[11];
|
|
/* 021B1A28 */ rbrew_write8(cpu->mem, _t205, (uint8_t)cpu->r[31]);
|
|
/* 021B1A2C */ /* nop */
|
|
/* 021B1A30 */ _t206 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 021B1A34 */ cpu->lr = cpu->r[0];
|
|
/* 021B1A38 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1A3C */ return;
|
|
L_021B1A40: ; // 0x21b1a40
|
|
/* 021B1A40 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B1A44 */ _t207 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1A44 */ rbrew_write32(cpu->mem, _t207, cpu->r[26]);
|
|
/* 021B1A48 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D90u;
|
|
/* 021B1A4C */ _t208 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1A4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t208);
|
|
/* 021B1A50 */ _t209 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1A50 */ rbrew_write32(cpu->mem, _t209, cpu->r[0]);
|
|
/* 021B1A54 */ _t210 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1A54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t210);
|
|
/* 021B1A58 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1A5C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1A64 */ _t211 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t211);
|
|
/* 021B1A68 */ _t212 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1A68 */ cpu->r[5] = rbrew_read8(cpu->mem, _t212);
|
|
/* 021B1A6C */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B1A74 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1A78 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1A78 */ _t214 = _t213 & 0x00000001u;
|
|
/* 021B1A78 */ if (_t214) goto L_021B1AA0; else goto L_021B1A7C;
|
|
L_021B1A7C: ; // 0x21b1a7c
|
|
/* 021B1A7C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B1A84 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1A88 */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1A88 */ _t216 = _t215 & 0x00000001u;
|
|
/* 021B1A88 */ if (_t216) goto L_021B1A9C; else goto L_021B1A8C;
|
|
L_021B1A8C: ; // 0x21b1a8c
|
|
/* 021B1A8C */ _t217 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1A8C */ cpu->r[6] = rbrew_read8(cpu->mem, _t217);
|
|
/* 021B1A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B1A94 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1A94 */ _t219 = _t218 & 0x00000001u;
|
|
/* 021B1A94 */ if (_t219) goto L_021B1A98; else goto L_021B1A7C;
|
|
L_021B1A98: ; // 0x21b1a98
|
|
/* 021B1A98 */ goto L_021B1AA0;
|
|
L_021B1A9C: ; // 0x21b1a9c
|
|
/* 021B1A9C */ cpu->r[29] = 0x00000000u;
|
|
L_021B1AA0: ; // 0x21b1aa0
|
|
/* 021B1AA0 */ _t220 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1AA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t220);
|
|
/* 021B1AA4 */ _t221 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t221);
|
|
/* 021B1AA8 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1AAC */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021B1AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1AB4 */ _t222 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t222);
|
|
/* 021B1AB8 */ _t223 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1AB8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t223);
|
|
/* 021B1ABC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1AC4 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1AC8 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1AC8 */ _t225 = _t224 & 0x00000001u;
|
|
/* 021B1AC8 */ if (_t225) goto L_021B1AF0; else goto L_021B1ACC;
|
|
L_021B1ACC: ; // 0x21b1acc
|
|
/* 021B1ACC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B1AD4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B1AD8 */ _t226 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1AD8 */ _t227 = _t226 & 0x00000001u;
|
|
/* 021B1AD8 */ if (_t227) goto L_021B1AEC; else goto L_021B1ADC;
|
|
L_021B1ADC: ; // 0x21b1adc
|
|
/* 021B1ADC */ _t228 = cpu->r[10] + 0x00000000u;
|
|
/* 021B1ADC */ cpu->r[11] = rbrew_read8(cpu->mem, _t228);
|
|
/* 021B1AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1AE4 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1AE4 */ _t230 = _t229 & 0x00000001u;
|
|
/* 021B1AE4 */ if (_t230) goto L_021B1AE8; else goto L_021B1ACC;
|
|
L_021B1AE8: ; // 0x21b1ae8
|
|
/* 021B1AE8 */ goto L_021B1AF0;
|
|
L_021B1AEC: ; // 0x21b1aec
|
|
/* 021B1AEC */ cpu->r[30] = 0x00000000u;
|
|
L_021B1AF0: ; // 0x21b1af0
|
|
/* 021B1AF0 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1AF4 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B1AF8 */ _t231 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1AF8 */ _t232 = _t231 & 0x00000001u;
|
|
/* 021B1AF8 */ if (_t232) goto L_021B1BC0; else goto L_021B1AFC;
|
|
L_021B1AFC: ; // 0x21b1afc
|
|
/* 021B1AFC */ cpu->r[24] = cpu->r[31];
|
|
L_021B1B00: ; // 0x21b1b00
|
|
/* 021B1B00 */ _t233 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1B00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t233);
|
|
/* 021B1B04 */ _t234 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B1B04 */ rbrew_write32(cpu->mem, _t234, cpu->r[26]);
|
|
/* 021B1B08 */ cpu->r[0] = cpu->r[4] + cpu->r[25];
|
|
/* 021B1B0C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B10 */ _t235 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B10 */ rbrew_write32(cpu->mem, _t235, cpu->r[0]);
|
|
/* 021B1B14 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B1B18 */ _t236 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B1B18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t236);
|
|
/* 021B1B1C */ _t237 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1B1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t237);
|
|
/* 021B1B20 */ cpu->ctr = cpu->r[6];
|
|
/* 021B1B24 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1B2C */ _t238 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B1B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t238);
|
|
/* 021B1B30 */ _t239 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1B30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t239);
|
|
/* 021B1B34 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1B38 */ _t240 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B38 */ cpu->r[23] = rbrew_read32(cpu->mem, _t240);
|
|
/* 021B1B3C */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1B44 */ _t241 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 021B1B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[9]);
|
|
/* 021B1B4C */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B4C */ _t243 = _t242 & 0x00000001u;
|
|
/* 021B1B4C */ if (_t243) goto L_021B1BA0; else goto L_021B1B50;
|
|
L_021B1B50: ; // 0x21b1b50
|
|
/* 021B1B50 */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1B54 */ _t244 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1B54 */ _t245 = _t244 & 0x00000001u;
|
|
/* 021B1B54 */ if (_t245) goto L_021B1B58; else goto L_021B1BA0;
|
|
L_021B1B58: ; // 0x21b1b58
|
|
/* 021B1B58 */ _t246 = cpu->r[1] + 0x00000068u;
|
|
/* 021B1B58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t246);
|
|
/* 021B1B5C */ cpu->ctr = cpu->r[0];
|
|
/* 021B1B60 */ _t247 = cpu->r[1] + 0x00000018u;
|
|
/* 021B1B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247);
|
|
L_021B1B64: ; // 0x21b1b64
|
|
/* 021B1B64 */ _t248 = cpu->r[9] + 0x00000000u;
|
|
/* 021B1B64 */ cpu->r[8] = rbrew_read8(cpu->mem, _t248);
|
|
/* 021B1B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 021B1B6C */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B6C */ _t250 = _t249 & 0x00000001u;
|
|
/* 021B1B6C */ if (_t250) goto L_021B1B70; else goto L_021B1B80;
|
|
L_021B1B70: ; // 0x21b1b70
|
|
/* 021B1B70 */ _t251 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1B70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t251);
|
|
/* 021B1B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 021B1B78 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B78 */ _t253 = _t252 & 0x00000001u;
|
|
/* 021B1B78 */ if (_t253) goto L_021B1BA0; else goto L_021B1B7C;
|
|
L_021B1B7C: ; // 0x21b1b7c
|
|
/* 021B1B7C */ goto L_021B1BB4;
|
|
L_021B1B80: ; // 0x21b1b80
|
|
/* 021B1B80 */ _t254 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1B80 */ cpu->r[7] = rbrew_read8(cpu->mem, _t254);
|
|
/* 021B1B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 021B1B88 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B88 */ _t256 = _t255 & 0x00000001u;
|
|
/* 021B1B88 */ if (_t256) goto L_021B1BB4; else goto L_021B1B8C;
|
|
L_021B1B8C: ; // 0x21b1b8c
|
|
/* 021B1B8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 021B1B90 */ _t257 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1B90 */ _t258 = _t257 & 0x00000001u;
|
|
/* 021B1B90 */ if (_t258) goto L_021B1B94; else goto L_021B1BB4;
|
|
L_021B1B94: ; // 0x21b1b94
|
|
/* 021B1B94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1B98 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B1B9C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1B9C */ _t259 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1B9C */ _t260 = _t259 >> (0x00000002u & 31u);
|
|
/* 021B1B9C */ _t261 = _t260 & 0x00000001u;
|
|
/* 021B1B9C */ if (_t261) goto L_021B1B64; else goto L_021B1BA0;
|
|
L_021B1BA0: ; // 0x21b1ba0
|
|
/* 021B1BA0 */ _t262 = cpu->r[25] | cpu->r[25];
|
|
/* 021B1BA0 */ cpu->r[11] = ~_t262;
|
|
/* 021B1BA4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B1BA8 */ cpu->r[6] = cpu->r[11] - cpu->r[0];
|
|
/* 021B1BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B1BAC */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1BAC */ _t264 = _t263 & 0x00000001u;
|
|
/* 021B1BAC */ if (_t264) goto L_021B1CFC; else goto L_021B1BB0;
|
|
L_021B1BB0: ; // 0x21b1bb0
|
|
/* 021B1BB0 */ goto L_021B1BD0;
|
|
L_021B1BB4: ; // 0x21b1bb4
|
|
/* 021B1BB4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B1BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1BBC */ _t265 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1BBC */ _t266 = _t265 & 0x00000001u;
|
|
/* 021B1BBC */ if (_t266) goto L_021B1BC0; else goto L_021B1B00;
|
|
L_021B1BC0: ; // 0x21b1bc0
|
|
/* 021B1BC0 */ cpu->r[11] = 0x00000000u;
|
|
/* 021B1BC4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B1BC8 */ cpu->r[6] = ~cpu->r[0];
|
|
/* 021B1BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B1BCC */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1BCC */ _t268 = _t267 & 0x00000001u;
|
|
/* 021B1BCC */ if (_t268) goto L_021B1CFC; else goto L_021B1BD0;
|
|
L_021B1BD0: ; // 0x21b1bd0
|
|
/* 021B1BD0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B1BD4 */ _t269 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1BD4 */ rbrew_write32(cpu->mem, _t269, cpu->r[26]);
|
|
/* 021B1BD8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DBEu;
|
|
/* 021B1BDC */ _t270 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1BDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t270);
|
|
/* 021B1BE0 */ _t271 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1BE0 */ rbrew_write32(cpu->mem, _t271, cpu->r[4]);
|
|
/* 021B1BE4 */ _t272 = cpu->r[5] + 0x00000014u;
|
|
/* 021B1BE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t272);
|
|
/* 021B1BE8 */ cpu->ctr = cpu->r[6];
|
|
/* 021B1BEC */ _t273 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1BEC */ cpu->r[27] = rbrew_read32(cpu->mem, _t273);
|
|
/* 021B1BF0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1BF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1BF8 */ _t274 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1BF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t274);
|
|
/* 021B1BFC */ _t275 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t275);
|
|
/* 021B1C00 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B1C08 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B1C0C */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C0C */ _t277 = _t276 & 0x00000001u;
|
|
/* 021B1C0C */ if (_t277) goto L_021B1C34; else goto L_021B1C10;
|
|
L_021B1C10: ; // 0x21b1c10
|
|
/* 021B1C10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 021B1C18 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B1C1C */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1C1C */ _t279 = _t278 & 0x00000001u;
|
|
/* 021B1C1C */ if (_t279) goto L_021B1C30; else goto L_021B1C20;
|
|
L_021B1C20: ; // 0x21b1c20
|
|
/* 021B1C20 */ _t280 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1C20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t280);
|
|
/* 021B1C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1C28 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C28 */ _t282 = _t281 & 0x00000001u;
|
|
/* 021B1C28 */ if (_t282) goto L_021B1C2C; else goto L_021B1C10;
|
|
L_021B1C2C: ; // 0x21b1c2c
|
|
/* 021B1C2C */ goto L_021B1C34;
|
|
L_021B1C30: ; // 0x21b1c30
|
|
/* 021B1C30 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1C34: ; // 0x21b1c34
|
|
/* 021B1C34 */ _t283 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1C34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t283);
|
|
/* 021B1C38 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B1C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1C3C */ _t284 = cpu->r[9] + 0x00000014u;
|
|
/* 021B1C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t284);
|
|
/* 021B1C40 */ _t285 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1C40 */ _t286 = _t285 & 0x00000001u;
|
|
/* 021B1C40 */ if (_t286) goto L_021B1C44; else goto L_021B1C48;
|
|
L_021B1C44: ; // 0x21b1c44
|
|
/* 021B1C44 */ cpu->r[26] = 0x00000000u;
|
|
L_021B1C48: ; // 0x21b1c48
|
|
/* 021B1C48 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1C4C */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1C50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1C54 */ _t287 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1C54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t287);
|
|
/* 021B1C58 */ _t288 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1C58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t288);
|
|
/* 021B1C5C */ cpu->r[8] = 0x00080000u;
|
|
/* 021B1C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B1C64 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1C68 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C68 */ _t290 = _t289 & 0x00000001u;
|
|
/* 021B1C68 */ if (_t290) goto L_021B1C90; else goto L_021B1C6C;
|
|
L_021B1C6C: ; // 0x21b1c6c
|
|
/* 021B1C6C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B1C74 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B1C78 */ _t291 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1C78 */ _t292 = _t291 & 0x00000001u;
|
|
/* 021B1C78 */ if (_t292) goto L_021B1C8C; else goto L_021B1C7C;
|
|
L_021B1C7C: ; // 0x21b1c7c
|
|
/* 021B1C7C */ _t293 = cpu->r[6] + 0x00000000u;
|
|
/* 021B1C7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t293);
|
|
/* 021B1C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1C84 */ _t294 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1C84 */ _t295 = _t294 & 0x00000001u;
|
|
/* 021B1C84 */ if (_t295) goto L_021B1C88; else goto L_021B1C6C;
|
|
L_021B1C88: ; // 0x21b1c88
|
|
/* 021B1C88 */ goto L_021B1C90;
|
|
L_021B1C8C: ; // 0x21b1c8c
|
|
/* 021B1C8C */ cpu->r[29] = 0x00000000u;
|
|
L_021B1C90: ; // 0x21b1c90
|
|
/* 021B1C90 */ _t296 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1C90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t296);
|
|
/* 021B1C94 */ cpu->r[10] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B1C9C */ _t297 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1C9C */ _t298 = _t297 & 0x00000001u;
|
|
/* 021B1C9C */ if (_t298) goto L_021B1CA4; else goto L_021B1CA0;
|
|
L_021B1CA0: ; // 0x21b1ca0
|
|
/* 021B1CA0 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B1CA4: ; // 0x21b1ca4
|
|
/* 021B1CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1CA8 */ _t299 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1CA8 */ _t300 = _t299 & 0x00000001u;
|
|
/* 021B1CA8 */ if (_t300) goto L_021B1CAC; else goto L_021B2DE4;
|
|
L_021B1CAC: ; // 0x21b1cac
|
|
/* 021B1CAC */ _t301 = cpu->r[1] + 0x000000ACu;
|
|
/* 021B1CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t301);
|
|
/* 021B1CB0 */ _t302 = cpu->r[4] + 0x00000014u;
|
|
/* 021B1CB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t302);
|
|
/* 021B1CB4 */ cpu->ctr = cpu->r[5];
|
|
/* 021B1CB8 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1CBC */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1CC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1CC4 */ _t303 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B1CC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t303);
|
|
/* 021B1CC8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1CCC */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1CD4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1CD8 */ cpu->r[10] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[30]);
|
|
/* 021B1CE0 */ _t304 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1CE0 */ _t305 = _t304 & 0x00000001u;
|
|
/* 021B1CE0 */ if (_t305) goto L_021B1CE4; else goto L_021B2DE4;
|
|
L_021B1CE4: ; // 0x21b1ce4
|
|
/* 021B1CE4 */ _t306 = cpu->r[27] + cpu->r[10];
|
|
/* 021B1CE4 */ rbrew_write8(cpu->mem, _t306, (uint8_t)cpu->r[31]);
|
|
/* 021B1CE8 */ /* nop */
|
|
/* 021B1CEC */ _t307 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
|
|
/* 021B1CF0 */ cpu->lr = cpu->r[0];
|
|
/* 021B1CF4 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1CF8 */ return;
|
|
L_021B1CFC: ; // 0x21b1cfc
|
|
/* 021B1CFC */ cpu->r[6] = 0x10030000u;
|
|
/* 021B1D00 */ _t308 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1D00 */ rbrew_write32(cpu->mem, _t308, cpu->r[26]);
|
|
/* 021B1D04 */ cpu->r[6] = cpu->r[6] + 0xFFFF9D94u;
|
|
/* 021B1D08 */ _t309 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1D08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t309);
|
|
/* 021B1D0C */ _t310 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D0C */ rbrew_write32(cpu->mem, _t310, cpu->r[6]);
|
|
/* 021B1D10 */ _t311 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1D10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t311);
|
|
/* 021B1D14 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1D18 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1D20 */ _t312 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t312);
|
|
/* 021B1D24 */ _t313 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1D24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t313);
|
|
/* 021B1D28 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B1D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1D30 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1D34 */ _t314 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D34 */ _t315 = _t314 & 0x00000001u;
|
|
/* 021B1D34 */ if (_t315) goto L_021B1D5C; else goto L_021B1D38;
|
|
L_021B1D38: ; // 0x21b1d38
|
|
/* 021B1D38 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B1D40 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B1D44 */ _t316 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1D44 */ _t317 = _t316 & 0x00000001u;
|
|
/* 021B1D44 */ if (_t317) goto L_021B1D58; else goto L_021B1D48;
|
|
L_021B1D48: ; // 0x21b1d48
|
|
/* 021B1D48 */ _t318 = cpu->r[4] + 0x00000000u;
|
|
/* 021B1D48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t318);
|
|
/* 021B1D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1D50 */ _t319 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D50 */ _t320 = _t319 & 0x00000001u;
|
|
/* 021B1D50 */ if (_t320) goto L_021B1D54; else goto L_021B1D38;
|
|
L_021B1D54: ; // 0x21b1d54
|
|
/* 021B1D54 */ goto L_021B1D5C;
|
|
L_021B1D58: ; // 0x21b1d58
|
|
/* 021B1D58 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1D5C: ; // 0x21b1d5c
|
|
/* 021B1D5C */ _t321 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1D5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t321);
|
|
/* 021B1D60 */ _t322 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1D60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t322);
|
|
/* 021B1D64 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1D68 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1D70 */ _t323 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1D70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t323);
|
|
/* 021B1D74 */ _t324 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1D74 */ cpu->r[5] = rbrew_read8(cpu->mem, _t324);
|
|
/* 021B1D78 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B1D80 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B1D84 */ _t325 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1D84 */ _t326 = _t325 & 0x00000001u;
|
|
/* 021B1D84 */ if (_t326) goto L_021B1DAC; else goto L_021B1D88;
|
|
L_021B1D88: ; // 0x21b1d88
|
|
/* 021B1D88 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B1D90 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B1D94 */ _t327 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1D94 */ _t328 = _t327 & 0x00000001u;
|
|
/* 021B1D94 */ if (_t328) goto L_021B1DA8; else goto L_021B1D98;
|
|
L_021B1D98: ; // 0x21b1d98
|
|
/* 021B1D98 */ _t329 = cpu->r[11] + 0x00000000u;
|
|
/* 021B1D98 */ cpu->r[6] = rbrew_read8(cpu->mem, _t329);
|
|
/* 021B1D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B1DA0 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1DA0 */ _t331 = _t330 & 0x00000001u;
|
|
/* 021B1DA0 */ if (_t331) goto L_021B1DA4; else goto L_021B1D88;
|
|
L_021B1DA4: ; // 0x21b1da4
|
|
/* 021B1DA4 */ goto L_021B1DAC;
|
|
L_021B1DA8: ; // 0x21b1da8
|
|
/* 021B1DA8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B1DAC: ; // 0x21b1dac
|
|
/* 021B1DAC */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B1DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1DB0 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B1DB4 */ _t332 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1DB4 */ _t333 = _t332 & 0x00000001u;
|
|
/* 021B1DB4 */ if (_t333) goto L_021B1E7C; else goto L_021B1DB8;
|
|
L_021B1DB8: ; // 0x21b1db8
|
|
/* 021B1DB8 */ cpu->r[24] = cpu->r[31];
|
|
L_021B1DBC: ; // 0x21b1dbc
|
|
/* 021B1DBC */ _t334 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1DBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t334);
|
|
/* 021B1DC0 */ _t335 = cpu->r[1] + 0x00000024u;
|
|
/* 021B1DC0 */ rbrew_write32(cpu->mem, _t335, cpu->r[26]);
|
|
/* 021B1DC4 */ cpu->r[0] = cpu->r[8] + cpu->r[25];
|
|
/* 021B1DC8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DCC */ _t336 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DCC */ rbrew_write32(cpu->mem, _t336, cpu->r[0]);
|
|
/* 021B1DD0 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B1DD4 */ _t337 = cpu->r[1] + 0x00000024u;
|
|
/* 021B1DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t337);
|
|
/* 021B1DD8 */ _t338 = cpu->r[9] + 0x00000014u;
|
|
/* 021B1DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t338);
|
|
/* 021B1DDC */ cpu->ctr = cpu->r[0];
|
|
/* 021B1DE0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1DE8 */ _t339 = cpu->r[1] + 0x00000074u;
|
|
/* 021B1DE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t339);
|
|
/* 021B1DEC */ _t340 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1DEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t340);
|
|
/* 021B1DF0 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1DF4 */ _t341 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1DF4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t341);
|
|
/* 021B1DF8 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 021B1DFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1E00 */ _t342 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1E00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t342);
|
|
/* 021B1E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B1E08 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E08 */ _t344 = _t343 & 0x00000001u;
|
|
/* 021B1E08 */ if (_t344) goto L_021B1E5C; else goto L_021B1E0C;
|
|
L_021B1E0C: ; // 0x21b1e0c
|
|
/* 021B1E0C */ cpu->r[0] = cpu->r[30];
|
|
/* 021B1E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E10 */ _t345 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1E10 */ _t346 = _t345 & 0x00000001u;
|
|
/* 021B1E10 */ if (_t346) goto L_021B1E14; else goto L_021B1E5C;
|
|
L_021B1E14: ; // 0x21b1e14
|
|
/* 021B1E14 */ _t347 = cpu->r[1] + 0x00000070u;
|
|
/* 021B1E14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t347);
|
|
/* 021B1E18 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1E1C */ _t348 = cpu->r[1] + 0x00000020u;
|
|
/* 021B1E1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t348);
|
|
L_021B1E20: ; // 0x21b1e20
|
|
/* 021B1E20 */ _t349 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1E20 */ cpu->r[10] = rbrew_read8(cpu->mem, _t349);
|
|
/* 021B1E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 021B1E28 */ _t350 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E28 */ _t351 = _t350 & 0x00000001u;
|
|
/* 021B1E28 */ if (_t351) goto L_021B1E2C; else goto L_021B1E3C;
|
|
L_021B1E2C: ; // 0x21b1e2c
|
|
/* 021B1E2C */ _t352 = cpu->r[7] + 0x00000000u;
|
|
/* 021B1E2C */ cpu->r[6] = rbrew_read8(cpu->mem, _t352);
|
|
/* 021B1E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 021B1E34 */ _t353 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E34 */ _t354 = _t353 & 0x00000001u;
|
|
/* 021B1E34 */ if (_t354) goto L_021B1E5C; else goto L_021B1E38;
|
|
L_021B1E38: ; // 0x21b1e38
|
|
/* 021B1E38 */ goto L_021B1E70;
|
|
L_021B1E3C: ; // 0x21b1e3c
|
|
/* 021B1E3C */ _t355 = cpu->r[7] + 0x00000000u;
|
|
/* 021B1E3C */ cpu->r[9] = rbrew_read8(cpu->mem, _t355);
|
|
/* 021B1E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 021B1E44 */ _t356 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E44 */ _t357 = _t356 & 0x00000001u;
|
|
/* 021B1E44 */ if (_t357) goto L_021B1E70; else goto L_021B1E48;
|
|
L_021B1E48: ; // 0x21b1e48
|
|
/* 021B1E48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 021B1E4C */ _t358 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E4C */ _t359 = _t358 & 0x00000001u;
|
|
/* 021B1E4C */ if (_t359) goto L_021B1E50; else goto L_021B1E70;
|
|
L_021B1E50: ; // 0x21b1e50
|
|
/* 021B1E50 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B1E54 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1E58 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B1E58 */ _t360 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B1E58 */ _t361 = _t360 >> (0x00000002u & 31u);
|
|
/* 021B1E58 */ _t362 = _t361 & 0x00000001u;
|
|
/* 021B1E58 */ if (_t362) goto L_021B1E20; else goto L_021B1E5C;
|
|
L_021B1E5C: ; // 0x21b1e5c
|
|
/* 021B1E5C */ _t363 = cpu->r[25] | cpu->r[25];
|
|
/* 021B1E5C */ cpu->r[7] = ~_t363;
|
|
/* 021B1E60 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B1E64 */ cpu->r[0] = cpu->r[7] - cpu->r[8];
|
|
/* 021B1E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E68 */ _t364 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E68 */ _t365 = _t364 & 0x00000001u;
|
|
/* 021B1E68 */ if (_t365) goto L_021B1FB8; else goto L_021B1E6C;
|
|
L_021B1E6C: ; // 0x21b1e6c
|
|
/* 021B1E6C */ goto L_021B1E8C;
|
|
L_021B1E70: ; // 0x21b1e70
|
|
/* 021B1E70 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B1E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B1E78 */ _t366 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1E78 */ _t367 = _t366 & 0x00000001u;
|
|
/* 021B1E78 */ if (_t367) goto L_021B1E7C; else goto L_021B1DBC;
|
|
L_021B1E7C: ; // 0x21b1e7c
|
|
/* 021B1E7C */ cpu->r[7] = 0x00000000u;
|
|
/* 021B1E80 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B1E84 */ cpu->r[0] = ~cpu->r[8];
|
|
/* 021B1E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B1E88 */ _t368 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1E88 */ _t369 = _t368 & 0x00000001u;
|
|
/* 021B1E88 */ if (_t369) goto L_021B1FB8; else goto L_021B1E8C;
|
|
L_021B1E8C: ; // 0x21b1e8c
|
|
/* 021B1E8C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B1E90 */ _t370 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1E90 */ rbrew_write32(cpu->mem, _t370, cpu->r[26]);
|
|
/* 021B1E94 */ cpu->r[9] = cpu->r[9] + 0xFFFF9DC1u;
|
|
/* 021B1E98 */ _t371 = cpu->r[28] + 0x00000004u;
|
|
/* 021B1E98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t371);
|
|
/* 021B1E9C */ _t372 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1E9C */ rbrew_write32(cpu->mem, _t372, cpu->r[9]);
|
|
/* 021B1EA0 */ _t373 = cpu->r[10] + 0x00000014u;
|
|
/* 021B1EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t373);
|
|
/* 021B1EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B1EA8 */ _t374 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1EA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t374);
|
|
/* 021B1EAC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1EB4 */ _t375 = cpu->r[28] + 0x00000000u;
|
|
/* 021B1EB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t375);
|
|
/* 021B1EB8 */ _t376 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1EB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t376);
|
|
/* 021B1EBC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B1EC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B1EC4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B1EC8 */ _t377 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1EC8 */ _t378 = _t377 & 0x00000001u;
|
|
/* 021B1EC8 */ if (_t378) goto L_021B1EF0; else goto L_021B1ECC;
|
|
L_021B1ECC: ; // 0x21b1ecc
|
|
/* 021B1ECC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B1ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B1ED4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B1ED8 */ _t379 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1ED8 */ _t380 = _t379 & 0x00000001u;
|
|
/* 021B1ED8 */ if (_t380) goto L_021B1EEC; else goto L_021B1EDC;
|
|
L_021B1EDC: ; // 0x21b1edc
|
|
/* 021B1EDC */ _t381 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t381);
|
|
/* 021B1EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1EE4 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1EE4 */ _t383 = _t382 & 0x00000001u;
|
|
/* 021B1EE4 */ if (_t383) goto L_021B1EE8; else goto L_021B1ECC;
|
|
L_021B1EE8: ; // 0x21b1ee8
|
|
/* 021B1EE8 */ goto L_021B1EF0;
|
|
L_021B1EEC: ; // 0x21b1eec
|
|
/* 021B1EEC */ cpu->r[30] = 0x00000000u;
|
|
L_021B1EF0: ; // 0x21b1ef0
|
|
/* 021B1EF0 */ _t384 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1EF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t384);
|
|
/* 021B1EF4 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B1EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B1EF8 */ _t385 = cpu->r[7] + 0x00000014u;
|
|
/* 021B1EF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t385);
|
|
/* 021B1EFC */ _t386 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1EFC */ _t387 = _t386 & 0x00000001u;
|
|
/* 021B1EFC */ if (_t387) goto L_021B1F00; else goto L_021B1F04;
|
|
L_021B1F00: ; // 0x21b1f00
|
|
/* 021B1F00 */ cpu->r[26] = 0x00000000u;
|
|
L_021B1F04: ; // 0x21b1f04
|
|
/* 021B1F04 */ cpu->ctr = cpu->r[8];
|
|
/* 021B1F08 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1F10 */ _t388 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t388);
|
|
/* 021B1F14 */ _t389 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1F14 */ cpu->r[9] = rbrew_read8(cpu->mem, _t389);
|
|
/* 021B1F18 */ cpu->r[10] = 0x00080000u;
|
|
/* 021B1F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B1F20 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1F24 */ _t390 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1F24 */ _t391 = _t390 & 0x00000001u;
|
|
/* 021B1F24 */ if (_t391) goto L_021B1F4C; else goto L_021B1F28;
|
|
L_021B1F28: ; // 0x21b1f28
|
|
/* 021B1F28 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B1F30 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B1F34 */ _t392 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F34 */ _t393 = _t392 & 0x00000001u;
|
|
/* 021B1F34 */ if (_t393) goto L_021B1F48; else goto L_021B1F38;
|
|
L_021B1F38: ; // 0x21b1f38
|
|
/* 021B1F38 */ _t394 = cpu->r[8] + 0x00000000u;
|
|
/* 021B1F38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t394);
|
|
/* 021B1F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B1F40 */ _t395 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1F40 */ _t396 = _t395 & 0x00000001u;
|
|
/* 021B1F40 */ if (_t396) goto L_021B1F44; else goto L_021B1F28;
|
|
L_021B1F44: ; // 0x21b1f44
|
|
/* 021B1F44 */ goto L_021B1F4C;
|
|
L_021B1F48: ; // 0x21b1f48
|
|
/* 021B1F48 */ cpu->r[29] = 0x00000000u;
|
|
L_021B1F4C: ; // 0x21b1f4c
|
|
/* 021B1F4C */ _t397 = cpu->r[28] + 0x00000008u;
|
|
/* 021B1F4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t397);
|
|
/* 021B1F50 */ cpu->r[9] = cpu->r[4] - cpu->r[26];
|
|
/* 021B1F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B1F58 */ _t398 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B1F58 */ _t399 = _t398 & 0x00000001u;
|
|
/* 021B1F58 */ if (_t399) goto L_021B1F60; else goto L_021B1F5C;
|
|
L_021B1F5C: ; // 0x21b1f5c
|
|
/* 021B1F5C */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B1F60: ; // 0x21b1f60
|
|
/* 021B1F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B1F64 */ _t400 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F64 */ _t401 = _t400 & 0x00000001u;
|
|
/* 021B1F64 */ if (_t401) goto L_021B1F68; else goto L_021B2DE4;
|
|
L_021B1F68: ; // 0x21b1f68
|
|
/* 021B1F68 */ _t402 = cpu->r[1] + 0x000000B4u;
|
|
/* 021B1F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t402);
|
|
/* 021B1F6C */ _t403 = cpu->r[11] + 0x00000014u;
|
|
/* 021B1F6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t403);
|
|
/* 021B1F70 */ cpu->ctr = cpu->r[4];
|
|
/* 021B1F74 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B1F78 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1F80 */ _t404 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B1F80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t404);
|
|
/* 021B1F84 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B1F88 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B1F8C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B1F90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B1F94 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 021B1F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B1F9C */ _t405 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B1F9C */ _t406 = _t405 & 0x00000001u;
|
|
/* 021B1F9C */ if (_t406) goto L_021B1FA0; else goto L_021B2DE4;
|
|
L_021B1FA0: ; // 0x21b1fa0
|
|
/* 021B1FA0 */ _t407 = cpu->r[27] + cpu->r[0];
|
|
/* 021B1FA0 */ rbrew_write8(cpu->mem, _t407, (uint8_t)cpu->r[31]);
|
|
/* 021B1FA4 */ /* nop */
|
|
/* 021B1FA8 */ _t408 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B1FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t408);
|
|
/* 021B1FAC */ cpu->lr = cpu->r[0];
|
|
/* 021B1FB0 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B1FB4 */ return;
|
|
L_021B1FB8: ; // 0x21b1fb8
|
|
/* 021B1FB8 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B1FBC */ _t409 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B1FBC */ rbrew_write32(cpu->mem, _t409, cpu->r[26]);
|
|
/* 021B1FC0 */ cpu->r[5] = cpu->r[5] + 0xFFFF9D98u;
|
|
/* 021B1FC4 */ _t410 = cpu->r[27] + 0x00000004u;
|
|
/* 021B1FC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t410);
|
|
/* 021B1FC8 */ _t411 = cpu->r[1] + 0x00000078u;
|
|
/* 021B1FC8 */ rbrew_write32(cpu->mem, _t411, cpu->r[5]);
|
|
/* 021B1FCC */ _t412 = cpu->r[6] + 0x00000014u;
|
|
/* 021B1FCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t412);
|
|
/* 021B1FD0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B1FD4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B1FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B1FDC */ _t413 = cpu->r[27] + 0x00000000u;
|
|
/* 021B1FDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t413);
|
|
/* 021B1FE0 */ _t414 = cpu->r[5] + 0x00000000u;
|
|
/* 021B1FE0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t414);
|
|
/* 021B1FE4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B1FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B1FEC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B1FF0 */ _t415 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B1FF0 */ _t416 = _t415 & 0x00000001u;
|
|
/* 021B1FF0 */ if (_t416) goto L_021B2018; else goto L_021B1FF4;
|
|
L_021B1FF4: ; // 0x21b1ff4
|
|
/* 021B1FF4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B1FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B1FFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2000 */ _t417 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2000 */ _t418 = _t417 & 0x00000001u;
|
|
/* 021B2000 */ if (_t418) goto L_021B2014; else goto L_021B2004;
|
|
L_021B2004: ; // 0x21b2004
|
|
/* 021B2004 */ _t419 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2004 */ cpu->r[9] = rbrew_read8(cpu->mem, _t419);
|
|
/* 021B2008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B200C */ _t420 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B200C */ _t421 = _t420 & 0x00000001u;
|
|
/* 021B200C */ if (_t421) goto L_021B2010; else goto L_021B1FF4;
|
|
L_021B2010: ; // 0x21b2010
|
|
/* 021B2010 */ goto L_021B2018;
|
|
L_021B2014: ; // 0x21b2014
|
|
/* 021B2014 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2018: ; // 0x21b2018
|
|
/* 021B2018 */ _t422 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B2018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t422);
|
|
/* 021B201C */ _t423 = cpu->r[10] + 0x00000014u;
|
|
/* 021B201C */ cpu->r[11] = rbrew_read32(cpu->mem, _t423);
|
|
/* 021B2020 */ cpu->ctr = cpu->r[11];
|
|
/* 021B2024 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 021B2028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B202C */ _t424 = cpu->r[1] + 0x00000078u;
|
|
/* 021B202C */ cpu->r[11] = rbrew_read32(cpu->mem, _t424);
|
|
/* 021B2030 */ _t425 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2030 */ cpu->r[0] = rbrew_read8(cpu->mem, _t425);
|
|
/* 021B2034 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2038 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B203C */ cpu->r[4] = 0x00080000u;
|
|
/* 021B2040 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2040 */ _t427 = _t426 & 0x00000001u;
|
|
/* 021B2040 */ if (_t427) goto L_021B2068; else goto L_021B2044;
|
|
L_021B2044: ; // 0x21b2044
|
|
/* 021B2044 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 021B204C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2050 */ _t428 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2050 */ _t429 = _t428 & 0x00000001u;
|
|
/* 021B2050 */ if (_t429) goto L_021B2064; else goto L_021B2054;
|
|
L_021B2054: ; // 0x21b2054
|
|
/* 021B2054 */ _t430 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2054 */ cpu->r[0] = rbrew_read8(cpu->mem, _t430);
|
|
/* 021B2058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B205C */ _t431 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B205C */ _t432 = _t431 & 0x00000001u;
|
|
/* 021B205C */ if (_t432) goto L_021B2060; else goto L_021B2044;
|
|
L_021B2060: ; // 0x21b2060
|
|
/* 021B2060 */ goto L_021B2068;
|
|
L_021B2064: ; // 0x21b2064
|
|
/* 021B2064 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2068: ; // 0x21b2068
|
|
/* 021B2068 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B2068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B206C */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2070 */ _t433 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2070 */ _t434 = _t433 & 0x00000001u;
|
|
/* 021B2070 */ if (_t434) goto L_021B213C; else goto L_021B2074;
|
|
L_021B2074: ; // 0x21b2074
|
|
/* 021B2074 */ cpu->r[23] = cpu->r[31];
|
|
L_021B2078: ; // 0x21b2078
|
|
/* 021B2078 */ _t435 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t435);
|
|
/* 021B207C */ cpu->r[24] = cpu->r[30];
|
|
/* 021B2080 */ _t436 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B2080 */ rbrew_write32(cpu->mem, _t436, cpu->r[26]);
|
|
/* 021B2084 */ cpu->r[5] = cpu->r[6] + cpu->r[25];
|
|
/* 021B2088 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B208C */ _t437 = cpu->r[1] + 0x00000028u;
|
|
/* 021B208C */ rbrew_write32(cpu->mem, _t437, cpu->r[5]);
|
|
/* 021B2090 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2094 */ _t438 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B2094 */ cpu->r[7] = rbrew_read32(cpu->mem, _t438);
|
|
/* 021B2098 */ _t439 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2098 */ cpu->r[8] = rbrew_read32(cpu->mem, _t439);
|
|
/* 021B209C */ cpu->ctr = cpu->r[8];
|
|
/* 021B20A0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B20A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B20A8 */ _t440 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021B20A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t440);
|
|
/* 021B20AC */ _t441 = cpu->r[9] + 0x00000014u;
|
|
/* 021B20AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t441);
|
|
/* 021B20B0 */ cpu->ctr = cpu->r[10];
|
|
/* 021B20B4 */ _t442 = cpu->r[1] + 0x00000028u;
|
|
/* 021B20B4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t442);
|
|
/* 021B20B8 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 021B20BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B20C0 */ _t443 = cpu->r[1] + 0x00000078u;
|
|
/* 021B20C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t443);
|
|
/* 021B20C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 021B20C8 */ _t444 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20C8 */ _t445 = _t444 & 0x00000001u;
|
|
/* 021B20C8 */ if (_t445) goto L_021B211C; else goto L_021B20CC;
|
|
L_021B20CC: ; // 0x21b20cc
|
|
/* 021B20CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B20D0 */ _t446 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B20D0 */ _t447 = _t446 & 0x00000001u;
|
|
/* 021B20D0 */ if (_t447) goto L_021B20D4; else goto L_021B211C;
|
|
L_021B20D4: ; // 0x21b20d4
|
|
/* 021B20D4 */ _t448 = cpu->r[1] + 0x00000078u;
|
|
/* 021B20D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t448);
|
|
/* 021B20D8 */ cpu->ctr = cpu->r[24];
|
|
/* 021B20DC */ _t449 = cpu->r[1] + 0x00000028u;
|
|
/* 021B20DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t449);
|
|
L_021B20E0: ; // 0x21b20e0
|
|
/* 021B20E0 */ _t450 = cpu->r[10] + 0x00000000u;
|
|
/* 021B20E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t450);
|
|
/* 021B20E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 021B20E8 */ _t451 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20E8 */ _t452 = _t451 & 0x00000001u;
|
|
/* 021B20E8 */ if (_t452) goto L_021B20EC; else goto L_021B20FC;
|
|
L_021B20EC: ; // 0x21b20ec
|
|
/* 021B20EC */ _t453 = cpu->r[9] + 0x00000000u;
|
|
/* 021B20EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t453);
|
|
/* 021B20F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 021B20F4 */ _t454 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B20F4 */ _t455 = _t454 & 0x00000001u;
|
|
/* 021B20F4 */ if (_t455) goto L_021B211C; else goto L_021B20F8;
|
|
L_021B20F8: ; // 0x21b20f8
|
|
/* 021B20F8 */ goto L_021B2130;
|
|
L_021B20FC: ; // 0x21b20fc
|
|
/* 021B20FC */ _t456 = cpu->r[9] + 0x00000000u;
|
|
/* 021B20FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t456);
|
|
/* 021B2100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[23]);
|
|
/* 021B2104 */ _t457 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2104 */ _t458 = _t457 & 0x00000001u;
|
|
/* 021B2104 */ if (_t458) goto L_021B2130; else goto L_021B2108;
|
|
L_021B2108: ; // 0x21b2108
|
|
/* 021B2108 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021B210C */ _t459 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B210C */ _t460 = _t459 & 0x00000001u;
|
|
/* 021B210C */ if (_t460) goto L_021B2110; else goto L_021B2130;
|
|
L_021B2110: ; // 0x21b2110
|
|
/* 021B2110 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2114 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B2118 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2118 */ _t461 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2118 */ _t462 = _t461 >> (0x00000002u & 31u);
|
|
/* 021B2118 */ _t463 = _t462 & 0x00000001u;
|
|
/* 021B2118 */ if (_t463) goto L_021B20E0; else goto L_021B211C;
|
|
L_021B211C: ; // 0x21b211c
|
|
/* 021B211C */ _t464 = cpu->r[25] | cpu->r[25];
|
|
/* 021B211C */ cpu->r[4] = ~_t464;
|
|
/* 021B2120 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B2124 */ cpu->r[8] = cpu->r[4] - cpu->r[0];
|
|
/* 021B2124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B2128 */ _t465 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2128 */ _t466 = _t465 & 0x00000001u;
|
|
/* 021B2128 */ if (_t466) goto L_021B2278; else goto L_021B212C;
|
|
L_021B212C: ; // 0x21b212c
|
|
/* 021B212C */ goto L_021B214C;
|
|
L_021B2130: ; // 0x21b2130
|
|
/* 021B2130 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B2134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B2138 */ _t467 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2138 */ _t468 = _t467 & 0x00000001u;
|
|
/* 021B2138 */ if (_t468) goto L_021B213C; else goto L_021B2078;
|
|
L_021B213C: ; // 0x21b213c
|
|
/* 021B213C */ cpu->r[4] = 0x00000000u;
|
|
/* 021B2140 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B2144 */ cpu->r[8] = ~cpu->r[0];
|
|
/* 021B2144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B2148 */ _t469 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2148 */ _t470 = _t469 & 0x00000001u;
|
|
/* 021B2148 */ if (_t470) goto L_021B2278; else goto L_021B214C;
|
|
L_021B214C: ; // 0x21b214c
|
|
/* 021B214C */ cpu->r[6] = 0x10030000u;
|
|
/* 021B2150 */ _t471 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B2150 */ rbrew_write32(cpu->mem, _t471, cpu->r[26]);
|
|
/* 021B2154 */ cpu->r[6] = cpu->r[6] + 0xFFFF9DC4u;
|
|
/* 021B2158 */ _t472 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2158 */ cpu->r[7] = rbrew_read32(cpu->mem, _t472);
|
|
/* 021B215C */ _t473 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B215C */ rbrew_write32(cpu->mem, _t473, cpu->r[6]);
|
|
/* 021B2160 */ _t474 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t474);
|
|
/* 021B2164 */ cpu->ctr = cpu->r[8];
|
|
/* 021B2168 */ _t475 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2168 */ cpu->r[27] = rbrew_read32(cpu->mem, _t475);
|
|
/* 021B216C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2174 */ _t476 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t476);
|
|
/* 021B2178 */ _t477 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t477);
|
|
/* 021B217C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2184 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2188 */ _t478 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2188 */ _t479 = _t478 & 0x00000001u;
|
|
/* 021B2188 */ if (_t479) goto L_021B21B0; else goto L_021B218C;
|
|
L_021B218C: ; // 0x21b218c
|
|
/* 021B218C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2194 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2198 */ _t480 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2198 */ _t481 = _t480 & 0x00000001u;
|
|
/* 021B2198 */ if (_t481) goto L_021B21AC; else goto L_021B219C;
|
|
L_021B219C: ; // 0x21b219c
|
|
/* 021B219C */ _t482 = cpu->r[9] + 0x00000000u;
|
|
/* 021B219C */ cpu->r[10] = rbrew_read8(cpu->mem, _t482);
|
|
/* 021B21A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B21A4 */ _t483 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B21A4 */ _t484 = _t483 & 0x00000001u;
|
|
/* 021B21A4 */ if (_t484) goto L_021B21A8; else goto L_021B218C;
|
|
L_021B21A8: ; // 0x21b21a8
|
|
/* 021B21A8 */ goto L_021B21B0;
|
|
L_021B21AC: ; // 0x21b21ac
|
|
/* 021B21AC */ cpu->r[30] = 0x00000000u;
|
|
L_021B21B0: ; // 0x21b21b0
|
|
/* 021B21B0 */ _t485 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B21B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t485);
|
|
/* 021B21B4 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B21B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B21B8 */ _t486 = cpu->r[11] + 0x00000014u;
|
|
/* 021B21B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t486);
|
|
/* 021B21BC */ _t487 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B21BC */ _t488 = _t487 & 0x00000001u;
|
|
/* 021B21BC */ if (_t488) goto L_021B21C0; else goto L_021B21C4;
|
|
L_021B21C0: ; // 0x21b21c0
|
|
/* 021B21C0 */ cpu->r[26] = 0x00000000u;
|
|
L_021B21C4: ; // 0x21b21c4
|
|
/* 021B21C4 */ cpu->ctr = cpu->r[4];
|
|
/* 021B21C8 */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B21CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B21D0 */ _t489 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B21D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t489);
|
|
/* 021B21D4 */ _t490 = cpu->r[7] + 0x00000000u;
|
|
/* 021B21D4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t490);
|
|
/* 021B21D8 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B21DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B21E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B21E4 */ _t491 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B21E4 */ _t492 = _t491 & 0x00000001u;
|
|
/* 021B21E4 */ if (_t492) goto L_021B220C; else goto L_021B21E8;
|
|
L_021B21E8: ; // 0x21b21e8
|
|
/* 021B21E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B21EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B21F0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B21F4 */ _t493 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B21F4 */ _t494 = _t493 & 0x00000001u;
|
|
/* 021B21F4 */ if (_t494) goto L_021B2208; else goto L_021B21F8;
|
|
L_021B21F8: ; // 0x21b21f8
|
|
/* 021B21F8 */ _t495 = cpu->r[7] + 0x00000000u;
|
|
/* 021B21F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t495);
|
|
/* 021B21FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B2200 */ _t496 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2200 */ _t497 = _t496 & 0x00000001u;
|
|
/* 021B2200 */ if (_t497) goto L_021B2204; else goto L_021B21E8;
|
|
L_021B2204: ; // 0x21b2204
|
|
/* 021B2204 */ goto L_021B220C;
|
|
L_021B2208: ; // 0x21b2208
|
|
/* 021B2208 */ cpu->r[29] = 0x00000000u;
|
|
L_021B220C: ; // 0x21b220c
|
|
/* 021B220C */ _t498 = cpu->r[28] + 0x00000008u;
|
|
/* 021B220C */ cpu->r[4] = rbrew_read32(cpu->mem, _t498);
|
|
/* 021B2210 */ cpu->r[8] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B2218 */ _t499 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2218 */ _t500 = _t499 & 0x00000001u;
|
|
/* 021B2218 */ if (_t500) goto L_021B2220; else goto L_021B221C;
|
|
L_021B221C: ; // 0x21b221c
|
|
/* 021B221C */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021B2220: ; // 0x21b2220
|
|
/* 021B2220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B2224 */ _t501 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2224 */ _t502 = _t501 & 0x00000001u;
|
|
/* 021B2224 */ if (_t502) goto L_021B2228; else goto L_021B2DE4;
|
|
L_021B2228: ; // 0x21b2228
|
|
/* 021B2228 */ _t503 = cpu->r[1] + 0x000000BCu;
|
|
/* 021B2228 */ cpu->r[7] = rbrew_read32(cpu->mem, _t503);
|
|
/* 021B222C */ _t504 = cpu->r[7] + 0x00000014u;
|
|
/* 021B222C */ cpu->r[8] = rbrew_read32(cpu->mem, _t504);
|
|
/* 021B2230 */ cpu->ctr = cpu->r[8];
|
|
/* 021B2234 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B2238 */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 021B223C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2240 */ _t505 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B2240 */ cpu->r[4] = rbrew_read32(cpu->mem, _t505);
|
|
/* 021B2244 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2248 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B224C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2250 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2254 */ cpu->r[8] = cpu->r[26] + cpu->r[29];
|
|
/* 021B2258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[30]);
|
|
/* 021B225C */ _t506 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B225C */ _t507 = _t506 & 0x00000001u;
|
|
/* 021B225C */ if (_t507) goto L_021B2260; else goto L_021B2DE4;
|
|
L_021B2260: ; // 0x21b2260
|
|
/* 021B2260 */ _t508 = cpu->r[27] + cpu->r[8];
|
|
/* 021B2260 */ rbrew_write8(cpu->mem, _t508, (uint8_t)cpu->r[31]);
|
|
/* 021B2264 */ /* nop */
|
|
/* 021B2268 */ _t509 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t509);
|
|
/* 021B226C */ cpu->lr = cpu->r[0];
|
|
/* 021B2270 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2274 */ return;
|
|
L_021B2278: ; // 0x21b2278
|
|
/* 021B2278 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B227C */ _t510 = cpu->r[1] + 0x00000084u;
|
|
/* 021B227C */ rbrew_write32(cpu->mem, _t510, cpu->r[26]);
|
|
/* 021B2280 */ cpu->r[9] = cpu->r[9] + 0xFFFF9D9Cu;
|
|
/* 021B2284 */ _t511 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2284 */ cpu->r[10] = rbrew_read32(cpu->mem, _t511);
|
|
/* 021B2288 */ _t512 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2288 */ rbrew_write32(cpu->mem, _t512, cpu->r[9]);
|
|
/* 021B228C */ _t513 = cpu->r[10] + 0x00000014u;
|
|
/* 021B228C */ cpu->r[11] = rbrew_read32(cpu->mem, _t513);
|
|
/* 021B2290 */ cpu->ctr = cpu->r[11];
|
|
/* 021B2294 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B229C */ _t514 = cpu->r[27] + 0x00000000u;
|
|
/* 021B229C */ cpu->r[7] = rbrew_read32(cpu->mem, _t514);
|
|
/* 021B22A0 */ _t515 = cpu->r[7] + 0x00000000u;
|
|
/* 021B22A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t515);
|
|
/* 021B22A4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B22A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B22AC */ cpu->r[0] = 0x00080000u;
|
|
/* 021B22B0 */ _t516 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B22B0 */ _t517 = _t516 & 0x00000001u;
|
|
/* 021B22B0 */ if (_t517) goto L_021B22D8; else goto L_021B22B4;
|
|
L_021B22B4: ; // 0x21b22b4
|
|
/* 021B22B4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B22B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B22BC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B22C0 */ _t518 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B22C0 */ _t519 = _t518 & 0x00000001u;
|
|
/* 021B22C0 */ if (_t519) goto L_021B22D4; else goto L_021B22C4;
|
|
L_021B22C4: ; // 0x21b22c4
|
|
/* 021B22C4 */ _t520 = cpu->r[7] + 0x00000000u;
|
|
/* 021B22C4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t520);
|
|
/* 021B22C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B22CC */ _t521 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B22CC */ _t522 = _t521 & 0x00000001u;
|
|
/* 021B22CC */ if (_t522) goto L_021B22D0; else goto L_021B22B4;
|
|
L_021B22D0: ; // 0x21b22d0
|
|
/* 021B22D0 */ goto L_021B22D8;
|
|
L_021B22D4: ; // 0x21b22d4
|
|
/* 021B22D4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B22D8: ; // 0x21b22d8
|
|
/* 021B22D8 */ _t523 = cpu->r[1] + 0x00000084u;
|
|
/* 021B22D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t523);
|
|
/* 021B22DC */ _t524 = cpu->r[5] + 0x00000014u;
|
|
/* 021B22DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t524);
|
|
/* 021B22E0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B22E4 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 021B22E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B22EC */ _t525 = cpu->r[1] + 0x00000080u;
|
|
/* 021B22EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t525);
|
|
/* 021B22F0 */ _t526 = cpu->r[5] + 0x00000000u;
|
|
/* 021B22F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t526);
|
|
/* 021B22F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B22F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B22FC */ cpu->r[6] = 0x00080000u;
|
|
/* 021B2300 */ _t527 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2300 */ _t528 = _t527 & 0x00000001u;
|
|
/* 021B2300 */ if (_t528) goto L_021B2328; else goto L_021B2304;
|
|
L_021B2304: ; // 0x21b2304
|
|
/* 021B2304 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B230C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2310 */ _t529 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2310 */ _t530 = _t529 & 0x00000001u;
|
|
/* 021B2310 */ if (_t530) goto L_021B2324; else goto L_021B2314;
|
|
L_021B2314: ; // 0x21b2314
|
|
/* 021B2314 */ _t531 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2314 */ cpu->r[8] = rbrew_read8(cpu->mem, _t531);
|
|
/* 021B2318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B231C */ _t532 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B231C */ _t533 = _t532 & 0x00000001u;
|
|
/* 021B231C */ if (_t533) goto L_021B2320; else goto L_021B2304;
|
|
L_021B2320: ; // 0x21b2320
|
|
/* 021B2320 */ goto L_021B2328;
|
|
L_021B2324: ; // 0x21b2324
|
|
/* 021B2324 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2328: ; // 0x21b2328
|
|
/* 021B2328 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B2328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B232C */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2330 */ _t534 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2330 */ _t535 = _t534 & 0x00000001u;
|
|
/* 021B2330 */ if (_t535) goto L_021B23FC; else goto L_021B2334;
|
|
L_021B2334: ; // 0x21b2334
|
|
/* 021B2334 */ cpu->r[23] = cpu->r[31];
|
|
L_021B2338: ; // 0x21b2338
|
|
/* 021B2338 */ _t536 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2338 */ cpu->r[10] = rbrew_read32(cpu->mem, _t536);
|
|
/* 021B233C */ cpu->r[24] = cpu->r[30];
|
|
/* 021B2340 */ _t537 = cpu->r[1] + 0x00000034u;
|
|
/* 021B2340 */ rbrew_write32(cpu->mem, _t537, cpu->r[26]);
|
|
/* 021B2344 */ cpu->r[9] = cpu->r[10] + cpu->r[25];
|
|
/* 021B2348 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B234C */ _t538 = cpu->r[1] + 0x00000030u;
|
|
/* 021B234C */ rbrew_write32(cpu->mem, _t538, cpu->r[9]);
|
|
/* 021B2350 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2354 */ _t539 = cpu->r[1] + 0x00000034u;
|
|
/* 021B2354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t539);
|
|
/* 021B2358 */ _t540 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t540);
|
|
/* 021B235C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2360 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B2364 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2368 */ _t541 = cpu->r[1] + 0x00000084u;
|
|
/* 021B2368 */ cpu->r[4] = rbrew_read32(cpu->mem, _t541);
|
|
/* 021B236C */ _t542 = cpu->r[4] + 0x00000014u;
|
|
/* 021B236C */ cpu->r[5] = rbrew_read32(cpu->mem, _t542);
|
|
/* 021B2370 */ cpu->ctr = cpu->r[5];
|
|
/* 021B2374 */ _t543 = cpu->r[1] + 0x00000030u;
|
|
/* 021B2374 */ cpu->r[22] = rbrew_read32(cpu->mem, _t543);
|
|
/* 021B2378 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 021B237C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2380 */ _t544 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2380 */ cpu->r[6] = rbrew_read32(cpu->mem, _t544);
|
|
/* 021B2384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]);
|
|
/* 021B2388 */ _t545 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2388 */ _t546 = _t545 & 0x00000001u;
|
|
/* 021B2388 */ if (_t546) goto L_021B23DC; else goto L_021B238C;
|
|
L_021B238C: ; // 0x21b238c
|
|
/* 021B238C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B2390 */ _t547 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2390 */ _t548 = _t547 & 0x00000001u;
|
|
/* 021B2390 */ if (_t548) goto L_021B2394; else goto L_021B23DC;
|
|
L_021B2394: ; // 0x21b2394
|
|
/* 021B2394 */ _t549 = cpu->r[1] + 0x00000080u;
|
|
/* 021B2394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t549);
|
|
/* 021B2398 */ cpu->ctr = cpu->r[24];
|
|
/* 021B239C */ _t550 = cpu->r[1] + 0x00000030u;
|
|
/* 021B239C */ cpu->r[11] = rbrew_read32(cpu->mem, _t550);
|
|
L_021B23A0: ; // 0x21b23a0
|
|
/* 021B23A0 */ _t551 = cpu->r[11] + 0x00000000u;
|
|
/* 021B23A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t551);
|
|
/* 021B23A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[23]);
|
|
/* 021B23A8 */ _t552 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23A8 */ _t553 = _t552 & 0x00000001u;
|
|
/* 021B23A8 */ if (_t553) goto L_021B23AC; else goto L_021B23BC;
|
|
L_021B23AC: ; // 0x21b23ac
|
|
/* 021B23AC */ _t554 = cpu->r[10] + 0x00000000u;
|
|
/* 021B23AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t554);
|
|
/* 021B23B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[23]);
|
|
/* 021B23B4 */ _t555 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23B4 */ _t556 = _t555 & 0x00000001u;
|
|
/* 021B23B4 */ if (_t556) goto L_021B23DC; else goto L_021B23B8;
|
|
L_021B23B8: ; // 0x21b23b8
|
|
/* 021B23B8 */ goto L_021B23F0;
|
|
L_021B23BC: ; // 0x21b23bc
|
|
/* 021B23BC */ _t557 = cpu->r[10] + 0x00000000u;
|
|
/* 021B23BC */ cpu->r[4] = rbrew_read8(cpu->mem, _t557);
|
|
/* 021B23C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[23]);
|
|
/* 021B23C4 */ _t558 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23C4 */ _t559 = _t558 & 0x00000001u;
|
|
/* 021B23C4 */ if (_t559) goto L_021B23F0; else goto L_021B23C8;
|
|
L_021B23C8: ; // 0x21b23c8
|
|
/* 021B23C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 021B23CC */ _t560 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23CC */ _t561 = _t560 & 0x00000001u;
|
|
/* 021B23CC */ if (_t561) goto L_021B23D0; else goto L_021B23F0;
|
|
L_021B23D0: ; // 0x21b23d0
|
|
/* 021B23D0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B23D4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B23D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B23D8 */ _t562 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B23D8 */ _t563 = _t562 >> (0x00000002u & 31u);
|
|
/* 021B23D8 */ _t564 = _t563 & 0x00000001u;
|
|
/* 021B23D8 */ if (_t564) goto L_021B23A0; else goto L_021B23DC;
|
|
L_021B23DC: ; // 0x21b23dc
|
|
/* 021B23DC */ _t565 = cpu->r[25] | cpu->r[25];
|
|
/* 021B23DC */ cpu->r[8] = ~_t565;
|
|
/* 021B23E0 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B23E4 */ cpu->r[11] = cpu->r[8] - cpu->r[9];
|
|
/* 021B23E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B23E8 */ _t566 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B23E8 */ _t567 = _t566 & 0x00000001u;
|
|
/* 021B23E8 */ if (_t567) goto L_021B2538; else goto L_021B23EC;
|
|
L_021B23EC: ; // 0x21b23ec
|
|
/* 021B23EC */ goto L_021B240C;
|
|
L_021B23F0: ; // 0x21b23f0
|
|
/* 021B23F0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B23F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[29]);
|
|
/* 021B23F8 */ _t568 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B23F8 */ _t569 = _t568 & 0x00000001u;
|
|
/* 021B23F8 */ if (_t569) goto L_021B23FC; else goto L_021B2338;
|
|
L_021B23FC: ; // 0x21b23fc
|
|
/* 021B23FC */ cpu->r[8] = 0x00000000u;
|
|
/* 021B2400 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B2404 */ cpu->r[11] = ~cpu->r[9];
|
|
/* 021B2404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2408 */ _t570 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2408 */ _t571 = _t570 & 0x00000001u;
|
|
/* 021B2408 */ if (_t571) goto L_021B2538; else goto L_021B240C;
|
|
L_021B240C: ; // 0x21b240c
|
|
/* 021B240C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B2410 */ _t572 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B2410 */ rbrew_write32(cpu->mem, _t572, cpu->r[26]);
|
|
/* 021B2414 */ cpu->r[10] = cpu->r[10] + 0xFFFF9DC7u;
|
|
/* 021B2418 */ _t573 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2418 */ cpu->r[11] = rbrew_read32(cpu->mem, _t573);
|
|
/* 021B241C */ _t574 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B241C */ rbrew_write32(cpu->mem, _t574, cpu->r[10]);
|
|
/* 021B2420 */ _t575 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t575);
|
|
/* 021B2424 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2428 */ _t576 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2428 */ cpu->r[27] = rbrew_read32(cpu->mem, _t576);
|
|
/* 021B242C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2434 */ _t577 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2434 */ cpu->r[5] = rbrew_read32(cpu->mem, _t577);
|
|
/* 021B2438 */ _t578 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2438 */ cpu->r[4] = rbrew_read8(cpu->mem, _t578);
|
|
/* 021B243C */ cpu->r[6] = 0x00080000u;
|
|
/* 021B2440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2444 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2448 */ _t579 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2448 */ _t580 = _t579 & 0x00000001u;
|
|
/* 021B2448 */ if (_t580) goto L_021B2470; else goto L_021B244C;
|
|
L_021B244C: ; // 0x21b244c
|
|
/* 021B244C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B2454 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2458 */ _t581 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2458 */ _t582 = _t581 & 0x00000001u;
|
|
/* 021B2458 */ if (_t582) goto L_021B246C; else goto L_021B245C;
|
|
L_021B245C: ; // 0x21b245c
|
|
/* 021B245C */ _t583 = cpu->r[5] + 0x00000000u;
|
|
/* 021B245C */ cpu->r[0] = rbrew_read8(cpu->mem, _t583);
|
|
/* 021B2460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2464 */ _t584 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2464 */ _t585 = _t584 & 0x00000001u;
|
|
/* 021B2464 */ if (_t585) goto L_021B2468; else goto L_021B244C;
|
|
L_021B2468: ; // 0x21b2468
|
|
/* 021B2468 */ goto L_021B2470;
|
|
L_021B246C: ; // 0x21b246c
|
|
/* 021B246C */ cpu->r[29] = 0x00000000u;
|
|
L_021B2470: ; // 0x21b2470
|
|
/* 021B2470 */ _t586 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B2470 */ cpu->r[6] = rbrew_read32(cpu->mem, _t586);
|
|
/* 021B2474 */ cpu->r[26] = cpu->r[29];
|
|
/* 021B2474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B2478 */ _t587 = cpu->r[6] + 0x00000014u;
|
|
/* 021B2478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t587);
|
|
/* 021B247C */ _t588 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B247C */ _t589 = _t588 & 0x00000001u;
|
|
/* 021B247C */ if (_t589) goto L_021B2480; else goto L_021B2484;
|
|
L_021B2480: ; // 0x21b2480
|
|
/* 021B2480 */ cpu->r[26] = 0x00000000u;
|
|
L_021B2484: ; // 0x21b2484
|
|
/* 021B2484 */ cpu->ctr = cpu->r[7];
|
|
/* 021B2488 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 021B248C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2490 */ _t590 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B2490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t590);
|
|
/* 021B2494 */ _t591 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2494 */ cpu->r[8] = rbrew_read8(cpu->mem, _t591);
|
|
/* 021B2498 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B249C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B24A0 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B24A4 */ _t592 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B24A4 */ _t593 = _t592 & 0x00000001u;
|
|
/* 021B24A4 */ if (_t593) goto L_021B24CC; else goto L_021B24A8;
|
|
L_021B24A8: ; // 0x21b24a8
|
|
/* 021B24A8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B24AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 021B24B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B24B4 */ _t594 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B24B4 */ _t595 = _t594 & 0x00000001u;
|
|
/* 021B24B4 */ if (_t595) goto L_021B24C8; else goto L_021B24B8;
|
|
L_021B24B8: ; // 0x21b24b8
|
|
/* 021B24B8 */ _t596 = cpu->r[11] + 0x00000000u;
|
|
/* 021B24B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t596);
|
|
/* 021B24BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B24C0 */ _t597 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B24C0 */ _t598 = _t597 & 0x00000001u;
|
|
/* 021B24C0 */ if (_t598) goto L_021B24C4; else goto L_021B24A8;
|
|
L_021B24C4: ; // 0x21b24c4
|
|
/* 021B24C4 */ goto L_021B24CC;
|
|
L_021B24C8: ; // 0x21b24c8
|
|
/* 021B24C8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B24CC: ; // 0x21b24cc
|
|
/* 021B24CC */ _t599 = cpu->r[28] + 0x00000008u;
|
|
/* 021B24CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t599);
|
|
/* 021B24D0 */ cpu->r[7] = cpu->r[4] - cpu->r[26];
|
|
/* 021B24D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B24D8 */ _t600 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B24D8 */ _t601 = _t600 & 0x00000001u;
|
|
/* 021B24D8 */ if (_t601) goto L_021B24E0; else goto L_021B24DC;
|
|
L_021B24DC: ; // 0x21b24dc
|
|
/* 021B24DC */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021B24E0: ; // 0x21b24e0
|
|
/* 021B24E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B24E4 */ _t602 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B24E4 */ _t603 = _t602 & 0x00000001u;
|
|
/* 021B24E4 */ if (_t603) goto L_021B24E8; else goto L_021B2DE4;
|
|
L_021B24E8: ; // 0x21b24e8
|
|
/* 021B24E8 */ _t604 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B24E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t604);
|
|
/* 021B24EC */ _t605 = cpu->r[10] + 0x00000014u;
|
|
/* 021B24EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t605);
|
|
/* 021B24F0 */ cpu->ctr = cpu->r[11];
|
|
/* 021B24F4 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B24F8 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 021B24FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2500 */ _t606 = cpu->r[1] + 0x000000C0u;
|
|
/* 021B2500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t606);
|
|
/* 021B2504 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2508 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B250C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2510 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2514 */ cpu->r[7] = cpu->r[26] + cpu->r[30];
|
|
/* 021B2518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[29]);
|
|
/* 021B251C */ _t607 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B251C */ _t608 = _t607 & 0x00000001u;
|
|
/* 021B251C */ if (_t608) goto L_021B2520; else goto L_021B2DE4;
|
|
L_021B2520: ; // 0x21b2520
|
|
/* 021B2520 */ _t609 = cpu->r[27] + cpu->r[7];
|
|
/* 021B2520 */ rbrew_write8(cpu->mem, _t609, (uint8_t)cpu->r[31]);
|
|
/* 021B2524 */ /* nop */
|
|
/* 021B2528 */ _t610 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t610);
|
|
/* 021B252C */ cpu->lr = cpu->r[0];
|
|
/* 021B2530 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2534 */ return;
|
|
L_021B2538: ; // 0x21b2538
|
|
/* 021B2538 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B253C */ _t611 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B253C */ rbrew_write32(cpu->mem, _t611, cpu->r[26]);
|
|
/* 021B2540 */ cpu->r[0] = cpu->r[0] + 0xFFFF9DA0u;
|
|
/* 021B2544 */ _t612 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2544 */ cpu->r[4] = rbrew_read32(cpu->mem, _t612);
|
|
/* 021B2548 */ _t613 = cpu->r[1] + 0x00000088u;
|
|
/* 021B2548 */ rbrew_write32(cpu->mem, _t613, cpu->r[0]);
|
|
/* 021B254C */ _t614 = cpu->r[4] + 0x00000014u;
|
|
/* 021B254C */ cpu->r[5] = rbrew_read32(cpu->mem, _t614);
|
|
/* 021B2550 */ cpu->ctr = cpu->r[5];
|
|
/* 021B2554 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2558 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B255C */ _t615 = cpu->r[27] + 0x00000000u;
|
|
/* 021B255C */ cpu->r[6] = rbrew_read32(cpu->mem, _t615);
|
|
/* 021B2560 */ _t616 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2560 */ cpu->r[0] = rbrew_read8(cpu->mem, _t616);
|
|
/* 021B2564 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B256C */ cpu->r[8] = 0x00080000u;
|
|
/* 021B2570 */ _t617 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2570 */ _t618 = _t617 & 0x00000001u;
|
|
/* 021B2570 */ if (_t618) goto L_021B2598; else goto L_021B2574;
|
|
L_021B2574: ; // 0x21b2574
|
|
/* 021B2574 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021B257C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B2580 */ _t619 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2580 */ _t620 = _t619 & 0x00000001u;
|
|
/* 021B2580 */ if (_t620) goto L_021B2594; else goto L_021B2584;
|
|
L_021B2584: ; // 0x21b2584
|
|
/* 021B2584 */ _t621 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2584 */ cpu->r[7] = rbrew_read8(cpu->mem, _t621);
|
|
/* 021B2588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B258C */ _t622 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B258C */ _t623 = _t622 & 0x00000001u;
|
|
/* 021B258C */ if (_t623) goto L_021B2590; else goto L_021B2574;
|
|
L_021B2590: ; // 0x21b2590
|
|
/* 021B2590 */ goto L_021B2598;
|
|
L_021B2594: ; // 0x21b2594
|
|
/* 021B2594 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2598: ; // 0x21b2598
|
|
/* 021B2598 */ _t624 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B2598 */ cpu->r[8] = rbrew_read32(cpu->mem, _t624);
|
|
/* 021B259C */ _t625 = cpu->r[8] + 0x00000014u;
|
|
/* 021B259C */ cpu->r[9] = rbrew_read32(cpu->mem, _t625);
|
|
/* 021B25A0 */ cpu->ctr = cpu->r[9];
|
|
/* 021B25A4 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 021B25A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B25AC */ _t626 = cpu->r[1] + 0x00000088u;
|
|
/* 021B25AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t626);
|
|
/* 021B25B0 */ _t627 = cpu->r[4] + 0x00000000u;
|
|
/* 021B25B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t627);
|
|
/* 021B25B4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B25B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B25BC */ cpu->r[0] = 0x00080000u;
|
|
/* 021B25C0 */ _t628 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B25C0 */ _t629 = _t628 & 0x00000001u;
|
|
/* 021B25C0 */ if (_t629) goto L_021B25E8; else goto L_021B25C4;
|
|
L_021B25C4: ; // 0x21b25c4
|
|
/* 021B25C4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B25C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B25CC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B25D0 */ _t630 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B25D0 */ _t631 = _t630 & 0x00000001u;
|
|
/* 021B25D0 */ if (_t631) goto L_021B25E4; else goto L_021B25D4;
|
|
L_021B25D4: ; // 0x21b25d4
|
|
/* 021B25D4 */ _t632 = cpu->r[4] + 0x00000000u;
|
|
/* 021B25D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t632);
|
|
/* 021B25D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B25DC */ _t633 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B25DC */ _t634 = _t633 & 0x00000001u;
|
|
/* 021B25DC */ if (_t634) goto L_021B25E0; else goto L_021B25C4;
|
|
L_021B25E0: ; // 0x21b25e0
|
|
/* 021B25E0 */ goto L_021B25E8;
|
|
L_021B25E4: ; // 0x21b25e4
|
|
/* 021B25E4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B25E8: ; // 0x21b25e8
|
|
/* 021B25E8 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B25E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B25EC */ cpu->r[24] = 0x00000000u;
|
|
/* 021B25F0 */ _t635 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B25F0 */ _t636 = _t635 & 0x00000001u;
|
|
/* 021B25F0 */ if (_t636) goto L_021B26B8; else goto L_021B25F4;
|
|
L_021B25F4: ; // 0x21b25f4
|
|
/* 021B25F4 */ cpu->r[25] = cpu->r[31];
|
|
L_021B25F8: ; // 0x21b25f8
|
|
/* 021B25F8 */ _t637 = cpu->r[27] + 0x00000000u;
|
|
/* 021B25F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t637);
|
|
/* 021B25FC */ _t638 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B25FC */ rbrew_write32(cpu->mem, _t638, cpu->r[26]);
|
|
/* 021B2600 */ cpu->r[5] = cpu->r[6] + cpu->r[24];
|
|
/* 021B2604 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B2608 */ _t639 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2608 */ rbrew_write32(cpu->mem, _t639, cpu->r[5]);
|
|
/* 021B260C */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2610 */ _t640 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B2610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t640);
|
|
/* 021B2614 */ _t641 = cpu->r[7] + 0x00000014u;
|
|
/* 021B2614 */ cpu->r[8] = rbrew_read32(cpu->mem, _t641);
|
|
/* 021B2618 */ cpu->ctr = cpu->r[8];
|
|
/* 021B261C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B2620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2624 */ _t642 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B2624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t642);
|
|
/* 021B2628 */ _t643 = cpu->r[9] + 0x00000014u;
|
|
/* 021B2628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t643);
|
|
/* 021B262C */ cpu->ctr = cpu->r[10];
|
|
/* 021B2630 */ _t644 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2630 */ cpu->r[23] = rbrew_read32(cpu->mem, _t644);
|
|
/* 021B2634 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 021B2638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B263C */ _t645 = cpu->r[1] + 0x00000088u;
|
|
/* 021B263C */ cpu->r[11] = rbrew_read32(cpu->mem, _t645);
|
|
/* 021B2640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 021B2644 */ _t646 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2644 */ _t647 = _t646 & 0x00000001u;
|
|
/* 021B2644 */ if (_t647) goto L_021B2698; else goto L_021B2648;
|
|
L_021B2648: ; // 0x21b2648
|
|
/* 021B2648 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B264C */ _t648 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B264C */ _t649 = _t648 & 0x00000001u;
|
|
/* 021B264C */ if (_t649) goto L_021B2650; else goto L_021B2698;
|
|
L_021B2650: ; // 0x21b2650
|
|
/* 021B2650 */ _t650 = cpu->r[1] + 0x00000088u;
|
|
/* 021B2650 */ cpu->r[10] = rbrew_read32(cpu->mem, _t650);
|
|
/* 021B2654 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2658 */ _t651 = cpu->r[1] + 0x00000038u;
|
|
/* 021B2658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t651);
|
|
L_021B265C: ; // 0x21b265c
|
|
/* 021B265C */ _t652 = cpu->r[11] + 0x00000000u;
|
|
/* 021B265C */ cpu->r[8] = rbrew_read8(cpu->mem, _t652);
|
|
/* 021B2660 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]);
|
|
/* 021B2664 */ _t653 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2664 */ _t654 = _t653 & 0x00000001u;
|
|
/* 021B2664 */ if (_t654) goto L_021B2668; else goto L_021B2678;
|
|
L_021B2668: ; // 0x21b2668
|
|
/* 021B2668 */ _t655 = cpu->r[10] + 0x00000000u;
|
|
/* 021B2668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t655);
|
|
/* 021B266C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B2670 */ _t656 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2670 */ _t657 = _t656 & 0x00000001u;
|
|
/* 021B2670 */ if (_t657) goto L_021B2698; else goto L_021B2674;
|
|
L_021B2674: ; // 0x21b2674
|
|
/* 021B2674 */ goto L_021B26AC;
|
|
L_021B2678: ; // 0x21b2678
|
|
/* 021B2678 */ _t658 = cpu->r[10] + 0x00000000u;
|
|
/* 021B2678 */ cpu->r[7] = rbrew_read8(cpu->mem, _t658);
|
|
/* 021B267C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[25]);
|
|
/* 021B2680 */ _t659 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2680 */ _t660 = _t659 & 0x00000001u;
|
|
/* 021B2680 */ if (_t660) goto L_021B26AC; else goto L_021B2684;
|
|
L_021B2684: ; // 0x21b2684
|
|
/* 021B2684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 021B2688 */ _t661 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2688 */ _t662 = _t661 & 0x00000001u;
|
|
/* 021B2688 */ if (_t662) goto L_021B268C; else goto L_021B26AC;
|
|
L_021B268C: ; // 0x21b268c
|
|
/* 021B268C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B2690 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2694 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2694 */ _t663 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2694 */ _t664 = _t663 >> (0x00000002u & 31u);
|
|
/* 021B2694 */ _t665 = _t664 & 0x00000001u;
|
|
/* 021B2694 */ if (_t665) goto L_021B265C; else goto L_021B2698;
|
|
L_021B2698: ; // 0x21b2698
|
|
/* 021B2698 */ _t666 = cpu->r[24] | cpu->r[24];
|
|
/* 021B2698 */ cpu->r[4] = ~_t666;
|
|
/* 021B269C */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B26A0 */ cpu->r[10] = cpu->r[4] - cpu->r[5];
|
|
/* 021B26A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B26A4 */ _t667 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B26A4 */ _t668 = _t667 & 0x00000001u;
|
|
/* 021B26A4 */ if (_t668) goto L_021B27F4; else goto L_021B26A8;
|
|
L_021B26A8: ; // 0x21b26a8
|
|
/* 021B26A8 */ goto L_021B26C8;
|
|
L_021B26AC: ; // 0x21b26ac
|
|
/* 021B26AC */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B26B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B26B4 */ _t669 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B26B4 */ _t670 = _t669 & 0x00000001u;
|
|
/* 021B26B4 */ if (_t670) goto L_021B26B8; else goto L_021B25F8;
|
|
L_021B26B8: ; // 0x21b26b8
|
|
/* 021B26B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B26BC */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 021B26C0 */ cpu->r[10] = ~cpu->r[5];
|
|
/* 021B26C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B26C4 */ _t671 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B26C4 */ _t672 = _t671 & 0x00000001u;
|
|
/* 021B26C4 */ if (_t672) goto L_021B27F4; else goto L_021B26C8;
|
|
L_021B26C8: ; // 0x21b26c8
|
|
/* 021B26C8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B26CC */ _t673 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B26CC */ rbrew_write32(cpu->mem, _t673, cpu->r[26]);
|
|
/* 021B26D0 */ cpu->r[6] = cpu->r[6] + 0xFFFF9DCAu;
|
|
/* 021B26D4 */ _t674 = cpu->r[28] + 0x00000004u;
|
|
/* 021B26D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t674);
|
|
/* 021B26D8 */ _t675 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B26D8 */ rbrew_write32(cpu->mem, _t675, cpu->r[6]);
|
|
/* 021B26DC */ _t676 = cpu->r[7] + 0x00000014u;
|
|
/* 021B26DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t676);
|
|
/* 021B26E0 */ cpu->ctr = cpu->r[8];
|
|
/* 021B26E4 */ _t677 = cpu->r[28] + 0x00000000u;
|
|
/* 021B26E4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t677);
|
|
/* 021B26E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B26EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B26F0 */ _t678 = cpu->r[28] + 0x00000000u;
|
|
/* 021B26F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t678);
|
|
/* 021B26F4 */ _t679 = cpu->r[9] + 0x00000000u;
|
|
/* 021B26F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t679);
|
|
/* 021B26F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B26FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2700 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2704 */ _t680 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2704 */ _t681 = _t680 & 0x00000001u;
|
|
/* 021B2704 */ if (_t681) goto L_021B272C; else goto L_021B2708;
|
|
L_021B2708: ; // 0x21b2708
|
|
/* 021B2708 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B270C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2710 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2714 */ _t682 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2714 */ _t683 = _t682 & 0x00000001u;
|
|
/* 021B2714 */ if (_t683) goto L_021B2728; else goto L_021B2718;
|
|
L_021B2718: ; // 0x21b2718
|
|
/* 021B2718 */ _t684 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2718 */ cpu->r[10] = rbrew_read8(cpu->mem, _t684);
|
|
/* 021B271C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B2720 */ _t685 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2720 */ _t686 = _t685 & 0x00000001u;
|
|
/* 021B2720 */ if (_t686) goto L_021B2724; else goto L_021B2708;
|
|
L_021B2724: ; // 0x21b2724
|
|
/* 021B2724 */ goto L_021B272C;
|
|
L_021B2728: ; // 0x21b2728
|
|
/* 021B2728 */ cpu->r[30] = 0x00000000u;
|
|
L_021B272C: ; // 0x21b272c
|
|
/* 021B272C */ _t687 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B272C */ cpu->r[11] = rbrew_read32(cpu->mem, _t687);
|
|
/* 021B2730 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B2730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B2734 */ _t688 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2734 */ cpu->r[4] = rbrew_read32(cpu->mem, _t688);
|
|
/* 021B2738 */ _t689 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2738 */ _t690 = _t689 & 0x00000001u;
|
|
/* 021B2738 */ if (_t690) goto L_021B273C; else goto L_021B2740;
|
|
L_021B273C: ; // 0x21b273c
|
|
/* 021B273C */ cpu->r[26] = 0x00000000u;
|
|
L_021B2740: ; // 0x21b2740
|
|
/* 021B2740 */ cpu->ctr = cpu->r[4];
|
|
/* 021B2744 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 021B2748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B274C */ _t691 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B274C */ cpu->r[7] = rbrew_read32(cpu->mem, _t691);
|
|
/* 021B2750 */ _t692 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2750 */ cpu->r[5] = rbrew_read8(cpu->mem, _t692);
|
|
/* 021B2754 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B2758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B275C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2760 */ _t693 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2760 */ _t694 = _t693 & 0x00000001u;
|
|
/* 021B2760 */ if (_t694) goto L_021B2788; else goto L_021B2764;
|
|
L_021B2764: ; // 0x21b2764
|
|
/* 021B2764 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B276C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B2770 */ _t695 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2770 */ _t696 = _t695 & 0x00000001u;
|
|
/* 021B2770 */ if (_t696) goto L_021B2784; else goto L_021B2774;
|
|
L_021B2774: ; // 0x21b2774
|
|
/* 021B2774 */ _t697 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2774 */ cpu->r[6] = rbrew_read8(cpu->mem, _t697);
|
|
/* 021B2778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B277C */ _t698 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B277C */ _t699 = _t698 & 0x00000001u;
|
|
/* 021B277C */ if (_t699) goto L_021B2780; else goto L_021B2764;
|
|
L_021B2780: ; // 0x21b2780
|
|
/* 021B2780 */ goto L_021B2788;
|
|
L_021B2784: ; // 0x21b2784
|
|
/* 021B2784 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2788: ; // 0x21b2788
|
|
/* 021B2788 */ _t700 = cpu->r[28] + 0x00000008u;
|
|
/* 021B2788 */ cpu->r[4] = rbrew_read32(cpu->mem, _t700);
|
|
/* 021B278C */ cpu->r[6] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B2794 */ _t701 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2794 */ _t702 = _t701 & 0x00000001u;
|
|
/* 021B2794 */ if (_t702) goto L_021B279C; else goto L_021B2798;
|
|
L_021B2798: ; // 0x21b2798
|
|
/* 021B2798 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021B279C: ; // 0x21b279c
|
|
/* 021B279C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B27A0 */ _t703 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B27A0 */ _t704 = _t703 & 0x00000001u;
|
|
/* 021B27A0 */ if (_t704) goto L_021B27A4; else goto L_021B2DE4;
|
|
L_021B27A4: ; // 0x21b27a4
|
|
/* 021B27A4 */ _t705 = cpu->r[1] + 0x000000CCu;
|
|
/* 021B27A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t705);
|
|
/* 021B27A8 */ _t706 = cpu->r[8] + 0x00000014u;
|
|
/* 021B27A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t706);
|
|
/* 021B27AC */ cpu->ctr = cpu->r[9];
|
|
/* 021B27B0 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B27B4 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 021B27B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B27BC */ _t707 = cpu->r[1] + 0x000000C8u;
|
|
/* 021B27BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t707);
|
|
/* 021B27C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B27C4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B27C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B27CC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B27D0 */ cpu->r[6] = cpu->r[26] + cpu->r[29];
|
|
/* 021B27D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[30]);
|
|
/* 021B27D8 */ _t708 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B27D8 */ _t709 = _t708 & 0x00000001u;
|
|
/* 021B27D8 */ if (_t709) goto L_021B27DC; else goto L_021B2DE4;
|
|
L_021B27DC: ; // 0x21b27dc
|
|
/* 021B27DC */ _t710 = cpu->r[27] + cpu->r[6];
|
|
/* 021B27DC */ rbrew_write8(cpu->mem, _t710, (uint8_t)cpu->r[31]);
|
|
/* 021B27E0 */ /* nop */
|
|
/* 021B27E4 */ _t711 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B27E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t711);
|
|
/* 021B27E8 */ cpu->lr = cpu->r[0];
|
|
/* 021B27EC */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B27F0 */ return;
|
|
L_021B27F4: ; // 0x21b27f4
|
|
/* 021B27F4 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B27F8 */ _t712 = cpu->r[1] + 0x00000094u;
|
|
/* 021B27F8 */ rbrew_write32(cpu->mem, _t712, cpu->r[26]);
|
|
/* 021B27FC */ cpu->r[10] = cpu->r[10] + 0xFFFF9DA4u;
|
|
/* 021B2800 */ _t713 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t713);
|
|
/* 021B2804 */ _t714 = cpu->r[1] + 0x00000090u;
|
|
/* 021B2804 */ rbrew_write32(cpu->mem, _t714, cpu->r[10]);
|
|
/* 021B2808 */ _t715 = cpu->r[11] + 0x00000014u;
|
|
/* 021B2808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t715);
|
|
/* 021B280C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2810 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2818 */ _t716 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t716);
|
|
/* 021B281C */ _t717 = cpu->r[8] + 0x00000000u;
|
|
/* 021B281C */ cpu->r[4] = rbrew_read8(cpu->mem, _t717);
|
|
/* 021B2820 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2828 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B282C */ _t718 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B282C */ _t719 = _t718 & 0x00000001u;
|
|
/* 021B282C */ if (_t719) goto L_021B2854; else goto L_021B2830;
|
|
L_021B2830: ; // 0x21b2830
|
|
/* 021B2830 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2838 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B283C */ _t720 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B283C */ _t721 = _t720 & 0x00000001u;
|
|
/* 021B283C */ if (_t721) goto L_021B2850; else goto L_021B2840;
|
|
L_021B2840: ; // 0x21b2840
|
|
/* 021B2840 */ _t722 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2840 */ cpu->r[5] = rbrew_read8(cpu->mem, _t722);
|
|
/* 021B2844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B2848 */ _t723 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2848 */ _t724 = _t723 & 0x00000001u;
|
|
/* 021B2848 */ if (_t724) goto L_021B284C; else goto L_021B2830;
|
|
L_021B284C: ; // 0x21b284c
|
|
/* 021B284C */ goto L_021B2854;
|
|
L_021B2850: ; // 0x21b2850
|
|
/* 021B2850 */ cpu->r[30] = 0x00000000u;
|
|
L_021B2854: ; // 0x21b2854
|
|
/* 021B2854 */ _t725 = cpu->r[1] + 0x00000094u;
|
|
/* 021B2854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t725);
|
|
/* 021B2858 */ _t726 = cpu->r[6] + 0x00000014u;
|
|
/* 021B2858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t726);
|
|
/* 021B285C */ cpu->ctr = cpu->r[7];
|
|
/* 021B2860 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 021B2864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2868 */ _t727 = cpu->r[1] + 0x00000090u;
|
|
/* 021B2868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t727);
|
|
/* 021B286C */ _t728 = cpu->r[6] + 0x00000000u;
|
|
/* 021B286C */ cpu->r[8] = rbrew_read8(cpu->mem, _t728);
|
|
/* 021B2870 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B2874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B2878 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B287C */ _t729 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B287C */ _t730 = _t729 & 0x00000001u;
|
|
/* 021B287C */ if (_t730) goto L_021B28A4; else goto L_021B2880;
|
|
L_021B2880: ; // 0x21b2880
|
|
/* 021B2880 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B2888 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B288C */ _t731 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B288C */ _t732 = _t731 & 0x00000001u;
|
|
/* 021B288C */ if (_t732) goto L_021B28A0; else goto L_021B2890;
|
|
L_021B2890: ; // 0x21b2890
|
|
/* 021B2890 */ _t733 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2890 */ cpu->r[9] = rbrew_read8(cpu->mem, _t733);
|
|
/* 021B2894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B2898 */ _t734 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2898 */ _t735 = _t734 & 0x00000001u;
|
|
/* 021B2898 */ if (_t735) goto L_021B289C; else goto L_021B2880;
|
|
L_021B289C: ; // 0x21b289c
|
|
/* 021B289C */ goto L_021B28A4;
|
|
L_021B28A0: ; // 0x21b28a0
|
|
/* 021B28A0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B28A4: ; // 0x21b28a4
|
|
/* 021B28A4 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B28A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B28A8 */ cpu->r[24] = 0x00000000u;
|
|
/* 021B28AC */ _t736 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B28AC */ _t737 = _t736 & 0x00000001u;
|
|
/* 021B28AC */ if (_t737) goto L_021B2974; else goto L_021B28B0;
|
|
L_021B28B0: ; // 0x21b28b0
|
|
/* 021B28B0 */ cpu->r[25] = cpu->r[31];
|
|
L_021B28B4: ; // 0x21b28b4
|
|
/* 021B28B4 */ _t738 = cpu->r[27] + 0x00000000u;
|
|
/* 021B28B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t738);
|
|
/* 021B28B8 */ _t739 = cpu->r[1] + 0x00000044u;
|
|
/* 021B28B8 */ rbrew_write32(cpu->mem, _t739, cpu->r[26]);
|
|
/* 021B28BC */ cpu->r[0] = cpu->r[11] + cpu->r[24];
|
|
/* 021B28C0 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B28C4 */ _t740 = cpu->r[1] + 0x00000040u;
|
|
/* 021B28C4 */ rbrew_write32(cpu->mem, _t740, cpu->r[0]);
|
|
/* 021B28C8 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B28CC */ _t741 = cpu->r[1] + 0x00000044u;
|
|
/* 021B28CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t741);
|
|
/* 021B28D0 */ _t742 = cpu->r[4] + 0x00000014u;
|
|
/* 021B28D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t742);
|
|
/* 021B28D4 */ cpu->ctr = cpu->r[5];
|
|
/* 021B28D8 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B28DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B28E0 */ _t743 = cpu->r[1] + 0x00000094u;
|
|
/* 021B28E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t743);
|
|
/* 021B28E4 */ _t744 = cpu->r[6] + 0x00000014u;
|
|
/* 021B28E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t744);
|
|
/* 021B28E8 */ cpu->ctr = cpu->r[7];
|
|
/* 021B28EC */ _t745 = cpu->r[1] + 0x00000040u;
|
|
/* 021B28EC */ cpu->r[23] = rbrew_read32(cpu->mem, _t745);
|
|
/* 021B28F0 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 021B28F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B28F8 */ _t746 = cpu->r[1] + 0x00000090u;
|
|
/* 021B28F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t746);
|
|
/* 021B28FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[8]);
|
|
/* 021B2900 */ _t747 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2900 */ _t748 = _t747 & 0x00000001u;
|
|
/* 021B2900 */ if (_t748) goto L_021B2954; else goto L_021B2904;
|
|
L_021B2904: ; // 0x21b2904
|
|
/* 021B2904 */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B2908 */ _t749 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2908 */ _t750 = _t749 & 0x00000001u;
|
|
/* 021B2908 */ if (_t750) goto L_021B290C; else goto L_021B2954;
|
|
L_021B290C: ; // 0x21b290c
|
|
/* 021B290C */ _t751 = cpu->r[1] + 0x00000090u;
|
|
/* 021B290C */ cpu->r[4] = rbrew_read32(cpu->mem, _t751);
|
|
/* 021B2910 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2914 */ _t752 = cpu->r[1] + 0x00000040u;
|
|
/* 021B2914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t752);
|
|
L_021B2918: ; // 0x21b2918
|
|
/* 021B2918 */ _t753 = cpu->r[5] + 0x00000000u;
|
|
/* 021B2918 */ cpu->r[0] = rbrew_read8(cpu->mem, _t753);
|
|
/* 021B291C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 021B2920 */ _t754 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2920 */ _t755 = _t754 & 0x00000001u;
|
|
/* 021B2920 */ if (_t755) goto L_021B2924; else goto L_021B2934;
|
|
L_021B2924: ; // 0x21b2924
|
|
/* 021B2924 */ _t756 = cpu->r[4] + 0x00000000u;
|
|
/* 021B2924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t756);
|
|
/* 021B2928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[25]);
|
|
/* 021B292C */ _t757 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B292C */ _t758 = _t757 & 0x00000001u;
|
|
/* 021B292C */ if (_t758) goto L_021B2954; else goto L_021B2930;
|
|
L_021B2930: ; // 0x21b2930
|
|
/* 021B2930 */ goto L_021B2968;
|
|
L_021B2934: ; // 0x21b2934
|
|
/* 021B2934 */ _t759 = cpu->r[4] + 0x00000000u;
|
|
/* 021B2934 */ cpu->r[9] = rbrew_read8(cpu->mem, _t759);
|
|
/* 021B2938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[25]);
|
|
/* 021B293C */ _t760 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B293C */ _t761 = _t760 & 0x00000001u;
|
|
/* 021B293C */ if (_t761) goto L_021B2968; else goto L_021B2940;
|
|
L_021B2940: ; // 0x21b2940
|
|
/* 021B2940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B2944 */ _t762 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2944 */ _t763 = _t762 & 0x00000001u;
|
|
/* 021B2944 */ if (_t763) goto L_021B2948; else goto L_021B2968;
|
|
L_021B2948: ; // 0x21b2948
|
|
/* 021B2948 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B294C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B2950 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2950 */ _t764 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2950 */ _t765 = _t764 >> (0x00000002u & 31u);
|
|
/* 021B2950 */ _t766 = _t765 & 0x00000001u;
|
|
/* 021B2950 */ if (_t766) goto L_021B2918; else goto L_021B2954;
|
|
L_021B2954: ; // 0x21b2954
|
|
/* 021B2954 */ _t767 = cpu->r[24] | cpu->r[24];
|
|
/* 021B2954 */ cpu->r[10] = ~_t767;
|
|
/* 021B2958 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 021B295C */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 021B295C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2960 */ _t768 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2960 */ _t769 = _t768 & 0x00000001u;
|
|
/* 021B2960 */ if (_t769) goto L_021B2AB0; else goto L_021B2964;
|
|
L_021B2964: ; // 0x21b2964
|
|
/* 021B2964 */ goto L_021B2984;
|
|
L_021B2968: ; // 0x21b2968
|
|
/* 021B2968 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B296C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[30]);
|
|
/* 021B2970 */ _t770 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2970 */ _t771 = _t770 & 0x00000001u;
|
|
/* 021B2970 */ if (_t771) goto L_021B2974; else goto L_021B28B4;
|
|
L_021B2974: ; // 0x21b2974
|
|
/* 021B2974 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B2978 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 021B297C */ cpu->r[11] = ~cpu->r[11];
|
|
/* 021B297C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B2980 */ _t772 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2980 */ _t773 = _t772 & 0x00000001u;
|
|
/* 021B2980 */ if (_t773) goto L_021B2AB0; else goto L_021B2984;
|
|
L_021B2984: ; // 0x21b2984
|
|
/* 021B2984 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B2988 */ _t774 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B2988 */ rbrew_write32(cpu->mem, _t774, cpu->r[26]);
|
|
/* 021B298C */ cpu->r[0] = cpu->r[0] + 0xFFFF9DCDu;
|
|
/* 021B2990 */ _t775 = cpu->r[28] + 0x00000004u;
|
|
/* 021B2990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t775);
|
|
/* 021B2994 */ _t776 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2994 */ rbrew_write32(cpu->mem, _t776, cpu->r[0]);
|
|
/* 021B2998 */ _t777 = cpu->r[4] + 0x00000014u;
|
|
/* 021B2998 */ cpu->r[5] = rbrew_read32(cpu->mem, _t777);
|
|
/* 021B299C */ cpu->ctr = cpu->r[5];
|
|
/* 021B29A0 */ _t778 = cpu->r[28] + 0x00000000u;
|
|
/* 021B29A0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t778);
|
|
/* 021B29A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B29A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B29AC */ _t779 = cpu->r[28] + 0x00000000u;
|
|
/* 021B29AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t779);
|
|
/* 021B29B0 */ _t780 = cpu->r[5] + 0x00000000u;
|
|
/* 021B29B0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t780);
|
|
/* 021B29B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B29B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B29BC */ cpu->r[6] = 0x00080000u;
|
|
/* 021B29C0 */ _t781 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B29C0 */ _t782 = _t781 & 0x00000001u;
|
|
/* 021B29C0 */ if (_t782) goto L_021B29E8; else goto L_021B29C4;
|
|
L_021B29C4: ; // 0x21b29c4
|
|
/* 021B29C4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B29C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B29CC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B29D0 */ _t783 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B29D0 */ _t784 = _t783 & 0x00000001u;
|
|
/* 021B29D0 */ if (_t784) goto L_021B29E4; else goto L_021B29D4;
|
|
L_021B29D4: ; // 0x21b29d4
|
|
/* 021B29D4 */ _t785 = cpu->r[5] + 0x00000000u;
|
|
/* 021B29D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t785);
|
|
/* 021B29D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B29DC */ _t786 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B29DC */ _t787 = _t786 & 0x00000001u;
|
|
/* 021B29DC */ if (_t787) goto L_021B29E0; else goto L_021B29C4;
|
|
L_021B29E0: ; // 0x21b29e0
|
|
/* 021B29E0 */ goto L_021B29E8;
|
|
L_021B29E4: ; // 0x21b29e4
|
|
/* 021B29E4 */ cpu->r[30] = 0x00000000u;
|
|
L_021B29E8: ; // 0x21b29e8
|
|
/* 021B29E8 */ _t788 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B29E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t788);
|
|
/* 021B29EC */ cpu->r[26] = cpu->r[30];
|
|
/* 021B29EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B29F0 */ _t789 = cpu->r[8] + 0x00000014u;
|
|
/* 021B29F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t789);
|
|
/* 021B29F4 */ _t790 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B29F4 */ _t791 = _t790 & 0x00000001u;
|
|
/* 021B29F4 */ if (_t791) goto L_021B29F8; else goto L_021B29FC;
|
|
L_021B29F8: ; // 0x21b29f8
|
|
/* 021B29F8 */ cpu->r[26] = 0x00000000u;
|
|
L_021B29FC: ; // 0x21b29fc
|
|
/* 021B29FC */ cpu->ctr = cpu->r[9];
|
|
/* 021B2A00 */ cpu->r[3] = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2A08 */ _t792 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t792);
|
|
/* 021B2A0C */ _t793 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2A0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t793);
|
|
/* 021B2A10 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B2A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B2A18 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2A1C */ _t794 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2A1C */ _t795 = _t794 & 0x00000001u;
|
|
/* 021B2A1C */ if (_t795) goto L_021B2A44; else goto L_021B2A20;
|
|
L_021B2A20: ; // 0x21b2a20
|
|
/* 021B2A20 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B2A28 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2A2C */ _t796 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A2C */ _t797 = _t796 & 0x00000001u;
|
|
/* 021B2A2C */ if (_t797) goto L_021B2A40; else goto L_021B2A30;
|
|
L_021B2A30: ; // 0x21b2a30
|
|
/* 021B2A30 */ _t798 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2A30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t798);
|
|
/* 021B2A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2A38 */ _t799 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2A38 */ _t800 = _t799 & 0x00000001u;
|
|
/* 021B2A38 */ if (_t800) goto L_021B2A3C; else goto L_021B2A20;
|
|
L_021B2A3C: ; // 0x21b2a3c
|
|
/* 021B2A3C */ goto L_021B2A44;
|
|
L_021B2A40: ; // 0x21b2a40
|
|
/* 021B2A40 */ cpu->r[29] = 0x00000000u;
|
|
L_021B2A44: ; // 0x21b2a44
|
|
/* 021B2A44 */ _t801 = cpu->r[28] + 0x00000008u;
|
|
/* 021B2A44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t801);
|
|
/* 021B2A48 */ cpu->r[5] = cpu->r[4] - cpu->r[26];
|
|
/* 021B2A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B2A50 */ _t802 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2A50 */ _t803 = _t802 & 0x00000001u;
|
|
/* 021B2A50 */ if (_t803) goto L_021B2A58; else goto L_021B2A54;
|
|
L_021B2A54: ; // 0x21b2a54
|
|
/* 021B2A54 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021B2A58: ; // 0x21b2a58
|
|
/* 021B2A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B2A5C */ _t804 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A5C */ _t805 = _t804 & 0x00000001u;
|
|
/* 021B2A5C */ if (_t805) goto L_021B2A60; else goto L_021B2DE4;
|
|
L_021B2A60: ; // 0x21b2a60
|
|
/* 021B2A60 */ _t806 = cpu->r[1] + 0x000000D4u;
|
|
/* 021B2A60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t806);
|
|
/* 021B2A64 */ _t807 = cpu->r[5] + 0x00000014u;
|
|
/* 021B2A64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t807);
|
|
/* 021B2A68 */ cpu->ctr = cpu->r[7];
|
|
/* 021B2A6C */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B2A70 */ cpu->r[3] = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2A78 */ _t808 = cpu->r[1] + 0x000000D0u;
|
|
/* 021B2A78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t808);
|
|
/* 021B2A7C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2A80 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B2A84 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2A88 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2A8C */ cpu->r[5] = cpu->r[26] + cpu->r[29];
|
|
/* 021B2A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
|
|
/* 021B2A94 */ _t809 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2A94 */ _t810 = _t809 & 0x00000001u;
|
|
/* 021B2A94 */ if (_t810) goto L_021B2A98; else goto L_021B2DE4;
|
|
L_021B2A98: ; // 0x21b2a98
|
|
/* 021B2A98 */ _t811 = cpu->r[27] + cpu->r[5];
|
|
/* 021B2A98 */ rbrew_write8(cpu->mem, _t811, (uint8_t)cpu->r[31]);
|
|
/* 021B2A9C */ /* nop */
|
|
/* 021B2AA0 */ _t812 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t812);
|
|
/* 021B2AA4 */ cpu->lr = cpu->r[0];
|
|
/* 021B2AA8 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2AAC */ return;
|
|
L_021B2AB0: ; // 0x21b2ab0
|
|
/* 021B2AB0 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B2AB4 */ _t813 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2AB4 */ rbrew_write32(cpu->mem, _t813, cpu->r[26]);
|
|
/* 021B2AB8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9DA8u;
|
|
/* 021B2ABC */ _t814 = cpu->r[27] + 0x00000004u;
|
|
/* 021B2ABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t814);
|
|
/* 021B2AC0 */ _t815 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2AC0 */ rbrew_write32(cpu->mem, _t815, cpu->r[8]);
|
|
/* 021B2AC4 */ _t816 = cpu->r[10] + 0x00000014u;
|
|
/* 021B2AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t816);
|
|
/* 021B2AC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2ACC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2AD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2AD4 */ _t817 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2AD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t817);
|
|
/* 021B2AD8 */ _t818 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2AD8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t818);
|
|
/* 021B2ADC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B2AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2AE4 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B2AE8 */ _t819 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2AE8 */ _t820 = _t819 & 0x00000001u;
|
|
/* 021B2AE8 */ if (_t820) goto L_021B2B10; else goto L_021B2AEC;
|
|
L_021B2AEC: ; // 0x21b2aec
|
|
/* 021B2AEC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B2AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B2AF4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B2AF8 */ _t821 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2AF8 */ _t822 = _t821 & 0x00000001u;
|
|
/* 021B2AF8 */ if (_t822) goto L_021B2B0C; else goto L_021B2AFC;
|
|
L_021B2AFC: ; // 0x21b2afc
|
|
/* 021B2AFC */ _t823 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2AFC */ cpu->r[6] = rbrew_read8(cpu->mem, _t823);
|
|
/* 021B2B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B2B04 */ _t824 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B04 */ _t825 = _t824 & 0x00000001u;
|
|
/* 021B2B04 */ if (_t825) goto L_021B2B08; else goto L_021B2AEC;
|
|
L_021B2B08: ; // 0x21b2b08
|
|
/* 021B2B08 */ goto L_021B2B10;
|
|
L_021B2B0C: ; // 0x21b2b0c
|
|
/* 021B2B0C */ cpu->r[30] = 0x00000000u;
|
|
L_021B2B10: ; // 0x21b2b10
|
|
/* 021B2B10 */ _t826 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2B10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t826);
|
|
/* 021B2B14 */ _t827 = cpu->r[8] + 0x00000014u;
|
|
/* 021B2B14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t827);
|
|
/* 021B2B18 */ cpu->ctr = cpu->r[9];
|
|
/* 021B2B1C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2B20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2B24 */ _t828 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2B24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t828);
|
|
/* 021B2B28 */ _t829 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2B28 */ cpu->r[11] = rbrew_read8(cpu->mem, _t829);
|
|
/* 021B2B2C */ cpu->r[10] = 0x00080000u;
|
|
/* 021B2B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B2B34 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B2B38 */ _t830 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B38 */ _t831 = _t830 & 0x00000001u;
|
|
/* 021B2B38 */ if (_t831) goto L_021B2B60; else goto L_021B2B3C;
|
|
L_021B2B3C: ; // 0x21b2b3c
|
|
/* 021B2B3C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B2B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B2B44 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B2B48 */ _t832 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2B48 */ _t833 = _t832 & 0x00000001u;
|
|
/* 021B2B48 */ if (_t833) goto L_021B2B5C; else goto L_021B2B4C;
|
|
L_021B2B4C: ; // 0x21b2b4c
|
|
/* 021B2B4C */ _t834 = cpu->r[9] + 0x00000000u;
|
|
/* 021B2B4C */ cpu->r[4] = rbrew_read8(cpu->mem, _t834);
|
|
/* 021B2B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B2B54 */ _t835 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2B54 */ _t836 = _t835 & 0x00000001u;
|
|
/* 021B2B54 */ if (_t836) goto L_021B2B58; else goto L_021B2B3C;
|
|
L_021B2B58: ; // 0x21b2b58
|
|
/* 021B2B58 */ goto L_021B2B60;
|
|
L_021B2B5C: ; // 0x21b2b5c
|
|
/* 021B2B5C */ cpu->r[29] = 0x00000000u;
|
|
L_021B2B60: ; // 0x21b2b60
|
|
/* 021B2B60 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 021B2B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B2B64 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B2B68 */ _t837 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2B68 */ _t838 = _t837 & 0x00000001u;
|
|
/* 021B2B68 */ if (_t838) goto L_021B2C3C; else goto L_021B2B6C;
|
|
L_021B2B6C: ; // 0x21b2b6c
|
|
/* 021B2B6C */ _t839 = cpu->r[27] + 0x00000000u;
|
|
/* 021B2B6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t839);
|
|
/* 021B2B70 */ _t840 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2B70 */ rbrew_write32(cpu->mem, _t840, cpu->r[26]);
|
|
/* 021B2B74 */ cpu->r[5] = cpu->r[7] + cpu->r[25];
|
|
/* 021B2B78 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B7C */ _t841 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B7C */ rbrew_write32(cpu->mem, _t841, cpu->r[5]);
|
|
/* 021B2B80 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B2B84 */ _t842 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2B84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t842);
|
|
/* 021B2B88 */ _t843 = cpu->r[9] + 0x00000014u;
|
|
/* 021B2B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t843);
|
|
/* 021B2B8C */ cpu->ctr = cpu->r[0];
|
|
/* 021B2B90 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B2B94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2B98 */ _t844 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2B98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t844);
|
|
/* 021B2B9C */ _t845 = cpu->r[4] + 0x00000014u;
|
|
/* 021B2B9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t845);
|
|
/* 021B2BA0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B2BA4 */ _t846 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2BA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t846);
|
|
/* 021B2BA8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2BB0 */ _t847 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t847);
|
|
/* 021B2BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[7]);
|
|
/* 021B2BB8 */ _t848 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BB8 */ _t849 = _t848 & 0x00000001u;
|
|
/* 021B2BB8 */ if (_t849) goto L_021B2C0C; else goto L_021B2BBC;
|
|
L_021B2BBC: ; // 0x21b2bbc
|
|
/* 021B2BBC */ cpu->r[0] = cpu->r[29];
|
|
/* 021B2BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B2BC0 */ _t850 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2BC0 */ _t851 = _t850 & 0x00000001u;
|
|
/* 021B2BC0 */ if (_t851) goto L_021B2BC4; else goto L_021B2C0C;
|
|
L_021B2BC4: ; // 0x21b2bc4
|
|
/* 021B2BC4 */ _t852 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2BC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t852);
|
|
/* 021B2BC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B2BCC */ _t853 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2BCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t853);
|
|
L_021B2BD0: ; // 0x21b2bd0
|
|
/* 021B2BD0 */ _t854 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2BD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t854);
|
|
/* 021B2BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B2BD8 */ _t855 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BD8 */ _t856 = _t855 & 0x00000001u;
|
|
/* 021B2BD8 */ if (_t856) goto L_021B2BDC; else goto L_021B2BEC;
|
|
L_021B2BDC: ; // 0x21b2bdc
|
|
/* 021B2BDC */ _t857 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2BDC */ cpu->r[9] = rbrew_read8(cpu->mem, _t857);
|
|
/* 021B2BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B2BE4 */ _t858 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BE4 */ _t859 = _t858 & 0x00000001u;
|
|
/* 021B2BE4 */ if (_t859) goto L_021B2C0C; else goto L_021B2BE8;
|
|
L_021B2BE8: ; // 0x21b2be8
|
|
/* 021B2BE8 */ goto L_021B2C30;
|
|
L_021B2BEC: ; // 0x21b2bec
|
|
/* 021B2BEC */ _t860 = cpu->r[7] + 0x00000000u;
|
|
/* 021B2BEC */ cpu->r[11] = rbrew_read8(cpu->mem, _t860);
|
|
/* 021B2BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B2BF4 */ _t861 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BF4 */ _t862 = _t861 & 0x00000001u;
|
|
/* 021B2BF4 */ if (_t862) goto L_021B2C30; else goto L_021B2BF8;
|
|
L_021B2BF8: ; // 0x21b2bf8
|
|
/* 021B2BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021B2BFC */ _t863 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2BFC */ _t864 = _t863 & 0x00000001u;
|
|
/* 021B2BFC */ if (_t864) goto L_021B2C00; else goto L_021B2C30;
|
|
L_021B2C00: ; // 0x21b2c00
|
|
/* 021B2C00 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B2C04 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B2C08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B2C08 */ _t865 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B2C08 */ _t866 = _t865 >> (0x00000002u & 31u);
|
|
/* 021B2C08 */ _t867 = _t866 & 0x00000001u;
|
|
/* 021B2C08 */ if (_t867) goto L_021B2BD0; else goto L_021B2C0C;
|
|
L_021B2C0C: ; // 0x21b2c0c
|
|
/* 021B2C0C */ _t868 = cpu->r[25] | cpu->r[25];
|
|
/* 021B2C0C */ cpu->r[11] = ~_t868;
|
|
/* 021B2C10 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2C14 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B2C18 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C1C */ cpu->r[31] = cpu->r[11] - cpu->r[0];
|
|
/* 021B2C20 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2C28 */ _t869 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2C28 */ _t870 = _t869 & 0x00000001u;
|
|
/* 021B2C28 */ if (_t870) goto L_021B2C9C; else goto L_021B2C2C;
|
|
L_021B2C2C: ; // 0x21b2c2c
|
|
/* 021B2C2C */ goto L_021B2C5C;
|
|
L_021B2C30: ; // 0x21b2c30
|
|
/* 021B2C30 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B2C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[30]);
|
|
/* 021B2C38 */ _t871 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2C38 */ _t872 = _t871 & 0x00000001u;
|
|
/* 021B2C38 */ if (_t872) goto L_021B2C3C; else goto L_021B2B6C;
|
|
L_021B2C3C: ; // 0x21b2c3c
|
|
/* 021B2C3C */ cpu->r[11] = 0x00000000u;
|
|
/* 021B2C40 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2C44 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B2C48 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C4C */ cpu->r[31] = ~cpu->r[0];
|
|
/* 021B2C50 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2C58 */ _t873 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2C58 */ _t874 = _t873 & 0x00000001u;
|
|
/* 021B2C58 */ if (_t874) goto L_021B2C9C; else goto L_021B2C5C;
|
|
L_021B2C5C: ; // 0x21b2c5c
|
|
/* 021B2C5C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2C60 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 021B2C64 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD0u;
|
|
/* 021B2C68 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2C6C */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2C70 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2C74 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2C78 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2C7C */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2C80 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 021B2C84 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2C88 */ /* nop */
|
|
/* 021B2C8C */ _t875 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t875);
|
|
/* 021B2C90 */ cpu->lr = cpu->r[0];
|
|
/* 021B2C94 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2C98 */ return;
|
|
L_021B2C9C: ; // 0x21b2c9c
|
|
/* 021B2C9C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2CA0 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
|
|
/* 021B2CA4 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DACu;
|
|
/* 021B2CA8 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2CAC */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2CB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2CB4 */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2CB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2CBC */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2CC0 */ cpu->r[3] = cpu->r[1] + 0x000000E0u;
|
|
/* 021B2CC4 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2CCC */ _t876 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2CCC */ _t877 = _t876 & 0x00000001u;
|
|
/* 021B2CCC */ if (_t877) goto L_021B2D10; else goto L_021B2CD0;
|
|
L_021B2CD0: ; // 0x21b2cd0
|
|
/* 021B2CD0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2CD4 */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 021B2CD8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD3u;
|
|
/* 021B2CDC */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2CE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2CE4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2CE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2CEC */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2CF0 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2CF4 */ cpu->r[3] = cpu->r[1] + 0x000000E8u;
|
|
/* 021B2CF8 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2CFC */ /* nop */
|
|
/* 021B2D00 */ _t878 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t878);
|
|
/* 021B2D04 */ cpu->lr = cpu->r[0];
|
|
/* 021B2D08 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2D0C */ return;
|
|
L_021B2D10: ; // 0x21b2d10
|
|
/* 021B2D10 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D14 */ cpu->r[3] = cpu->r[1] + 0x000000F0u;
|
|
/* 021B2D18 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DB0u;
|
|
/* 021B2D1C */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D20 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D24 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2D28 */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2D2C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2D30 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2D34 */ cpu->r[3] = cpu->r[1] + 0x000000F0u;
|
|
/* 021B2D38 */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2D40 */ _t879 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2D40 */ _t880 = _t879 & 0x00000001u;
|
|
/* 021B2D40 */ if (_t880) goto L_021B2D84; else goto L_021B2D44;
|
|
L_021B2D44: ; // 0x21b2d44
|
|
/* 021B2D44 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D48 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021B2D4C */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD6u;
|
|
/* 021B2D50 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D54 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D58 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2D5C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2D60 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2D64 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2D68 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021B2D6C */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2D70 */ /* nop */
|
|
/* 021B2D74 */ _t881 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t881);
|
|
/* 021B2D78 */ cpu->lr = cpu->r[0];
|
|
/* 021B2D7C */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2D80 */ return;
|
|
L_021B2D84: ; // 0x21b2d84
|
|
/* 021B2D84 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2D88 */ cpu->r[3] = cpu->r[1] + 0x00000100u;
|
|
/* 021B2D8C */ cpu->r[4] = cpu->r[4] + 0xFFFF9DB4u;
|
|
/* 021B2D90 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2D94 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2D98 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2D9C */ Gambit_fn_021B4140(cpu);
|
|
/* 021B2DA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B2DA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2DA8 */ cpu->r[3] = cpu->r[1] + 0x00000100u;
|
|
/* 021B2DAC */ Gambit_fn_021B40DC(cpu);
|
|
/* 021B2DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B2DB4 */ _t882 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2DB4 */ _t883 = _t882 & 0x00000001u;
|
|
/* 021B2DB4 */ if (_t883) goto L_021B2DE4; else goto L_021B2DB8;
|
|
L_021B2DB8: ; // 0x21b2db8
|
|
/* 021B2DB8 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B2DBC */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 021B2DC0 */ cpu->r[4] = cpu->r[4] + 0xFFFF9DD9u;
|
|
/* 021B2DC4 */ Gambit_fn_021B40F0(cpu);
|
|
/* 021B2DC8 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B2DCC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B2DD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B2DD4 */ Gambit_fn_021B4308(cpu);
|
|
/* 021B2DD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B2DDC */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 021B2DE0 */ Gambit_fn_021B40DC(cpu);
|
|
L_021B2DE4: ; // 0x21b2de4
|
|
/* 021B2DE4 */ /* nop */
|
|
/* 021B2DE8 */ _t884 = cpu->r[1] + 0x0000013Cu;
|
|
/* 021B2DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t884);
|
|
/* 021B2DEC */ cpu->lr = cpu->r[0];
|
|
/* 021B2DF0 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 021B2DF4 */ return;
|
|
}
|
|
|
|
// fn_021B2DF8 @ 0x21b2df8
|
|
void Gambit_fn_021B2DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267;
|
|
|
|
L_021B2DF8: ; // 0x21b2df8
|
|
/* 021B2DF8 */ _t0 = cpu->r[1] + 0xFFFFFD90u;
|
|
/* 021B2DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B2DF8 */ cpu->r[1] = _t0;
|
|
/* 021B2DFC */ /* nop */
|
|
/* 021B2E00 */ cpu->r[0] = cpu->lr;
|
|
/* 021B2E04 */ _t1 = cpu->r[1] + 0x00000274u;
|
|
/* 021B2E04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B2E08 */ cpu->r[9] = 0x101D0000u;
|
|
/* 021B2E0C */ cpu->r[26] = 0x101E0000u;
|
|
/* 021B2E10 */ _t2 = cpu->r[9] + 0xFFFF92FCu;
|
|
/* 021B2E10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B2E14 */ cpu->r[26] = cpu->r[26] + 0x00000F50u;
|
|
/* 021B2E18 */ _t3 = cpu->r[9] + 0x0000002Cu;
|
|
/* 021B2E18 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B2E1C */ cpu->r[5] = cpu->r[26];
|
|
/* 021B2E20 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B2E24 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B2E28 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B2E2C */ Gambit_fn_0280CE90(cpu);
|
|
/* 021B2E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B2E34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2E34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B2E34 */ if (_t5) goto L_021B35FC; else goto L_021B2E38;
|
|
L_021B2E38: ; // 0x21b2e38
|
|
/* 021B2E38 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 021B2E38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B2E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B2E40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2E40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B2E40 */ if (_t8) goto L_021B35FC; else goto L_021B2E44;
|
|
L_021B2E44: ; // 0x21b2e44
|
|
/* 021B2E44 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 021B2E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B2E48 */ cpu->r[30] = 0x10110000u;
|
|
/* 021B2E4C */ _t10 = cpu->r[30] + 0x00007399u;
|
|
/* 021B2E4C */ cpu->r[30] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B2E50 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 021B2E50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B2E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 021B2E58 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2E58 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B2E58 */ if (_t13) goto L_021B2E5C; else goto L_021B35A8;
|
|
L_021B2E5C: ; // 0x21b2e5c
|
|
/* 021B2E5C */ cpu->r[29] = 0x021B0000u;
|
|
/* 021B2E60 */ cpu->r[24] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B2E64 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B2E68 */ cpu->r[29] = cpu->r[29] + 0x000042F0u;
|
|
/* 021B2E6C */ cpu->r[4] = 0x00000020u;
|
|
/* 021B2E70 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 021B2E70 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]);
|
|
/* 021B2E74 */ cpu->r[5] = cpu->r[5] + 0xFFFF9CD8u;
|
|
/* 021B2E78 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B2E7C */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 021B2E7C */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 021B2E80 */ cpu->ctr = cpu->r[29];
|
|
/* 021B2E84 */ _t16 = cpu->r[1] + 0x00000064u;
|
|
/* 021B2E84 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 021B2E88 */ cpu->r[25] = cpu->r[25] + 0xFFFF9C90u;
|
|
/* 021B2E8C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B2E90 */ _t17 = cpu->r[1] + 0x0000008Bu;
|
|
/* 021B2E90 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 021B2E94 */ cpu->r[0] = cpu->r[0] + 0xFFFF9DE4u;
|
|
/* 021B2E98 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 021B2E98 */ rbrew_write32(cpu->mem, _t18, cpu->r[25]);
|
|
/* 021B2E9C */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B2EA0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 021B2EA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 021B2EA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2EA8 */ _t20 = cpu->r[1] + 0x00000040u;
|
|
/* 021B2EA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B2EAC */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2EAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t21);
|
|
/* 021B2EB0 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B2EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 021B2EB8 */ cpu->r[10] = 0x00080000u;
|
|
/* 021B2EBC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2EBC */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B2EBC */ if (_t23) goto L_021B2EE4; else goto L_021B2EC0;
|
|
L_021B2EC0: ; // 0x21b2ec0
|
|
/* 021B2EC0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B2EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 021B2EC8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B2ECC */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2ECC */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B2ECC */ if (_t25) goto L_021B2EE0; else goto L_021B2ED0;
|
|
L_021B2ED0: ; // 0x21b2ed0
|
|
/* 021B2ED0 */ _t26 = cpu->r[8] + 0x00000000u;
|
|
/* 021B2ED0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t26);
|
|
/* 021B2ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 021B2ED8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2ED8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B2ED8 */ if (_t28) goto L_021B2EDC; else goto L_021B2EC0;
|
|
L_021B2EDC: ; // 0x21b2edc
|
|
/* 021B2EDC */ goto L_021B2EE4;
|
|
L_021B2EE0: ; // 0x21b2ee0
|
|
/* 021B2EE0 */ cpu->r[31] = 0x00000000u;
|
|
L_021B2EE4: ; // 0x21b2ee4
|
|
/* 021B2EE4 */ _t29 = cpu->r[1] + 0x00000068u;
|
|
/* 021B2EE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B2EE8 */ _t30 = cpu->r[1] + 0x00000044u;
|
|
/* 021B2EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B2EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 021B2EF0 */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 021B2EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B2EF4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B2EF4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B2EF4 */ if (_t33) goto L_021B2EFC; else goto L_021B2EF8;
|
|
L_021B2EF8: ; // 0x21b2ef8
|
|
/* 021B2EF8 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021B2EFC: ; // 0x21b2efc
|
|
/* 021B2EFC */ cpu->ctr = cpu->r[0];
|
|
/* 021B2F00 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B2F04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2F08 */ _t34 = cpu->r[1] + 0x00000040u;
|
|
/* 021B2F08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B2F0C */ cpu->r[3] = cpu->r[24];
|
|
/* 021B2F10 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B2F14 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B2F18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B2F1C */ _t35 = cpu->r[1] + 0x00000197u;
|
|
/* 021B2F1C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 021B2F20 */ cpu->r[8] = 0x00000100u;
|
|
/* 021B2F24 */ _t36 = cpu->r[1] + 0x00000098u;
|
|
/* 021B2F24 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 021B2F28 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B2F2C */ _t37 = cpu->r[1] + 0x00000094u;
|
|
/* 021B2F2C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 021B2F30 */ cpu->r[6] = cpu->r[6] + 0xFFFF9CF0u;
|
|
/* 021B2F34 */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 021B2F34 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 021B2F38 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B2F3C */ _t39 = cpu->r[24] + cpu->r[31];
|
|
/* 021B2F3C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[30]);
|
|
/* 021B2F40 */ _t40 = cpu->r[1] + 0x00000060u;
|
|
/* 021B2F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B2F44 */ cpu->r[10] = cpu->r[10] + 0xFFFF9D20u;
|
|
/* 021B2F48 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 021B2F48 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
|
|
/* 021B2F4C */ cpu->r[7] = cpu->r[1] + 0x00000098u;
|
|
/* 021B2F50 */ _t42 = cpu->r[1] + 0x00000090u;
|
|
/* 021B2F50 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 021B2F54 */ _t43 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B2F54 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
|
|
/* 021B2F58 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B2F5C */ _t44 = cpu->r[1] + 0x00000050u;
|
|
/* 021B2F5C */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 021B2F60 */ Gambit_fn_027E2BBC(cpu);
|
|
/* 021B2F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B2F68 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2F68 */ _t46 = _t45 & 0x00000001u;
|
|
/* 021B2F68 */ if (_t46) goto L_021B3064; else goto L_021B2F6C;
|
|
L_021B2F6C: ; // 0x21b2f6c
|
|
/* 021B2F6C */ _t47 = cpu->r[1] + 0x00000060u;
|
|
/* 021B2F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B2F70 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B2F74 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B2F78 */ _t48 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B2F78 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]);
|
|
/* 021B2F7C */ cpu->r[4] = 0x00000100u;
|
|
/* 021B2F80 */ _t49 = cpu->r[1] + 0x00000058u;
|
|
/* 021B2F80 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 021B2F84 */ Gambit_fn_027E273C(cpu);
|
|
/* 021B2F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B2F8C */ cpu->r[24] = cpu->r[3];
|
|
/* 021B2F90 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2F90 */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B2F90 */ if (_t51) goto L_021B3064; else goto L_021B2F94;
|
|
L_021B2F94: ; // 0x21b2f94
|
|
/* 021B2F94 */ cpu->r[3] = cpu->r[1] + 0x000001B8u;
|
|
/* 021B2F98 */ Gambit_fn_028348A0(cpu);
|
|
/* 021B2F9C */ cpu->ctr = cpu->r[29];
|
|
/* 021B2FA0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B2FA4 */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2FA4 */ rbrew_write32(cpu->mem, _t52, cpu->r[25]);
|
|
/* 021B2FA8 */ _t53 = cpu->r[1] + 0x000001BCu;
|
|
/* 021B2FA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021B2FAC */ cpu->r[0] = cpu->r[0] + 0xFFFF9DDCu;
|
|
/* 021B2FB0 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B2FB4 */ _t54 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2FB4 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 021B2FB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B2FBC */ _t55 = cpu->r[1] + 0x00000048u;
|
|
/* 021B2FBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021B2FC0 */ _t56 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2FC0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t56);
|
|
/* 021B2FC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B2FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 021B2FCC */ cpu->r[7] = 0x00080000u;
|
|
/* 021B2FD0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2FD0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 021B2FD0 */ if (_t58) goto L_021B2FF8; else goto L_021B2FD4;
|
|
L_021B2FD4: ; // 0x21b2fd4
|
|
/* 021B2FD4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B2FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 021B2FDC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B2FE0 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B2FE0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021B2FE0 */ if (_t60) goto L_021B2FF4; else goto L_021B2FE4;
|
|
L_021B2FE4: ; // 0x21b2fe4
|
|
/* 021B2FE4 */ _t61 = cpu->r[6] + 0x00000000u;
|
|
/* 021B2FE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 021B2FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B2FEC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B2FEC */ _t63 = _t62 & 0x00000001u;
|
|
/* 021B2FEC */ if (_t63) goto L_021B2FF0; else goto L_021B2FD4;
|
|
L_021B2FF0: ; // 0x21b2ff0
|
|
/* 021B2FF0 */ goto L_021B2FF8;
|
|
L_021B2FF4: ; // 0x21b2ff4
|
|
/* 021B2FF4 */ cpu->r[31] = 0x00000000u;
|
|
L_021B2FF8: ; // 0x21b2ff8
|
|
/* 021B2FF8 */ _t64 = cpu->r[1] + 0x000001C4u;
|
|
/* 021B2FF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B2FFC */ _t65 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B2FFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021B3000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 021B3004 */ _t66 = cpu->r[11] + 0x00000014u;
|
|
/* 021B3004 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B3008 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3008 */ _t68 = _t67 & 0x00000001u;
|
|
/* 021B3008 */ if (_t68) goto L_021B3010; else goto L_021B300C;
|
|
L_021B300C: ; // 0x21b300c
|
|
/* 021B300C */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021B3010: ; // 0x21b3010
|
|
/* 021B3010 */ cpu->ctr = cpu->r[4];
|
|
/* 021B3014 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3018 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B301C */ _t69 = cpu->r[1] + 0x00000048u;
|
|
/* 021B301C */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021B3020 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B3024 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B3028 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B302C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3030 */ _t70 = cpu->r[29] + cpu->r[31];
|
|
/* 021B3030 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[30]);
|
|
/* 021B3034 */ _t71 = cpu->r[24] + 0x00000004u;
|
|
/* 021B3034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B3038 */ cpu->r[3] = cpu->r[1] + 0x00000198u;
|
|
/* 021B303C */ _t72 = cpu->r[24] + 0x00000008u;
|
|
/* 021B303C */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021B3040 */ cpu->r[6] = cpu->r[1] + 0x000001B8u;
|
|
/* 021B3044 */ Gambit_fn_02834214(cpu);
|
|
/* 021B3048 */ _t73 = cpu->r[1] + 0x00000094u;
|
|
/* 021B3048 */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 021B304C */ cpu->r[3] = cpu->r[1] + 0x00000198u;
|
|
/* 021B3050 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B3054 */ Gambit_fn_028344F4(cpu);
|
|
/* 021B3058 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B305C */ cpu->r[3] = cpu->r[1] + 0x00000198u;
|
|
/* 021B3060 */ Gambit_fn_028342B0(cpu);
|
|
L_021B3064: ; // 0x21b3064
|
|
/* 021B3064 */ _t74 = cpu->r[1] + 0x0000003Fu;
|
|
/* 021B3064 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[30]);
|
|
/* 021B3068 */ cpu->r[9] = cpu->r[1] + 0x00000030u;
|
|
/* 021B306C */ _t75 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B306C */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021B3070 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3074 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3074 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 021B3078 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D70u;
|
|
/* 021B307C */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 021B307C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
|
|
/* 021B3080 */ cpu->r[11] = 0x00000010u;
|
|
/* 021B3084 */ _t78 = cpu->r[1] + 0x00000028u;
|
|
/* 021B3084 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 021B3088 */ _t79 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B3088 */ rbrew_write32(cpu->mem, _t79, cpu->r[11]);
|
|
/* 021B308C */ _t80 = cpu->r[5] + 0x00000000u;
|
|
/* 021B308C */ cpu->r[7] = rbrew_read8(cpu->mem, _t80);
|
|
/* 021B3090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 021B3094 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3094 */ _t82 = _t81 & 0x00000001u;
|
|
/* 021B3094 */ if (_t82) goto L_021B3554; else goto L_021B3098;
|
|
L_021B3098: ; // 0x21b3098
|
|
/* 021B3098 */ cpu->r[5] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B309C */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 021B30A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B30A4 */ Gambit_fn_021B149C(cpu);
|
|
/* 021B30A8 */ cpu->r[23] = 0x10030000u;
|
|
/* 021B30AC */ cpu->r[22] = 0x101F0000u;
|
|
/* 021B30B0 */ cpu->r[23] = cpu->r[23] + 0xFFFF9DE0u;
|
|
/* 021B30B4 */ cpu->r[31] = cpu->r[30];
|
|
/* 021B30B8 */ cpu->r[24] = 0x00000004u;
|
|
L_021B30BC: ; // 0x21b30bc
|
|
/* 021B30BC */ _t83 = cpu->r[1] + 0x00000090u;
|
|
/* 021B30BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021B30C0 */ _t84 = cpu->r[9] + 0x00000014u;
|
|
/* 021B30C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B30C4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B30C8 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B30CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B30D0 */ _t85 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B30D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B30D4 */ cpu->r[12] = cpu->r[9];
|
|
/* 021B30D8 */ _t86 = cpu->r[12] + 0x00000000u;
|
|
/* 021B30D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t86);
|
|
/* 021B30DC */ cpu->r[8] = 0x00000000u;
|
|
/* 021B30E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B30E4 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B30E8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B30E8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B30E8 */ if (_t88) goto L_021B3110; else goto L_021B30EC;
|
|
L_021B30EC: ; // 0x21b30ec
|
|
/* 021B30EC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B30F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[5]);
|
|
/* 021B30F4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B30F8 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B30F8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B30F8 */ if (_t90) goto L_021B310C; else goto L_021B30FC;
|
|
L_021B30FC: ; // 0x21b30fc
|
|
/* 021B30FC */ _t91 = cpu->r[12] + 0x00000000u;
|
|
/* 021B30FC */ cpu->r[6] = rbrew_read8(cpu->mem, _t91);
|
|
/* 021B3100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B3104 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3104 */ _t93 = _t92 & 0x00000001u;
|
|
/* 021B3104 */ if (_t93) goto L_021B3108; else goto L_021B30EC;
|
|
L_021B3108: ; // 0x21b3108
|
|
/* 021B3108 */ goto L_021B3110;
|
|
L_021B310C: ; // 0x21b310c
|
|
/* 021B310C */ cpu->r[8] = 0x00000000u;
|
|
L_021B3110: ; // 0x21b3110
|
|
/* 021B3110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B3114 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3114 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B3114 */ if (_t95) goto L_021B3120; else goto L_021B3118;
|
|
L_021B3118: ; // 0x21b3118
|
|
/* 021B3118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 021B311C */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B311C */ _t97 = _t96 & 0x00000001u;
|
|
/* 021B311C */ if (_t97) goto L_021B3120; else goto L_021B3178;
|
|
L_021B3120: ; // 0x21b3120
|
|
/* 021B3120 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 021B3120 */ rbrew_write32(cpu->mem, _t98, cpu->r[23]);
|
|
/* 021B3124 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3128 */ _t99 = cpu->r[22] + 0x000066E8u;
|
|
/* 021B3128 */ cpu->r[9] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B312C */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 021B312C */ rbrew_write32(cpu->mem, _t100, cpu->r[25]);
|
|
/* 021B3130 */ _t101 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3130 */ rbrew_write32(cpu->mem, _t101, cpu->r[25]);
|
|
/* 021B3134 */ _t102 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3134 */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 021B3138 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B313C */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B313C */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B3140 */ _t104 = cpu->r[8] + 0x00000014u;
|
|
/* 021B3140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 021B3144 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3148 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B314C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3150 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 021B3150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B3154 */ _t106 = cpu->r[11] + 0x00000014u;
|
|
/* 021B3154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B3158 */ cpu->ctr = cpu->r[0];
|
|
/* 021B315C */ _t107 = cpu->r[1] + 0x00000008u;
|
|
/* 021B315C */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B3160 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3164 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3168 */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 021B3168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021B316C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 021B3170 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3170 */ _t110 = _t109 & 0x00000001u;
|
|
/* 021B3170 */ if (_t110) goto L_021B3548; else goto L_021B3174;
|
|
L_021B3174: ; // 0x21b3174
|
|
/* 021B3174 */ goto L_021B31CC;
|
|
L_021B3178: ; // 0x21b3178
|
|
/* 021B3178 */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3178 */ rbrew_write32(cpu->mem, _t111, cpu->r[25]);
|
|
/* 021B317C */ cpu->r[9] = cpu->r[9] + cpu->r[24];
|
|
/* 021B3180 */ _t112 = cpu->r[1] + 0x00000014u;
|
|
/* 021B3180 */ rbrew_write32(cpu->mem, _t112, cpu->r[25]);
|
|
/* 021B3184 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3188 */ _t113 = cpu->r[1] + 0x00000010u;
|
|
/* 021B3188 */ rbrew_write32(cpu->mem, _t113, cpu->r[23]);
|
|
/* 021B318C */ _t114 = cpu->r[1] + 0x00000008u;
|
|
/* 021B318C */ rbrew_write32(cpu->mem, _t114, cpu->r[9]);
|
|
/* 021B3190 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B3194 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3194 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B3198 */ _t116 = cpu->r[8] + 0x00000014u;
|
|
/* 021B3198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 021B319C */ cpu->ctr = cpu->r[0];
|
|
/* 021B31A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B31A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B31A8 */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 021B31A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t117);
|
|
/* 021B31AC */ _t118 = cpu->r[11] + 0x00000014u;
|
|
/* 021B31AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 021B31B0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B31B4 */ _t119 = cpu->r[1] + 0x00000008u;
|
|
/* 021B31B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B31B8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B31BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B31C0 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 021B31C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021B31C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 021B31C8 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B31C8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 021B31C8 */ if (_t122) goto L_021B3548; else goto L_021B31CC;
|
|
L_021B31CC: ; // 0x21b31cc
|
|
/* 021B31CC */ _t123 = cpu->r[1] + 0x00000008u;
|
|
/* 021B31CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 021B31D0 */ _t124 = cpu->r[4] + 0x00000000u;
|
|
/* 021B31D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t124);
|
|
/* 021B31D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B31D8 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B31D8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 021B31D8 */ if (_t126) goto L_021B31DC; else goto L_021B31F0;
|
|
L_021B31DC: ; // 0x21b31dc
|
|
/* 021B31DC */ _t127 = cpu->r[1] + 0x00000010u;
|
|
/* 021B31DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021B31E0 */ _t128 = cpu->r[5] + 0x00000000u;
|
|
/* 021B31E0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t128);
|
|
/* 021B31E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B31E8 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B31E8 */ _t130 = _t129 & 0x00000001u;
|
|
/* 021B31E8 */ if (_t130) goto L_021B3548; else goto L_021B31EC;
|
|
L_021B31EC: ; // 0x21b31ec
|
|
/* 021B31EC */ goto L_021B3208;
|
|
L_021B31F0: ; // 0x21b31f0
|
|
/* 021B31F0 */ _t131 = cpu->r[1] + 0x00000010u;
|
|
/* 021B31F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t131);
|
|
/* 021B31F4 */ _t132 = cpu->r[9] + 0x00000000u;
|
|
/* 021B31F4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t132);
|
|
/* 021B31F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B31FC */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B31FC */ _t134 = _t133 & 0x00000001u;
|
|
/* 021B31FC */ if (_t134) goto L_021B3208; else goto L_021B3200;
|
|
L_021B3200: ; // 0x21b3200
|
|
/* 021B3200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 021B3204 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3204 */ _t136 = _t135 & 0x00000001u;
|
|
/* 021B3204 */ if (_t136) goto L_021B3548; else goto L_021B3208;
|
|
L_021B3208: ; // 0x21b3208
|
|
/* 021B3208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000005u);
|
|
/* 021B320C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B320C */ _t138 = _t137 & 0x00000001u;
|
|
/* 021B320C */ if (_t138) goto L_021B3210; else goto L_021B3438;
|
|
L_021B3210: ; // 0x21b3210
|
|
/* 021B3210 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B3214 */ _t139 = cpu->r[1] + 0x00000020u;
|
|
/* 021B3214 */ rbrew_write32(cpu->mem, _t139, cpu->r[25]);
|
|
/* 021B3218 */ cpu->r[11] = cpu->r[11] + 0xFFFF9DE2u;
|
|
/* 021B321C */ _t140 = cpu->r[1] + 0x00000028u;
|
|
/* 021B321C */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B3220 */ _t141 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3220 */ rbrew_write32(cpu->mem, _t141, cpu->r[11]);
|
|
/* 021B3224 */ _t142 = cpu->r[12] + 0x00000014u;
|
|
/* 021B3224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 021B3228 */ cpu->ctr = cpu->r[0];
|
|
/* 021B322C */ _t143 = cpu->r[1] + 0x00000024u;
|
|
/* 021B322C */ cpu->r[25] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021B3230 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B3234 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3238 */ _t144 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3238 */ cpu->r[7] = rbrew_read32(cpu->mem, _t144);
|
|
/* 021B323C */ _t145 = cpu->r[7] + 0x00000000u;
|
|
/* 021B323C */ cpu->r[4] = rbrew_read8(cpu->mem, _t145);
|
|
/* 021B3240 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B3244 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 021B3248 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B324C */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B324C */ _t147 = _t146 & 0x00000001u;
|
|
/* 021B324C */ if (_t147) goto L_021B3274; else goto L_021B3250;
|
|
L_021B3250: ; // 0x21b3250
|
|
/* 021B3250 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B3254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 021B3258 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B325C */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B325C */ _t149 = _t148 & 0x00000001u;
|
|
/* 021B325C */ if (_t149) goto L_021B3270; else goto L_021B3260;
|
|
L_021B3260: ; // 0x21b3260
|
|
/* 021B3260 */ _t150 = cpu->r[7] + 0x00000000u;
|
|
/* 021B3260 */ cpu->r[5] = rbrew_read8(cpu->mem, _t150);
|
|
/* 021B3264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 021B3268 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3268 */ _t152 = _t151 & 0x00000001u;
|
|
/* 021B3268 */ if (_t152) goto L_021B326C; else goto L_021B3250;
|
|
L_021B326C: ; // 0x21b326c
|
|
/* 021B326C */ goto L_021B3274;
|
|
L_021B3270: ; // 0x21b3270
|
|
/* 021B3270 */ cpu->r[31] = 0x00000000u;
|
|
L_021B3274: ; // 0x21b3274
|
|
/* 021B3274 */ _t153 = cpu->r[1] + 0x00000020u;
|
|
/* 021B3274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t153);
|
|
/* 021B3278 */ cpu->r[23] = cpu->r[31];
|
|
/* 021B3278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 021B327C */ _t154 = cpu->r[6] + 0x00000014u;
|
|
/* 021B327C */ cpu->r[7] = rbrew_read32(cpu->mem, _t154);
|
|
/* 021B3280 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3280 */ _t156 = _t155 & 0x00000001u;
|
|
/* 021B3280 */ if (_t156) goto L_021B3284; else goto L_021B3288;
|
|
L_021B3284: ; // 0x21b3284
|
|
/* 021B3284 */ cpu->r[23] = 0x00000000u;
|
|
L_021B3288: ; // 0x21b3288
|
|
/* 021B3288 */ cpu->ctr = cpu->r[7];
|
|
/* 021B328C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3290 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3294 */ _t157 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
|
|
/* 021B3298 */ _t158 = cpu->r[4] + 0x00000000u;
|
|
/* 021B3298 */ cpu->r[8] = rbrew_read8(cpu->mem, _t158);
|
|
/* 021B329C */ cpu->r[5] = 0x00080000u;
|
|
/* 021B32A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 021B32A4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B32A8 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B32A8 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021B32A8 */ if (_t160) goto L_021B32D0; else goto L_021B32AC;
|
|
L_021B32AC: ; // 0x21b32ac
|
|
/* 021B32AC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B32B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B32B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B32B8 */ _t161 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B32B8 */ _t162 = _t161 & 0x00000001u;
|
|
/* 021B32B8 */ if (_t162) goto L_021B32CC; else goto L_021B32BC;
|
|
L_021B32BC: ; // 0x21b32bc
|
|
/* 021B32BC */ _t163 = cpu->r[4] + 0x00000000u;
|
|
/* 021B32BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t163);
|
|
/* 021B32C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 021B32C4 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B32C4 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021B32C4 */ if (_t165) goto L_021B32C8; else goto L_021B32AC;
|
|
L_021B32C8: ; // 0x21b32c8
|
|
/* 021B32C8 */ goto L_021B32D0;
|
|
L_021B32CC: ; // 0x21b32cc
|
|
/* 021B32CC */ cpu->r[29] = 0x00000000u;
|
|
L_021B32D0: ; // 0x21b32d0
|
|
/* 021B32D0 */ _t166 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B32D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166);
|
|
/* 021B32D4 */ cpu->r[10] = cpu->r[12] - cpu->r[23];
|
|
/* 021B32D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B32DC */ _t167 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B32DC */ _t168 = _t167 & 0x00000001u;
|
|
/* 021B32DC */ if (_t168) goto L_021B32E4; else goto L_021B32E0;
|
|
L_021B32E0: ; // 0x21b32e0
|
|
/* 021B32E0 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B32E4: ; // 0x21b32e4
|
|
/* 021B32E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B32E8 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B32E8 */ _t170 = _t169 & 0x00000001u;
|
|
/* 021B32E8 */ if (_t170) goto L_021B32EC; else goto L_021B3328;
|
|
L_021B32EC: ; // 0x21b32ec
|
|
/* 021B32EC */ _t171 = cpu->r[1] + 0x00000020u;
|
|
/* 021B32EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021B32F0 */ _t172 = cpu->r[10] + 0x00000014u;
|
|
/* 021B32F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021B32F4 */ cpu->ctr = cpu->r[11];
|
|
/* 021B32F8 */ cpu->r[24] = cpu->r[25] + cpu->r[23];
|
|
/* 021B32FC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3300 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3304 */ _t173 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3304 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173);
|
|
/* 021B3308 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B330C */ cpu->r[5] = cpu->r[29];
|
|
/* 021B3310 */ cpu->r[3] = cpu->r[24];
|
|
/* 021B3314 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3318 */ cpu->r[8] = cpu->r[23] + cpu->r[29];
|
|
/* 021B331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[31]);
|
|
/* 021B3320 */ _t174 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3320 */ _t175 = _t174 & 0x00000001u;
|
|
/* 021B3320 */ if (_t175) goto L_021B3324; else goto L_021B3328;
|
|
L_021B3324: ; // 0x21b3324
|
|
/* 021B3324 */ _t176 = cpu->r[25] + cpu->r[8];
|
|
/* 021B3324 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[30]);
|
|
L_021B3328: ; // 0x21b3328
|
|
/* 021B3328 */ _t177 = cpu->r[1] + 0x00000028u;
|
|
/* 021B3328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
|
|
/* 021B332C */ _t178 = cpu->r[12] + 0x00000014u;
|
|
/* 021B332C */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 021B3330 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3334 */ _t179 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t179);
|
|
/* 021B3338 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B333C */ cpu->r[24] = 0x00000001u;
|
|
/* 021B3340 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3344 */ _t180 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3344 */ cpu->r[9] = rbrew_read32(cpu->mem, _t180);
|
|
/* 021B3348 */ _t181 = cpu->r[9] + 0x00000000u;
|
|
/* 021B3348 */ cpu->r[0] = rbrew_read8(cpu->mem, _t181);
|
|
/* 021B334C */ cpu->r[31] = 0x00000000u;
|
|
/* 021B3350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B3354 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B3358 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3358 */ _t183 = _t182 & 0x00000001u;
|
|
/* 021B3358 */ if (_t183) goto L_021B3380; else goto L_021B335C;
|
|
L_021B335C: ; // 0x21b335c
|
|
/* 021B335C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B3360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 021B3364 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B3368 */ _t184 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3368 */ _t185 = _t184 & 0x00000001u;
|
|
/* 021B3368 */ if (_t185) goto L_021B337C; else goto L_021B336C;
|
|
L_021B336C: ; // 0x21b336c
|
|
/* 021B336C */ _t186 = cpu->r[9] + 0x00000000u;
|
|
/* 021B336C */ cpu->r[5] = rbrew_read8(cpu->mem, _t186);
|
|
/* 021B3370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 021B3374 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3374 */ _t188 = _t187 & 0x00000001u;
|
|
/* 021B3374 */ if (_t188) goto L_021B3378; else goto L_021B335C;
|
|
L_021B3378: ; // 0x21b3378
|
|
/* 021B3378 */ goto L_021B3380;
|
|
L_021B337C: ; // 0x21b337c
|
|
/* 021B337C */ cpu->r[31] = 0x00000000u;
|
|
L_021B3380: ; // 0x21b3380
|
|
/* 021B3380 */ cpu->r[23] = cpu->r[31];
|
|
/* 021B3380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 021B3384 */ _t189 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B3384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t189);
|
|
/* 021B3388 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3388 */ _t191 = _t190 & 0x00000001u;
|
|
/* 021B3388 */ if (_t191) goto L_021B338C; else goto L_021B3390;
|
|
L_021B338C: ; // 0x21b338c
|
|
/* 021B338C */ cpu->r[23] = 0x00000000u;
|
|
L_021B3390: ; // 0x21b3390
|
|
/* 021B3390 */ cpu->r[12] = cpu->r[12] - cpu->r[23];
|
|
/* 021B3394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 021B3398 */ _t192 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3398 */ _t193 = _t192 & 0x00000001u;
|
|
/* 021B3398 */ if (_t193) goto L_021B33A4; else goto L_021B339C;
|
|
L_021B339C: ; // 0x21b339c
|
|
/* 021B339C */ cpu->r[24] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B339C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B33A0 */ _t194 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B33A0 */ _t195 = _t194 & 0x00000001u;
|
|
/* 021B33A0 */ if (_t195) goto L_021B33A4; else goto L_021B3554;
|
|
L_021B33A4: ; // 0x21b33a4
|
|
/* 021B33A4 */ _t196 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B33A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t196);
|
|
/* 021B33A8 */ _t197 = cpu->r[6] + 0x00000014u;
|
|
/* 021B33A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t197);
|
|
/* 021B33AC */ cpu->ctr = cpu->r[7];
|
|
/* 021B33B0 */ cpu->r[25] = cpu->r[29] + cpu->r[23];
|
|
/* 021B33B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B33B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B33BC */ _t198 = cpu->r[1] + 0x00000008u;
|
|
/* 021B33BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t198);
|
|
/* 021B33C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B33C4 */ cpu->r[5] = cpu->r[24];
|
|
/* 021B33C8 */ cpu->r[3] = cpu->r[25];
|
|
/* 021B33CC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B33D0 */ cpu->r[10] = cpu->r[23] + cpu->r[24];
|
|
/* 021B33D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 021B33D8 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B33D8 */ _t200 = _t199 & 0x00000001u;
|
|
/* 021B33D8 */ if (_t200) goto L_021B33DC; else goto L_021B3554;
|
|
L_021B33DC: ; // 0x21b33dc
|
|
/* 021B33DC */ _t201 = cpu->r[29] + cpu->r[10];
|
|
/* 021B33DC */ rbrew_write8(cpu->mem, _t201, (uint8_t)cpu->r[30]);
|
|
/* 021B33E0 */ _t202 = cpu->r[26] + 0x00000004u;
|
|
/* 021B33E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021B33E4 */ _t203 = cpu->r[4] + 0x00000014u;
|
|
/* 021B33E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t203);
|
|
/* 021B33E8 */ cpu->ctr = cpu->r[5];
|
|
/* 021B33EC */ cpu->r[3] = cpu->r[26];
|
|
/* 021B33F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B33F4 */ _t204 = cpu->r[1] + 0x00000028u;
|
|
/* 021B33F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t204);
|
|
/* 021B33F8 */ _t205 = cpu->r[6] + 0x00000014u;
|
|
/* 021B33F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 021B33FC */ cpu->ctr = cpu->r[0];
|
|
/* 021B3400 */ _t206 = cpu->r[26] + 0x00000000u;
|
|
/* 021B3400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t206);
|
|
/* 021B3404 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B3408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B340C */ cpu->r[12] = 0x101D0000u;
|
|
/* 021B3410 */ _t207 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
|
|
/* 021B3414 */ _t208 = cpu->r[12] + 0xFFFF9560u;
|
|
/* 021B3414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t208);
|
|
/* 021B3418 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B341C */ cpu->r[5] = cpu->r[31];
|
|
/* 021B3420 */ _t209 = cpu->r[12] + 0x000004D4u;
|
|
/* 021B3420 */ cpu->r[6] = rbrew_read32(cpu->mem, _t209);
|
|
/* 021B3424 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E04u;
|
|
/* 021B3428 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B342C */ _t210 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B342C */ _t211 = _t210 & 0x00000001u;
|
|
/* 021B342C */ if (_t211) goto L_021B3430; // else: addr-0 trap, fall-through
|
|
L_021B3430: ; // 0x21b3430
|
|
/* 021B3430 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3434 */ goto L_021B35A8;
|
|
L_021B3438: ; // 0x21b3438
|
|
/* 021B3438 */ _t212 = cpu->r[1] + 0x00000028u;
|
|
/* 021B3438 */ cpu->r[8] = rbrew_read32(cpu->mem, _t212);
|
|
/* 021B343C */ _t213 = cpu->r[8] + 0x00000014u;
|
|
/* 021B343C */ cpu->r[9] = rbrew_read32(cpu->mem, _t213);
|
|
/* 021B3440 */ cpu->ctr = cpu->r[9];
|
|
/* 021B3444 */ _t214 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t214);
|
|
/* 021B3448 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B344C */ cpu->r[25] = 0x00000002u;
|
|
/* 021B3450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3454 */ _t215 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t215);
|
|
/* 021B3458 */ _t216 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3458 */ cpu->r[10] = rbrew_read8(cpu->mem, _t216);
|
|
/* 021B345C */ cpu->r[31] = 0x00000000u;
|
|
/* 021B3460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 021B3464 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B3468 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3468 */ _t218 = _t217 & 0x00000001u;
|
|
/* 021B3468 */ if (_t218) goto L_021B3490; else goto L_021B346C;
|
|
L_021B346C: ; // 0x21b346c
|
|
/* 021B346C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B3470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 021B3474 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B3478 */ _t219 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3478 */ _t220 = _t219 & 0x00000001u;
|
|
/* 021B3478 */ if (_t220) goto L_021B348C; else goto L_021B347C;
|
|
L_021B347C: ; // 0x21b347c
|
|
/* 021B347C */ _t221 = cpu->r[12] + 0x00000000u;
|
|
/* 021B347C */ cpu->r[11] = rbrew_read8(cpu->mem, _t221);
|
|
/* 021B3480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 021B3484 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3484 */ _t223 = _t222 & 0x00000001u;
|
|
/* 021B3484 */ if (_t223) goto L_021B3488; else goto L_021B346C;
|
|
L_021B3488: ; // 0x21b3488
|
|
/* 021B3488 */ goto L_021B3490;
|
|
L_021B348C: ; // 0x21b348c
|
|
/* 021B348C */ cpu->r[31] = 0x00000000u;
|
|
L_021B3490: ; // 0x21b3490
|
|
/* 021B3490 */ cpu->r[23] = cpu->r[31];
|
|
/* 021B3490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 021B3494 */ _t224 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B3494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t224);
|
|
/* 021B3498 */ _t225 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3498 */ _t226 = _t225 & 0x00000001u;
|
|
/* 021B3498 */ if (_t226) goto L_021B349C; else goto L_021B34A0;
|
|
L_021B349C: ; // 0x21b349c
|
|
/* 021B349C */ cpu->r[23] = 0x00000000u;
|
|
L_021B34A0: ; // 0x21b34a0
|
|
/* 021B34A0 */ cpu->r[8] = cpu->r[12] - cpu->r[23];
|
|
/* 021B34A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 021B34A8 */ _t227 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B34A8 */ _t228 = _t227 & 0x00000001u;
|
|
/* 021B34A8 */ if (_t228) goto L_021B34B4; else goto L_021B34AC;
|
|
L_021B34AC: ; // 0x21b34ac
|
|
/* 021B34AC */ cpu->r[25] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B34AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B34B0 */ _t229 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B34B0 */ _t230 = _t229 & 0x00000001u;
|
|
/* 021B34B0 */ if (_t230) goto L_021B34B4; else goto L_021B3554;
|
|
L_021B34B4: ; // 0x21b34b4
|
|
/* 021B34B4 */ _t231 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B34B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t231);
|
|
/* 021B34B8 */ _t232 = cpu->r[12] + 0x00000014u;
|
|
/* 021B34B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t232);
|
|
/* 021B34BC */ cpu->ctr = cpu->r[0];
|
|
/* 021B34C0 */ cpu->r[24] = cpu->r[29] + cpu->r[23];
|
|
/* 021B34C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B34C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B34CC */ _t233 = cpu->r[1] + 0x00000008u;
|
|
/* 021B34CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t233);
|
|
/* 021B34D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B34D4 */ cpu->r[5] = cpu->r[25];
|
|
/* 021B34D8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021B34DC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B34E0 */ cpu->r[6] = cpu->r[23] + cpu->r[25];
|
|
/* 021B34E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[31]);
|
|
/* 021B34E8 */ _t234 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B34E8 */ _t235 = _t234 & 0x00000001u;
|
|
/* 021B34E8 */ if (_t235) goto L_021B34EC; else goto L_021B3554;
|
|
L_021B34EC: ; // 0x21b34ec
|
|
/* 021B34EC */ _t236 = cpu->r[29] + cpu->r[6];
|
|
/* 021B34EC */ rbrew_write8(cpu->mem, _t236, (uint8_t)cpu->r[30]);
|
|
/* 021B34F0 */ _t237 = cpu->r[26] + 0x00000004u;
|
|
/* 021B34F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t237);
|
|
/* 021B34F4 */ _t238 = cpu->r[4] + 0x00000014u;
|
|
/* 021B34F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t238);
|
|
/* 021B34F8 */ cpu->ctr = cpu->r[5];
|
|
/* 021B34FC */ cpu->r[3] = cpu->r[26];
|
|
/* 021B3500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3504 */ _t239 = cpu->r[1] + 0x00000028u;
|
|
/* 021B3504 */ cpu->r[6] = rbrew_read32(cpu->mem, _t239);
|
|
/* 021B3508 */ _t240 = cpu->r[6] + 0x00000014u;
|
|
/* 021B3508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t240);
|
|
/* 021B350C */ cpu->ctr = cpu->r[0];
|
|
/* 021B3510 */ _t241 = cpu->r[26] + 0x00000000u;
|
|
/* 021B3510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t241);
|
|
/* 021B3514 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B3518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B351C */ cpu->r[12] = 0x101D0000u;
|
|
/* 021B3520 */ _t242 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3520 */ cpu->r[7] = rbrew_read32(cpu->mem, _t242);
|
|
/* 021B3524 */ _t243 = cpu->r[12] + 0xFFFF9560u;
|
|
/* 021B3524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t243);
|
|
/* 021B3528 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B352C */ cpu->r[5] = cpu->r[31];
|
|
/* 021B3530 */ _t244 = cpu->r[12] + 0x000004D4u;
|
|
/* 021B3530 */ cpu->r[6] = rbrew_read32(cpu->mem, _t244);
|
|
/* 021B3534 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E04u;
|
|
/* 021B3538 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B353C */ _t245 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B353C */ _t246 = _t245 & 0x00000001u;
|
|
/* 021B353C */ if (_t246) goto L_021B3540; // else: addr-0 trap, fall-through
|
|
L_021B3540: ; // 0x21b3540
|
|
/* 021B3540 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3544 */ goto L_021B35A8;
|
|
L_021B3548: ; // 0x21b3548
|
|
/* 021B3548 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021B354C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000006u);
|
|
/* 021B3550 */ _t247 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3550 */ _t248 = _t247 & 0x00000001u;
|
|
/* 021B3550 */ if (_t248) goto L_021B30BC; else goto L_021B3554;
|
|
L_021B3554: ; // 0x21b3554
|
|
/* 021B3554 */ _t249 = cpu->r[26] + 0x00000004u;
|
|
/* 021B3554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t249);
|
|
/* 021B3558 */ _t250 = cpu->r[4] + 0x00000014u;
|
|
/* 021B3558 */ cpu->r[5] = rbrew_read32(cpu->mem, _t250);
|
|
/* 021B355C */ cpu->ctr = cpu->r[5];
|
|
/* 021B3560 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B3564 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3568 */ _t251 = cpu->r[1] + 0x00000028u;
|
|
/* 021B3568 */ cpu->r[6] = rbrew_read32(cpu->mem, _t251);
|
|
/* 021B356C */ _t252 = cpu->r[6] + 0x00000014u;
|
|
/* 021B356C */ cpu->r[0] = rbrew_read32(cpu->mem, _t252);
|
|
/* 021B3570 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3574 */ _t253 = cpu->r[26] + 0x00000000u;
|
|
/* 021B3574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t253);
|
|
/* 021B3578 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 021B357C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3580 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021B3584 */ _t254 = cpu->r[1] + 0x00000024u;
|
|
/* 021B3584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t254);
|
|
/* 021B3588 */ _t255 = cpu->r[12] + 0xFFFF9560u;
|
|
/* 021B3588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t255);
|
|
/* 021B358C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B3590 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B3594 */ _t256 = cpu->r[12] + 0x000004D4u;
|
|
/* 021B3594 */ cpu->r[6] = rbrew_read32(cpu->mem, _t256);
|
|
/* 021B3598 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E04u;
|
|
/* 021B359C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B35A0 */ _t257 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B35A0 */ _t258 = _t257 & 0x00000001u;
|
|
/* 021B35A0 */ if (_t258) goto L_021B35A4; // else: addr-0 trap, fall-through
|
|
L_021B35A4: ; // 0x21b35a4
|
|
/* 021B35A4 */ Gambit_fn_0282A718(cpu);
|
|
L_021B35A8: ; // 0x21b35a8
|
|
/* 021B35A8 */ cpu->r[4] = cpu->r[1] + 0x00000019u;
|
|
/* 021B35AC */ cpu->r[5] = cpu->r[28];
|
|
/* 021B35B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B35B4 */ Gambit_fn_0280CE90(cpu);
|
|
/* 021B35B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B35BC */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B35BC */ _t260 = _t259 & 0x00000001u;
|
|
/* 021B35BC */ if (_t260) goto L_021B35FC; else goto L_021B35C0;
|
|
L_021B35C0: ; // 0x21b35c0
|
|
/* 021B35C0 */ _t261 = cpu->r[1] + 0x00000019u;
|
|
/* 021B35C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t261);
|
|
/* 021B35C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B35C8 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B35C8 */ _t263 = _t262 & 0x00000001u;
|
|
/* 021B35C8 */ if (_t263) goto L_021B35CC; else goto L_021B35E4;
|
|
L_021B35CC: ; // 0x21b35cc
|
|
/* 021B35CC */ cpu->r[5] = 0x00000777u;
|
|
/* 021B35D0 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B35D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B35D8 */ Gambit_fn_0280D040(cpu);
|
|
/* 021B35DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B35E0 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B35E0 */ _t265 = _t264 & 0x00000001u;
|
|
/* 021B35E0 */ if (_t265) goto L_021B35FC; else goto L_021B35E4;
|
|
L_021B35E4: ; // 0x21b35e4
|
|
/* 021B35E4 */ /* nop */
|
|
/* 021B35E8 */ _t266 = cpu->r[1] + 0x00000274u;
|
|
/* 021B35E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t266);
|
|
/* 021B35EC */ cpu->lr = cpu->r[0];
|
|
/* 021B35F0 */ cpu->r[1] = cpu->r[1] + 0x00000270u;
|
|
/* 021B35F4 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B35F8 */ return;
|
|
L_021B35FC: ; // 0x21b35fc
|
|
/* 021B35FC */ /* nop */
|
|
/* 021B3600 */ _t267 = cpu->r[1] + 0x00000274u;
|
|
/* 021B3600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t267);
|
|
/* 021B3604 */ cpu->lr = cpu->r[0];
|
|
/* 021B3608 */ cpu->r[1] = cpu->r[1] + 0x00000270u;
|
|
/* 021B360C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B3610 */ return;
|
|
}
|
|
|
|
// fn_021B3614 @ 0x21b3614
|
|
void Gambit_fn_021B3614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208;
|
|
|
|
L_021B3614: ; // 0x21b3614
|
|
/* 021B3614 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 021B3614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B3614 */ cpu->r[1] = _t0;
|
|
/* 021B3618 */ /* nop */
|
|
/* 021B361C */ cpu->r[0] = cpu->lr;
|
|
/* 021B3620 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B3620 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B3624 */ cpu->r[27] = cpu->r[5];
|
|
/* 021B3628 */ cpu->r[26] = 0x10030000u;
|
|
/* 021B362C */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 021B362C */ cpu->r[5] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B3630 */ cpu->r[26] = cpu->r[26] + 0xFFFF9C90u;
|
|
/* 021B3634 */ cpu->r[28] = cpu->r[4];
|
|
/* 021B3638 */ cpu->r[31] = 0x10110000u;
|
|
/* 021B363C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021B3640 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3644 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3644 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B3644 */ if (_t4) goto L_021B3880; else goto L_021B3648;
|
|
L_021B3648: ; // 0x21b3648
|
|
/* 021B3648 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B364C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021B364C */ rbrew_write32(cpu->mem, _t5, cpu->r[26]);
|
|
/* 021B3650 */ cpu->r[0] = cpu->r[0] + 0xFFFF9E20u;
|
|
/* 021B3654 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 021B3654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B3658 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 021B3658 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B365C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 021B365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B3660 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3664 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3664 */ cpu->r[25] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B3668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B366C */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 021B366C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B3670 */ _t11 = cpu->r[31] + 0x00007399u;
|
|
/* 021B3670 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B3674 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 021B3674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021B3678 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B367C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B3680 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B3684 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3684 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B3684 */ if (_t14) goto L_021B36AC; else goto L_021B3688;
|
|
L_021B3688: ; // 0x21b3688
|
|
/* 021B3688 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 021B3690 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B3694 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3694 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B3694 */ if (_t16) goto L_021B36A8; else goto L_021B3698;
|
|
L_021B3698: ; // 0x21b3698
|
|
/* 021B3698 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 021B3698 */ cpu->r[11] = rbrew_read8(cpu->mem, _t17);
|
|
/* 021B369C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B36A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B36A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B36A0 */ if (_t19) goto L_021B36A4; else goto L_021B3688;
|
|
L_021B36A4: ; // 0x21b36a4
|
|
/* 021B36A4 */ goto L_021B36AC;
|
|
L_021B36A8: ; // 0x21b36a8
|
|
/* 021B36A8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B36AC: ; // 0x21b36ac
|
|
/* 021B36AC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B36AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B36B0 */ cpu->r[24] = cpu->r[30];
|
|
/* 021B36B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B36B4 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 021B36B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B36B8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B36B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B36B8 */ if (_t23) goto L_021B36BC; else goto L_021B36C0;
|
|
L_021B36BC: ; // 0x21b36bc
|
|
/* 021B36BC */ cpu->r[24] = 0x00000000u;
|
|
L_021B36C0: ; // 0x21b36c0
|
|
/* 021B36C0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B36C4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B36C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B36CC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 021B36CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B36D0 */ _t25 = cpu->r[8] + 0x00000000u;
|
|
/* 021B36D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 021B36D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B36D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B36DC */ cpu->r[0] = 0x00080000u;
|
|
/* 021B36E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B36E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B36E0 */ if (_t27) goto L_021B3708; else goto L_021B36E4;
|
|
L_021B36E4: ; // 0x21b36e4
|
|
/* 021B36E4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B36E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B36EC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B36F0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B36F0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B36F0 */ if (_t29) goto L_021B3704; else goto L_021B36F4;
|
|
L_021B36F4: ; // 0x21b36f4
|
|
/* 021B36F4 */ _t30 = cpu->r[8] + 0x00000000u;
|
|
/* 021B36F4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t30);
|
|
/* 021B36F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B36FC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B36FC */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B36FC */ if (_t32) goto L_021B3700; else goto L_021B36E4;
|
|
L_021B3700: ; // 0x21b3700
|
|
/* 021B3700 */ goto L_021B3708;
|
|
L_021B3704: ; // 0x21b3704
|
|
/* 021B3704 */ cpu->r[29] = 0x00000000u;
|
|
L_021B3708: ; // 0x21b3708
|
|
/* 021B3708 */ _t33 = cpu->r[28] + 0x00000008u;
|
|
/* 021B3708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B370C */ cpu->r[10] = cpu->r[8] - cpu->r[24];
|
|
/* 021B3710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B3714 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3714 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021B3714 */ if (_t35) goto L_021B371C; else goto L_021B3718;
|
|
L_021B3718: ; // 0x21b3718
|
|
/* 021B3718 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B371C: ; // 0x21b371c
|
|
/* 021B371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B3720 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3720 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B3720 */ if (_t37) goto L_021B3724; else goto L_021B3760;
|
|
L_021B3724: ; // 0x21b3724
|
|
/* 021B3724 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 021B3724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B3728 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 021B3728 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B372C */ cpu->ctr = cpu->r[10];
|
|
/* 021B3730 */ cpu->r[23] = cpu->r[25] + cpu->r[24];
|
|
/* 021B3734 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3738 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B373C */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 021B373C */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B3740 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B3744 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B3748 */ cpu->r[3] = cpu->r[23];
|
|
/* 021B374C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3750 */ cpu->r[0] = cpu->r[24] + cpu->r[29];
|
|
/* 021B3754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B3758 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3758 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021B3758 */ if (_t42) goto L_021B375C; else goto L_021B3760;
|
|
L_021B375C: ; // 0x21b375c
|
|
/* 021B375C */ _t43 = cpu->r[25] + cpu->r[0];
|
|
/* 021B375C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[31]);
|
|
L_021B3760: ; // 0x21b3760
|
|
/* 021B3760 */ _t44 = cpu->r[27] + 0x0000011Cu;
|
|
/* 021B3760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021B3764 */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 021B3764 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B3768 */ _t46 = cpu->r[11] + 0x00000014u;
|
|
/* 021B3768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021B376C */ cpu->ctr = cpu->r[12];
|
|
/* 021B3770 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B3774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3778 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B377C */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 021B377C */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B3780 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E28u;
|
|
/* 021B3784 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3788 */ _t48 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3788 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021B3788 */ if (_t49) goto L_021B378C; // else: addr-0 trap, fall-through
|
|
L_021B378C: ; // 0x21b378c
|
|
/* 021B378C */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3790 */ _t50 = cpu->r[27] + 0x00000128u;
|
|
/* 021B3790 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B3794 */ cpu->r[30] = 0x10030000u;
|
|
/* 021B3798 */ _t51 = cpu->r[27] + 0x00000124u;
|
|
/* 021B3798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B379C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B37A0 */ _t52 = cpu->r[27] + 0x00000130u;
|
|
/* 021B37A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021B37A4 */ _t53 = cpu->r[27] + 0x00000138u;
|
|
/* 021B37A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021B37A8 */ cpu->r[4] = cpu->r[30] + 0xFFFF9E54u;
|
|
/* 021B37AC */ _t54 = cpu->r[27] + 0x00000134u;
|
|
/* 021B37AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021B37B0 */ _t55 = cpu->r[27] + 0x00000120u;
|
|
/* 021B37B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021B37B4 */ _t56 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B37B4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021B37B4 */ if (_t57) goto L_021B37B8; // else: addr-0 trap, fall-through
|
|
L_021B37B8: ; // 0x21b37b8
|
|
/* 021B37B8 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B37BC */ _t58 = cpu->r[27] + 0x00000140u;
|
|
/* 021B37BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021B37C0 */ cpu->r[4] = cpu->r[30] + 0xFFFF9E54u;
|
|
/* 021B37C4 */ _t59 = cpu->r[27] + 0x0000013Cu;
|
|
/* 021B37C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B37C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B37CC */ _t60 = cpu->r[27] + 0x0000014Cu;
|
|
/* 021B37CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B37D0 */ _t61 = cpu->r[27] + 0x00000154u;
|
|
/* 021B37D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021B37D4 */ _t62 = cpu->r[27] + 0x00000144u;
|
|
/* 021B37D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021B37D8 */ _t63 = cpu->r[27] + 0x00000150u;
|
|
/* 021B37D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021B37DC */ _t64 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B37DC */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B37DC */ if (_t65) goto L_021B37E0; // else: addr-0 trap, fall-through
|
|
L_021B37E0: ; // 0x21b37e0
|
|
/* 021B37E0 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B37E4 */ _t66 = cpu->r[27] + 0x00000158u;
|
|
/* 021B37E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021B37E8 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B37EC */ _t67 = cpu->r[27] + 0x0000016Cu;
|
|
/* 021B37EC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021B37F0 */ _t68 = cpu->r[27] + 0x00000160u;
|
|
/* 021B37F0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 021B37F4 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E74u;
|
|
/* 021B37F8 */ _t69 = cpu->r[27] + 0x0000015Cu;
|
|
/* 021B37F8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 021B37FC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3800 */ _t70 = cpu->r[27] + 0x00000184u;
|
|
/* 021B3800 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021B3804 */ _t71 = cpu->r[27] + 0x00000164u;
|
|
/* 021B3804 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 021B3808 */ _t72 = cpu->r[27] + 0x00000180u;
|
|
/* 021B3808 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 021B380C */ _t73 = cpu->r[27] + 0x00000168u;
|
|
/* 021B380C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 021B3810 */ _t74 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3810 */ _t75 = _t74 & 0x00000001u;
|
|
/* 021B3810 */ if (_t75) goto L_021B3814; // else: addr-0 trap, fall-through
|
|
L_021B3814: ; // 0x21b3814
|
|
/* 021B3814 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3818 */ _t76 = cpu->r[27] + 0x0000019Cu;
|
|
/* 021B3818 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021B381C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B3820 */ _t77 = cpu->r[27] + 0x000001A0u;
|
|
/* 021B3820 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B3824 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3828 */ _t78 = cpu->r[27] + 0x00000198u;
|
|
/* 021B3828 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021B382C */ cpu->r[4] = cpu->r[4] + 0xFFFF9E44u;
|
|
/* 021B3830 */ _t79 = cpu->r[27] + 0x000001A4u;
|
|
/* 021B3830 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 021B3834 */ _t80 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3834 */ _t81 = _t80 & 0x00000001u;
|
|
/* 021B3834 */ if (_t81) goto L_021B3838; // else: addr-0 trap, fall-through
|
|
L_021B3838: ; // 0x21b3838
|
|
/* 021B3838 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B383C */ cpu->r[7] = 0x10030000u;
|
|
/* 021B3840 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3840 */ rbrew_write32(cpu->mem, _t82, cpu->r[26]);
|
|
/* 021B3844 */ _t83 = cpu->r[28] + 0x00000004u;
|
|
/* 021B3844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021B3848 */ cpu->r[7] = cpu->r[7] + 0xFFFF9E40u;
|
|
/* 021B384C */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 021B384C */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 021B3850 */ _t85 = cpu->r[8] + 0x00000014u;
|
|
/* 021B3850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B3854 */ cpu->ctr = cpu->r[9];
|
|
/* 021B3858 */ _t86 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3858 */ cpu->r[27] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B385C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3864 */ _t87 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021B3868 */ _t88 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3868 */ cpu->r[10] = rbrew_read8(cpu->mem, _t88);
|
|
/* 021B386C */ cpu->r[6] = 0x00080000u;
|
|
/* 021B3870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B3874 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B3878 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3878 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B3878 */ if (_t90) goto L_021B387C; else goto L_021B3ACC;
|
|
L_021B387C: ; // 0x21b387c
|
|
/* 021B387C */ goto L_021B3AF0;
|
|
L_021B3880: ; // 0x21b3880
|
|
/* 021B3880 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3884 */ _t91 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3884 */ rbrew_write32(cpu->mem, _t91, cpu->r[26]);
|
|
/* 021B3888 */ cpu->r[0] = cpu->r[0] + 0xFFFF9E30u;
|
|
/* 021B388C */ _t92 = cpu->r[28] + 0x00000004u;
|
|
/* 021B388C */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021B3890 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 021B3890 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 021B3894 */ _t94 = cpu->r[5] + 0x00000014u;
|
|
/* 021B3894 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B3898 */ cpu->ctr = cpu->r[6];
|
|
/* 021B389C */ _t95 = cpu->r[28] + 0x00000000u;
|
|
/* 021B389C */ cpu->r[25] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B38A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B38A4 */ _t96 = cpu->r[28] + 0x00000000u;
|
|
/* 021B38A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B38A8 */ _t97 = cpu->r[31] + 0x00007399u;
|
|
/* 021B38A8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t97);
|
|
/* 021B38AC */ _t98 = cpu->r[6] + 0x00000000u;
|
|
/* 021B38AC */ cpu->r[7] = rbrew_read8(cpu->mem, _t98);
|
|
/* 021B38B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B38B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B38B8 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B38BC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B38BC */ _t100 = _t99 & 0x00000001u;
|
|
/* 021B38BC */ if (_t100) goto L_021B38E4; else goto L_021B38C0;
|
|
L_021B38C0: ; // 0x21b38c0
|
|
/* 021B38C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B38C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B38C8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B38CC */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B38CC */ _t102 = _t101 & 0x00000001u;
|
|
/* 021B38CC */ if (_t102) goto L_021B38E0; else goto L_021B38D0;
|
|
L_021B38D0: ; // 0x21b38d0
|
|
/* 021B38D0 */ _t103 = cpu->r[6] + 0x00000000u;
|
|
/* 021B38D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t103);
|
|
/* 021B38D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B38D8 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B38D8 */ _t105 = _t104 & 0x00000001u;
|
|
/* 021B38D8 */ if (_t105) goto L_021B38DC; else goto L_021B38C0;
|
|
L_021B38DC: ; // 0x21b38dc
|
|
/* 021B38DC */ goto L_021B38E4;
|
|
L_021B38E0: ; // 0x21b38e0
|
|
/* 021B38E0 */ cpu->r[30] = 0x00000000u;
|
|
L_021B38E4: ; // 0x21b38e4
|
|
/* 021B38E4 */ _t106 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B38E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B38E8 */ cpu->r[24] = cpu->r[30];
|
|
/* 021B38E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B38EC */ _t107 = cpu->r[9] + 0x00000014u;
|
|
/* 021B38EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B38F0 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B38F0 */ _t109 = _t108 & 0x00000001u;
|
|
/* 021B38F0 */ if (_t109) goto L_021B38F4; else goto L_021B38F8;
|
|
L_021B38F4: ; // 0x21b38f4
|
|
/* 021B38F4 */ cpu->r[24] = 0x00000000u;
|
|
L_021B38F8: ; // 0x21b38f8
|
|
/* 021B38F8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B38FC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3904 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 021B3904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B3908 */ _t111 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3908 */ cpu->r[11] = rbrew_read8(cpu->mem, _t111);
|
|
/* 021B390C */ cpu->r[5] = 0x00080000u;
|
|
/* 021B3910 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B3914 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B3918 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3918 */ _t113 = _t112 & 0x00000001u;
|
|
/* 021B3918 */ if (_t113) goto L_021B3940; else goto L_021B391C;
|
|
L_021B391C: ; // 0x21b391c
|
|
/* 021B391C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B3920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B3924 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B3928 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3928 */ _t115 = _t114 & 0x00000001u;
|
|
/* 021B3928 */ if (_t115) goto L_021B393C; else goto L_021B392C;
|
|
L_021B392C: ; // 0x21b392c
|
|
/* 021B392C */ _t116 = cpu->r[12] + 0x00000000u;
|
|
/* 021B392C */ cpu->r[0] = rbrew_read8(cpu->mem, _t116);
|
|
/* 021B3930 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B3934 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3934 */ _t118 = _t117 & 0x00000001u;
|
|
/* 021B3934 */ if (_t118) goto L_021B3938; else goto L_021B391C;
|
|
L_021B3938: ; // 0x21b3938
|
|
/* 021B3938 */ goto L_021B3940;
|
|
L_021B393C: ; // 0x21b393c
|
|
/* 021B393C */ cpu->r[29] = 0x00000000u;
|
|
L_021B3940: ; // 0x21b3940
|
|
/* 021B3940 */ _t119 = cpu->r[28] + 0x00000008u;
|
|
/* 021B3940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B3944 */ cpu->r[9] = cpu->r[8] - cpu->r[24];
|
|
/* 021B3948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B394C */ _t120 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B394C */ _t121 = _t120 & 0x00000001u;
|
|
/* 021B394C */ if (_t121) goto L_021B3954; else goto L_021B3950;
|
|
L_021B3950: ; // 0x21b3950
|
|
/* 021B3950 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B3954: ; // 0x21b3954
|
|
/* 021B3954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B3958 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3958 */ _t123 = _t122 & 0x00000001u;
|
|
/* 021B3958 */ if (_t123) goto L_021B395C; else goto L_021B3998;
|
|
L_021B395C: ; // 0x21b395c
|
|
/* 021B395C */ _t124 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B395C */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021B3960 */ _t125 = cpu->r[5] + 0x00000014u;
|
|
/* 021B3960 */ cpu->r[8] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B3964 */ cpu->ctr = cpu->r[8];
|
|
/* 021B3968 */ cpu->r[23] = cpu->r[25] + cpu->r[24];
|
|
/* 021B396C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3970 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3974 */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 021B3974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021B3978 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B397C */ cpu->r[5] = cpu->r[29];
|
|
/* 021B3980 */ cpu->r[3] = cpu->r[23];
|
|
/* 021B3984 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3988 */ cpu->r[12] = cpu->r[24] + cpu->r[29];
|
|
/* 021B398C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
|
|
/* 021B3990 */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3990 */ _t128 = _t127 & 0x00000001u;
|
|
/* 021B3990 */ if (_t128) goto L_021B3994; else goto L_021B3998;
|
|
L_021B3994: ; // 0x21b3994
|
|
/* 021B3994 */ _t129 = cpu->r[25] + cpu->r[12];
|
|
/* 021B3994 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[31]);
|
|
L_021B3998: ; // 0x21b3998
|
|
/* 021B3998 */ _t130 = cpu->r[27] + 0x00000008u;
|
|
/* 021B3998 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130);
|
|
/* 021B399C */ _t131 = cpu->r[10] + 0x00000014u;
|
|
/* 021B399C */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 021B39A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B39A4 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 021B39A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B39AC */ _t132 = cpu->r[27] + 0x00000094u;
|
|
/* 021B39AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t132);
|
|
/* 021B39B0 */ _t133 = cpu->r[5] + 0x00000014u;
|
|
/* 021B39B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 021B39B4 */ cpu->ctr = cpu->r[7];
|
|
/* 021B39B8 */ _t134 = cpu->r[27] + 0x00000004u;
|
|
/* 021B39B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t134);
|
|
/* 021B39BC */ cpu->r[3] = cpu->r[27] + 0x00000090u;
|
|
/* 021B39C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B39C4 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B39C8 */ _t135 = cpu->r[27] + 0x00000090u;
|
|
/* 021B39C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 021B39CC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B39D0 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E38u;
|
|
/* 021B39D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B39D8 */ _t136 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B39D8 */ _t137 = _t136 & 0x00000001u;
|
|
/* 021B39D8 */ if (_t137) goto L_021B39DC; // else: addr-0 trap, fall-through
|
|
L_021B39DC: ; // 0x21b39dc
|
|
/* 021B39DC */ Gambit_fn_0282A718(cpu);
|
|
/* 021B39E0 */ _t138 = cpu->r[27] + 0x00000120u;
|
|
/* 021B39E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t138);
|
|
/* 021B39E4 */ cpu->r[30] = 0x10030000u;
|
|
/* 021B39E8 */ _t139 = cpu->r[27] + 0x00000124u;
|
|
/* 021B39E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021B39EC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B39F0 */ _t140 = cpu->r[27] + 0x00000130u;
|
|
/* 021B39F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B39F4 */ cpu->r[4] = cpu->r[30] + 0xFFFF9E54u;
|
|
/* 021B39F8 */ _t141 = cpu->r[27] + 0x00000138u;
|
|
/* 021B39F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 021B39FC */ _t142 = cpu->r[27] + 0x00000134u;
|
|
/* 021B39FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t142);
|
|
/* 021B3A00 */ _t143 = cpu->r[27] + 0x00000128u;
|
|
/* 021B3A00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021B3A04 */ _t144 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3A04 */ _t145 = _t144 & 0x00000001u;
|
|
/* 021B3A04 */ if (_t145) goto L_021B3A08; // else: addr-0 trap, fall-through
|
|
L_021B3A08: ; // 0x21b3a08
|
|
/* 021B3A08 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3A0C */ _t146 = cpu->r[27] + 0x0000013Cu;
|
|
/* 021B3A0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 021B3A10 */ cpu->r[4] = cpu->r[30] + 0xFFFF9E54u;
|
|
/* 021B3A14 */ _t147 = cpu->r[27] + 0x00000140u;
|
|
/* 021B3A14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t147);
|
|
/* 021B3A18 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3A1C */ _t148 = cpu->r[27] + 0x00000144u;
|
|
/* 021B3A1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t148);
|
|
/* 021B3A20 */ _t149 = cpu->r[27] + 0x0000014Cu;
|
|
/* 021B3A20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t149);
|
|
/* 021B3A24 */ _t150 = cpu->r[27] + 0x00000150u;
|
|
/* 021B3A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t150);
|
|
/* 021B3A28 */ _t151 = cpu->r[27] + 0x00000154u;
|
|
/* 021B3A28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t151);
|
|
/* 021B3A2C */ _t152 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3A2C */ _t153 = _t152 & 0x00000001u;
|
|
/* 021B3A2C */ if (_t153) goto L_021B3A30; // else: addr-0 trap, fall-through
|
|
L_021B3A30: ; // 0x21b3a30
|
|
/* 021B3A30 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3A34 */ _t154 = cpu->r[27] + 0x00000168u;
|
|
/* 021B3A34 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 021B3A38 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B3A3C */ _t155 = cpu->r[27] + 0x00000164u;
|
|
/* 021B3A3C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 021B3A40 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3A44 */ _t156 = cpu->r[27] + 0x0000015Cu;
|
|
/* 021B3A44 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 021B3A48 */ cpu->r[4] = cpu->r[4] + 0xFFFF9E74u;
|
|
/* 021B3A4C */ _t157 = cpu->r[27] + 0x00000184u;
|
|
/* 021B3A4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 021B3A50 */ _t158 = cpu->r[27] + 0x00000160u;
|
|
/* 021B3A50 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 021B3A54 */ _t159 = cpu->r[27] + 0x0000016Cu;
|
|
/* 021B3A54 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 021B3A58 */ _t160 = cpu->r[27] + 0x00000180u;
|
|
/* 021B3A58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 021B3A5C */ _t161 = cpu->r[27] + 0x00000158u;
|
|
/* 021B3A5C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 021B3A60 */ _t162 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3A60 */ _t163 = _t162 & 0x00000001u;
|
|
/* 021B3A60 */ if (_t163) goto L_021B3A64; // else: addr-0 trap, fall-through
|
|
L_021B3A64: ; // 0x21b3a64
|
|
/* 021B3A64 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3A68 */ _t164 = cpu->r[27] + 0x0000019Cu;
|
|
/* 021B3A68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t164);
|
|
/* 021B3A6C */ cpu->r[4] = 0x10030000u;
|
|
/* 021B3A70 */ _t165 = cpu->r[27] + 0x00000198u;
|
|
/* 021B3A70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t165);
|
|
/* 021B3A74 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3A78 */ _t166 = cpu->r[27] + 0x000001A0u;
|
|
/* 021B3A78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t166);
|
|
/* 021B3A7C */ cpu->r[4] = cpu->r[4] + 0xFFFF9E44u;
|
|
/* 021B3A80 */ _t167 = cpu->r[27] + 0x000001A4u;
|
|
/* 021B3A80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 021B3A84 */ _t168 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3A84 */ _t169 = _t168 & 0x00000001u;
|
|
/* 021B3A84 */ if (_t169) goto L_021B3A88; // else: addr-0 trap, fall-through
|
|
L_021B3A88: ; // 0x21b3a88
|
|
/* 021B3A88 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B3A8C */ cpu->r[7] = 0x10030000u;
|
|
/* 021B3A90 */ _t170 = cpu->r[28] + 0x00000004u;
|
|
/* 021B3A90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t170);
|
|
/* 021B3A94 */ cpu->r[7] = cpu->r[7] + 0xFFFF9E40u;
|
|
/* 021B3A98 */ _t171 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3A98 */ rbrew_write32(cpu->mem, _t171, cpu->r[26]);
|
|
/* 021B3A9C */ _t172 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3A9C */ rbrew_write32(cpu->mem, _t172, cpu->r[7]);
|
|
/* 021B3AA0 */ _t173 = cpu->r[8] + 0x00000014u;
|
|
/* 021B3AA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 021B3AA4 */ cpu->ctr = cpu->r[9];
|
|
/* 021B3AA8 */ _t174 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3AA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t174);
|
|
/* 021B3AAC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3AB4 */ _t175 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t175);
|
|
/* 021B3AB8 */ _t176 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3AB8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t176);
|
|
/* 021B3ABC */ cpu->r[6] = 0x00080000u;
|
|
/* 021B3AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B3AC4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B3AC8 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3AC8 */ _t178 = _t177 & 0x00000001u;
|
|
/* 021B3AC8 */ if (_t178) goto L_021B3AF0; else goto L_021B3ACC;
|
|
L_021B3ACC: ; // 0x21b3acc
|
|
/* 021B3ACC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B3AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B3AD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B3AD8 */ _t179 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3AD8 */ _t180 = _t179 & 0x00000001u;
|
|
/* 021B3AD8 */ if (_t180) goto L_021B3AEC; else goto L_021B3ADC;
|
|
L_021B3ADC: ; // 0x21b3adc
|
|
/* 021B3ADC */ _t181 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3ADC */ cpu->r[0] = rbrew_read8(cpu->mem, _t181);
|
|
/* 021B3AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B3AE4 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3AE4 */ _t183 = _t182 & 0x00000001u;
|
|
/* 021B3AE4 */ if (_t183) goto L_021B3AE8; else goto L_021B3ACC;
|
|
L_021B3AE8: ; // 0x21b3ae8
|
|
/* 021B3AE8 */ goto L_021B3AF0;
|
|
L_021B3AEC: ; // 0x21b3aec
|
|
/* 021B3AEC */ cpu->r[29] = 0x00000000u;
|
|
L_021B3AF0: ; // 0x21b3af0
|
|
/* 021B3AF0 */ _t184 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
|
|
/* 021B3AF4 */ cpu->r[26] = cpu->r[29];
|
|
/* 021B3AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B3AF8 */ _t185 = cpu->r[12] + 0x00000014u;
|
|
/* 021B3AF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t185);
|
|
/* 021B3AFC */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3AFC */ _t187 = _t186 & 0x00000001u;
|
|
/* 021B3AFC */ if (_t187) goto L_021B3B00; else goto L_021B3B04;
|
|
L_021B3B00: ; // 0x21b3b00
|
|
/* 021B3B00 */ cpu->r[26] = 0x00000000u;
|
|
L_021B3B04: ; // 0x21b3b04
|
|
/* 021B3B04 */ cpu->ctr = cpu->r[6];
|
|
/* 021B3B08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3B0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3B10 */ _t188 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3B10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t188);
|
|
/* 021B3B14 */ _t189 = cpu->r[6] + 0x00000000u;
|
|
/* 021B3B14 */ cpu->r[7] = rbrew_read8(cpu->mem, _t189);
|
|
/* 021B3B18 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B3B1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B3B20 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B3B24 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3B24 */ _t191 = _t190 & 0x00000001u;
|
|
/* 021B3B24 */ if (_t191) goto L_021B3B4C; else goto L_021B3B28;
|
|
L_021B3B28: ; // 0x21b3b28
|
|
/* 021B3B28 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B3B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B3B30 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B3B34 */ _t192 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3B34 */ _t193 = _t192 & 0x00000001u;
|
|
/* 021B3B34 */ if (_t193) goto L_021B3B48; else goto L_021B3B38;
|
|
L_021B3B38: ; // 0x21b3b38
|
|
/* 021B3B38 */ _t194 = cpu->r[6] + 0x00000000u;
|
|
/* 021B3B38 */ cpu->r[8] = rbrew_read8(cpu->mem, _t194);
|
|
/* 021B3B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B3B40 */ _t195 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3B40 */ _t196 = _t195 & 0x00000001u;
|
|
/* 021B3B40 */ if (_t196) goto L_021B3B44; else goto L_021B3B28;
|
|
L_021B3B44: ; // 0x21b3b44
|
|
/* 021B3B44 */ goto L_021B3B4C;
|
|
L_021B3B48: ; // 0x21b3b48
|
|
/* 021B3B48 */ cpu->r[30] = 0x00000000u;
|
|
L_021B3B4C: ; // 0x21b3b4c
|
|
/* 021B3B4C */ _t197 = cpu->r[28] + 0x00000008u;
|
|
/* 021B3B4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t197);
|
|
/* 021B3B50 */ cpu->r[11] = cpu->r[8] - cpu->r[26];
|
|
/* 021B3B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B3B58 */ _t198 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3B58 */ _t199 = _t198 & 0x00000001u;
|
|
/* 021B3B58 */ if (_t199) goto L_021B3B60; else goto L_021B3B5C;
|
|
L_021B3B5C: ; // 0x21b3b5c
|
|
/* 021B3B5C */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_021B3B60: ; // 0x21b3b60
|
|
/* 021B3B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B3B64 */ _t200 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3B64 */ _t201 = _t200 & 0x00000001u;
|
|
/* 021B3B64 */ if (_t201) goto L_021B3B68; else goto L_021B3BA4;
|
|
L_021B3B68: ; // 0x21b3b68
|
|
/* 021B3B68 */ _t202 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3B68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021B3B6C */ _t203 = cpu->r[10] + 0x00000014u;
|
|
/* 021B3B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t203);
|
|
/* 021B3B70 */ cpu->ctr = cpu->r[12];
|
|
/* 021B3B74 */ cpu->r[28] = cpu->r[27] + cpu->r[26];
|
|
/* 021B3B78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3B7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3B80 */ _t204 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3B80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t204);
|
|
/* 021B3B84 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B3B88 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B3B8C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3B90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3B94 */ cpu->r[0] = cpu->r[26] + cpu->r[30];
|
|
/* 021B3B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[29]);
|
|
/* 021B3B9C */ _t205 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3B9C */ _t206 = _t205 & 0x00000001u;
|
|
/* 021B3B9C */ if (_t206) goto L_021B3BA0; else goto L_021B3BA4;
|
|
L_021B3BA0: ; // 0x21b3ba0
|
|
/* 021B3BA0 */ _t207 = cpu->r[27] + cpu->r[0];
|
|
/* 021B3BA0 */ rbrew_write8(cpu->mem, _t207, (uint8_t)cpu->r[31]);
|
|
L_021B3BA4: ; // 0x21b3ba4
|
|
/* 021B3BA4 */ /* nop */
|
|
/* 021B3BA8 */ _t208 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B3BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 021B3BAC */ cpu->lr = cpu->r[0];
|
|
/* 021B3BB0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3BB4 */ return;
|
|
}
|
|
|
|
// fn_021B3BB8 @ 0x21b3bb8
|
|
void Gambit_fn_021B3BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B3BB8: ; // 0x21b3bb8
|
|
/* 021B3BB8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B3BB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B3BB8 */ cpu->r[1] = _t0;
|
|
/* 021B3BBC */ /* nop */
|
|
/* 021B3BC0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B3BC4 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B3BC8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B3BC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B3BCC */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3BD0 */ cpu->r[12] = cpu->r[12] + 0xFFFF9C90u;
|
|
/* 021B3BD4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9EA0u;
|
|
/* 021B3BD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3BD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 021B3BDC */ cpu->r[27] = cpu->r[4];
|
|
/* 021B3BE0 */ _t3 = cpu->r[27] + 0x00000004u;
|
|
/* 021B3BE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B3BE4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3BE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B3BE8 */ _t5 = cpu->r[8] + 0x00000014u;
|
|
/* 021B3BE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B3BEC */ cpu->ctr = cpu->r[9];
|
|
/* 021B3BF0 */ _t6 = cpu->r[27] + 0x00000000u;
|
|
/* 021B3BF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B3BF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B3BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3BFC */ cpu->r[31] = 0x10110000u;
|
|
/* 021B3C00 */ _t7 = cpu->r[27] + 0x00000000u;
|
|
/* 021B3C00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B3C04 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 021B3C04 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B3C08 */ _t9 = cpu->r[8] + 0x00000000u;
|
|
/* 021B3C08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021B3C0C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B3C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B3C14 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B3C18 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3C18 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B3C18 */ if (_t11) goto L_021B3C40; else goto L_021B3C1C;
|
|
L_021B3C1C: ; // 0x21b3c1c
|
|
/* 021B3C1C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B3C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B3C24 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B3C28 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3C28 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B3C28 */ if (_t13) goto L_021B3C3C; else goto L_021B3C2C;
|
|
L_021B3C2C: ; // 0x21b3c2c
|
|
/* 021B3C2C */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 021B3C2C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 021B3C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B3C34 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3C34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B3C34 */ if (_t16) goto L_021B3C38; else goto L_021B3C1C;
|
|
L_021B3C38: ; // 0x21b3c38
|
|
/* 021B3C38 */ goto L_021B3C40;
|
|
L_021B3C3C: ; // 0x21b3c3c
|
|
/* 021B3C3C */ cpu->r[30] = 0x00000000u;
|
|
L_021B3C40: ; // 0x21b3c40
|
|
/* 021B3C40 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B3C44 */ cpu->r[26] = cpu->r[30];
|
|
/* 021B3C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B3C48 */ _t18 = cpu->r[12] + 0x00000014u;
|
|
/* 021B3C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B3C4C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3C4C */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B3C4C */ if (_t20) goto L_021B3C50; else goto L_021B3C54;
|
|
L_021B3C50: ; // 0x21b3c50
|
|
/* 021B3C50 */ cpu->r[26] = 0x00000000u;
|
|
L_021B3C54: ; // 0x21b3c54
|
|
/* 021B3C54 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3C58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3C5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3C60 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B3C64 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3C64 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B3C68 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B3C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B3C70 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B3C74 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3C74 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B3C74 */ if (_t24) goto L_021B3C9C; else goto L_021B3C78;
|
|
L_021B3C78: ; // 0x21b3c78
|
|
/* 021B3C78 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B3C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B3C80 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B3C84 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3C84 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B3C84 */ if (_t26) goto L_021B3C98; else goto L_021B3C88;
|
|
L_021B3C88: ; // 0x21b3c88
|
|
/* 021B3C88 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 021B3C88 */ cpu->r[8] = rbrew_read8(cpu->mem, _t27);
|
|
/* 021B3C8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B3C90 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3C90 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B3C90 */ if (_t29) goto L_021B3C94; else goto L_021B3C78;
|
|
L_021B3C94: ; // 0x21b3c94
|
|
/* 021B3C94 */ goto L_021B3C9C;
|
|
L_021B3C98: ; // 0x21b3c98
|
|
/* 021B3C98 */ cpu->r[29] = 0x00000000u;
|
|
L_021B3C9C: ; // 0x21b3c9c
|
|
/* 021B3C9C */ _t30 = cpu->r[27] + 0x00000008u;
|
|
/* 021B3C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B3CA0 */ cpu->r[10] = cpu->r[9] - cpu->r[26];
|
|
/* 021B3CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B3CA8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B3CA8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B3CA8 */ if (_t32) goto L_021B3CB0; else goto L_021B3CAC;
|
|
L_021B3CAC: ; // 0x21b3cac
|
|
/* 021B3CAC */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B3CB0: ; // 0x21b3cb0
|
|
/* 021B3CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B3CB4 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3CB4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B3CB4 */ if (_t34) goto L_021B3CB8; else goto L_021B3CF4;
|
|
L_021B3CB8: ; // 0x21b3cb8
|
|
/* 021B3CB8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B3CBC */ _t36 = cpu->r[10] + 0x00000014u;
|
|
/* 021B3CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B3CC0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3CC4 */ cpu->r[27] = cpu->r[28] + cpu->r[26];
|
|
/* 021B3CC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3CD0 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3CD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B3CD4 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B3CD8 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B3CDC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B3CE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B3CE4 */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 021B3CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B3CEC */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B3CEC */ _t39 = _t38 & 0x00000001u;
|
|
/* 021B3CEC */ if (_t39) goto L_021B3CF0; else goto L_021B3CF4;
|
|
L_021B3CF0: ; // 0x21b3cf0
|
|
/* 021B3CF0 */ _t40 = cpu->r[28] + cpu->r[0];
|
|
/* 021B3CF0 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
L_021B3CF4: ; // 0x21b3cf4
|
|
/* 021B3CF4 */ /* nop */
|
|
/* 021B3CF8 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B3CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B3CFC */ cpu->lr = cpu->r[0];
|
|
/* 021B3D00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B3D04 */ return;
|
|
}
|
|
|
|
// fn_021B3D08 @ 0x21b3d08
|
|
void Gambit_fn_021B3D08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_021B3D08: ; // 0x21b3d08
|
|
/* 021B3D08 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 021B3D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B3D08 */ cpu->r[1] = _t0;
|
|
/* 021B3D0C */ cpu->r[0] = cpu->lr;
|
|
/* 021B3D10 */ /* nop */
|
|
/* 021B3D14 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B3D18 */ _t1 = cpu->r[1] + 0x000000DCu;
|
|
/* 021B3D18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B3D1C */ cpu->r[29] = cpu->r[4];
|
|
/* 021B3D20 */ Gambit_fn_021B2DF8(cpu);
|
|
/* 021B3D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3D28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3D28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B3D28 */ if (_t3) goto L_021B3F2C; else goto L_021B3D2C;
|
|
L_021B3D2C: ; // 0x21b3d2c
|
|
/* 021B3D2C */ _t4 = cpu->r[28] + 0x0000010Cu;
|
|
/* 021B3D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B3D30 */ cpu->r[30] = 0x10110000u;
|
|
/* 021B3D34 */ _t5 = cpu->r[30] + 0x00007399u;
|
|
/* 021B3D34 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 021B3D38 */ _t6 = cpu->r[7] + 0x00000000u;
|
|
/* 021B3D38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B3D3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B3D40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3D40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B3D40 */ if (_t8) goto L_021B3D44; else goto L_021B3D94;
|
|
L_021B3D44: ; // 0x21b3d44
|
|
/* 021B3D44 */ _t9 = cpu->r[28] + 0x00000004u;
|
|
/* 021B3D44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B3D48 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 021B3D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B3D4C */ cpu->ctr = cpu->r[0];
|
|
/* 021B3D50 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3D54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3D58 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B3D5C */ _t11 = cpu->r[31] + 0xFFFF957Cu;
|
|
/* 021B3D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B3D60 */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 021B3D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B3D64 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 021B3D64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B3D68 */ cpu->ctr = cpu->r[6];
|
|
/* 021B3D6C */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 021B3D6C */ cpu->r[27] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B3D70 */ cpu->r[3] = cpu->r[31] + 0x00000070u;
|
|
/* 021B3D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3D78 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B3D7C */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 021B3D7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B3D80 */ cpu->r[3] = cpu->r[28] + 0x0000010Cu;
|
|
/* 021B3D84 */ cpu->r[4] = cpu->r[4] + 0xFFFF9FC4u;
|
|
/* 021B3D88 */ cpu->r[5] = cpu->r[27];
|
|
/* 021B3D8C */ _t16 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B3D8C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B3D8C */ if (_t17) goto L_021B3D90; // else: addr-0 trap, fall-through
|
|
L_021B3D90: ; // 0x21b3d90
|
|
/* 021B3D90 */ Gambit_fn_0282A718(cpu);
|
|
L_021B3D94: ; // 0x21b3d94
|
|
/* 021B3D94 */ _t18 = cpu->r[28] + 0x0000021Cu;
|
|
/* 021B3D94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B3D98 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 021B3D98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B3D9C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3DA0 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 021B3DA0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
|
|
/* 021B3DA4 */ _t21 = cpu->r[28] + 0x0000021Cu;
|
|
/* 021B3DA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B3DA8 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B3DAC */ Gambit_fn_021B3614(cpu);
|
|
/* 021B3DB0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021B3DB4 */ _t22 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 021B3DB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B3DB8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B3DBC */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3DC0 */ _t23 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021B3DC0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B3DC4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D38u;
|
|
/* 021B3DC8 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3DC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 021B3DCC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B3DD0 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 021B3DD0 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 021B3DD4 */ cpu->r[4] = 0x00000020u;
|
|
/* 021B3DD8 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 021B3DD8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021B3DDC */ Gambit_fn_02C89380(cpu);
|
|
/* 021B3DE0 */ cpu->r[29] = 0x10030000u;
|
|
/* 021B3DE4 */ cpu->r[29] = cpu->r[29] + 0xFFFF9D48u;
|
|
/* 021B3DE8 */ _t27 = cpu->r[28] + 0x00000218u;
|
|
/* 021B3DE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B3DEC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B3DF0 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 021B3DF0 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 021B3DF4 */ cpu->r[5] = cpu->r[28] + 0x0000010Cu;
|
|
/* 021B3DF8 */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 021B3DF8 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 021B3DFC */ _t30 = cpu->r[8] + 0x00000000u;
|
|
/* 021B3DFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B3E00 */ cpu->r[6] = 0x00000002u;
|
|
/* 021B3E04 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3E08 */ cpu->r[7] = cpu->r[31];
|
|
/* 021B3E0C */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 021B3E0C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 021B3E10 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 021B3E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3E18 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3E18 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B3E18 */ if (_t33) goto L_021B3E1C; else goto L_021B3E48;
|
|
L_021B3E1C: ; // 0x21b3e1c
|
|
/* 021B3E1C */ cpu->r[7] = 0x00000000u;
|
|
/* 021B3E20 */ cpu->r[6] = 0x00000001u;
|
|
/* 021B3E24 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3E28 */ cpu->r[5] = cpu->r[28] + 0x0000010Cu;
|
|
/* 021B3E2C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B3E30 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 021B3E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3E38 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3E38 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021B3E38 */ if (_t35) goto L_021B3F14; else goto L_021B3E3C;
|
|
L_021B3E3C: ; // 0x21b3e3c
|
|
/* 021B3E3C */ _t36 = cpu->r[28] + 0x00000218u;
|
|
/* 021B3E3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B3E40 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B3E44 */ Gambit_fn_021B3BB8(cpu);
|
|
L_021B3E48: ; // 0x21b3e48
|
|
/* 021B3E48 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3E4C */ Gambit_fn_0280DF80(cpu);
|
|
/* 021B3E50 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B3E54 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3E58 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B3E5C */ Gambit_fn_0280DF00(cpu);
|
|
/* 021B3E60 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B3E64 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3E68 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B3E6C */ Gambit_fn_02833A90(cpu);
|
|
/* 021B3E70 */ _t37 = cpu->r[28] + 0x00000220u;
|
|
/* 021B3E70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B3E74 */ cpu->r[6] = 0x00010000u;
|
|
/* 021B3E78 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3E7C */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B3E80 */ Gambit_fn_0283350C(cpu);
|
|
/* 021B3E84 */ _t38 = cpu->r[28] + 0x00000218u;
|
|
/* 021B3E84 */ cpu->r[27] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B3E88 */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 021B3E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B3E8C */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 021B3E8C */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 021B3E90 */ cpu->r[31] = 0x10030000u;
|
|
/* 021B3E94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 021B3E98 */ cpu->r[31] = cpu->r[31] + 0xFFFF9C90u;
|
|
/* 021B3E9C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3E9C */ _t42 = _t41 & 0x00000001u;
|
|
/* 021B3E9C */ if (_t42) goto L_021B3ECC; else goto L_021B3EA0;
|
|
L_021B3EA0: ; // 0x21b3ea0
|
|
/* 021B3EA0 */ _t43 = cpu->r[27] + 0x00000004u;
|
|
/* 021B3EA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B3EA4 */ _t44 = cpu->r[9] + 0x00000014u;
|
|
/* 021B3EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021B3EA8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B3EAC */ cpu->r[3] = cpu->r[27];
|
|
/* 021B3EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3EB4 */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 021B3EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B3EB8 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3EBC */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 021B3EBC */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 021B3EC0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3EC4 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 021B3EC4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 021B3EC8 */ Gambit_fn_028346EC(cpu);
|
|
L_021B3ECC: ; // 0x21b3ecc
|
|
/* 021B3ECC */ _t48 = cpu->r[28] + 0x0000021Cu;
|
|
/* 021B3ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B3ED0 */ _t49 = cpu->r[30] + 0x00000004u;
|
|
/* 021B3ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B3ED4 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 021B3ED4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B3ED8 */ cpu->ctr = cpu->r[6];
|
|
/* 021B3EDC */ cpu->r[3] = cpu->r[30];
|
|
/* 021B3EE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B3EE4 */ _t51 = cpu->r[30] + 0x00000000u;
|
|
/* 021B3EE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B3EE8 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3EEC */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B3EEC */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 021B3EF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B3EF4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 021B3EF4 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 021B3EF8 */ Gambit_fn_028346EC(cpu);
|
|
/* 021B3EFC */ cpu->r[4] = 0x00000002u;
|
|
/* 021B3F00 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B3F04 */ Gambit_fn_028335C4(cpu);
|
|
/* 021B3F08 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B3F0C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021B3F10 */ Gambit_fn_02833B48(cpu);
|
|
L_021B3F14: ; // 0x21b3f14
|
|
/* 021B3F14 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B3F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021B3F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3F1C */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 021B3F1C */ rbrew_write32(cpu->mem, _t55, cpu->r[29]);
|
|
/* 021B3F20 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3F20 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021B3F20 */ if (_t57) goto L_021B3F2C; else goto L_021B3F24;
|
|
L_021B3F24: ; // 0x21b3f24
|
|
/* 021B3F24 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3F28 */ Gambit_fn_0280C80C(cpu);
|
|
L_021B3F2C: ; // 0x21b3f2c
|
|
/* 021B3F2C */ /* nop */
|
|
/* 021B3F30 */ _t58 = cpu->r[1] + 0x000000DCu;
|
|
/* 021B3F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021B3F34 */ cpu->lr = cpu->r[0];
|
|
/* 021B3F38 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 021B3F3C */ return;
|
|
}
|
|
|
|
// fn_021B3F40 @ 0x21b3f40
|
|
void Gambit_fn_021B3F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B3F40: ; // 0x21b3f40
|
|
/* 021B3F40 */ cpu->r[0] = cpu->lr;
|
|
/* 021B3F44 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 021B3F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B3F44 */ cpu->r[1] = _t0;
|
|
/* 021B3F48 */ _t1 = cpu->r[1] + 0x00000148u;
|
|
/* 021B3F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B3F4C */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 021B3F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B3F50 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B3F54 */ _t3 = cpu->r[1] + 0x0000014Cu;
|
|
/* 021B3F54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B3F58 */ _t4 = cpu->r[1] + 0x00000154u;
|
|
/* 021B3F58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B3F5C */ cpu->r[29] = cpu->r[4];
|
|
/* 021B3F60 */ Gambit_fn_021B2DF8(cpu);
|
|
/* 021B3F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3F68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3F68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B3F68 */ if (_t6) goto L_021B409C; else goto L_021B3F6C;
|
|
L_021B3F6C: ; // 0x21b3f6c
|
|
/* 021B3F6C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B3F70 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3F74 */ cpu->r[5] = cpu->r[6];
|
|
/* 021B3F78 */ Gambit_fn_02838654(cpu);
|
|
/* 021B3F7C */ cpu->r[4] = 0x101F0000u;
|
|
/* 021B3F80 */ cpu->r[5] = 0x101F0000u;
|
|
/* 021B3F84 */ cpu->r[6] = 0x101F0000u;
|
|
/* 021B3F88 */ cpu->r[8] = 0x101F0000u;
|
|
/* 021B3F8C */ cpu->r[9] = 0x101F0000u;
|
|
/* 021B3F90 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021B3F94 */ cpu->r[8] = cpu->r[8] + 0x00006C28u;
|
|
/* 021B3F98 */ cpu->r[9] = cpu->r[9] + 0x00006C2Cu;
|
|
/* 021B3F9C */ cpu->r[7] = cpu->r[7] + 0x00006C24u;
|
|
/* 021B3FA0 */ cpu->r[6] = cpu->r[6] + 0x00006C20u;
|
|
/* 021B3FA4 */ cpu->r[5] = cpu->r[5] + 0x00006C1Cu;
|
|
/* 021B3FA8 */ cpu->r[4] = cpu->r[4] + 0x00006C18u;
|
|
/* 021B3FAC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3FB0 */ Gambit_fn_0283801C(cpu);
|
|
/* 021B3FB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3FB8 */ Gambit_fn_02838564(cpu);
|
|
/* 021B3FBC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3FC0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3FC4 */ Gambit_fn_02838874(cpu);
|
|
/* 021B3FC8 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B3FCC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B3FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B3FD0 */ cpu->r[9] = cpu->r[1] + 0x00000040u;
|
|
/* 021B3FD4 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 021B3FD4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B3FD8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3FDC */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 021B3FDC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 021B3FE0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D20u;
|
|
/* 021B3FE4 */ _t10 = cpu->r[1] + 0x0000013Fu;
|
|
/* 021B3FE4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 021B3FE8 */ cpu->r[10] = 0x00000100u;
|
|
/* 021B3FEC */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 021B3FEC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 021B3FF0 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 021B3FF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 021B3FF4 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B3FF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 021B3FF8 */ _t14 = cpu->r[11] + 0x00000014u;
|
|
/* 021B3FF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B3FFC */ cpu->ctr = cpu->r[10];
|
|
/* 021B4000 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B4004 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4008 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B400C */ _t15 = cpu->r[31] + 0xFFFF957Cu;
|
|
/* 021B400C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4010 */ _t16 = cpu->r[31] + 0x00000074u;
|
|
/* 021B4010 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4014 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 021B4014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4018 */ cpu->ctr = cpu->r[11];
|
|
/* 021B401C */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 021B401C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4020 */ cpu->r[3] = cpu->r[31] + 0x00000070u;
|
|
/* 021B4024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4028 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 021B4028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B402C */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 021B402C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B4030 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4034 */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 021B4034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B4038 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B403C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4040 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 021B4040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B4044 */ cpu->r[6] = cpu->r[31];
|
|
/* 021B4048 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 021B4048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B404C */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 021B4050 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 021B4050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B4054 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B4058 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4058 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021B405C */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 021B405C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B4060 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B4064 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4064 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B4068 */ cpu->r[4] = cpu->r[4] + 0xFFFF9FD0u;
|
|
/* 021B406C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B406C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B4070 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B4074 */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B4074 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B4074 */ if (_t31) goto L_021B4078; // else: addr-0 trap, fall-through
|
|
L_021B4078: ; // 0x21b4078
|
|
/* 021B4078 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B407C */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 021B407C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B4080 */ _t33 = cpu->r[9] + 0x00000014u;
|
|
/* 021B4080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B4084 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4088 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 021B408C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4090 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4090 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B4094 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B4098 */ Gambit_fn_027E8C40(cpu);
|
|
L_021B409C: ; // 0x21b409c
|
|
/* 021B409C */ _t35 = cpu->r[1] + 0x00000144u;
|
|
/* 021B409C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B40A0 */ _t36 = cpu->r[1] + 0x00000154u;
|
|
/* 021B40A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B40A4 */ _t37 = cpu->r[1] + 0x00000148u;
|
|
/* 021B40A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B40A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B40AC */ _t38 = cpu->r[1] + 0x0000014Cu;
|
|
/* 021B40AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B40B0 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 021B40B4 */ return;
|
|
}
|
|
|
|
// fn_021B3F44 @ 0x21b3f44
|
|
void Gambit_fn_021B3F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B3F44: ; // 0x21b3f44
|
|
/* 021B3F44 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 021B3F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B3F44 */ cpu->r[1] = _t0;
|
|
/* 021B3F48 */ _t1 = cpu->r[1] + 0x00000148u;
|
|
/* 021B3F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B3F4C */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 021B3F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B3F50 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B3F54 */ _t3 = cpu->r[1] + 0x0000014Cu;
|
|
/* 021B3F54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B3F58 */ _t4 = cpu->r[1] + 0x00000154u;
|
|
/* 021B3F58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B3F5C */ cpu->r[29] = cpu->r[4];
|
|
/* 021B3F60 */ Gambit_fn_021B2DF8(cpu);
|
|
/* 021B3F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B3F68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B3F68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B3F68 */ if (_t6) goto L_021B409C; else goto L_021B3F6C;
|
|
L_021B3F6C: ; // 0x21b3f6c
|
|
/* 021B3F6C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B3F70 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3F74 */ cpu->r[5] = cpu->r[6];
|
|
/* 021B3F78 */ Gambit_fn_02838654(cpu);
|
|
/* 021B3F7C */ cpu->r[4] = 0x101F0000u;
|
|
/* 021B3F80 */ cpu->r[5] = 0x101F0000u;
|
|
/* 021B3F84 */ cpu->r[6] = 0x101F0000u;
|
|
/* 021B3F88 */ cpu->r[8] = 0x101F0000u;
|
|
/* 021B3F8C */ cpu->r[9] = 0x101F0000u;
|
|
/* 021B3F90 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021B3F94 */ cpu->r[8] = cpu->r[8] + 0x00006C28u;
|
|
/* 021B3F98 */ cpu->r[9] = cpu->r[9] + 0x00006C2Cu;
|
|
/* 021B3F9C */ cpu->r[7] = cpu->r[7] + 0x00006C24u;
|
|
/* 021B3FA0 */ cpu->r[6] = cpu->r[6] + 0x00006C20u;
|
|
/* 021B3FA4 */ cpu->r[5] = cpu->r[5] + 0x00006C1Cu;
|
|
/* 021B3FA8 */ cpu->r[4] = cpu->r[4] + 0x00006C18u;
|
|
/* 021B3FAC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3FB0 */ Gambit_fn_0283801C(cpu);
|
|
/* 021B3FB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3FB8 */ Gambit_fn_02838564(cpu);
|
|
/* 021B3FBC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B3FC0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B3FC4 */ Gambit_fn_02838874(cpu);
|
|
/* 021B3FC8 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B3FCC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B3FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B3FD0 */ cpu->r[9] = cpu->r[1] + 0x00000040u;
|
|
/* 021B3FD4 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 021B3FD4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B3FD8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B3FDC */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 021B3FDC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 021B3FE0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D20u;
|
|
/* 021B3FE4 */ _t10 = cpu->r[1] + 0x0000013Fu;
|
|
/* 021B3FE4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 021B3FE8 */ cpu->r[10] = 0x00000100u;
|
|
/* 021B3FEC */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 021B3FEC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 021B3FF0 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 021B3FF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 021B3FF4 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B3FF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 021B3FF8 */ _t14 = cpu->r[11] + 0x00000014u;
|
|
/* 021B3FF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B3FFC */ cpu->ctr = cpu->r[10];
|
|
/* 021B4000 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B4004 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4008 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B400C */ _t15 = cpu->r[31] + 0xFFFF957Cu;
|
|
/* 021B400C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4010 */ _t16 = cpu->r[31] + 0x00000074u;
|
|
/* 021B4010 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4014 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 021B4014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4018 */ cpu->ctr = cpu->r[11];
|
|
/* 021B401C */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 021B401C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4020 */ cpu->r[3] = cpu->r[31] + 0x00000070u;
|
|
/* 021B4024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4028 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 021B4028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B402C */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 021B402C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B4030 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4034 */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 021B4034 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B4038 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B403C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4040 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 021B4040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B4044 */ cpu->r[6] = cpu->r[31];
|
|
/* 021B4048 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 021B4048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B404C */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 021B4050 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 021B4050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B4054 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B4058 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4058 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021B405C */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 021B405C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B4060 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B4064 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4064 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B4068 */ cpu->r[4] = cpu->r[4] + 0xFFFF9FD0u;
|
|
/* 021B406C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B406C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B4070 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B4074 */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 021B4074 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B4074 */ if (_t31) goto L_021B4078; // else: addr-0 trap, fall-through
|
|
L_021B4078: ; // 0x21b4078
|
|
/* 021B4078 */ Gambit_fn_0282A718(cpu);
|
|
/* 021B407C */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 021B407C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B4080 */ _t33 = cpu->r[9] + 0x00000014u;
|
|
/* 021B4080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B4084 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4088 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 021B408C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4090 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4090 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B4094 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B4098 */ Gambit_fn_027E8C40(cpu);
|
|
L_021B409C: ; // 0x21b409c
|
|
/* 021B409C */ _t35 = cpu->r[1] + 0x00000144u;
|
|
/* 021B409C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B40A0 */ _t36 = cpu->r[1] + 0x00000154u;
|
|
/* 021B40A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B40A4 */ _t37 = cpu->r[1] + 0x00000148u;
|
|
/* 021B40A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B40A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B40AC */ _t38 = cpu->r[1] + 0x0000014Cu;
|
|
/* 021B40AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B40B0 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 021B40B4 */ return;
|
|
}
|
|
|
|
// fn_021B40B8 @ 0x21b40b8
|
|
void Gambit_fn_021B40B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021B40B8: ; // 0x21b40b8
|
|
/* 021B40B8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B40BC */ cpu->r[11] = 0x10030000u;
|
|
/* 021B40C0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B40C4 */ cpu->r[12] = cpu->r[12] + 0x00000F50u;
|
|
/* 021B40C8 */ cpu->r[11] = cpu->r[11] + 0xFFFF9C90u;
|
|
/* 021B40CC */ cpu->r[0] = cpu->r[0] + 0xFFFF9FF4u;
|
|
/* 021B40D0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 021B40D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 021B40D4 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 021B40D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B40D8 */ return;
|
|
}
|
|
|
|
// fn_021B40DC @ 0x21b40dc
|
|
void Gambit_fn_021B40DC(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_021B40DC: ; // 0x21b40dc
|
|
/* 021B40DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B40E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B40E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B40E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B40E0 */ goto L_021B40E4;
|
|
L_021B40E4: ; // 0x21b40e4
|
|
/* 021B40E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B40E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B40E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B40E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B40E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B40E8 */ goto L_021B40EC;
|
|
L_021B40EC: ; // 0x21b40ec
|
|
/* 021B40EC */ 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_021B40F0 @ 0x21b40f0
|
|
void Gambit_fn_021B40F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021B40F0: ; // 0x21b40f0
|
|
/* 021B40F0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B40F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B40F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B40F4 */ cpu->r[1] = _t0;
|
|
/* 021B40F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B40F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B40FC */ cpu->r[31] = cpu->r[4];
|
|
/* 021B4100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4104 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4104 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B4108 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4108 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B4108 */ if (_t4) goto L_021B410C; else goto L_021B411C;
|
|
L_021B410C: ; // 0x21b410c
|
|
/* 021B410C */ cpu->r[3] = 0x00000008u;
|
|
/* 021B4110 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4118 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4118 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B4118 */ if (_t6) goto L_021B412C; else goto L_021B411C;
|
|
L_021B411C: ; // 0x21b411c
|
|
/* 021B411C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4120 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4120 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 021B4124 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C90u;
|
|
/* 021B4128 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4128 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021B412C: ; // 0x21b412c
|
|
/* 021B412C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B412C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B4130 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B4134 */ cpu->lr = cpu->r[0];
|
|
/* 021B4138 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B413C */ return;
|
|
}
|
|
|
|
// fn_021B40F4 @ 0x21b40f4
|
|
void Gambit_fn_021B40F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021B40F4: ; // 0x21b40f4
|
|
/* 021B40F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B40F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B40F4 */ cpu->r[1] = _t0;
|
|
/* 021B40F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B40F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B40FC */ cpu->r[31] = cpu->r[4];
|
|
/* 021B4100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4104 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4104 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B4108 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4108 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B4108 */ if (_t4) goto L_021B410C; else goto L_021B411C;
|
|
L_021B410C: ; // 0x21b410c
|
|
/* 021B410C */ cpu->r[3] = 0x00000008u;
|
|
/* 021B4110 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4118 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4118 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B4118 */ if (_t6) goto L_021B412C; else goto L_021B411C;
|
|
L_021B411C: ; // 0x21b411c
|
|
/* 021B411C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4120 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4120 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 021B4124 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C90u;
|
|
/* 021B4128 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4128 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021B412C: ; // 0x21b412c
|
|
/* 021B412C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B412C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B4130 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B4134 */ cpu->lr = cpu->r[0];
|
|
/* 021B4138 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B413C */ return;
|
|
}
|
|
|
|
// fn_021B4140 @ 0x21b4140
|
|
void Gambit_fn_021B4140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59;
|
|
|
|
L_021B4140: ; // 0x21b4140
|
|
/* 021B4140 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B4140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4140 */ cpu->r[1] = _t0;
|
|
/* 021B4144 */ /* nop */
|
|
/* 021B4148 */ cpu->r[0] = cpu->lr;
|
|
/* 021B414C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021B414C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B4150 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B4154 */ _t3 = cpu->r[8] + 0x00000014u;
|
|
/* 021B4154 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B4158 */ cpu->ctr = cpu->r[9];
|
|
/* 021B415C */ cpu->r[27] = cpu->r[4];
|
|
/* 021B4160 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B4164 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4168 */ cpu->r[31] = 0x10110000u;
|
|
/* 021B416C */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 021B416C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B4170 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 021B4170 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 021B4174 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 021B4174 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B4178 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B417C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B4180 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B4184 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4184 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B4184 */ if (_t8) goto L_021B41AC; else goto L_021B4188;
|
|
L_021B4188: ; // 0x21b4188
|
|
/* 021B4188 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B418C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B4190 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B4194 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B4194 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B4194 */ if (_t10) goto L_021B41A8; else goto L_021B4198;
|
|
L_021B4198: ; // 0x21b4198
|
|
/* 021B4198 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 021B4198 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B419C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 021B41A0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B41A0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B41A0 */ if (_t13) goto L_021B41A4; else goto L_021B4188;
|
|
L_021B41A4: ; // 0x21b41a4
|
|
/* 021B41A4 */ goto L_021B41AC;
|
|
L_021B41A8: ; // 0x21b41a8
|
|
/* 021B41A8 */ cpu->r[29] = 0x00000000u;
|
|
L_021B41AC: ; // 0x21b41ac
|
|
/* 021B41AC */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 021B41AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B41B0 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 021B41B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B41B4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B41B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B41BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B41C0 */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 021B41C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B41C4 */ _t17 = cpu->r[9] + 0x00000000u;
|
|
/* 021B41C4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t17);
|
|
/* 021B41C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B41CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B41D0 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B41D4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B41D4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B41D4 */ if (_t19) goto L_021B41FC; else goto L_021B41D8;
|
|
L_021B41D8: ; // 0x21b41d8
|
|
/* 021B41D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B41DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B41E0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B41E4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B41E4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B41E4 */ if (_t21) goto L_021B41F8; else goto L_021B41E8;
|
|
L_021B41E8: ; // 0x21b41e8
|
|
/* 021B41E8 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 021B41E8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B41EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B41F0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B41F0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B41F0 */ if (_t24) goto L_021B41F4; else goto L_021B41D8;
|
|
L_021B41F4: ; // 0x21b41f4
|
|
/* 021B41F4 */ goto L_021B41FC;
|
|
L_021B41F8: ; // 0x21b41f8
|
|
/* 021B41F8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B41FC: ; // 0x21b41fc
|
|
/* 021B41FC */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 021B41FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B4200 */ cpu->r[28] = 0x00000000u;
|
|
/* 021B4204 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4204 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B4204 */ if (_t26) goto L_021B42D0; else goto L_021B4208;
|
|
L_021B4208: ; // 0x21b4208
|
|
/* 021B4208 */ cpu->r[24] = 0x10030000u;
|
|
/* 021B420C */ cpu->r[24] = cpu->r[24] + 0xFFFF9C90u;
|
|
L_021B4210: ; // 0x21b4210
|
|
/* 021B4210 */ _t27 = cpu->r[26] + 0x00000000u;
|
|
/* 021B4210 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B4214 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4214 */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
|
|
/* 021B4218 */ cpu->r[6] = cpu->r[7] + cpu->r[28];
|
|
/* 021B421C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B4220 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4220 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 021B4224 */ Gambit_fn_021B42F0(cpu);
|
|
/* 021B4228 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4228 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B422C */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 021B422C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B4230 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4234 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B4238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B423C */ _t32 = cpu->r[27] + 0x00000004u;
|
|
/* 021B423C */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B4240 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 021B4240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B4244 */ cpu->ctr = cpu->r[5];
|
|
/* 021B4248 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4248 */ cpu->r[25] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B424C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B4250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4254 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 021B4254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B4258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[6]);
|
|
/* 021B425C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B425C */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B425C */ if (_t37) goto L_021B42B4; else goto L_021B4260;
|
|
L_021B4260: ; // 0x21b4260
|
|
/* 021B4260 */ cpu->r[0] = cpu->r[30];
|
|
/* 021B4260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4264 */ cpu->r[7] = 0x00000000u;
|
|
/* 021B4268 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B4268 */ _t39 = _t38 & 0x00000001u;
|
|
/* 021B4268 */ if (_t39) goto L_021B426C; else goto L_021B42B4;
|
|
L_021B426C: ; // 0x21b426c
|
|
/* 021B426C */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 021B426C */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B4270 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4274 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 021B4274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
L_021B4278: ; // 0x21b4278
|
|
/* 021B4278 */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 021B4278 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 021B427C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B4280 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4280 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021B4280 */ if (_t44) goto L_021B4284; else goto L_021B4294;
|
|
L_021B4284: ; // 0x21b4284
|
|
/* 021B4284 */ _t45 = cpu->r[6] + cpu->r[7];
|
|
/* 021B4284 */ cpu->r[7] = rbrew_read8(cpu->mem, _t45);
|
|
/* 021B4288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B428C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B428C */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B428C */ if (_t47) goto L_021B4290; else goto L_021B42C4;
|
|
L_021B4290: ; // 0x21b4290
|
|
/* 021B4290 */ goto L_021B42B4;
|
|
L_021B4294: ; // 0x21b4294
|
|
/* 021B4294 */ _t48 = cpu->r[6] + cpu->r[7];
|
|
/* 021B4294 */ cpu->r[4] = rbrew_read8(cpu->mem, _t48);
|
|
/* 021B4298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B429C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B429C */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B429C */ if (_t50) goto L_021B42C4; else goto L_021B42A0;
|
|
L_021B42A0: ; // 0x21b42a0
|
|
/* 021B42A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 021B42A4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B42A4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 021B42A4 */ if (_t52) goto L_021B42A8; else goto L_021B42C4;
|
|
L_021B42A8: ; // 0x21b42a8
|
|
/* 021B42A8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B42AC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B42B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B42B0 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B42B0 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 021B42B0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B42B0 */ if (_t55) goto L_021B4278; else goto L_021B42B4;
|
|
L_021B42B4: ; // 0x21b42b4
|
|
/* 021B42B4 */ _t56 = cpu->r[28] | cpu->r[28];
|
|
/* 021B42B4 */ cpu->r[8] = ~_t56;
|
|
/* 021B42B8 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B42BC */ cpu->r[3] = cpu->r[8] - cpu->r[10];
|
|
/* 021B42C0 */ goto L_021B42DC;
|
|
L_021B42C4: ; // 0x21b42c4
|
|
/* 021B42C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 021B42C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 021B42CC */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B42CC */ _t58 = _t57 & 0x00000001u;
|
|
/* 021B42CC */ if (_t58) goto L_021B42D0; else goto L_021B4210;
|
|
L_021B42D0: ; // 0x21b42d0
|
|
/* 021B42D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 021B42D4 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B42D8 */ cpu->r[3] = ~cpu->r[10];
|
|
L_021B42DC: ; // 0x21b42dc
|
|
/* 021B42DC */ /* nop */
|
|
/* 021B42E0 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 021B42E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B42E4 */ cpu->lr = cpu->r[0];
|
|
/* 021B42E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B42EC */ return;
|
|
}
|
|
|
|
// fn_021B42F0 @ 0x21b42f0
|
|
void Gambit_fn_021B42F0(CPUState* cpu) {
|
|
L_021B42F0: ; // 0x21b42f0
|
|
/* 021B42F0 */ return;
|
|
}
|
|
|
|
// fn_021B42F4 @ 0x21b42f4
|
|
void Gambit_fn_021B42F4(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_021B42F4: ; // 0x21b42f4
|
|
/* 021B42F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B42F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B42F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B42F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B42F8 */ goto L_021B42FC;
|
|
L_021B42FC: ; // 0x21b42fc
|
|
/* 021B42FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B42FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4300 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4300 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4300 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4300 */ goto L_021B4304;
|
|
L_021B4304: ; // 0x21b4304
|
|
/* 021B4304 */ 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_021B4308 @ 0x21b4308
|
|
void Gambit_fn_021B4308(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B4308: ; // 0x21b4308
|
|
/* 021B4308 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B4308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4308 */ cpu->r[1] = _t0;
|
|
/* 021B430C */ /* nop */
|
|
/* 021B4310 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4314 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4314 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B4318 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4318 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B431C */ _t3 = cpu->r[6] + 0x00000014u;
|
|
/* 021B431C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B4320 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4324 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4324 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B4328 */ cpu->r[26] = cpu->r[4];
|
|
/* 021B432C */ cpu->r[31] = cpu->r[5];
|
|
/* 021B4330 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B4334 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4338 */ cpu->r[30] = 0x10110000u;
|
|
/* 021B433C */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 021B433C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4340 */ _t6 = cpu->r[30] + 0x00007399u;
|
|
/* 021B4340 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B4344 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 021B4344 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021B4348 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B434C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 021B4350 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B4354 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4354 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B4354 */ if (_t9) goto L_021B437C; else goto L_021B4358;
|
|
L_021B4358: ; // 0x21b4358
|
|
/* 021B4358 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B435C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B4360 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B4364 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B4364 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B4364 */ if (_t11) goto L_021B4378; else goto L_021B4368;
|
|
L_021B4368: ; // 0x21b4368
|
|
/* 021B4368 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 021B4368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021B436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B4370 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4370 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B4370 */ if (_t14) goto L_021B4374; else goto L_021B4358;
|
|
L_021B4374: ; // 0x21b4374
|
|
/* 021B4374 */ goto L_021B437C;
|
|
L_021B4378: ; // 0x21b4378
|
|
/* 021B4378 */ cpu->r[29] = 0x00000000u;
|
|
L_021B437C: ; // 0x21b437c
|
|
/* 021B437C */ cpu->r[25] = cpu->r[29];
|
|
/* 021B437C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B4380 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4380 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B4380 */ if (_t16) goto L_021B4384; else goto L_021B4388;
|
|
L_021B4384: ; // 0x21b4384
|
|
/* 021B4384 */ cpu->r[25] = 0x00000000u;
|
|
L_021B4388: ; // 0x21b4388
|
|
/* 021B4388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B438C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B438C */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B438C */ if (_t18) goto L_021B4390; else goto L_021B43E0;
|
|
L_021B4390: ; // 0x21b4390
|
|
/* 021B4390 */ _t19 = cpu->r[26] + 0x00000004u;
|
|
/* 021B4390 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B4394 */ _t20 = cpu->r[10] + 0x00000014u;
|
|
/* 021B4394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B4398 */ cpu->ctr = cpu->r[11];
|
|
/* 021B439C */ cpu->r[3] = cpu->r[26];
|
|
/* 021B43A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B43A4 */ _t21 = cpu->r[26] + 0x00000000u;
|
|
/* 021B43A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B43A8 */ _t22 = cpu->r[8] + 0x00000000u;
|
|
/* 021B43A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B43AC */ cpu->r[31] = 0x00000000u;
|
|
/* 021B43B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 021B43B4 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B43B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B43B8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B43B8 */ if (_t24) goto L_021B43E0; else goto L_021B43BC;
|
|
L_021B43BC: ; // 0x21b43bc
|
|
/* 021B43BC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B43C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 021B43C4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B43C8 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B43C8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B43C8 */ if (_t26) goto L_021B43DC; else goto L_021B43CC;
|
|
L_021B43CC: ; // 0x21b43cc
|
|
/* 021B43CC */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 021B43CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 021B43D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 021B43D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B43D4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B43D4 */ if (_t29) goto L_021B43D8; else goto L_021B43BC;
|
|
L_021B43D8: ; // 0x21b43d8
|
|
/* 021B43D8 */ goto L_021B43E0;
|
|
L_021B43DC: ; // 0x21b43dc
|
|
/* 021B43DC */ cpu->r[31] = 0x00000000u;
|
|
L_021B43E0: ; // 0x21b43e0
|
|
/* 021B43E0 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 021B43E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B43E4 */ cpu->r[12] = cpu->r[0] - cpu->r[25];
|
|
/* 021B43E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 021B43EC */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B43EC */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B43EC */ if (_t32) goto L_021B43F4; else goto L_021B43F0;
|
|
L_021B43F0: ; // 0x21b43f0
|
|
/* 021B43F0 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_021B43F4: ; // 0x21b43f4
|
|
/* 021B43F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B43F8 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B43F8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B43F8 */ if (_t34) goto L_021B4414; else goto L_021B43FC;
|
|
L_021B43FC: ; // 0x21b43fc
|
|
/* 021B43FC */ /* nop */
|
|
/* 021B4400 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B4404 */ cpu->lr = cpu->r[0];
|
|
/* 021B4408 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B440C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B4410 */ return;
|
|
L_021B4414: ; // 0x21b4414
|
|
/* 021B4414 */ _t36 = cpu->r[26] + 0x00000004u;
|
|
/* 021B4414 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B4418 */ _t37 = cpu->r[6] + 0x00000014u;
|
|
/* 021B4418 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B441C */ cpu->ctr = cpu->r[7];
|
|
/* 021B4420 */ cpu->r[28] = cpu->r[27] + cpu->r[25];
|
|
/* 021B4424 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B4428 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B442C */ _t38 = cpu->r[26] + 0x00000000u;
|
|
/* 021B442C */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B4430 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B4434 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B4438 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B443C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B4440 */ cpu->r[0] = cpu->r[25] + cpu->r[31];
|
|
/* 021B4444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[29]);
|
|
/* 021B4448 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B4448 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B4448 */ if (_t40) goto L_021B444C; else goto L_021B4450;
|
|
L_021B444C: ; // 0x21b444c
|
|
/* 021B444C */ _t41 = cpu->r[27] + cpu->r[0];
|
|
/* 021B444C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]);
|
|
L_021B4450: ; // 0x21b4450
|
|
/* 021B4450 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4454 */ /* nop */
|
|
/* 021B4458 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B445C */ cpu->lr = cpu->r[0];
|
|
/* 021B4460 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B4464 */ return;
|
|
}
|
|
|
|
// fn_021B4468 @ 0x21b4468
|
|
void Gambit_fn_021B4468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B4468: ; // 0x21b4468
|
|
/* 021B4468 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4468 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B446C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021B446C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B4470 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021B4474 */ cpu->r[11] = 0x10110000u;
|
|
/* 021B4478 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021B4478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B447C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B447C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021B4480 */ return;
|
|
}
|
|
|
|
// fn_021B4484 @ 0x21b4484
|
|
void Gambit_fn_021B4484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021B4484: ; // 0x21b4484
|
|
/* 021B4484 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4488 */ cpu->r[1] = _t0;
|
|
/* 021B448C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B448C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4490 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4490 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4494 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B4498 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B449C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B449C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B44A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B44A0 */ if (_t5) goto L_021B44D0; else goto L_021B44A4;
|
|
L_021B44A4: ; // 0x21b44a4
|
|
/* 021B44A4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 021B44A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B44A8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B44AC */ cpu->r[0] = cpu->r[0] + 0xFFFF9CC0u;
|
|
/* 021B44B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B44B4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B44B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B44B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B44B8 */ if (_t9) goto L_021B44C0; else goto L_021B44BC;
|
|
L_021B44BC: ; // 0x21b44bc
|
|
/* 021B44BC */ Gambit_fn_02801BB4(cpu);
|
|
L_021B44C0: ; // 0x21b44c0
|
|
/* 021B44C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B44C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B44C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B44C4 */ if (_t11) goto L_021B44D0; else goto L_021B44C8;
|
|
L_021B44C8: ; // 0x21b44c8
|
|
/* 021B44C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B44CC */ Gambit_fn_02801BB0(cpu);
|
|
L_021B44D0: ; // 0x21b44d0
|
|
/* 021B44D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021B44D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B44D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 021B44D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B44D8 */ cpu->lr = cpu->r[0];
|
|
/* 021B44DC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B44DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B44E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B44E4 */ return;
|
|
}
|
|
|
|
// fn_021B4488 @ 0x21b4488
|
|
void Gambit_fn_021B4488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021B4488: ; // 0x21b4488
|
|
/* 021B4488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4488 */ cpu->r[1] = _t0;
|
|
/* 021B448C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B448C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4490 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4490 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4494 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B4498 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B449C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B449C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B44A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B44A0 */ if (_t5) goto L_021B44D0; else goto L_021B44A4;
|
|
L_021B44A4: ; // 0x21b44a4
|
|
/* 021B44A4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 021B44A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B44A8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B44AC */ cpu->r[0] = cpu->r[0] + 0xFFFF9CC0u;
|
|
/* 021B44B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B44B4 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B44B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B44B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B44B8 */ if (_t9) goto L_021B44C0; else goto L_021B44BC;
|
|
L_021B44BC: ; // 0x21b44bc
|
|
/* 021B44BC */ Gambit_fn_02801BB4(cpu);
|
|
L_021B44C0: ; // 0x21b44c0
|
|
/* 021B44C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B44C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B44C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B44C4 */ if (_t11) goto L_021B44D0; else goto L_021B44C8;
|
|
L_021B44C8: ; // 0x21b44c8
|
|
/* 021B44C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B44CC */ Gambit_fn_02801BB0(cpu);
|
|
L_021B44D0: ; // 0x21b44d0
|
|
/* 021B44D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021B44D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B44D4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 021B44D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B44D8 */ cpu->lr = cpu->r[0];
|
|
/* 021B44DC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B44DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B44E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B44E4 */ return;
|
|
}
|
|
|
|
// fn_021B44E8 @ 0x21b44e8
|
|
void Gambit_fn_021B44E8(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_021B44E8: ; // 0x21b44e8
|
|
/* 021B44E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B44EC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44EC */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B44EC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B44EC */ goto L_021B44F0;
|
|
L_021B44F0: ; // 0x21b44f0
|
|
/* 021B44F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B44F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B44F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B44F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B44F4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B44F4 */ goto L_021B44F8;
|
|
L_021B44F8: ; // 0x21b44f8
|
|
/* 021B44F8 */ 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_021B44FC @ 0x21b44fc
|
|
void Gambit_fn_021B44FC(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_021B44FC: ; // 0x21b44fc
|
|
/* 021B44FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4500 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4500 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B4500 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4500 */ goto L_021B4504;
|
|
L_021B4504: ; // 0x21b4504
|
|
/* 021B4504 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4508 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4508 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4508 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4508 */ goto L_021B450C;
|
|
L_021B450C: ; // 0x21b450c
|
|
/* 021B450C */ 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_021B4510 @ 0x21b4510
|
|
void Gambit_fn_021B4510(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_021B4510: ; // 0x21b4510
|
|
/* 021B4510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4514 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4514 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B4514 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4514 */ goto L_021B4518;
|
|
L_021B4518: ; // 0x21b4518
|
|
/* 021B4518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B451C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B451C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B451C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B451C */ goto L_021B4520;
|
|
L_021B4520: ; // 0x21b4520
|
|
/* 021B4520 */ 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_021B4524 @ 0x21b4524
|
|
void Gambit_fn_021B4524(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_021B4524: ; // 0x21b4524
|
|
/* 021B4524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4528 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4528 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B4528 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4528 */ goto L_021B452C;
|
|
L_021B452C: ; // 0x21b452c
|
|
/* 021B452C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B452C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4530 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4530 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4530 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4530 */ goto L_021B4534;
|
|
L_021B4534: ; // 0x21b4534
|
|
/* 021B4534 */ 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_021B4538 @ 0x21b4538
|
|
void Gambit_fn_021B4538(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_021B4538: ; // 0x21b4538
|
|
/* 021B4538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B453C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B453C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B453C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B453C */ goto L_021B4540;
|
|
L_021B4540: ; // 0x21b4540
|
|
/* 021B4540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4544 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4544 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4544 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4544 */ goto L_021B4548;
|
|
L_021B4548: ; // 0x21b4548
|
|
/* 021B4548 */ 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_021B454C @ 0x21b454c
|
|
void Gambit_fn_021B454C(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_021B454C: ; // 0x21b454c
|
|
/* 021B454C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4550 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4550 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B4550 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4550 */ goto L_021B4554;
|
|
L_021B4554: ; // 0x21b4554
|
|
/* 021B4554 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4558 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4558 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4558 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4558 */ goto L_021B455C;
|
|
L_021B455C: ; // 0x21b455c
|
|
/* 021B455C */ 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_021B4560 @ 0x21b4560
|
|
void Gambit_fn_021B4560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_021B4560: ; // 0x21b4560
|
|
/* 021B4560 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4564 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4564 */ cpu->r[1] = _t0;
|
|
/* 021B4568 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4568 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B456C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B456C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4570 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4574 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4574 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4578 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4578 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4578 */ if (_t5) goto L_021B457C; else goto L_021B458C;
|
|
L_021B457C: ; // 0x21b457c
|
|
/* 021B457C */ cpu->r[3] = 0x00000130u;
|
|
/* 021B4580 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4584 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4588 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4588 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4588 */ if (_t7) goto L_021B45F8; else goto L_021B458C;
|
|
L_021B458C: ; // 0x21b458c
|
|
/* 021B458C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4590 */ Gambit_fn_0278DF70(cpu);
|
|
/* 021B4594 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B4598 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B459C */ _t8 = cpu->r[31] + 0x0000011Cu;
|
|
/* 021B459C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021B45A0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B45A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFA0A4u;
|
|
/* 021B45A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA0D4u;
|
|
/* 021B45AC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B45AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 021B45B0 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 021B45B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45B4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 021B45B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021B45B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B45B8 */ if (_t12) goto L_021B45BC; else goto L_021B45CC;
|
|
L_021B45BC: ; // 0x21b45bc
|
|
/* 021B45BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B45C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B45C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B45C8 */ if (_t14) goto L_021B45F0; else goto L_021B45CC;
|
|
L_021B45CC: ; // 0x21b45cc
|
|
/* 021B45CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45D0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B45D0 */ if (_t16) goto L_021B45D4; else goto L_021B45E4;
|
|
L_021B45D4: ; // 0x21b45d4
|
|
/* 021B45D4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B45D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B45DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B45E0 */ if (_t18) goto L_021B45F0; else goto L_021B45E4;
|
|
L_021B45E4: ; // 0x21b45e4
|
|
/* 021B45E4 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 021B45E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 021B45E8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 021B45E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 021B45EC */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 021B45EC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_021B45F0: ; // 0x21b45f0
|
|
/* 021B45F0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B45F4 */ _t22 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021B45F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_021B45F8: ; // 0x21b45f8
|
|
/* 021B45F8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B45F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B45FC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4600 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B4604 */ cpu->lr = cpu->r[0];
|
|
/* 021B4608 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B460C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4610 */ return;
|
|
}
|
|
|
|
// fn_021B4564 @ 0x21b4564
|
|
void Gambit_fn_021B4564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_021B4564: ; // 0x21b4564
|
|
/* 021B4564 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4564 */ cpu->r[1] = _t0;
|
|
/* 021B4568 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4568 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B456C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B456C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4570 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4574 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4574 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4578 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4578 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4578 */ if (_t5) goto L_021B457C; else goto L_021B458C;
|
|
L_021B457C: ; // 0x21b457c
|
|
/* 021B457C */ cpu->r[3] = 0x00000130u;
|
|
/* 021B4580 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4584 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4588 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4588 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4588 */ if (_t7) goto L_021B45F8; else goto L_021B458C;
|
|
L_021B458C: ; // 0x21b458c
|
|
/* 021B458C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4590 */ Gambit_fn_0278DF70(cpu);
|
|
/* 021B4594 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B4598 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B459C */ _t8 = cpu->r[31] + 0x0000011Cu;
|
|
/* 021B459C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021B45A0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B45A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFA0A4u;
|
|
/* 021B45A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA0D4u;
|
|
/* 021B45AC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B45AC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 021B45B0 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 021B45B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45B4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 021B45B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021B45B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B45B8 */ if (_t12) goto L_021B45BC; else goto L_021B45CC;
|
|
L_021B45BC: ; // 0x21b45bc
|
|
/* 021B45BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B45C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B45C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B45C8 */ if (_t14) goto L_021B45F0; else goto L_021B45CC;
|
|
L_021B45CC: ; // 0x21b45cc
|
|
/* 021B45CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45D0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45D0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B45D0 */ if (_t16) goto L_021B45D4; else goto L_021B45E4;
|
|
L_021B45D4: ; // 0x21b45d4
|
|
/* 021B45D4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B45D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B45DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B45E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B45E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B45E0 */ if (_t18) goto L_021B45F0; else goto L_021B45E4;
|
|
L_021B45E4: ; // 0x21b45e4
|
|
/* 021B45E4 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 021B45E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 021B45E8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 021B45E8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 021B45EC */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 021B45EC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_021B45F0: ; // 0x21b45f0
|
|
/* 021B45F0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B45F4 */ _t22 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021B45F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_021B45F8: ; // 0x21b45f8
|
|
/* 021B45F8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B45F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B45FC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4600 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B4604 */ cpu->lr = cpu->r[0];
|
|
/* 021B4608 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B460C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4610 */ return;
|
|
}
|
|
|
|
// fn_021B4614 @ 0x21b4614
|
|
void Gambit_fn_021B4614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021B4614: ; // 0x21b4614
|
|
/* 021B4614 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4618 */ cpu->r[1] = _t0;
|
|
/* 021B461C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B461C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4624 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B4628 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B462C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B462C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4630 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4630 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4630 */ if (_t5) goto L_021B4670; else goto L_021B4634;
|
|
L_021B4634: ; // 0x21b4634
|
|
/* 021B4634 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4638 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B463C */ cpu->r[0] = cpu->r[0] + 0xFFFFA0A4u;
|
|
/* 021B4640 */ cpu->r[12] = cpu->r[12] + 0xFFFFA0D4u;
|
|
/* 021B4644 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4644 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B4648 */ cpu->r[3] = cpu->r[30] + 0x00000120u;
|
|
/* 021B464C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B464C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021B4650 */ Gambit_fn_02802424(cpu);
|
|
/* 021B4654 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B4658 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B465C */ Gambit_fn_0278E0FC(cpu);
|
|
/* 021B4660 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4664 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4664 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B4664 */ if (_t9) goto L_021B4670; else goto L_021B4668;
|
|
L_021B4668: ; // 0x21b4668
|
|
/* 021B4668 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B466C */ Gambit_fn_02801BB0(cpu);
|
|
L_021B4670: ; // 0x21b4670
|
|
/* 021B4670 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B4674 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4674 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B4678 */ cpu->lr = cpu->r[0];
|
|
/* 021B467C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B467C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B4680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4684 */ return;
|
|
}
|
|
|
|
// fn_021B4618 @ 0x21b4618
|
|
void Gambit_fn_021B4618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021B4618: ; // 0x21b4618
|
|
/* 021B4618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4618 */ cpu->r[1] = _t0;
|
|
/* 021B461C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B461C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4624 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B4628 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B462C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B462C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4630 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4630 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4630 */ if (_t5) goto L_021B4670; else goto L_021B4634;
|
|
L_021B4634: ; // 0x21b4634
|
|
/* 021B4634 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4638 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B463C */ cpu->r[0] = cpu->r[0] + 0xFFFFA0A4u;
|
|
/* 021B4640 */ cpu->r[12] = cpu->r[12] + 0xFFFFA0D4u;
|
|
/* 021B4644 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4644 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B4648 */ cpu->r[3] = cpu->r[30] + 0x00000120u;
|
|
/* 021B464C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 021B464C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021B4650 */ Gambit_fn_02802424(cpu);
|
|
/* 021B4654 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B4658 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B465C */ Gambit_fn_0278E0FC(cpu);
|
|
/* 021B4660 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4664 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4664 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B4664 */ if (_t9) goto L_021B4670; else goto L_021B4668;
|
|
L_021B4668: ; // 0x21b4668
|
|
/* 021B4668 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B466C */ Gambit_fn_02801BB0(cpu);
|
|
L_021B4670: ; // 0x21b4670
|
|
/* 021B4670 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B4674 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4674 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B4678 */ cpu->lr = cpu->r[0];
|
|
/* 021B467C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B467C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B4680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4684 */ return;
|
|
}
|
|
|
|
// fn_021B4688 @ 0x21b4688
|
|
void Gambit_fn_021B4688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021B4688: ; // 0x21b4688
|
|
/* 021B4688 */ cpu->r[0] = cpu->lr;
|
|
/* 021B468C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B468C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B468C */ cpu->r[1] = _t0;
|
|
/* 021B4690 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021B4690 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B4694 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4694 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B4698 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B469C */ cpu->r[30] = cpu->r[4];
|
|
/* 021B46A0 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 021B46A4 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B46A8 */ cpu->r[4] = 0x00000020u;
|
|
/* 021B46AC */ cpu->r[6] = 0x00000004u;
|
|
/* 021B46B0 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 021B46B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B46B4 */ Gambit_fn_028023CC(cpu);
|
|
/* 021B46B8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B46BC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021B46BC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B46C0 */ cpu->r[10] = cpu->r[10] + 0x00000F58u;
|
|
/* 021B46C4 */ cpu->r[12] = 0x000003E8u;
|
|
/* 021B46C8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B46CC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B46CC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 021B46D0 */ cpu->r[8] = cpu->r[8] + 0x00000F68u;
|
|
/* 021B46D4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B46D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021B46D8 */ cpu->r[9] = 0x00000003u;
|
|
/* 021B46DC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B46DC */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 021B46E0 */ cpu->r[0] = 0x101E0000u;
|
|
/* 021B46E4 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 021B46E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 021B46E8 */ cpu->r[0] = cpu->r[0] + 0x00000F60u;
|
|
/* 021B46EC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B46F0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 021B46F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021B46F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B46F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B46FC */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 021B46FC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 021B4700 */ Gambit_fn_0278E15C(cpu);
|
|
/* 021B4704 */ _t11 = cpu->r[31] + 0x0000011Cu;
|
|
/* 021B4704 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 021B4708 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B470C */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 021B470C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B4710 */ cpu->lr = cpu->r[0];
|
|
/* 021B4714 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B4718 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B471C */ return;
|
|
}
|
|
|
|
// fn_021B468C @ 0x21b468c
|
|
void Gambit_fn_021B468C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021B468C: ; // 0x21b468c
|
|
/* 021B468C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B468C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B468C */ cpu->r[1] = _t0;
|
|
/* 021B4690 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021B4690 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B4694 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4694 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B4698 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B469C */ cpu->r[30] = cpu->r[4];
|
|
/* 021B46A0 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 021B46A4 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B46A8 */ cpu->r[4] = 0x00000020u;
|
|
/* 021B46AC */ cpu->r[6] = 0x00000004u;
|
|
/* 021B46B0 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 021B46B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B46B4 */ Gambit_fn_028023CC(cpu);
|
|
/* 021B46B8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B46BC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021B46BC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B46C0 */ cpu->r[10] = cpu->r[10] + 0x00000F58u;
|
|
/* 021B46C4 */ cpu->r[12] = 0x000003E8u;
|
|
/* 021B46C8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B46CC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B46CC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 021B46D0 */ cpu->r[8] = cpu->r[8] + 0x00000F68u;
|
|
/* 021B46D4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B46D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021B46D8 */ cpu->r[9] = 0x00000003u;
|
|
/* 021B46DC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B46DC */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 021B46E0 */ cpu->r[0] = 0x101E0000u;
|
|
/* 021B46E4 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 021B46E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 021B46E8 */ cpu->r[0] = cpu->r[0] + 0x00000F60u;
|
|
/* 021B46EC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B46F0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 021B46F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021B46F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B46F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B46FC */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 021B46FC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 021B4700 */ Gambit_fn_0278E15C(cpu);
|
|
/* 021B4704 */ _t11 = cpu->r[31] + 0x0000011Cu;
|
|
/* 021B4704 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 021B4708 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B470C */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 021B470C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B4710 */ cpu->lr = cpu->r[0];
|
|
/* 021B4714 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B4714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B4718 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B471C */ return;
|
|
}
|
|
|
|
// fn_021B4720 @ 0x21b4720
|
|
void Gambit_fn_021B4720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B4720: ; // 0x21b4720
|
|
/* 021B4720 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B4720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4720 */ cpu->r[1] = _t0;
|
|
/* 021B4724 */ /* nop */
|
|
/* 021B4728 */ cpu->r[0] = cpu->lr;
|
|
/* 021B472C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021B472C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B4730 */ cpu->r[29] = cpu->r[4];
|
|
/* 021B4734 */ _t2 = cpu->r[3] + 0x00000120u;
|
|
/* 021B4734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B4738 */ _t3 = cpu->r[3] + 0x00000128u;
|
|
/* 021B4738 */ cpu->r[26] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B473C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4740 */ cpu->r[27] = cpu->r[26] + cpu->r[9];
|
|
/* 021B4744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]);
|
|
/* 021B4748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4748 */ if (_t5) goto L_021B4834; else goto L_021B474C;
|
|
L_021B474C: ; // 0x21b474c
|
|
/* 021B474C */ cpu->r[31] = 0x10110000u;
|
|
/* 021B4750 */ cpu->r[25] = 0x00080000u;
|
|
/* 021B4754 */ cpu->r[28] = 0x10030000u;
|
|
/* 021B4758 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 021B4758 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B475C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 021B4760 */ cpu->r[28] = cpu->r[28] + 0xFFFFA038u;
|
|
L_021B4764: ; // 0x21b4764
|
|
/* 021B4764 */ _t7 = cpu->r[26] + 0x00000000u;
|
|
/* 021B4764 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B4768 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 021B4768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 021B476C */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 021B476C */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B4770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4774 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B4778 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4778 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B4778 */ if (_t11) goto L_021B478C; else goto L_021B477C;
|
|
L_021B477C: ; // 0x21b477c
|
|
/* 021B477C */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 021B477C */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B4780 */ _t13 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021B4780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B4784 */ _t14 = cpu->r[5] + 0x00000008u;
|
|
/* 021B4784 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B4788 */ cpu->r[0] = cpu->r[4] + cpu->r[6];
|
|
L_021B478C: ; // 0x21b478c
|
|
/* 021B478C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 021B478C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021B4790 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4790 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 021B4794 */ _t17 = cpu->r[7] + 0x00000014u;
|
|
/* 021B4794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4798 */ cpu->ctr = cpu->r[9];
|
|
/* 021B479C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B47A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B47A4 */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 021B47A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B47A8 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 021B47A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B47AC */ cpu->ctr = cpu->r[10];
|
|
/* 021B47B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B47B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B47B8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B47B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B47BC */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 021B47BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B47C0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B47C4 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 021B47C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B47C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B47CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B47D0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 021B47D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B47D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]);
|
|
/* 021B47D8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B47D8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B47D8 */ if (_t25) goto L_021B4810; else goto L_021B47DC;
|
|
L_021B47DC: ; // 0x21b47dc
|
|
/* 021B47DC */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 021B47DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B47E0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 021B47E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B47E4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B47E8 */ cpu->ctr = cpu->r[25];
|
|
/* 021B47EC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021B47F0: ; // 0x21b47f0
|
|
/* 021B47F0 */ _t28 = cpu->r[7] + 0x00000001u;
|
|
/* 021B47F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 021B47F0 */ cpu->r[7] = _t28;
|
|
/* 021B47F4 */ _t29 = cpu->r[6] + 0x00000001u;
|
|
/* 021B47F4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t29);
|
|
/* 021B47F4 */ cpu->r[6] = _t29;
|
|
/* 021B47F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 021B47FC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B47FC */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B47FC */ if (_t31) goto L_021B4800; else goto L_021B4828;
|
|
L_021B4800: ; // 0x21b4800
|
|
/* 021B4800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B4804 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4804 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B4804 */ if (_t33) goto L_021B4810; else goto L_021B4808;
|
|
L_021B4808: ; // 0x21b4808
|
|
/* 021B4808 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B4808 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B4808 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 021B4808 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B4808 */ if (_t36) goto L_021B47F0; else goto L_021B480C;
|
|
L_021B480C: ; // 0x21b480c
|
|
/* 021B480C */ goto L_021B4828;
|
|
L_021B4810: ; // 0x21b4810
|
|
/* 021B4810 */ _t37 = cpu->r[26] + 0x00000000u;
|
|
/* 021B4810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B4814 */ /* nop */
|
|
/* 021B4818 */ _t38 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B481C */ cpu->lr = cpu->r[0];
|
|
/* 021B4820 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B4824 */ return;
|
|
L_021B4828: ; // 0x21b4828
|
|
/* 021B4828 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 021B482C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]);
|
|
/* 021B4830 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4830 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B4830 */ if (_t40) goto L_021B4834; else goto L_021B4764;
|
|
L_021B4834: ; // 0x21b4834
|
|
/* 021B4834 */ /* nop */
|
|
/* 021B4838 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 021B4838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B483C */ cpu->lr = cpu->r[0];
|
|
/* 021B4840 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B4844 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B4848 */ return;
|
|
}
|
|
|
|
// fn_021B484C @ 0x21b484c
|
|
void Gambit_fn_021B484C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B484C: ; // 0x21b484c
|
|
/* 021B484C */ _t0 = cpu->r[3] + 0x00000120u;
|
|
/* 021B484C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B4850 */ _t1 = cpu->r[3] + 0x00000124u;
|
|
/* 021B4850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B4854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 021B4858 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4858 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4858 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 021B4858 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4858 */ goto L_021B485C;
|
|
L_021B485C: ; // 0x21b485c
|
|
/* 021B485C */ _t5 = cpu->r[3] + 0x00000128u;
|
|
/* 021B485C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4860 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4864 */ cpu->r[9] = cpu->r[7];
|
|
/* 021B4868 */ cpu->r[10] = cpu->r[7] + cpu->r[12];
|
|
/* 021B486C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 021B4870 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4870 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4870 */ if (_t7) goto L_021B4894; else goto L_021B4874;
|
|
L_021B4874: ; // 0x21b4874
|
|
/* 021B4874 */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 021B4874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B4878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 021B487C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B487C */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B487C */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B487C */ goto L_021B4880;
|
|
L_021B4880: ; // 0x21b4880
|
|
/* 021B4880 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 021B4884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 021B4888 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4888 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B4888 */ if (_t12) goto L_021B488C; else goto L_021B4874;
|
|
L_021B488C: ; // 0x21b488c
|
|
/* 021B488C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 021B4890 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4890 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B4890 */ _t15 = _t14 ^ 0x00000001u;
|
|
/* 021B4890 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4890 */ goto L_021B4894;
|
|
L_021B4894: ; // 0x21b4894
|
|
/* 021B4894 */ _t16 = cpu->r[7] + cpu->r[12];
|
|
/* 021B4894 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 021B4898 */ _t17 = cpu->r[3] + 0x00000120u;
|
|
/* 021B4898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B489C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B48A0 */ _t18 = cpu->r[3] + 0x00000120u;
|
|
/* 021B48A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 021B48A4 */ return;
|
|
}
|
|
|
|
// fn_021B48A8 @ 0x21b48a8
|
|
void Gambit_fn_021B48A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B48A8: ; // 0x21b48a8
|
|
/* 021B48A8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B48A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B48A8 */ cpu->r[1] = _t0;
|
|
/* 021B48AC */ cpu->r[0] = cpu->lr;
|
|
/* 021B48B0 */ /* nop */
|
|
/* 021B48B4 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B48B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B48BC */ cpu->r[28] = cpu->r[5];
|
|
/* 021B48BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B48C0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B48C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B48C4 */ cpu->r[29] = cpu->r[6];
|
|
/* 021B48C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B48C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B48C8 */ if (_t3) goto L_021B48CC; else goto L_021B48DC;
|
|
L_021B48CC: ; // 0x21b48cc
|
|
/* 021B48CC */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B48D0 */ _t4 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 021B48D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B48D4 */ Gambit_fn_02826F20(cpu);
|
|
/* 021B48D8 */ cpu->r[28] = cpu->r[3];
|
|
L_021B48DC: ; // 0x21b48dc
|
|
/* 021B48DC */ cpu->r[5] = 0x00000000u;
|
|
/* 021B48E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B48E4 */ cpu->r[3] = cpu->r[27] + 0x000000A0u;
|
|
/* 021B48E8 */ Gambit_fn_0278DD20(cpu);
|
|
/* 021B48EC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B48EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B48F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B48F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B48F0 */ if (_t6) goto L_021B48F4; else goto L_021B4AB0;
|
|
L_021B48F4: ; // 0x21b48f4
|
|
/* 021B48F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B48F8 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B48FC */ Gambit_fn_021B4720(cpu);
|
|
/* 021B4900 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4904 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4904 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B4904 */ if (_t8) goto L_021B4908; else goto L_021B4AB0;
|
|
L_021B4908: ; // 0x21b4908
|
|
/* 021B4908 */ _t9 = cpu->r[27] + 0x0000012Cu;
|
|
/* 021B4908 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B490C */ cpu->r[26] = 0x10030000u;
|
|
/* 021B4910 */ cpu->r[25] = 0x00000000u;
|
|
/* 021B4914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 021B4918 */ cpu->r[26] = cpu->r[26] + 0xFFFFA038u;
|
|
/* 021B491C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B491C */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B491C */ if (_t11) goto L_021B4920; else goto L_021B49E8;
|
|
L_021B4920: ; // 0x21b4920
|
|
/* 021B4920 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4924 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4924 */ rbrew_write32(cpu->mem, _t12, cpu->r[26]);
|
|
/* 021B4928 */ cpu->r[0] = cpu->r[0] + 0xFFFFA050u;
|
|
/* 021B492C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 021B492C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B4930 */ _t14 = cpu->r[28] + 0x00000014u;
|
|
/* 021B4930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B4934 */ _t15 = cpu->r[6] + 0x00000014u;
|
|
/* 021B4934 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4938 */ cpu->ctr = cpu->r[7];
|
|
/* 021B493C */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 021B4940 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4944 */ _t16 = cpu->r[28] + 0x00000014u;
|
|
/* 021B4944 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4948 */ _t17 = cpu->r[8] + 0x00000014u;
|
|
/* 021B4948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B494C */ cpu->ctr = cpu->r[9];
|
|
/* 021B4950 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 021B4954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4958 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B495C */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 021B495C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B4960 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4964 */ _t20 = cpu->r[28] + 0x00000010u;
|
|
/* 021B4964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B4968 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B496C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4970 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4970 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B4974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 021B4978 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4978 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B4978 */ if (_t23) goto L_021B49D8; else goto L_021B497C;
|
|
L_021B497C: ; // 0x21b497c
|
|
/* 021B497C */ cpu->r[7] = 0x00080000u;
|
|
/* 021B4980 */ _t24 = cpu->r[28] + 0x00000010u;
|
|
/* 021B4980 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B4984 */ cpu->r[12] = 0x10110000u;
|
|
/* 021B4988 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B498C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021B498C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B4990 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B4994 */ cpu->ctr = cpu->r[7];
|
|
/* 021B4998 */ _t26 = cpu->r[12] + 0x00007399u;
|
|
/* 021B4998 */ cpu->r[12] = rbrew_read8(cpu->mem, _t26);
|
|
/* 021B499C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B49A0: ; // 0x21b49a0
|
|
/* 021B49A0 */ _t27 = cpu->r[11] + 0x00000001u;
|
|
/* 021B49A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 021B49A0 */ cpu->r[11] = _t27;
|
|
/* 021B49A4 */ _t28 = cpu->r[9] + 0x00000001u;
|
|
/* 021B49A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t28);
|
|
/* 021B49A4 */ cpu->r[9] = _t28;
|
|
/* 021B49A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 021B49AC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B49AC */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B49AC */ if (_t30) goto L_021B49B0; else goto L_021B49F8;
|
|
L_021B49B0: ; // 0x21b49b0
|
|
/* 021B49B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 021B49B4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B49B4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B49B4 */ if (_t32) goto L_021B49D8; else goto L_021B49B8;
|
|
L_021B49B8: ; // 0x21b49b8
|
|
/* 021B49B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B49B8 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B49B8 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 021B49B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021B49B8 */ if (_t35) goto L_021B49A0; else goto L_021B49BC;
|
|
L_021B49BC: ; // 0x21b49bc
|
|
/* 021B49BC */ cpu->r[5] = 0x00000001u;
|
|
/* 021B49C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B49C4 */ cpu->r[3] = cpu->r[27] + 0x000000A0u;
|
|
/* 021B49C8 */ Gambit_fn_0278DD20(cpu);
|
|
/* 021B49CC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B49CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B49D0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B49D0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B49D0 */ if (_t37) goto L_021B49D4; else goto L_021B4A10;
|
|
L_021B49D4: ; // 0x21b49d4
|
|
/* 021B49D4 */ goto L_021B4AB0;
|
|
L_021B49D8: ; // 0x21b49d8
|
|
/* 021B49D8 */ _t38 = cpu->r[27] + 0x0000012Cu;
|
|
/* 021B49D8 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 021B49DC */ cpu->r[25] = 0x00000001u;
|
|
/* 021B49E0 */ _t39 = cpu->r[27] + 0x0000011Cu;
|
|
/* 021B49E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B49E4 */ goto L_021B49F8;
|
|
L_021B49E8: ; // 0x21b49e8
|
|
/* 021B49E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 021B49EC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B49EC */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B49EC */ if (_t41) goto L_021B49F0; else goto L_021B49F8;
|
|
L_021B49F0: ; // 0x21b49f0
|
|
/* 021B49F0 */ _t42 = cpu->r[27] + 0x0000011Cu;
|
|
/* 021B49F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B49F4 */ cpu->r[25] = 0x00000001u;
|
|
L_021B49F8: ; // 0x21b49f8
|
|
/* 021B49F8 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B49FC */ cpu->r[4] = cpu->r[30];
|
|
/* 021B4A00 */ cpu->r[3] = cpu->r[27] + 0x000000A0u;
|
|
/* 021B4A04 */ Gambit_fn_0278DD20(cpu);
|
|
/* 021B4A08 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4A0C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4A0C */ _t44 = _t43 & 0x00000001u;
|
|
/* 021B4A0C */ if (_t44) goto L_021B4AB0; else goto L_021B4A10;
|
|
L_021B4A10: ; // 0x21b4a10
|
|
/* 021B4A10 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B4A14 */ goto L_021B4A7C;
|
|
L_021B4A18: ; // 0x21b4a18
|
|
/* 021B4A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B4A1C */ cpu->r[11] = 0x00000000u;
|
|
/* 021B4A20 */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 021B4A20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B4A24 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4A24 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B4A24 */ if (_t47) goto L_021B4A40; else goto L_021B4A28;
|
|
L_021B4A28: ; // 0x21b4a28
|
|
/* 021B4A28 */ _t48 = cpu->r[31] + 0x00000008u;
|
|
/* 021B4A28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B4A2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4A30 */ _t49 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B4A30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B4A34 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
/* 021B4A38 */ _t50 = cpu->r[12] + 0x00000010u;
|
|
/* 021B4A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B4A3C */ cpu->r[11] = cpu->r[8] + cpu->r[0];
|
|
L_021B4A40: ; // 0x21b4a40
|
|
/* 021B4A40 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4A40 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 021B4A44 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4A44 */ rbrew_write32(cpu->mem, _t52, cpu->r[26]);
|
|
/* 021B4A48 */ _t53 = cpu->r[9] + 0x00000024u;
|
|
/* 021B4A48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021B4A4C */ cpu->ctr = cpu->r[10];
|
|
/* 021B4A50 */ cpu->r[5] = cpu->r[28];
|
|
/* 021B4A54 */ cpu->r[6] = cpu->r[29];
|
|
/* 021B4A58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B4A5C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B4A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4A68 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B4A6C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4A6C */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B4A6C */ if (_t55) goto L_021B4A78; else goto L_021B4A70;
|
|
L_021B4A70: ; // 0x21b4a70
|
|
/* 021B4A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4A74 */ Gambit_fn_028E7C58(cpu);
|
|
L_021B4A78: ; // 0x21b4a78
|
|
/* 021B4A78 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_021B4A7C: ; // 0x21b4a7c
|
|
/* 021B4A7C */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 021B4A7C */ cpu->r[7] = rbrew_read8(cpu->mem, _t56);
|
|
/* 021B4A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B4A84 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B4A88 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4A88 */ _t58 = _t57 & 0x00000001u;
|
|
/* 021B4A88 */ if (_t58) goto L_021B4A94; else goto L_021B4A8C;
|
|
L_021B4A8C: ; // 0x21b4a8c
|
|
/* 021B4A8C */ _t59 = cpu->r[31] + 0x00000008u;
|
|
/* 021B4A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B4A90 */ _t60 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021B4A90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
L_021B4A94: ; // 0x21b4a94
|
|
/* 021B4A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 021B4A98 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4A98 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B4A98 */ if (_t62) goto L_021B4A18; else goto L_021B4A9C;
|
|
L_021B4A9C: ; // 0x21b4a9c
|
|
/* 021B4A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021B4AA0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4AA0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B4AA0 */ if (_t64) goto L_021B4AB0; else goto L_021B4AA4;
|
|
L_021B4AA4: ; // 0x21b4aa4
|
|
/* 021B4AA4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B4AA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B4AAC */ Gambit_fn_021B484C(cpu);
|
|
L_021B4AB0: ; // 0x21b4ab0
|
|
/* 021B4AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4AB4 */ /* nop */
|
|
/* 021B4AB8 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B4AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021B4ABC */ cpu->lr = cpu->r[0];
|
|
/* 021B4AC0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B4AC4 */ return;
|
|
}
|
|
|
|
// fn_021B4AC8 @ 0x21b4ac8
|
|
void Gambit_fn_021B4AC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021B4AC8: ; // 0x21b4ac8
|
|
/* 021B4AC8 */ _t0 = cpu->r[3] + 0x00000120u;
|
|
/* 021B4AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B4ACC */ _t1 = cpu->r[3] + 0x00000128u;
|
|
/* 021B4ACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B4AD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4AD4 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 021B4AD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 021B4ADC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4ADC */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4ADC */ if (_t3) goto L_021B4B00; else goto L_021B4AE0;
|
|
L_021B4AE0: ; // 0x21b4ae0
|
|
/* 021B4AE0 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 021B4AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B4AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 021B4AE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4AE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B4AE8 */ if (_t6) goto L_021B4AEC; else goto L_021B4AF4;
|
|
L_021B4AEC: ; // 0x21b4aec
|
|
/* 021B4AEC */ cpu->r[3] = 0x00000001u;
|
|
/* 021B4AF0 */ return;
|
|
L_021B4AF4: ; // 0x21b4af4
|
|
/* 021B4AF4 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 021B4AF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 021B4AFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4AFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B4AFC */ if (_t8) goto L_021B4B00; else goto L_021B4AE0;
|
|
L_021B4B00: ; // 0x21b4b00
|
|
/* 021B4B00 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B4B04 */ return;
|
|
}
|
|
|
|
// fn_021B4B08 @ 0x21b4b08
|
|
void Gambit_fn_021B4B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B4B08: ; // 0x21b4b08
|
|
/* 021B4B08 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4B0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4B0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4B0C */ cpu->r[1] = _t0;
|
|
/* 021B4B10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4B10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4B14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4B18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4B1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4B20 */ _t4 = cpu->r[31] + 0x000000B8u;
|
|
/* 021B4B20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B4B24 */ _t5 = cpu->r[31] + 0x000000C0u;
|
|
/* 021B4B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4B28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4B2C */ cpu->r[12] = cpu->r[30] + cpu->r[10];
|
|
/* 021B4B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 021B4B34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4B34 */ if (_t7) goto L_021B4B70; else goto L_021B4B38;
|
|
L_021B4B38: ; // 0x21b4b38
|
|
/* 021B4B38 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4B38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B4B3C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4B40 */ Gambit_fn_021B4AC8(cpu);
|
|
/* 021B4B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4B48 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B48 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B4B48 */ if (_t10) goto L_021B4B4C; else goto L_021B4B54;
|
|
L_021B4B4C: ; // 0x21b4b4c
|
|
/* 021B4B4C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B4B50 */ Gambit_fn_028E7DC4(cpu);
|
|
L_021B4B54: ; // 0x21b4b54
|
|
/* 021B4B54 */ _t12 = cpu->r[31] + 0x000000B8u;
|
|
/* 021B4B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B4B58 */ _t13 = cpu->r[31] + 0x000000C0u;
|
|
/* 021B4B58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B4B5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4B60 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 021B4B64 */ cpu->r[0] = cpu->r[9] + cpu->r[0];
|
|
/* 021B4B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 021B4B6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B4B6C */ if (_t15) goto L_021B4B70; else goto L_021B4B38;
|
|
L_021B4B70: ; // 0x21b4b70
|
|
/* 021B4B70 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4B74 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4B78 */ cpu->lr = cpu->r[0];
|
|
/* 021B4B7C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4B80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4B84 */ return;
|
|
}
|
|
|
|
// fn_021B4B0C @ 0x21b4b0c
|
|
void Gambit_fn_021B4B0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B4B0C: ; // 0x21b4b0c
|
|
/* 021B4B0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4B0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4B0C */ cpu->r[1] = _t0;
|
|
/* 021B4B10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4B10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4B14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4B18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4B1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4B20 */ _t4 = cpu->r[31] + 0x000000B8u;
|
|
/* 021B4B20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B4B24 */ _t5 = cpu->r[31] + 0x000000C0u;
|
|
/* 021B4B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4B28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4B2C */ cpu->r[12] = cpu->r[30] + cpu->r[10];
|
|
/* 021B4B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 021B4B34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4B34 */ if (_t7) goto L_021B4B70; else goto L_021B4B38;
|
|
L_021B4B38: ; // 0x21b4b38
|
|
/* 021B4B38 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4B38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B4B3C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4B40 */ Gambit_fn_021B4AC8(cpu);
|
|
/* 021B4B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4B48 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B48 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B4B48 */ if (_t10) goto L_021B4B4C; else goto L_021B4B54;
|
|
L_021B4B4C: ; // 0x21b4b4c
|
|
/* 021B4B4C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 021B4B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B4B50 */ Gambit_fn_028E7DC4(cpu);
|
|
L_021B4B54: ; // 0x21b4b54
|
|
/* 021B4B54 */ _t12 = cpu->r[31] + 0x000000B8u;
|
|
/* 021B4B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B4B58 */ _t13 = cpu->r[31] + 0x000000C0u;
|
|
/* 021B4B58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B4B5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4B60 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 021B4B64 */ cpu->r[0] = cpu->r[9] + cpu->r[0];
|
|
/* 021B4B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 021B4B6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4B6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B4B6C */ if (_t15) goto L_021B4B70; else goto L_021B4B38;
|
|
L_021B4B70: ; // 0x21b4b70
|
|
/* 021B4B70 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4B74 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4B74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4B78 */ cpu->lr = cpu->r[0];
|
|
/* 021B4B7C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4B80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4B84 */ return;
|
|
}
|
|
|
|
// fn_021B4B88 @ 0x21b4b88
|
|
void Gambit_fn_021B4B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B4B88: ; // 0x21b4b88
|
|
/* 021B4B88 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B4B8C */ cpu->r[6] = 0x10030000u;
|
|
/* 021B4B90 */ cpu->r[7] = cpu->r[7] + 0x00000F60u;
|
|
/* 021B4B94 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B4B98 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B4B9C */ cpu->r[6] = cpu->r[6] + 0xFFFFA038u;
|
|
/* 021B4BA0 */ cpu->r[8] = cpu->r[8] + 0x00000F58u;
|
|
/* 021B4BA4 */ _t0 = cpu->r[7] + 0x00000004u;
|
|
/* 021B4BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[6]);
|
|
/* 021B4BA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFA074u;
|
|
/* 021B4BAC */ cpu->r[10] = 0x10030000u;
|
|
/* 021B4BB0 */ _t1 = cpu->r[8] + 0x00000004u;
|
|
/* 021B4BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
|
|
/* 021B4BB4 */ cpu->r[10] = cpu->r[10] + 0xFFFFA084u;
|
|
/* 021B4BB8 */ _t2 = cpu->r[8] + 0x00000000u;
|
|
/* 021B4BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 021B4BBC */ cpu->r[9] = 0x101E0000u;
|
|
/* 021B4BC0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B4BC4 */ _t3 = cpu->r[7] + 0x00000000u;
|
|
/* 021B4BC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 021B4BC8 */ cpu->r[9] = cpu->r[9] + 0x00000F68u;
|
|
/* 021B4BCC */ cpu->r[11] = cpu->r[11] + 0xFFFFA064u;
|
|
/* 021B4BD0 */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 021B4BD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 021B4BD4 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B4BD8 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 021B4BD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B4BDC */ cpu->r[12] = cpu->r[12] + 0xFFFFA06Cu;
|
|
/* 021B4BE0 */ _t6 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021B4BE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 021B4BE4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4BE8 */ _t7 = cpu->r[9] + 0x00000008u;
|
|
/* 021B4BE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021B4BEC */ cpu->r[0] = cpu->r[0] + 0xFFFFA098u;
|
|
/* 021B4BF0 */ _t8 = cpu->r[9] + 0x00000014u;
|
|
/* 021B4BF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 021B4BF4 */ _t9 = cpu->r[9] + 0x00000010u;
|
|
/* 021B4BF4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021B4BF8 */ return;
|
|
}
|
|
|
|
// fn_021B4BFC @ 0x21b4bfc
|
|
void Gambit_fn_021B4BFC(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_021B4BFC: ; // 0x21b4bfc
|
|
/* 021B4BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4C00 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C00 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B4C00 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4C00 */ goto L_021B4C04;
|
|
L_021B4C04: ; // 0x21b4c04
|
|
/* 021B4C04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B4C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4C08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B4C08 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B4C08 */ goto L_021B4C0C;
|
|
L_021B4C0C: ; // 0x21b4c0c
|
|
/* 021B4C0C */ 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_021B4C10 @ 0x21b4c10
|
|
void Gambit_fn_021B4C10(CPUState* cpu) {
|
|
L_021B4C10: ; // 0x21b4c10
|
|
/* 021B4C10 */ return;
|
|
}
|
|
|
|
// fn_021B4C14 @ 0x21b4c14
|
|
void Gambit_fn_021B4C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_021B4C14: ; // 0x21b4c14
|
|
/* 021B4C14 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4C18 */ cpu->r[1] = _t0;
|
|
/* 021B4C1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4C20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4C24 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4C28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4C2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4C2C */ if (_t5) goto L_021B4C30; else goto L_021B4C40;
|
|
L_021B4C30: ; // 0x21b4c30
|
|
/* 021B4C30 */ cpu->r[3] = 0x00000188u;
|
|
/* 021B4C34 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4C38 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4C3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4C3C */ if (_t7) goto L_021B4D04; else goto L_021B4C40;
|
|
L_021B4C40: ; // 0x21b4c40
|
|
/* 021B4C40 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B4C44 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B4C48 */ _t8 = cpu->r[11] + 0xFFFFA0E4u;
|
|
/* 021B4C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021B4C4C */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021B4C4C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 021B4C50 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B4C54 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 021B4C54 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 021B4C58 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B4C5C */ cpu->r[4] = 0x00000138u;
|
|
/* 021B4C60 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B4C64 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B4C68 */ cpu->r[6] = 0x021B0000u;
|
|
/* 021B4C6C */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B4C70 */ cpu->r[4] = 0x00000006u;
|
|
/* 021B4C74 */ cpu->r[6] = cpu->r[6] + 0x00005EA8u;
|
|
/* 021B4C78 */ cpu->r[5] = 0x00000034u;
|
|
/* 021B4C7C */ Gambit_fn_02C82E00(cpu);
|
|
/* 021B4C80 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 021B4C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4C84 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C84 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B4C84 */ if (_t12) goto L_021B4C88; else goto L_021B4C98;
|
|
L_021B4C88: ; // 0x21b4c88
|
|
/* 021B4C88 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B4C8C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4C94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B4C94 */ if (_t14) goto L_021B4CA0; else goto L_021B4C98;
|
|
L_021B4C98: ; // 0x21b4c98
|
|
/* 021B4C98 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4C98 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021B4C9C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4C9C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_021B4CA0: ; // 0x21b4ca0
|
|
/* 021B4CA0 */ cpu->r[4] = 0x00000018u;
|
|
/* 021B4CA4 */ cpu->r[3] = cpu->r[31] + 0x00000164u;
|
|
/* 021B4CA8 */ _t17 = cpu->r[31] + 0x00000160u;
|
|
/* 021B4CA8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021B4CAC */ Gambit_fn_02C89380(cpu);
|
|
/* 021B4CB0 */ cpu->r[3] = cpu->r[31] + 0x0000017Cu;
|
|
/* 021B4CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B4CB4 */ if (_t19) goto L_021B4CB8; else goto L_021B4CC8;
|
|
L_021B4CB8: ; // 0x21b4cb8
|
|
/* 021B4CB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B4CBC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B4CC4 */ if (_t21) goto L_021B4CEC; else goto L_021B4CC8;
|
|
L_021B4CC8: ; // 0x21b4cc8
|
|
/* 021B4CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CCC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B4CCC */ if (_t23) goto L_021B4CD0; else goto L_021B4CE0;
|
|
L_021B4CD0: ; // 0x21b4cd0
|
|
/* 021B4CD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B4CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CDC */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B4CDC */ if (_t25) goto L_021B4CEC; else goto L_021B4CE0;
|
|
L_021B4CE0: ; // 0x21b4ce0
|
|
/* 021B4CE0 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4CE0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 021B4CE4 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4CE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 021B4CE8 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 021B4CE8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_021B4CEC: ; // 0x21b4cec
|
|
/* 021B4CEC */ cpu->r[10] = 0x00000006u;
|
|
/* 021B4CF0 */ cpu->r[12] = cpu->r[31] + 0x00000160u;
|
|
/* 021B4CF4 */ cpu->ctr = cpu->r[10];
|
|
/* 021B4CF8 */ cpu->r[0] = 0x00000000u;
|
|
L_021B4CFC: ; // 0x21b4cfc
|
|
/* 021B4CFC */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 021B4CFC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B4CFC */ cpu->r[12] = _t29;
|
|
/* 021B4D00 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B4D00 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B4D00 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 021B4D00 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B4D00 */ if (_t32) goto L_021B4CFC; else goto L_021B4D04;
|
|
L_021B4D04: ; // 0x21b4d04
|
|
/* 021B4D04 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B4D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D0C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B4D10 */ cpu->lr = cpu->r[0];
|
|
/* 021B4D14 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4D14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B4D18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4D1C */ return;
|
|
}
|
|
|
|
// fn_021B4C18 @ 0x21b4c18
|
|
void Gambit_fn_021B4C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_021B4C18: ; // 0x21b4c18
|
|
/* 021B4C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B4C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4C18 */ cpu->r[1] = _t0;
|
|
/* 021B4C1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B4C20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4C24 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4C28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B4C2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B4C2C */ if (_t5) goto L_021B4C30; else goto L_021B4C40;
|
|
L_021B4C30: ; // 0x21b4c30
|
|
/* 021B4C30 */ cpu->r[3] = 0x00000188u;
|
|
/* 021B4C34 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4C38 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4C3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4C3C */ if (_t7) goto L_021B4D04; else goto L_021B4C40;
|
|
L_021B4C40: ; // 0x21b4c40
|
|
/* 021B4C40 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B4C44 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B4C48 */ _t8 = cpu->r[11] + 0xFFFFA0E4u;
|
|
/* 021B4C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021B4C4C */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021B4C4C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 021B4C50 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B4C54 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 021B4C54 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 021B4C58 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B4C5C */ cpu->r[4] = 0x00000138u;
|
|
/* 021B4C60 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B4C64 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B4C68 */ cpu->r[6] = 0x021B0000u;
|
|
/* 021B4C6C */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B4C70 */ cpu->r[4] = 0x00000006u;
|
|
/* 021B4C74 */ cpu->r[6] = cpu->r[6] + 0x00005EA8u;
|
|
/* 021B4C78 */ cpu->r[5] = 0x00000034u;
|
|
/* 021B4C7C */ Gambit_fn_02C82E00(cpu);
|
|
/* 021B4C80 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 021B4C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4C84 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C84 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B4C84 */ if (_t12) goto L_021B4C88; else goto L_021B4C98;
|
|
L_021B4C88: ; // 0x21b4c88
|
|
/* 021B4C88 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B4C8C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4C94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4C94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B4C94 */ if (_t14) goto L_021B4CA0; else goto L_021B4C98;
|
|
L_021B4C98: ; // 0x21b4c98
|
|
/* 021B4C98 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4C98 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021B4C9C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4C9C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_021B4CA0: ; // 0x21b4ca0
|
|
/* 021B4CA0 */ cpu->r[4] = 0x00000018u;
|
|
/* 021B4CA4 */ cpu->r[3] = cpu->r[31] + 0x00000164u;
|
|
/* 021B4CA8 */ _t17 = cpu->r[31] + 0x00000160u;
|
|
/* 021B4CA8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021B4CAC */ Gambit_fn_02C89380(cpu);
|
|
/* 021B4CB0 */ cpu->r[3] = cpu->r[31] + 0x0000017Cu;
|
|
/* 021B4CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B4CB4 */ if (_t19) goto L_021B4CB8; else goto L_021B4CC8;
|
|
L_021B4CB8: ; // 0x21b4cb8
|
|
/* 021B4CB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B4CBC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B4CC4 */ if (_t21) goto L_021B4CEC; else goto L_021B4CC8;
|
|
L_021B4CC8: ; // 0x21b4cc8
|
|
/* 021B4CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CCC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B4CCC */ if (_t23) goto L_021B4CD0; else goto L_021B4CE0;
|
|
L_021B4CD0: ; // 0x21b4cd0
|
|
/* 021B4CD0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B4CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B4CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4CDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4CDC */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B4CDC */ if (_t25) goto L_021B4CEC; else goto L_021B4CE0;
|
|
L_021B4CE0: ; // 0x21b4ce0
|
|
/* 021B4CE0 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 021B4CE0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 021B4CE4 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 021B4CE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 021B4CE8 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 021B4CE8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_021B4CEC: ; // 0x21b4cec
|
|
/* 021B4CEC */ cpu->r[10] = 0x00000006u;
|
|
/* 021B4CF0 */ cpu->r[12] = cpu->r[31] + 0x00000160u;
|
|
/* 021B4CF4 */ cpu->ctr = cpu->r[10];
|
|
/* 021B4CF8 */ cpu->r[0] = 0x00000000u;
|
|
L_021B4CFC: ; // 0x21b4cfc
|
|
/* 021B4CFC */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 021B4CFC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B4CFC */ cpu->r[12] = _t29;
|
|
/* 021B4D00 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B4D00 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B4D00 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 021B4D00 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B4D00 */ if (_t32) goto L_021B4CFC; else goto L_021B4D04;
|
|
L_021B4D04: ; // 0x21b4d04
|
|
/* 021B4D04 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B4D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D0C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B4D10 */ cpu->lr = cpu->r[0];
|
|
/* 021B4D14 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4D14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B4D18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B4D1C */ return;
|
|
}
|
|
|
|
// fn_021B4D20 @ 0x21b4d20
|
|
void Gambit_fn_021B4D20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B4D20: ; // 0x21b4d20
|
|
/* 021B4D20 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4D24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B4D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4D24 */ cpu->r[1] = _t0;
|
|
/* 021B4D28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D28 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B4D2C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4D30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4D30 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B4D34 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4D34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B4D38 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B4D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4D40 */ _t5 = cpu->r[29] + 0x00004D8Cu;
|
|
/* 021B4D40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4D40 */ cpu->r[29] = _t5;
|
|
/* 021B4D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4D48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4D48 */ if (_t7) goto L_021B4D4C; else goto L_021B4D98;
|
|
L_021B4D4C: ; // 0x21b4d4c
|
|
/* 021B4D4C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B4D50 */ cpu->r[3] = 0x00000188u;
|
|
/* 021B4D54 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B4D58 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B4D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4D60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B4D60 */ if (_t9) goto L_021B4D80; else goto L_021B4D64;
|
|
L_021B4D64: ; // 0x21b4d64
|
|
/* 021B4D64 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B4D68 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B4D6C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D70 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B4D74 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4D78 */ cpu->r[0] = cpu->r[0] + 0xFFFFA164u;
|
|
/* 021B4D7C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B4D7C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021B4D80: ; // 0x21b4d80
|
|
/* 021B4D80 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B4D84 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4D88 */ _t11 = cpu->r[12] + 0x00004D90u;
|
|
/* 021B4D88 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B4D8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B4D8C */ if (_t13) goto L_021B4D94; else goto L_021B4D90;
|
|
L_021B4D90: ; // 0x21b4d90
|
|
/* 021B4D90 */ Gambit_fn_021B4C14(cpu);
|
|
L_021B4D94: ; // 0x21b4d94
|
|
/* 021B4D94 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B4D94 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021B4D98: ; // 0x21b4d98
|
|
/* 021B4D98 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4D9C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4DA0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4DA4 */ cpu->lr = cpu->r[0];
|
|
/* 021B4DA8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4DAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B4DB0 */ return;
|
|
}
|
|
|
|
// fn_021B4D24 @ 0x21b4d24
|
|
void Gambit_fn_021B4D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B4D24: ; // 0x21b4d24
|
|
/* 021B4D24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B4D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4D24 */ cpu->r[1] = _t0;
|
|
/* 021B4D28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D28 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B4D2C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B4D30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4D30 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B4D34 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4D34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B4D38 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B4D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4D40 */ _t5 = cpu->r[29] + 0x00004D8Cu;
|
|
/* 021B4D40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B4D40 */ cpu->r[29] = _t5;
|
|
/* 021B4D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4D48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B4D48 */ if (_t7) goto L_021B4D4C; else goto L_021B4D98;
|
|
L_021B4D4C: ; // 0x21b4d4c
|
|
/* 021B4D4C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B4D50 */ cpu->r[3] = 0x00000188u;
|
|
/* 021B4D54 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B4D58 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B4D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B4D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B4D60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B4D60 */ if (_t9) goto L_021B4D80; else goto L_021B4D64;
|
|
L_021B4D64: ; // 0x21b4d64
|
|
/* 021B4D64 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B4D68 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B4D6C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D70 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B4D74 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4D78 */ cpu->r[0] = cpu->r[0] + 0xFFFFA164u;
|
|
/* 021B4D7C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B4D7C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021B4D80: ; // 0x21b4d80
|
|
/* 021B4D80 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B4D84 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B4D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4D88 */ _t11 = cpu->r[12] + 0x00004D90u;
|
|
/* 021B4D88 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B4D8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4D8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B4D8C */ if (_t13) goto L_021B4D94; else goto L_021B4D90;
|
|
L_021B4D90: ; // 0x21b4d90
|
|
/* 021B4D90 */ Gambit_fn_021B4C14(cpu);
|
|
L_021B4D94: ; // 0x21b4d94
|
|
/* 021B4D94 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B4D94 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021B4D98: ; // 0x21b4d98
|
|
/* 021B4D98 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B4D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4D9C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4DA0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B4DA4 */ cpu->lr = cpu->r[0];
|
|
/* 021B4DA8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B4DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B4DAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B4DB0 */ return;
|
|
}
|
|
|
|
// fn_021B4DB4 @ 0x21b4db4
|
|
void Gambit_fn_021B4DB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196;
|
|
|
|
L_021B4DB4: ; // 0x21b4db4
|
|
/* 021B4DB4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 021B4DB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B4DB4 */ cpu->r[1] = _t0;
|
|
/* 021B4DB8 */ /* nop */
|
|
/* 021B4DBC */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 021B4DBC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B4DC0 */ /* nop */
|
|
/* 021B4DC4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B4DC8 */ _t2 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B4DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B4DCC */ cpu->r[15] = 0x10030000u;
|
|
/* 021B4DD0 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 021B4DD0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021B4DD4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B4DD8 */ cpu->r[15] = cpu->r[15] + 0xFFFFA0E8u;
|
|
/* 021B4DDC */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 021B4DDC */ rbrew_write32(cpu->mem, _t4, cpu->r[15]);
|
|
/* 021B4DE0 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B4DE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B4DE8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4DE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 021B4DEC */ cpu->r[7] = cpu->r[5];
|
|
/* 021B4DF0 */ cpu->r[3] = 0x00010000u;
|
|
/* 021B4DF4 */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 021B4DF4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 021B4DF8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA14Cu;
|
|
/* 021B4DFC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 021B4E00 */ cpu->r[6] = 0x00000001u;
|
|
/* 021B4E04 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 021B4E04 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B4E08 */ Gambit_fn_02822600(cpu);
|
|
/* 021B4E0C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021B4E0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B4E10 */ _t9 = cpu->r[30] + 0x00000010u;
|
|
/* 021B4E10 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 021B4E14 */ _t10 = cpu->r[3] + 0x00000090u;
|
|
/* 021B4E14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 021B4E18 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 021B4E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B4E20 */ _t11 = cpu->r[3] + 0x00000090u;
|
|
/* 021B4E20 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 021B4E24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4E24 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B4E24 */ if (_t13) goto L_021B4E28; else goto L_021B4E38;
|
|
L_021B4E28: ; // 0x21b4e28
|
|
/* 021B4E28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B4E2C */ _t14 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 021B4E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B4E30 */ Gambit_fn_02826F20(cpu);
|
|
/* 021B4E34 */ cpu->r[9] = cpu->r[3];
|
|
L_021B4E38: ; // 0x21b4e38
|
|
/* 021B4E38 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021B4E38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B4E3C */ _t16 = cpu->r[10] + 0x00000034u;
|
|
/* 021B4E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B4E40 */ cpu->ctr = cpu->r[0];
|
|
/* 021B4E44 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B4E48 */ cpu->r[4] = 0x00002400u;
|
|
/* 021B4E4C */ cpu->r[3] = cpu->r[9];
|
|
/* 021B4E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B4E54 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B4E58 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B4E5C */ _t17 = cpu->r[12] + 0xFFFFA148u;
|
|
/* 021B4E5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021B4E60 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B4E64 */ cpu->r[28] = 0x00000100u;
|
|
/* 021B4E68 */ cpu->r[31] = cpu->r[29];
|
|
L_021B4E6C: ; // 0x21b4e6c
|
|
/* 021B4E6C */ cpu->r[27] = cpu->r[26] + cpu->r[29];
|
|
/* 021B4E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B4E70 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4E70 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B4E70 */ if (_t19) goto L_021B4E98; else goto L_021B4E74;
|
|
L_021B4E74: ; // 0x21b4e74
|
|
/* 021B4E74 */ _t20 = cpu->r[27] + 0x00000000u;
|
|
/* 021B4E74 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 021B4E78 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 021B4E7C */ Gambit_fn_028BBF0C(cpu);
|
|
/* 021B4E80 */ _t21 = cpu->r[27] + 0x00000010u;
|
|
/* 021B4E80 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 021B4E84 */ _t22 = cpu->r[27] + 0x00000020u;
|
|
/* 021B4E84 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 021B4E88 */ _t23 = cpu->r[27] + 0x00000018u;
|
|
/* 021B4E88 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
/* 021B4E8C */ _t24 = cpu->r[27] + 0x0000001Cu;
|
|
/* 021B4E8C */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 021B4E90 */ _t25 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021B4E90 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 021B4E94 */ _t26 = cpu->r[27] + 0x00000014u;
|
|
/* 021B4E94 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
L_021B4E98: ; // 0x21b4e98
|
|
/* 021B4E98 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 021B4E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B4E9C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 021B4EA0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4EA0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B4EA0 */ if (_t28) goto L_021B4EA4; else goto L_021B4E6C;
|
|
L_021B4EA4: ; // 0x21b4ea4
|
|
/* 021B4EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B4EA8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4EA8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B4EA8 */ if (_t30) goto L_021B4EB8; else goto L_021B4EAC;
|
|
L_021B4EAC: ; // 0x21b4eac
|
|
/* 021B4EAC */ _t31 = cpu->r[30] + 0x0000015Cu;
|
|
/* 021B4EAC */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 021B4EB0 */ cpu->r[12] = 0x00000100u;
|
|
/* 021B4EB4 */ _t32 = cpu->r[30] + 0x00000158u;
|
|
/* 021B4EB4 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
L_021B4EB8: ; // 0x21b4eb8
|
|
/* 021B4EB8 */ cpu->r[7] = 0x10110000u;
|
|
/* 021B4EBC */ cpu->r[23] = 0x101D0000u;
|
|
/* 021B4EC0 */ cpu->r[20] = 0x00000000u;
|
|
/* 021B4EC4 */ _t33 = cpu->r[7] + 0x00007399u;
|
|
/* 021B4EC4 */ cpu->r[21] = rbrew_read8(cpu->mem, _t33);
|
|
/* 021B4EC8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 021B4ECC */ cpu->r[25] = 0x101D0000u;
|
|
/* 021B4ED0 */ cpu->r[24] = cpu->r[20];
|
|
/* 021B4ED4 */ cpu->r[26] = 0x00000001u;
|
|
/* 021B4ED8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 021B4EDC */ cpu->r[29] = cpu->r[29] + 0xFFFFFA2Cu;
|
|
/* 021B4EE0 */ cpu->r[16] = 0x101C0000u;
|
|
/* 021B4EE4 */ cpu->r[28] = 0x101D0000u;
|
|
L_021B4EE8: ; // 0x21b4ee8
|
|
/* 021B4EE8 */ _t34 = cpu->r[27] + 0xFFFFF9C8u;
|
|
/* 021B4EE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B4EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021B4EF0 */ cpu->r[31] = cpu->r[20];
|
|
/* 021B4EF4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4EF4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B4EF4 */ if (_t36) goto L_021B4EF8; else goto L_021B4F0C;
|
|
L_021B4EF8: ; // 0x21b4ef8
|
|
/* 021B4EF8 */ cpu->r[5] = 0x0000004Au;
|
|
/* 021B4EFC */ cpu->r[3] = cpu->r[28] + 0x00004F35u;
|
|
/* 021B4F00 */ cpu->r[4] = cpu->r[16] + 0x00004D40u;
|
|
/* 021B4F04 */ _t37 = cpu->r[27] + 0xFFFFF9C8u;
|
|
/* 021B4F04 */ rbrew_write32(cpu->mem, _t37, cpu->r[26]);
|
|
/* 021B4F08 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_021B4F0C: ; // 0x21b4f0c
|
|
/* 021B4F0C */ _t38 = cpu->r[25] + 0xFFFFF9C4u;
|
|
/* 021B4F0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B4F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021B4F14 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4F14 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B4F14 */ if (_t40) goto L_021B4F18; else goto L_021B4F20;
|
|
L_021B4F18: ; // 0x21b4f18
|
|
/* 021B4F18 */ _t41 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B4F18 */ rbrew_write32(cpu->mem, _t41, cpu->r[24]);
|
|
/* 021B4F1C */ _t42 = cpu->r[25] + 0xFFFFF9C4u;
|
|
/* 021B4F1C */ rbrew_write32(cpu->mem, _t42, cpu->r[26]);
|
|
L_021B4F20: ; // 0x21b4f20
|
|
/* 021B4F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 021B4F24 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4F24 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021B4F24 */ if (_t44) goto L_021B4F54; else goto L_021B4F28;
|
|
L_021B4F28: ; // 0x21b4f28
|
|
/* 021B4F28 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021B4F2C */ cpu->r[6] = 0x00000000u;
|
|
/* 021B4F30 */ _t45 = cpu->r[8] + 0xFFFF9B04u;
|
|
/* 021B4F30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B4F34 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4F38 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 021B4F38 */ rbrew_write32(cpu->mem, _t46, cpu->r[15]);
|
|
/* 021B4F3C */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4F3C */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 021B4F40 */ Gambit_fn_028E8E3C(cpu);
|
|
/* 021B4F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4F48 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4F48 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 021B4F4C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4F4C */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B4F4C */ if (_t50) goto L_021B5324; else goto L_021B4F50;
|
|
L_021B4F50: ; // 0x21b4f50
|
|
/* 021B4F50 */ goto L_021B4FC4;
|
|
L_021B4F54: ; // 0x21b4f54
|
|
/* 021B4F54 */ _t51 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B4F54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B4F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B4F5C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4F5C */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B4F5C */ if (_t53) goto L_021B4F60; else goto L_021B4F98;
|
|
L_021B4F60: ; // 0x21b4f60
|
|
/* 021B4F60 */ Gambit_fn_0282A450(cpu);
|
|
/* 021B4F64 */ cpu->r[22] = cpu->r[3];
|
|
/* 021B4F68 */ Gambit_fn_02836FFC(cpu);
|
|
/* 021B4F6C */ _t54 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B4F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021B4F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B4F74 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4F74 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B4F74 */ if (_t56) goto L_021B4F78; else goto L_021B4F8C;
|
|
L_021B4F78: ; // 0x21b4f78
|
|
/* 021B4F78 */ cpu->r[5] = 0x00000006u;
|
|
/* 021B4F7C */ cpu->r[4] = cpu->r[28] + 0x00004F35u;
|
|
/* 021B4F80 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B4F84 */ Gambit_fn_0282A374(cpu);
|
|
/* 021B4F88 */ _t57 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B4F88 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]);
|
|
L_021B4F8C: ; // 0x21b4f8c
|
|
/* 021B4F8C */ cpu->r[3] = cpu->r[22];
|
|
/* 021B4F90 */ Gambit_fn_02837030(cpu);
|
|
/* 021B4F94 */ _t58 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B4F94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
L_021B4F98: ; // 0x21b4f98
|
|
/* 021B4F98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B4F9C */ _t59 = cpu->r[7] + cpu->r[8];
|
|
/* 021B4F9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B4FA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021B4FA4 */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 021B4FA4 */ rbrew_write32(cpu->mem, _t60, cpu->r[15]);
|
|
/* 021B4FA8 */ _t61 = cpu->r[8] + 0xFFFF9B04u;
|
|
/* 021B4FA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021B4FAC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4FB0 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B4FB0 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 021B4FB4 */ Gambit_fn_028E8E3C(cpu);
|
|
/* 021B4FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B4FBC */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4FBC */ rbrew_write32(cpu->mem, _t63, cpu->r[3]);
|
|
/* 021B4FC0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4FC0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B4FC0 */ if (_t65) goto L_021B5324; else goto L_021B4FC4;
|
|
L_021B4FC4: ; // 0x21b4fc4
|
|
/* 021B4FC4 */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 021B4FC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B4FC8 */ _t67 = cpu->r[30] + 0x00000010u;
|
|
/* 021B4FC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021B4FCC */ Gambit_fn_028E99EC(cpu);
|
|
/* 021B4FD0 */ cpu->r[22] = cpu->r[3];
|
|
/* 021B4FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B4FD4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B4FD4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 021B4FD4 */ if (_t69) goto L_021B4FE4; else goto L_021B4FD8;
|
|
L_021B4FD8: ; // 0x21b4fd8
|
|
/* 021B4FD8 */ _t70 = cpu->r[22] + 0x0000008Cu;
|
|
/* 021B4FD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B4FDC */ cpu->r[6] = cpu->r[6] | 0x00000003u;
|
|
/* 021B4FE0 */ _t71 = cpu->r[22] + 0x0000008Cu;
|
|
/* 021B4FE0 */ rbrew_write32(cpu->mem, _t71, cpu->r[6]);
|
|
L_021B4FE4: ; // 0x21b4fe4
|
|
/* 021B4FE4 */ cpu->r[0] = cpu->r[20];
|
|
/* 021B4FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 021B4FEC */ cpu->r[8] = cpu->r[30] + 0x00000020u;
|
|
/* 021B4FF0 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B4FF0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B4FF0 */ if (_t73) goto L_021B4FF4; else goto L_021B5018;
|
|
L_021B4FF4: ; // 0x21b4ff4
|
|
/* 021B4FF4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000034u);
|
|
/* 021B4FF8 */ _t74 = cpu->r[8] + cpu->r[7];
|
|
/* 021B4FF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B4FFC */ _t75 = cpu->r[9] + 0x00000000u;
|
|
/* 021B4FFC */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[21]);
|
|
/* 021B5000 */ _t76 = cpu->r[27] + 0xFFFFF9C8u;
|
|
/* 021B5000 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021B5004 */ cpu->r[31] = cpu->r[20];
|
|
/* 021B5008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B500C */ cpu->r[19] = cpu->r[8] + cpu->r[7];
|
|
/* 021B5010 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5010 */ _t78 = _t77 & 0x00000001u;
|
|
/* 021B5010 */ if (_t78) goto L_021B5034; else goto L_021B5014;
|
|
L_021B5014: ; // 0x21b5014
|
|
/* 021B5014 */ goto L_021B5048;
|
|
L_021B5018: ; // 0x21b5018
|
|
/* 021B5018 */ cpu->r[19] = cpu->r[8];
|
|
/* 021B501C */ _t79 = cpu->r[19] + 0x00000000u;
|
|
/* 021B501C */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 021B5020 */ _t80 = cpu->r[9] + 0x00000000u;
|
|
/* 021B5020 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[21]);
|
|
/* 021B5024 */ _t81 = cpu->r[27] + 0xFFFFF9C8u;
|
|
/* 021B5024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B5028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B502C */ cpu->r[31] = cpu->r[20];
|
|
/* 021B5030 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5030 */ _t83 = _t82 & 0x00000001u;
|
|
/* 021B5030 */ if (_t83) goto L_021B5034; else goto L_021B5048;
|
|
L_021B5034: ; // 0x21b5034
|
|
/* 021B5034 */ cpu->r[5] = 0x0000004Au;
|
|
/* 021B5038 */ cpu->r[3] = cpu->r[28] + 0x00004F35u;
|
|
/* 021B503C */ cpu->r[4] = cpu->r[16] + 0x00004D40u;
|
|
/* 021B5040 */ _t84 = cpu->r[27] + 0xFFFFF9C8u;
|
|
/* 021B5040 */ rbrew_write32(cpu->mem, _t84, cpu->r[26]);
|
|
/* 021B5044 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_021B5048: ; // 0x21b5048
|
|
/* 021B5048 */ _t85 = cpu->r[25] + 0xFFFFF9C4u;
|
|
/* 021B5048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B5050 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5050 */ _t87 = _t86 & 0x00000001u;
|
|
/* 021B5050 */ if (_t87) goto L_021B5054; else goto L_021B505C;
|
|
L_021B5054: ; // 0x21b5054
|
|
/* 021B5054 */ _t88 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B5054 */ rbrew_write32(cpu->mem, _t88, cpu->r[24]);
|
|
/* 021B5058 */ _t89 = cpu->r[25] + 0xFFFFF9C4u;
|
|
/* 021B5058 */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
L_021B505C: ; // 0x21b505c
|
|
/* 021B505C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 021B5060 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5060 */ _t91 = _t90 & 0x00000001u;
|
|
/* 021B5060 */ if (_t91) goto L_021B50A8; else goto L_021B5064;
|
|
L_021B5064: ; // 0x21b5064
|
|
/* 021B5064 */ _t92 = cpu->r[1] + 0x00000018u;
|
|
/* 021B5064 */ rbrew_write32(cpu->mem, _t92, cpu->r[15]);
|
|
/* 021B5068 */ cpu->r[11] = 0x00000000u;
|
|
/* 021B506C */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 021B506C */ rbrew_write32(cpu->mem, _t93, cpu->r[11]);
|
|
/* 021B5070 */ _t94 = cpu->r[19] + 0x00000004u;
|
|
/* 021B5070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B5074 */ _t95 = cpu->r[4] + 0x00000014u;
|
|
/* 021B5074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B5078 */ cpu->ctr = cpu->r[0];
|
|
/* 021B507C */ _t96 = cpu->r[19] + 0x00000000u;
|
|
/* 021B507C */ cpu->r[18] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B5080 */ cpu->r[3] = cpu->r[19];
|
|
/* 021B5084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5088 */ _t97 = cpu->r[19] + 0x00000000u;
|
|
/* 021B5088 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B508C */ cpu->r[12] = cpu->r[21];
|
|
/* 021B5090 */ _t98 = cpu->r[4] + 0x00000000u;
|
|
/* 021B5090 */ cpu->r[5] = rbrew_read8(cpu->mem, _t98);
|
|
/* 021B5094 */ cpu->r[9] = 0x00000000u;
|
|
/* 021B5098 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 021B509C */ cpu->r[5] = 0x00080000u;
|
|
/* 021B50A0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B50A0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 021B50A0 */ if (_t100) goto L_021B51A0; else goto L_021B50A4;
|
|
L_021B50A4: ; // 0x21b50a4
|
|
/* 021B50A4 */ goto L_021B5130;
|
|
L_021B50A8: ; // 0x21b50a8
|
|
/* 021B50A8 */ _t101 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B50A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 021B50AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B50B0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B50B0 */ _t103 = _t102 & 0x00000001u;
|
|
/* 021B50B0 */ if (_t103) goto L_021B50B4; else goto L_021B50EC;
|
|
L_021B50B4: ; // 0x21b50b4
|
|
/* 021B50B4 */ Gambit_fn_0282A450(cpu);
|
|
/* 021B50B8 */ cpu->r[18] = cpu->r[3];
|
|
/* 021B50BC */ Gambit_fn_02836FFC(cpu);
|
|
/* 021B50C0 */ _t104 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B50C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 021B50C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B50C8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B50C8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 021B50C8 */ if (_t106) goto L_021B50CC; else goto L_021B50E0;
|
|
L_021B50CC: ; // 0x21b50cc
|
|
/* 021B50CC */ cpu->r[5] = 0x00000006u;
|
|
/* 021B50D0 */ cpu->r[4] = cpu->r[28] + 0x00004F35u;
|
|
/* 021B50D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B50D8 */ Gambit_fn_0282A374(cpu);
|
|
/* 021B50DC */ _t107 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B50DC */ rbrew_write32(cpu->mem, _t107, cpu->r[29]);
|
|
L_021B50E0: ; // 0x21b50e0
|
|
/* 021B50E0 */ cpu->r[3] = cpu->r[18];
|
|
/* 021B50E4 */ Gambit_fn_02837030(cpu);
|
|
/* 021B50E8 */ _t108 = cpu->r[23] + 0xFFFFFA28u;
|
|
/* 021B50E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t108);
|
|
L_021B50EC: ; // 0x21b50ec
|
|
/* 021B50EC */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B50F0 */ _t109 = cpu->r[12] + cpu->r[8];
|
|
/* 021B50F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B50F4 */ _t110 = cpu->r[1] + 0x00000018u;
|
|
/* 021B50F4 */ rbrew_write32(cpu->mem, _t110, cpu->r[15]);
|
|
/* 021B50F8 */ _t111 = cpu->r[1] + 0x00000014u;
|
|
/* 021B50F8 */ rbrew_write32(cpu->mem, _t111, cpu->r[11]);
|
|
/* 021B50FC */ _t112 = cpu->r[19] + 0x00000004u;
|
|
/* 021B50FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021B5100 */ _t113 = cpu->r[4] + 0x00000014u;
|
|
/* 021B5100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 021B5104 */ cpu->ctr = cpu->r[0];
|
|
/* 021B5108 */ _t114 = cpu->r[19] + 0x00000000u;
|
|
/* 021B5108 */ cpu->r[18] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021B510C */ cpu->r[3] = cpu->r[19];
|
|
/* 021B5110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5114 */ _t115 = cpu->r[19] + 0x00000000u;
|
|
/* 021B5114 */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B5118 */ cpu->r[12] = cpu->r[21];
|
|
/* 021B511C */ _t116 = cpu->r[4] + 0x00000000u;
|
|
/* 021B511C */ cpu->r[5] = rbrew_read8(cpu->mem, _t116);
|
|
/* 021B5120 */ cpu->r[9] = 0x00000000u;
|
|
/* 021B5124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 021B5128 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B512C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B512C */ _t118 = _t117 & 0x00000001u;
|
|
/* 021B512C */ if (_t118) goto L_021B51A0; else goto L_021B5130;
|
|
L_021B5130: ; // 0x21b5130
|
|
/* 021B5130 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B5134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]);
|
|
/* 021B5138 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B513C */ _t119 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B513C */ _t120 = _t119 & 0x00000001u;
|
|
/* 021B513C */ if (_t120) goto L_021B5164; else goto L_021B5140;
|
|
L_021B5140: ; // 0x21b5140
|
|
/* 021B5140 */ _t121 = cpu->r[4] + 0x00000000u;
|
|
/* 021B5140 */ cpu->r[6] = rbrew_read8(cpu->mem, _t121);
|
|
/* 021B5144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 021B5148 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5148 */ _t123 = _t122 & 0x00000001u;
|
|
/* 021B5148 */ if (_t123) goto L_021B514C; else goto L_021B5130;
|
|
L_021B514C: ; // 0x21b514c
|
|
/* 021B514C */ _t124 = cpu->r[1] + 0x00000018u;
|
|
/* 021B514C */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021B5150 */ cpu->r[17] = cpu->r[9];
|
|
/* 021B5154 */ cpu->r[31] = cpu->r[17];
|
|
/* 021B5154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5158 */ _t125 = cpu->r[7] + 0x00000014u;
|
|
/* 021B5158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B515C */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B515C */ _t127 = _t126 & 0x00000001u;
|
|
/* 021B515C */ if (_t127) goto L_021B5160; else goto L_021B51B8;
|
|
L_021B5160: ; // 0x21b5160
|
|
/* 021B5160 */ goto L_021B51B4;
|
|
L_021B5164: ; // 0x21b5164
|
|
/* 021B5164 */ _t128 = cpu->r[1] + 0x00000018u;
|
|
/* 021B5164 */ cpu->r[7] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021B5168 */ _t129 = cpu->r[7] + 0x00000014u;
|
|
/* 021B5168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 021B516C */ cpu->r[17] = 0x00000000u;
|
|
/* 021B5170 */ cpu->ctr = cpu->r[0];
|
|
/* 021B5174 */ cpu->r[31] = cpu->r[17];
|
|
/* 021B5178 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021B517C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5180 */ _t130 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t130);
|
|
/* 021B5184 */ cpu->r[11] = cpu->r[21];
|
|
/* 021B5188 */ _t131 = cpu->r[8] + 0x00000000u;
|
|
/* 021B5188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t131);
|
|
/* 021B518C */ cpu->r[10] = 0x00000000u;
|
|
/* 021B5190 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 021B5194 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B5198 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5198 */ _t133 = _t132 & 0x00000001u;
|
|
/* 021B5198 */ if (_t133) goto L_021B522C; else goto L_021B519C;
|
|
L_021B519C: ; // 0x21b519c
|
|
/* 021B519C */ goto L_021B51E0;
|
|
L_021B51A0: ; // 0x21b51a0
|
|
/* 021B51A0 */ _t134 = cpu->r[1] + 0x00000018u;
|
|
/* 021B51A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
|
|
/* 021B51A4 */ cpu->r[17] = cpu->r[9];
|
|
/* 021B51A8 */ cpu->r[31] = cpu->r[17];
|
|
/* 021B51A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B51AC */ _t135 = cpu->r[7] + 0x00000014u;
|
|
/* 021B51AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 021B51B0 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B51B0 */ _t137 = _t136 & 0x00000001u;
|
|
/* 021B51B0 */ if (_t137) goto L_021B51B4; else goto L_021B51B8;
|
|
L_021B51B4: ; // 0x21b51b4
|
|
/* 021B51B4 */ cpu->r[31] = 0x00000000u;
|
|
L_021B51B8: ; // 0x21b51b8
|
|
/* 021B51B8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B51BC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021B51C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B51C4 */ _t138 = cpu->r[1] + 0x00000014u;
|
|
/* 021B51C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t138);
|
|
/* 021B51C8 */ cpu->r[11] = cpu->r[21];
|
|
/* 021B51CC */ _t139 = cpu->r[8] + 0x00000000u;
|
|
/* 021B51CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t139);
|
|
/* 021B51D0 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B51D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 021B51D8 */ cpu->r[0] = 0x00080000u;
|
|
/* 021B51DC */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B51DC */ _t141 = _t140 & 0x00000001u;
|
|
/* 021B51DC */ if (_t141) goto L_021B522C; else goto L_021B51E0;
|
|
L_021B51E0: ; // 0x21b51e0
|
|
/* 021B51E0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B51E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 021B51E8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B51EC */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B51EC */ _t143 = _t142 & 0x00000001u;
|
|
/* 021B51EC */ if (_t143) goto L_021B5214; else goto L_021B51F0;
|
|
L_021B51F0: ; // 0x21b51f0
|
|
/* 021B51F0 */ _t144 = cpu->r[8] + 0x00000000u;
|
|
/* 021B51F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t144);
|
|
/* 021B51F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 021B51F8 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B51F8 */ _t146 = _t145 & 0x00000001u;
|
|
/* 021B51F8 */ if (_t146) goto L_021B51FC; else goto L_021B51E0;
|
|
L_021B51FC: ; // 0x21b51fc
|
|
/* 021B51FC */ _t147 = cpu->r[19] + 0x00000008u;
|
|
/* 021B51FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t147);
|
|
/* 021B5200 */ cpu->r[14] = cpu->r[10];
|
|
/* 021B5204 */ cpu->r[4] = cpu->r[12] - cpu->r[31];
|
|
/* 021B5208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[4]);
|
|
/* 021B520C */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B520C */ _t149 = _t148 & 0x00000001u;
|
|
/* 021B520C */ if (_t149) goto L_021B5244; else goto L_021B5210;
|
|
L_021B5210: ; // 0x21b5210
|
|
/* 021B5210 */ goto L_021B5240;
|
|
L_021B5214: ; // 0x21b5214
|
|
/* 021B5214 */ _t150 = cpu->r[19] + 0x00000008u;
|
|
/* 021B5214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
|
|
/* 021B5218 */ cpu->r[14] = 0x00000000u;
|
|
/* 021B521C */ cpu->r[4] = cpu->r[12] - cpu->r[31];
|
|
/* 021B5220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[4]);
|
|
/* 021B5224 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5224 */ _t152 = _t151 & 0x00000001u;
|
|
/* 021B5224 */ if (_t152) goto L_021B5244; else goto L_021B5228;
|
|
L_021B5228: ; // 0x21b5228
|
|
/* 021B5228 */ goto L_021B5240;
|
|
L_021B522C: ; // 0x21b522c
|
|
/* 021B522C */ _t153 = cpu->r[19] + 0x00000008u;
|
|
/* 021B522C */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
|
|
/* 021B5230 */ cpu->r[14] = cpu->r[10];
|
|
/* 021B5234 */ cpu->r[4] = cpu->r[12] - cpu->r[31];
|
|
/* 021B5238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], cpu->r[4]);
|
|
/* 021B523C */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B523C */ _t155 = _t154 & 0x00000001u;
|
|
/* 021B523C */ if (_t155) goto L_021B5244; else goto L_021B5240;
|
|
L_021B5240: ; // 0x21b5240
|
|
/* 021B5240 */ cpu->r[14] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_021B5244: ; // 0x21b5244
|
|
/* 021B5244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
|
|
/* 021B5248 */ _t156 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B5248 */ _t157 = _t156 & 0x00000001u;
|
|
/* 021B5248 */ if (_t157) goto L_021B524C; else goto L_021B528C;
|
|
L_021B524C: ; // 0x21b524c
|
|
/* 021B524C */ _t158 = cpu->r[1] + 0x00000018u;
|
|
/* 021B524C */ cpu->r[5] = rbrew_read32(cpu->mem, _t158);
|
|
/* 021B5250 */ _t159 = cpu->r[5] + 0x00000014u;
|
|
/* 021B5250 */ cpu->r[6] = rbrew_read32(cpu->mem, _t159);
|
|
/* 021B5254 */ cpu->r[0] = cpu->r[18] + cpu->r[31];
|
|
/* 021B5258 */ cpu->ctr = cpu->r[6];
|
|
/* 021B525C */ _t160 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B525C */ rbrew_write32(cpu->mem, _t160, cpu->r[0]);
|
|
/* 021B5260 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021B5264 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5268 */ _t161 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t161);
|
|
/* 021B526C */ cpu->r[5] = cpu->r[14];
|
|
/* 021B5270 */ _t162 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5270 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 021B5274 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B5278 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B527C */ cpu->r[10] = cpu->r[31] + cpu->r[14];
|
|
/* 021B5280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[17]);
|
|
/* 021B5284 */ _t163 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B5284 */ _t164 = _t163 & 0x00000001u;
|
|
/* 021B5284 */ if (_t164) goto L_021B5288; else goto L_021B528C;
|
|
L_021B5288: ; // 0x21b5288
|
|
/* 021B5288 */ _t165 = cpu->r[18] + cpu->r[10];
|
|
/* 021B5288 */ rbrew_write8(cpu->mem, _t165, (uint8_t)cpu->r[21]);
|
|
L_021B528C: ; // 0x21b528c
|
|
/* 021B528C */ _t166 = cpu->r[1] + 0x00000010u;
|
|
/* 021B528C */ cpu->r[4] = rbrew_read32(cpu->mem, _t166);
|
|
/* 021B5290 */ _t167 = cpu->r[4] + 0x0000003Cu;
|
|
/* 021B5290 */ cpu->r[7] = rbrew_read32(cpu->mem, _t167);
|
|
/* 021B5294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B5298 */ _t168 = cpu->r[19] + 0x0000002Cu;
|
|
/* 021B5298 */ rbrew_write32(cpu->mem, _t168, cpu->r[7]);
|
|
/* 021B529C */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B529C */ _t170 = _t169 & 0x00000001u;
|
|
/* 021B529C */ if (_t170) goto L_021B52A4; else goto L_021B52A0;
|
|
L_021B52A0: ; // 0x21b52a0
|
|
/* 021B52A0 */ _t171 = cpu->r[19] + 0x00000030u;
|
|
/* 021B52A0 */ rbrew_write32(cpu->mem, _t171, cpu->r[22]);
|
|
L_021B52A4: ; // 0x21b52a4
|
|
/* 021B52A4 */ _t172 = cpu->r[1] + 0x00000008u;
|
|
/* 021B52A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021B52A8 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B52AC */ cpu->r[3] = 0x00000010u;
|
|
/* 021B52B0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B52B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B52B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B52B8 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B52B8 */ _t174 = _t173 & 0x00000001u;
|
|
/* 021B52B8 */ if (_t174) goto L_021B52FC; else goto L_021B52BC;
|
|
L_021B52BC: ; // 0x21b52bc
|
|
/* 021B52BC */ cpu->r[11] = cpu->r[31];
|
|
/* 021B52BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B52C0 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B52C0 */ _t176 = _t175 & 0x00000001u;
|
|
/* 021B52C0 */ if (_t176) goto L_021B52C4; else goto L_021B52D4;
|
|
L_021B52C4: ; // 0x21b52c4
|
|
/* 021B52C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B52C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B52CC */ cpu->r[11] = cpu->r[3];
|
|
/* 021B52CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B52D0 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B52D0 */ _t178 = _t177 & 0x00000001u;
|
|
/* 021B52D0 */ if (_t178) goto L_021B52E0; else goto L_021B52D4;
|
|
L_021B52D4: ; // 0x21b52d4
|
|
/* 021B52D4 */ _t179 = cpu->r[11] + 0x00000004u;
|
|
/* 021B52D4 */ rbrew_write32(cpu->mem, _t179, cpu->r[11]);
|
|
/* 021B52D8 */ _t180 = cpu->r[11] + 0x00000008u;
|
|
/* 021B52D8 */ rbrew_write32(cpu->mem, _t180, cpu->r[24]);
|
|
/* 021B52DC */ _t181 = cpu->r[11] + 0x00000000u;
|
|
/* 021B52DC */ rbrew_write32(cpu->mem, _t181, cpu->r[11]);
|
|
L_021B52E0: ; // 0x21b52e0
|
|
/* 021B52E0 */ cpu->r[9] = 0x0000001Cu;
|
|
/* 021B52E4 */ cpu->r[0] = cpu->r[20];
|
|
/* 021B52E8 */ _t182 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B52E8 */ rbrew_write32(cpu->mem, _t182, cpu->r[9]);
|
|
/* 021B52EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 021B52F0 */ cpu->r[6] = cpu->r[30] + 0x00000164u;
|
|
/* 021B52F4 */ _t183 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B52F4 */ _t184 = _t183 & 0x00000001u;
|
|
/* 021B52F4 */ if (_t184) goto L_021B5318; else goto L_021B52F8;
|
|
L_021B52F8: ; // 0x21b52f8
|
|
/* 021B52F8 */ goto L_021B5320;
|
|
L_021B52FC: ; // 0x21b52fc
|
|
/* 021B52FC */ cpu->r[9] = 0x0000001Cu;
|
|
/* 021B5300 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B5304 */ cpu->r[0] = cpu->r[20];
|
|
/* 021B5308 */ _t185 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B5308 */ rbrew_write32(cpu->mem, _t185, cpu->r[9]);
|
|
/* 021B530C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 021B5310 */ cpu->r[6] = cpu->r[30] + 0x00000164u;
|
|
/* 021B5314 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5314 */ _t187 = _t186 & 0x00000001u;
|
|
/* 021B5314 */ if (_t187) goto L_021B5318; else goto L_021B52F8;
|
|
L_021B5318: ; // 0x21b5318
|
|
/* 021B5318 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B531C */ cpu->r[6] = cpu->r[6] + cpu->r[11];
|
|
L_021B5320: ; // 0x21b5320
|
|
/* 021B5320 */ _t188 = cpu->r[6] + 0x00000000u;
|
|
/* 021B5320 */ rbrew_write32(cpu->mem, _t188, cpu->r[31]);
|
|
L_021B5324: ; // 0x21b5324
|
|
/* 021B5324 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 021B5328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000006u);
|
|
/* 021B532C */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B532C */ _t190 = _t189 & 0x00000001u;
|
|
/* 021B532C */ if (_t190) goto L_021B4EE8; else goto L_021B5330;
|
|
L_021B5330: ; // 0x21b5330
|
|
/* 021B5330 */ _t191 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5330 */ cpu->r[5] = rbrew_read32(cpu->mem, _t191);
|
|
/* 021B5334 */ cpu->r[6] = 0x00000004u;
|
|
/* 021B5338 */ cpu->r[4] = 0x00000080u;
|
|
/* 021B533C */ cpu->r[3] = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5340 */ Gambit_fn_028023CC(cpu);
|
|
/* 021B5344 */ /* nop */
|
|
/* 021B5348 */ _t192 = cpu->r[1] + 0x00000080u;
|
|
/* 021B5348 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 021B534C */ _t193 = cpu->r[1] + 0x00000078u;
|
|
/* 021B534C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t193);
|
|
/* 021B5350 */ _t194 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5350 */ _t195 = _t194 & 0x00000001u;
|
|
/* 021B5350 */ if (_t195) goto L_021B5354; // else: addr-0 trap, fall-through
|
|
L_021B5354: ; // 0x21b5354
|
|
/* 021B5354 */ _t196 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021B5354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t196);
|
|
/* 021B5358 */ cpu->lr = cpu->r[0];
|
|
/* 021B535C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 021B5360 */ return;
|
|
}
|
|
|
|
// fn_021B5364 @ 0x21b5364
|
|
void Gambit_fn_021B5364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_021B5364: ; // 0x21b5364
|
|
/* 021B5364 */ cpu->r[0] = cpu->lr;
|
|
/* 021B5368 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B5368 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5368 */ cpu->r[1] = _t0;
|
|
/* 021B536C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B536C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B5370 */ /* nop */
|
|
/* 021B5374 */ cpu->r[25] = cpu->r[3] + 0x00000164u;
|
|
/* 021B5378 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B537C */ cpu->r[23] = 0x00000000u;
|
|
/* 021B5380 */ cpu->r[26] = cpu->r[25];
|
|
/* 021B5384 */ goto L_021B5390;
|
|
L_021B5388: ; // 0x21b5388
|
|
/* 021B5388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x00000006u);
|
|
/* 021B538C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B538C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B538C */ if (_t3) goto L_021B5390; else goto L_021B5398;
|
|
L_021B5390: ; // 0x21b5390
|
|
/* 021B5390 */ cpu->r[4] = cpu->r[26];
|
|
/* 021B5394 */ goto L_021B539C;
|
|
L_021B5398: ; // 0x21b5398
|
|
/* 021B5398 */ cpu->r[4] = cpu->r[25];
|
|
L_021B539C: ; // 0x21b539c
|
|
/* 021B539C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 021B539C */ cpu->r[24] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B53A0 */ _t5 = cpu->r[24] + 0x0000000Cu;
|
|
/* 021B53A0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B53A4 */ _t6 = cpu->r[24] + 0x00000004u;
|
|
/* 021B53A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B53A8 */ cpu->r[29] = cpu->r[24] - cpu->r[27];
|
|
/* 021B53AC */ cpu->r[30] = cpu->r[5] - cpu->r[27];
|
|
/* 021B53B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B53B4 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 021B53B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B53B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B53B8 */ if (_t9) goto L_021B5458; else goto L_021B53BC;
|
|
L_021B53BC: ; // 0x21b53bc
|
|
/* 021B53BC */ cpu->r[22] = 0x0000000Au;
|
|
/* 021B53C0 */ cpu->r[21] = 0x00000000u;
|
|
L_021B53C4: ; // 0x21b53c4
|
|
/* 021B53C4 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B53C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B53C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B53CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B53CC */ if (_t12) goto L_021B5408; else goto L_021B53D0;
|
|
L_021B53D0: ; // 0x21b53d0
|
|
/* 021B53D0 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B53D4 */ Gambit_fn_028BBF78(cpu);
|
|
/* 021B53D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B53DC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B53DC */ if (_t14) goto L_021B53E0; else goto L_021B5448;
|
|
L_021B53E0: ; // 0x21b53e0
|
|
/* 021B53E0 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B53E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B53E8 */ Gambit_fn_028BC3B4(cpu);
|
|
/* 021B53EC */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B53EC */ rbrew_write32(cpu->mem, _t15, cpu->r[21]);
|
|
/* 021B53F0 */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 021B53F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[22]);
|
|
/* 021B53F4 */ cpu->r[30] = cpu->r[28] - cpu->r[27];
|
|
/* 021B53F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B53FC */ _t17 = cpu->r[28] + 0x00000004u;
|
|
/* 021B53FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B5400 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5400 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B5400 */ if (_t19) goto L_021B5404; else goto L_021B53C4;
|
|
L_021B5404: ; // 0x21b5404
|
|
/* 021B5404 */ goto L_021B5458;
|
|
L_021B5408: ; // 0x21b5408
|
|
/* 021B5408 */ _t20 = cpu->r[30] + 0x00000010u;
|
|
/* 021B5408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B540C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B5410 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5410 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B5410 */ if (_t22) goto L_021B5448; else goto L_021B5414;
|
|
L_021B5414: ; // 0x21b5414
|
|
/* 021B5414 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B5414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B5418 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 021B5418 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 021B541C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B541C */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B541C */ if (_t25) goto L_021B5420; else goto L_021B5448;
|
|
L_021B5420: ; // 0x21b5420
|
|
/* 021B5420 */ _t26 = cpu->r[24] + 0x0000000Cu;
|
|
/* 021B5420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B5424 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
/* 021B5428 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021B542C */ _t27 = cpu->r[24] + 0x00000008u;
|
|
/* 021B542C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B5430 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B5434 */ _t28 = cpu->r[24] + 0x00000008u;
|
|
/* 021B5434 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 021B5438 */ _t29 = cpu->r[31] + 0xFFFF9B04u;
|
|
/* 021B5438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B543C */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 021B543C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B5440 */ Gambit_fn_028E8FA0(cpu);
|
|
/* 021B5444 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5444 */ rbrew_write32(cpu->mem, _t31, cpu->r[21]);
|
|
L_021B5448: ; // 0x21b5448
|
|
/* 021B5448 */ cpu->r[30] = cpu->r[28] - cpu->r[27];
|
|
/* 021B544C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B5450 */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 021B5450 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B5454 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5454 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B5454 */ if (_t34) goto L_021B5458; else goto L_021B53C4;
|
|
L_021B5458: ; // 0x21b5458
|
|
/* 021B5458 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000006u);
|
|
/* 021B5460 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 021B5464 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5464 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B5464 */ if (_t36) goto L_021B5388; else goto L_021B5468;
|
|
L_021B5468: ; // 0x21b5468
|
|
/* 021B5468 */ /* nop */
|
|
/* 021B546C */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B546C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B5470 */ cpu->lr = cpu->r[0];
|
|
/* 021B5474 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B5478 */ return;
|
|
}
|
|
|
|
// fn_021B5368 @ 0x21b5368
|
|
void Gambit_fn_021B5368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_021B5368: ; // 0x21b5368
|
|
/* 021B5368 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B5368 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5368 */ cpu->r[1] = _t0;
|
|
/* 021B536C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B536C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B5370 */ /* nop */
|
|
/* 021B5374 */ cpu->r[25] = cpu->r[3] + 0x00000164u;
|
|
/* 021B5378 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B537C */ cpu->r[23] = 0x00000000u;
|
|
/* 021B5380 */ cpu->r[26] = cpu->r[25];
|
|
/* 021B5384 */ goto L_021B5390;
|
|
L_021B5388: ; // 0x21b5388
|
|
/* 021B5388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x00000006u);
|
|
/* 021B538C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B538C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B538C */ if (_t3) goto L_021B5390; else goto L_021B5398;
|
|
L_021B5390: ; // 0x21b5390
|
|
/* 021B5390 */ cpu->r[4] = cpu->r[26];
|
|
/* 021B5394 */ goto L_021B539C;
|
|
L_021B5398: ; // 0x21b5398
|
|
/* 021B5398 */ cpu->r[4] = cpu->r[25];
|
|
L_021B539C: ; // 0x21b539c
|
|
/* 021B539C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 021B539C */ cpu->r[24] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B53A0 */ _t5 = cpu->r[24] + 0x0000000Cu;
|
|
/* 021B53A0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B53A4 */ _t6 = cpu->r[24] + 0x00000004u;
|
|
/* 021B53A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B53A8 */ cpu->r[29] = cpu->r[24] - cpu->r[27];
|
|
/* 021B53AC */ cpu->r[30] = cpu->r[5] - cpu->r[27];
|
|
/* 021B53B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B53B4 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 021B53B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B53B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B53B8 */ if (_t9) goto L_021B5458; else goto L_021B53BC;
|
|
L_021B53BC: ; // 0x21b53bc
|
|
/* 021B53BC */ cpu->r[22] = 0x0000000Au;
|
|
/* 021B53C0 */ cpu->r[21] = 0x00000000u;
|
|
L_021B53C4: ; // 0x21b53c4
|
|
/* 021B53C4 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B53C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B53C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B53CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B53CC */ if (_t12) goto L_021B5408; else goto L_021B53D0;
|
|
L_021B53D0: ; // 0x21b53d0
|
|
/* 021B53D0 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B53D4 */ Gambit_fn_028BBF78(cpu);
|
|
/* 021B53D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B53DC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B53DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B53DC */ if (_t14) goto L_021B53E0; else goto L_021B5448;
|
|
L_021B53E0: ; // 0x21b53e0
|
|
/* 021B53E0 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B53E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B53E8 */ Gambit_fn_028BC3B4(cpu);
|
|
/* 021B53EC */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B53EC */ rbrew_write32(cpu->mem, _t15, cpu->r[21]);
|
|
/* 021B53F0 */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 021B53F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[22]);
|
|
/* 021B53F4 */ cpu->r[30] = cpu->r[28] - cpu->r[27];
|
|
/* 021B53F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B53FC */ _t17 = cpu->r[28] + 0x00000004u;
|
|
/* 021B53FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B5400 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5400 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B5400 */ if (_t19) goto L_021B5404; else goto L_021B53C4;
|
|
L_021B5404: ; // 0x21b5404
|
|
/* 021B5404 */ goto L_021B5458;
|
|
L_021B5408: ; // 0x21b5408
|
|
/* 021B5408 */ _t20 = cpu->r[30] + 0x00000010u;
|
|
/* 021B5408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B540C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B5410 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5410 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B5410 */ if (_t22) goto L_021B5448; else goto L_021B5414;
|
|
L_021B5414: ; // 0x21b5414
|
|
/* 021B5414 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 021B5414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B5418 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 021B5418 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 021B541C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B541C */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B541C */ if (_t25) goto L_021B5420; else goto L_021B5448;
|
|
L_021B5420: ; // 0x21b5420
|
|
/* 021B5420 */ _t26 = cpu->r[24] + 0x0000000Cu;
|
|
/* 021B5420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B5424 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
/* 021B5428 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021B542C */ _t27 = cpu->r[24] + 0x00000008u;
|
|
/* 021B542C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B5430 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B5434 */ _t28 = cpu->r[24] + 0x00000008u;
|
|
/* 021B5434 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 021B5438 */ _t29 = cpu->r[31] + 0xFFFF9B04u;
|
|
/* 021B5438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B543C */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 021B543C */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B5440 */ Gambit_fn_028E8FA0(cpu);
|
|
/* 021B5444 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5444 */ rbrew_write32(cpu->mem, _t31, cpu->r[21]);
|
|
L_021B5448: ; // 0x21b5448
|
|
/* 021B5448 */ cpu->r[30] = cpu->r[28] - cpu->r[27];
|
|
/* 021B544C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 021B5450 */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 021B5450 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B5454 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5454 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B5454 */ if (_t34) goto L_021B5458; else goto L_021B53C4;
|
|
L_021B5458: ; // 0x21b5458
|
|
/* 021B5458 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000006u);
|
|
/* 021B5460 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 021B5464 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5464 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B5464 */ if (_t36) goto L_021B5388; else goto L_021B5468;
|
|
L_021B5468: ; // 0x21b5468
|
|
/* 021B5468 */ /* nop */
|
|
/* 021B546C */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B546C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B5470 */ cpu->lr = cpu->r[0];
|
|
/* 021B5474 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B5478 */ return;
|
|
}
|
|
|
|
// fn_021B547C @ 0x21b547c
|
|
void Gambit_fn_021B547C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021B547C: ; // 0x21b547c
|
|
/* 021B547C */ cpu->r[0] = cpu->lr;
|
|
/* 021B5480 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5480 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5480 */ cpu->r[1] = _t0;
|
|
/* 021B5484 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5484 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5488 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5488 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B548C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5490 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5490 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5494 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 021B5494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B5498 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B5498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B549C */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 021B549C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B54A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B54A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B54A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B54AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000200u);
|
|
/* 021B54B0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B54B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B54B0 */ if (_t8) goto L_021B54D0; else goto L_021B54B4;
|
|
L_021B54B4: ; // 0x21b54b4
|
|
/* 021B54B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B54B8 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021B54B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B54BC */ _t10 = cpu->r[3] + 0xFFFF9B04u;
|
|
/* 021B54BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B54C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B54C4 */ Gambit_fn_028E8F40(cpu);
|
|
/* 021B54C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B54CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B54CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B54CC */ if (_t12) goto L_021B54D0; else goto L_021B54D4;
|
|
L_021B54D0: ; // 0x21b54d0
|
|
/* 021B54D0 */ cpu->r[3] = 0x00000000u;
|
|
L_021B54D4: ; // 0x21b54d4
|
|
/* 021B54D4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 021B54D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B54D8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B54D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B54DC */ cpu->lr = cpu->r[0];
|
|
/* 021B54E0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B54E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B54E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B54E8 */ return;
|
|
}
|
|
|
|
// fn_021B5480 @ 0x21b5480
|
|
void Gambit_fn_021B5480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021B5480: ; // 0x21b5480
|
|
/* 021B5480 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5480 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5480 */ cpu->r[1] = _t0;
|
|
/* 021B5484 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5484 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5488 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5488 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B548C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5490 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5490 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5494 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 021B5494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B5498 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B5498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B549C */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 021B549C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B54A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B54A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B54A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B54AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000200u);
|
|
/* 021B54B0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B54B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B54B0 */ if (_t8) goto L_021B54D0; else goto L_021B54B4;
|
|
L_021B54B4: ; // 0x21b54b4
|
|
/* 021B54B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B54B8 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021B54B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B54BC */ _t10 = cpu->r[3] + 0xFFFF9B04u;
|
|
/* 021B54BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B54C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B54C4 */ Gambit_fn_028E8F40(cpu);
|
|
/* 021B54C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B54CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B54CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B54CC */ if (_t12) goto L_021B54D0; else goto L_021B54D4;
|
|
L_021B54D0: ; // 0x21b54d0
|
|
/* 021B54D0 */ cpu->r[3] = 0x00000000u;
|
|
L_021B54D4: ; // 0x21b54d4
|
|
/* 021B54D4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 021B54D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B54D8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B54D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B54DC */ cpu->lr = cpu->r[0];
|
|
/* 021B54E0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B54E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B54E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B54E8 */ return;
|
|
}
|
|
|
|
// fn_021B54EC @ 0x21b54ec
|
|
void Gambit_fn_021B54EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_021B54EC: ; // 0x21b54ec
|
|
/* 021B54EC */ cpu->r[0] = cpu->lr;
|
|
/* 021B54F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B54F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B54F0 */ cpu->r[1] = _t0;
|
|
/* 021B54F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B54F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B54F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B54F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B54FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B54FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B5500 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B5504 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5504 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B5508 */ _t5 = cpu->r[30] + 0x00000180u;
|
|
/* 021B5508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B550C */ _t6 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B550C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B5510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 021B5514 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5514 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B5514 */ if (_t8) goto L_021B5538; else goto L_021B5518;
|
|
L_021B5518: ; // 0x21b5518
|
|
/* 021B5518 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5518 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B551C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B551C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B5520 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B5524 */ cpu->lr = cpu->r[0];
|
|
/* 021B5528 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B552C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B5530 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5534 */ return;
|
|
L_021B5538: ; // 0x21b5538
|
|
/* 021B5538 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B553C */ Gambit_fn_021B547C(cpu);
|
|
/* 021B5540 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5544 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5544 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B5544 */ if (_t14) goto L_021B5590; else goto L_021B5548;
|
|
L_021B5548: ; // 0x21b5548
|
|
/* 021B5548 */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 021B554C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B5550 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B5554 */ _t15 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5554 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B5558 */ _t16 = cpu->r[30] + 0x00000180u;
|
|
/* 021B5558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B555C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 021B5560 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5560 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B5560 */ if (_t18) goto L_021B5564; else goto L_021B557C;
|
|
L_021B5564: ; // 0x21b5564
|
|
/* 021B5564 */ _t19 = cpu->r[30] + 0x00000184u;
|
|
/* 021B5564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B5568 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B556C */ _t20 = cpu->r[12] + cpu->r[0];
|
|
/* 021B556C */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 021B5570 */ _t21 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B5574 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B5578 */ _t22 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5578 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_021B557C: ; // 0x21b557c
|
|
/* 021B557C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B5580 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B5584 */ _t23 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021B5584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B5588 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
|
|
/* 021B558C */ _t24 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021B558C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_021B5590: ; // 0x21b5590
|
|
/* 021B5590 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B5594 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B5598 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B559C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 021B559C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B55A0 */ cpu->lr = cpu->r[0];
|
|
/* 021B55A4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 021B55A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B55A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B55AC */ return;
|
|
}
|
|
|
|
// fn_021B54F0 @ 0x21b54f0
|
|
void Gambit_fn_021B54F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_021B54F0: ; // 0x21b54f0
|
|
/* 021B54F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B54F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B54F0 */ cpu->r[1] = _t0;
|
|
/* 021B54F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B54F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B54F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B54F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B54FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B54FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B5500 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B5504 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5504 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B5508 */ _t5 = cpu->r[30] + 0x00000180u;
|
|
/* 021B5508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B550C */ _t6 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B550C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B5510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 021B5514 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5514 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B5514 */ if (_t8) goto L_021B5538; else goto L_021B5518;
|
|
L_021B5518: ; // 0x21b5518
|
|
/* 021B5518 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5518 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B551C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B551C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B5520 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B5524 */ cpu->lr = cpu->r[0];
|
|
/* 021B5528 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B552C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B5530 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5534 */ return;
|
|
L_021B5538: ; // 0x21b5538
|
|
/* 021B5538 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B553C */ Gambit_fn_021B547C(cpu);
|
|
/* 021B5540 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5544 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5544 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B5544 */ if (_t14) goto L_021B5590; else goto L_021B5548;
|
|
L_021B5548: ; // 0x21b5548
|
|
/* 021B5548 */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 021B554C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B5550 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B5554 */ _t15 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5554 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B5558 */ _t16 = cpu->r[30] + 0x00000180u;
|
|
/* 021B5558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B555C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 021B5560 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5560 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B5560 */ if (_t18) goto L_021B5564; else goto L_021B557C;
|
|
L_021B5564: ; // 0x21b5564
|
|
/* 021B5564 */ _t19 = cpu->r[30] + 0x00000184u;
|
|
/* 021B5564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B5568 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B556C */ _t20 = cpu->r[12] + cpu->r[0];
|
|
/* 021B556C */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 021B5570 */ _t21 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B5574 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B5578 */ _t22 = cpu->r[30] + 0x0000017Cu;
|
|
/* 021B5578 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_021B557C: ; // 0x21b557c
|
|
/* 021B557C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B5580 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B5584 */ _t23 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021B5584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B5588 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
|
|
/* 021B558C */ _t24 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021B558C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_021B5590: ; // 0x21b5590
|
|
/* 021B5590 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B5594 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B5598 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B559C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 021B559C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B55A0 */ cpu->lr = cpu->r[0];
|
|
/* 021B55A4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 021B55A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B55A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B55AC */ return;
|
|
}
|
|
|
|
// fn_021B55B0 @ 0x21b55b0
|
|
void Gambit_fn_021B55B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_021B55B0: ; // 0x21b55b0
|
|
/* 021B55B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B55B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B55B0 */ cpu->r[1] = _t0;
|
|
/* 021B55B4 */ /* nop */
|
|
/* 021B55B8 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B55BC */ cpu->r[0] = cpu->lr;
|
|
/* 021B55C0 */ cpu->r[26] = cpu->r[27] + 0x00000164u;
|
|
/* 021B55C4 */ cpu->r[25] = cpu->r[26];
|
|
/* 021B55C8 */ cpu->r[23] = 0x00000000u;
|
|
/* 021B55CC */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B55D0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021B55D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B55D4 */ goto L_021B55E0;
|
|
L_021B55D8: ; // 0x21b55d8
|
|
/* 021B55D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x00000006u);
|
|
/* 021B55DC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B55DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B55DC */ if (_t3) goto L_021B55E0; else goto L_021B55E8;
|
|
L_021B55E0: ; // 0x21b55e0
|
|
/* 021B55E0 */ cpu->r[9] = cpu->r[25];
|
|
/* 021B55E4 */ goto L_021B55EC;
|
|
L_021B55E8: ; // 0x21b55e8
|
|
/* 021B55E8 */ cpu->r[9] = cpu->r[26];
|
|
L_021B55EC: ; // 0x21b55ec
|
|
/* 021B55EC */ _t4 = cpu->r[9] + 0x00000000u;
|
|
/* 021B55EC */ cpu->r[22] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B55F0 */ _t5 = cpu->r[22] + 0x0000000Cu;
|
|
/* 021B55F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B55F4 */ _t6 = cpu->r[22] + 0x00000004u;
|
|
/* 021B55F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B55F8 */ cpu->r[30] = cpu->r[22] - cpu->r[29];
|
|
/* 021B55FC */ cpu->r[28] = cpu->r[7] - cpu->r[29];
|
|
/* 021B5600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021B5604 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5604 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B5604 */ if (_t8) goto L_021B564C; else goto L_021B5608;
|
|
L_021B5608: ; // 0x21b5608
|
|
/* 021B5608 */ cpu->r[24] = 0x00000000u;
|
|
L_021B560C: ; // 0x21b560c
|
|
/* 021B560C */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 021B560C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B5610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021B5614 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5614 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B5614 */ if (_t11) goto L_021B5638; else goto L_021B5618;
|
|
L_021B5618: ; // 0x21b5618
|
|
/* 021B5618 */ _t12 = cpu->r[31] + 0xFFFF9B04u;
|
|
/* 021B5618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B561C */ Gambit_fn_028E8FA0(cpu);
|
|
/* 021B5620 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 021B5624 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B5628 */ Gambit_fn_028BC3B4(cpu);
|
|
/* 021B562C */ _t13 = cpu->r[28] + 0x00000010u;
|
|
/* 021B562C */ rbrew_write32(cpu->mem, _t13, cpu->r[24]);
|
|
/* 021B5630 */ _t14 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B5630 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]);
|
|
/* 021B5634 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 021B5634 */ rbrew_write32(cpu->mem, _t15, cpu->r[24]);
|
|
L_021B5638: ; // 0x21b5638
|
|
/* 021B5638 */ cpu->r[11] = cpu->r[28] + cpu->r[29];
|
|
/* 021B563C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 021B563C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B5640 */ cpu->r[28] = cpu->r[0] - cpu->r[29];
|
|
/* 021B5644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 021B5648 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5648 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B5648 */ if (_t18) goto L_021B564C; else goto L_021B560C;
|
|
L_021B564C: ; // 0x21b564c
|
|
/* 021B564C */ cpu->r[3] = cpu->r[22];
|
|
/* 021B5650 */ Gambit_fn_0280236C(cpu);
|
|
/* 021B5654 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B5658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000006u);
|
|
/* 021B565C */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 021B5660 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5660 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B5660 */ if (_t20) goto L_021B55D8; else goto L_021B5664;
|
|
L_021B5664: ; // 0x21b5664
|
|
/* 021B5664 */ _t21 = cpu->r[27] + 0x0000017Cu;
|
|
/* 021B5664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B5668 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B566C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B5670 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5670 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B5670 */ if (_t23) goto L_021B5674; else goto L_021B56A8;
|
|
L_021B5674: ; // 0x21b5674
|
|
/* 021B5674 */ cpu->r[30] = 0x00000000u;
|
|
L_021B5678: ; // 0x21b5678
|
|
/* 021B5678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 021B567C */ cpu->r[4] = 0x00000000u;
|
|
/* 021B5680 */ _t24 = cpu->r[31] + 0xFFFF9B04u;
|
|
/* 021B5680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B5684 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5684 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B5684 */ if (_t26) goto L_021B5688; else goto L_021B5690;
|
|
L_021B5688: ; // 0x21b5688
|
|
/* 021B5688 */ _t27 = cpu->r[27] + 0x00000184u;
|
|
/* 021B5688 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B568C */ _t28 = cpu->r[10] + cpu->r[30];
|
|
/* 021B568C */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
L_021B5690: ; // 0x21b5690
|
|
/* 021B5690 */ Gambit_fn_028E8FA0(cpu);
|
|
/* 021B5694 */ _t29 = cpu->r[27] + 0x0000017Cu;
|
|
/* 021B5694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B5698 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B569C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B56A0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 021B56A4 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B56A4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B56A4 */ if (_t31) goto L_021B5678; else goto L_021B56A8;
|
|
L_021B56A8: ; // 0x21b56a8
|
|
/* 021B56A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B56AC */ _t32 = cpu->r[27] + 0x0000017Cu;
|
|
/* 021B56AC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 021B56B0 */ /* nop */
|
|
/* 021B56B4 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 021B56B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B56B8 */ cpu->lr = cpu->r[0];
|
|
/* 021B56BC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B56C0 */ return;
|
|
}
|
|
|
|
// fn_021B56C4 @ 0x21b56c4
|
|
void Gambit_fn_021B56C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196;
|
|
|
|
L_021B56C4: ; // 0x21b56c4
|
|
/* 021B56C4 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 021B56C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B56C4 */ cpu->r[1] = _t0;
|
|
/* 021B56C8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021B56C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 021B56CC */ cpu->r[0] = cpu->lr;
|
|
/* 021B56D0 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 021B56D0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B56D4 */ /* nop */
|
|
/* 021B56D8 */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 021B56D8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021B56DC */ /* nop */
|
|
/* 021B56E0 */ _t4 = cpu->r[1] + 0x00000068u;
|
|
/* 021B56E0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021B56E4 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 021B56E4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021B56E8 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B56EC */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B56EC */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 021B56F0 */ /* nop */
|
|
/* 021B56F4 */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 021B56F4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
|
|
/* 021B56F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B56FC */ _t8 = cpu->r[1] + 0x00000074u;
|
|
/* 021B56FC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021B5700 */ _t9 = cpu->r[3] + 0x00000014u;
|
|
/* 021B5700 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 021B5704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 021B5708 */ _t10 = cpu->r[11] + 0xFFFFA15Cu;
|
|
/* 021B5708 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021B570C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B5710 */ cpu->f[10] = cpu->f[1] * cpu->f[10];
|
|
/* 021B5714 */ _t11 = cpu->r[10] + 0xFFFFA148u;
|
|
/* 021B5714 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021B5718 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5718 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B5718 */ if (_t13) goto L_021B571C; else goto L_021B578C;
|
|
L_021B571C: ; // 0x21b571c
|
|
/* 021B571C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
|
|
/* 021B5720 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5720 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B5720 */ if (_t15) goto L_021B57D0; else goto L_021B5724;
|
|
L_021B5724: ; // 0x21b5724
|
|
/* 021B5724 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5724 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B5724 */ if (_t17) goto L_021B5818; else goto L_021B5728;
|
|
L_021B5728: ; // 0x21b5728
|
|
/* 021B5728 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B572C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 021B5730 */ _t18 = cpu->r[11] + 0xFFFFA0E4u;
|
|
/* 021B5730 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021B5734 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5734 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B5734 */ if (_t20) goto L_021B5738; else goto L_021B5860;
|
|
L_021B5738: ; // 0x21b5738
|
|
/* 021B5738 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5738 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 021B573C */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 021B573C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B5740 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5740 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[10]);
|
|
/* 021B5744 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 021B5744 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 021B5748 */ _t25 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021B5748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B574C */ cpu->ctr = cpu->r[0];
|
|
/* 021B5750 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021B5754 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5758 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B575C */ _t26 = cpu->r[1] + 0x00000068u;
|
|
/* 021B575C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021B5760 */ _t27 = cpu->r[1] + 0x00000048u;
|
|
/* 021B5760 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 021B5764 */ _t28 = cpu->r[1] + 0x00000060u;
|
|
/* 021B5764 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 021B5768 */ _t29 = cpu->r[1] + 0x00000058u;
|
|
/* 021B5768 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021B576C */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 021B576C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 021B5770 */ _t31 = cpu->r[1] + 0x00000050u;
|
|
/* 021B5770 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 021B5774 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B5778 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5778 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B5778 */ if (_t34) goto L_021B577C; // else: addr-0 trap, fall-through
|
|
L_021B577C: ; // 0x21b577c
|
|
/* 021B577C */ _t35 = cpu->r[1] + 0x00000074u;
|
|
/* 021B577C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B5780 */ cpu->lr = cpu->r[0];
|
|
/* 021B5784 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5788 */ return;
|
|
L_021B578C: ; // 0x21b578c
|
|
/* 021B578C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
|
|
/* 021B5790 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5790 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B5790 */ if (_t37) goto L_021B58D0; else goto L_021B5794;
|
|
L_021B5794: ; // 0x21b5794
|
|
/* 021B5794 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5794 */ _t39 = _t38 & 0x00000001u;
|
|
/* 021B5794 */ if (_t39) goto L_021B5924; else goto L_021B5798;
|
|
L_021B5798: ; // 0x21b5798
|
|
/* 021B5798 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000005u);
|
|
/* 021B579C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B579C */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B579C */ if (_t41) goto L_021B5A30; else goto L_021B57A0;
|
|
L_021B57A0: ; // 0x21b57a0
|
|
/* 021B57A0 */ _t42 = cpu->r[1] + 0x00000068u;
|
|
/* 021B57A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021B57A4 */ _t43 = cpu->r[1] + 0x00000058u;
|
|
/* 021B57A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021B57A8 */ _t44 = cpu->r[1] + 0x00000060u;
|
|
/* 021B57A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 021B57AC */ _t45 = cpu->r[1] + 0x00000048u;
|
|
/* 021B57AC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 021B57B0 */ _t46 = cpu->r[1] + 0x00000050u;
|
|
/* 021B57B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 021B57B4 */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 021B57B4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 021B57B8 */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B57B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B57BC */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B57BC */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B57BC */ if (_t50) goto L_021B57C0; // else: addr-0 trap, fall-through
|
|
L_021B57C0: ; // 0x21b57c0
|
|
/* 021B57C0 */ _t51 = cpu->r[1] + 0x00000074u;
|
|
/* 021B57C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B57C4 */ cpu->lr = cpu->r[0];
|
|
/* 021B57C8 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B57CC */ return;
|
|
L_021B57D0: ; // 0x21b57d0
|
|
/* 021B57D0 */ _t52 = cpu->r[31] + 0x00000008u;
|
|
/* 021B57D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021B57D4 */ _t53 = cpu->r[12] + 0x00000034u;
|
|
/* 021B57D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021B57D8 */ cpu->ctr = cpu->r[10];
|
|
/* 021B57DC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B57E0 */ cpu->f[1] = cpu->f[10] * cpu->f[13];
|
|
/* 021B57E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B57E8 */ _t54 = cpu->r[1] + 0x00000068u;
|
|
/* 021B57E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021B57EC */ _t55 = cpu->r[1] + 0x00000058u;
|
|
/* 021B57EC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 021B57F0 */ _t56 = cpu->r[1] + 0x00000060u;
|
|
/* 021B57F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 021B57F4 */ _t57 = cpu->r[1] + 0x00000048u;
|
|
/* 021B57F4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 021B57F8 */ _t58 = cpu->r[1] + 0x00000050u;
|
|
/* 021B57F8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 021B57FC */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 021B57FC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 021B5800 */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B5804 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5804 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B5804 */ if (_t62) goto L_021B5808; // else: addr-0 trap, fall-through
|
|
L_021B5808: ; // 0x21b5808
|
|
/* 021B5808 */ _t63 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021B580C */ cpu->lr = cpu->r[0];
|
|
/* 021B5810 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5814 */ return;
|
|
L_021B5818: ; // 0x21b5818
|
|
/* 021B5818 */ _t64 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B581C */ _t65 = cpu->r[12] + 0x00000034u;
|
|
/* 021B581C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021B5820 */ cpu->ctr = cpu->r[0];
|
|
/* 021B5824 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5828 */ cpu->f[1] = cpu->f[10] * cpu->f[13];
|
|
/* 021B582C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5830 */ _t66 = cpu->r[1] + 0x00000068u;
|
|
/* 021B5830 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021B5834 */ _t67 = cpu->r[1] + 0x00000058u;
|
|
/* 021B5834 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021B5838 */ _t68 = cpu->r[1] + 0x00000060u;
|
|
/* 021B5838 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021B583C */ _t69 = cpu->r[1] + 0x00000048u;
|
|
/* 021B583C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 021B5840 */ _t70 = cpu->r[1] + 0x00000050u;
|
|
/* 021B5840 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 021B5844 */ _t71 = cpu->r[1] + 0x00000040u;
|
|
/* 021B5844 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 021B5848 */ _t72 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021B584C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B584C */ _t74 = _t73 & 0x00000001u;
|
|
/* 021B584C */ if (_t74) goto L_021B5850; // else: addr-0 trap, fall-through
|
|
L_021B5850: ; // 0x21b5850
|
|
/* 021B5850 */ _t75 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021B5854 */ cpu->lr = cpu->r[0];
|
|
/* 021B5858 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B585C */ return;
|
|
L_021B5860: ; // 0x21b5860
|
|
/* 021B5860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 021B5864 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5864 */ _t77 = _t76 & 0x00000001u;
|
|
/* 021B5864 */ if (_t77) goto L_021B5878; else goto L_021B5868;
|
|
L_021B5868: ; // 0x21b5868
|
|
/* 021B5868 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5868 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[10]);
|
|
/* 021B586C */ cpu->f[13] = cpu->f[10];
|
|
/* 021B5870 */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 021B5870 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
|
|
/* 021B5874 */ goto L_021B5884;
|
|
L_021B5878: ; // 0x21b5878
|
|
/* 021B5878 */ _t80 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5878 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 021B587C */ cpu->f[13] = cpu->f[10];
|
|
/* 021B5880 */ _t81 = cpu->r[1] + 0x00000018u;
|
|
/* 021B5880 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[10]);
|
|
L_021B5884: ; // 0x21b5884
|
|
/* 021B5884 */ _t82 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021B5888 */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5888 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 021B588C */ _t84 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021B588C */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B5890 */ cpu->ctr = cpu->r[0];
|
|
/* 021B5894 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5898 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021B589C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B58A0 */ _t85 = cpu->r[1] + 0x00000068u;
|
|
/* 021B58A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 021B58A4 */ _t86 = cpu->r[1] + 0x00000058u;
|
|
/* 021B58A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 021B58A8 */ _t87 = cpu->r[1] + 0x00000060u;
|
|
/* 021B58A8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 021B58AC */ _t88 = cpu->r[1] + 0x00000048u;
|
|
/* 021B58AC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 021B58B0 */ _t89 = cpu->r[1] + 0x00000050u;
|
|
/* 021B58B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 021B58B4 */ _t90 = cpu->r[1] + 0x00000040u;
|
|
/* 021B58B4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 021B58B8 */ _t91 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B58B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B58BC */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B58BC */ _t93 = _t92 & 0x00000001u;
|
|
/* 021B58BC */ if (_t93) goto L_021B58C0; // else: addr-0 trap, fall-through
|
|
L_021B58C0: ; // 0x21b58c0
|
|
/* 021B58C0 */ _t94 = cpu->r[1] + 0x00000074u;
|
|
/* 021B58C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B58C4 */ cpu->lr = cpu->r[0];
|
|
/* 021B58C8 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B58CC */ return;
|
|
L_021B58D0: ; // 0x21b58d0
|
|
/* 021B58D0 */ _t95 = cpu->r[1] + 0x00000030u;
|
|
/* 021B58D0 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[10]);
|
|
/* 021B58D4 */ _t96 = cpu->r[31] + 0x00000008u;
|
|
/* 021B58D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B58D8 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 021B58D8 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]);
|
|
/* 021B58DC */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B58DC */ rbrew_write_f32(cpu->mem, _t98, cpu->f[10]);
|
|
/* 021B58E0 */ _t99 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021B58E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B58E4 */ cpu->ctr = cpu->r[10];
|
|
/* 021B58E8 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B58EC */ cpu->r[3] = cpu->r[31];
|
|
/* 021B58F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B58F4 */ _t100 = cpu->r[1] + 0x00000068u;
|
|
/* 021B58F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 021B58F8 */ _t101 = cpu->r[1] + 0x00000058u;
|
|
/* 021B58F8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021B58FC */ _t102 = cpu->r[1] + 0x00000060u;
|
|
/* 021B58FC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 021B5900 */ _t103 = cpu->r[1] + 0x00000048u;
|
|
/* 021B5900 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 021B5904 */ _t104 = cpu->r[1] + 0x00000050u;
|
|
/* 021B5904 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t104);
|
|
/* 021B5908 */ _t105 = cpu->r[1] + 0x00000040u;
|
|
/* 021B5908 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 021B590C */ _t106 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B590C */ cpu->r[31] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B5910 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5910 */ _t108 = _t107 & 0x00000001u;
|
|
/* 021B5910 */ if (_t108) goto L_021B5914; // else: addr-0 trap, fall-through
|
|
L_021B5914: ; // 0x21b5914
|
|
/* 021B5914 */ _t109 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B5918 */ cpu->lr = cpu->r[0];
|
|
/* 021B591C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5920 */ return;
|
|
L_021B5924: ; // 0x21b5924
|
|
/* 021B5924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 021B5928 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5928 */ _t111 = _t110 & 0x00000001u;
|
|
/* 021B5928 */ if (_t111) goto L_021B5988; else goto L_021B592C;
|
|
L_021B592C: ; // 0x21b592c
|
|
/* 021B592C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 021B5930 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5930 */ _t113 = _t112 & 0x00000001u;
|
|
/* 021B5930 */ if (_t113) goto L_021B5934; else goto L_021B59DC;
|
|
L_021B5934: ; // 0x21b5934
|
|
/* 021B5934 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 021B5934 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[10]);
|
|
/* 021B5938 */ _t115 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B593C */ _t116 = cpu->r[1] + 0x00000020u;
|
|
/* 021B593C */ rbrew_write_f32(cpu->mem, _t116, cpu->f[12]);
|
|
/* 021B5940 */ _t117 = cpu->r[1] + 0x00000024u;
|
|
/* 021B5940 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[12]);
|
|
/* 021B5944 */ _t118 = cpu->r[11] + 0x0000002Cu;
|
|
/* 021B5944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 021B5948 */ cpu->ctr = cpu->r[0];
|
|
/* 021B594C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 021B5950 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5958 */ _t119 = cpu->r[1] + 0x00000068u;
|
|
/* 021B5958 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 021B595C */ _t120 = cpu->r[1] + 0x00000048u;
|
|
/* 021B595C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 021B5960 */ _t121 = cpu->r[1] + 0x00000060u;
|
|
/* 021B5960 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 021B5964 */ _t122 = cpu->r[1] + 0x00000058u;
|
|
/* 021B5964 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 021B5968 */ _t123 = cpu->r[1] + 0x00000040u;
|
|
/* 021B5968 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 021B596C */ _t124 = cpu->r[1] + 0x00000050u;
|
|
/* 021B596C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 021B5970 */ _t125 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B5974 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5974 */ _t127 = _t126 & 0x00000001u;
|
|
/* 021B5974 */ if (_t127) goto L_021B5978; // else: addr-0 trap, fall-through
|
|
L_021B5978: ; // 0x21b5978
|
|
/* 021B5978 */ _t128 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021B597C */ cpu->lr = cpu->r[0];
|
|
/* 021B5980 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5984 */ return;
|
|
L_021B5988: ; // 0x21b5988
|
|
/* 021B5988 */ _t129 = cpu->r[1] + 0x00000028u;
|
|
/* 021B5988 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[12]);
|
|
/* 021B598C */ _t130 = cpu->r[31] + 0x00000008u;
|
|
/* 021B598C */ cpu->r[11] = rbrew_read32(cpu->mem, _t130);
|
|
/* 021B5990 */ _t131 = cpu->r[1] + 0x00000020u;
|
|
/* 021B5990 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[12]);
|
|
/* 021B5994 */ _t132 = cpu->r[1] + 0x00000024u;
|
|
/* 021B5994 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[10]);
|
|
/* 021B5998 */ _t133 = cpu->r[11] + 0x0000002Cu;
|
|
/* 021B5998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 021B599C */ cpu->ctr = cpu->r[0];
|
|
/* 021B59A0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 021B59A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B59A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B59AC */ _t134 = cpu->r[1] + 0x00000068u;
|
|
/* 021B59AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 021B59B0 */ _t135 = cpu->r[1] + 0x00000048u;
|
|
/* 021B59B0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 021B59B4 */ _t136 = cpu->r[1] + 0x00000060u;
|
|
/* 021B59B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t136);
|
|
/* 021B59B8 */ _t137 = cpu->r[1] + 0x00000058u;
|
|
/* 021B59B8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 021B59BC */ _t138 = cpu->r[1] + 0x00000040u;
|
|
/* 021B59BC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 021B59C0 */ _t139 = cpu->r[1] + 0x00000050u;
|
|
/* 021B59C0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 021B59C4 */ _t140 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B59C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B59C8 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B59C8 */ _t142 = _t141 & 0x00000001u;
|
|
/* 021B59C8 */ if (_t142) goto L_021B59CC; // else: addr-0 trap, fall-through
|
|
L_021B59CC: ; // 0x21b59cc
|
|
/* 021B59CC */ _t143 = cpu->r[1] + 0x00000074u;
|
|
/* 021B59CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021B59D0 */ cpu->lr = cpu->r[0];
|
|
/* 021B59D4 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B59D8 */ return;
|
|
L_021B59DC: ; // 0x21b59dc
|
|
/* 021B59DC */ _t144 = cpu->r[1] + 0x00000028u;
|
|
/* 021B59DC */ rbrew_write_f32(cpu->mem, _t144, cpu->f[12]);
|
|
/* 021B59E0 */ _t145 = cpu->r[31] + 0x00000008u;
|
|
/* 021B59E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t145);
|
|
/* 021B59E4 */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 021B59E4 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[10]);
|
|
/* 021B59E8 */ _t147 = cpu->r[1] + 0x00000024u;
|
|
/* 021B59E8 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[12]);
|
|
/* 021B59EC */ _t148 = cpu->r[11] + 0x0000002Cu;
|
|
/* 021B59EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 021B59F0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B59F4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 021B59F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B59FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5A00 */ _t149 = cpu->r[1] + 0x00000068u;
|
|
/* 021B5A00 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 021B5A04 */ _t150 = cpu->r[1] + 0x00000048u;
|
|
/* 021B5A04 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 021B5A08 */ _t151 = cpu->r[1] + 0x00000060u;
|
|
/* 021B5A08 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t151);
|
|
/* 021B5A0C */ _t152 = cpu->r[1] + 0x00000058u;
|
|
/* 021B5A0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 021B5A10 */ _t153 = cpu->r[1] + 0x00000040u;
|
|
/* 021B5A10 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t153);
|
|
/* 021B5A14 */ _t154 = cpu->r[1] + 0x00000050u;
|
|
/* 021B5A14 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t154);
|
|
/* 021B5A18 */ _t155 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5A18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t155);
|
|
/* 021B5A1C */ _t156 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5A1C */ _t157 = _t156 & 0x00000001u;
|
|
/* 021B5A1C */ if (_t157) goto L_021B5A20; // else: addr-0 trap, fall-through
|
|
L_021B5A20: ; // 0x21b5a20
|
|
/* 021B5A20 */ _t158 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t158);
|
|
/* 021B5A24 */ cpu->lr = cpu->r[0];
|
|
/* 021B5A28 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5A2C */ return;
|
|
L_021B5A30: ; // 0x21b5a30
|
|
/* 021B5A30 */ cpu->f[0] = cpu->f[10] * cpu->f[13];
|
|
/* 021B5A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 021B5A38 */ cpu->f[31] = -cpu->f[0];
|
|
/* 021B5A3C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5A3C */ _t160 = _t159 & 0x00000001u;
|
|
/* 021B5A3C */ if (_t160) goto L_021B5A84; else goto L_021B5A40;
|
|
L_021B5A40: ; // 0x21b5a40
|
|
/* 021B5A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 021B5A44 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5A44 */ _t162 = _t161 & 0x00000001u;
|
|
/* 021B5A44 */ if (_t162) goto L_021B5A48; else goto L_021B5AC4;
|
|
L_021B5A48: ; // 0x21b5a48
|
|
/* 021B5A48 */ _t163 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5A48 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[10]);
|
|
/* 021B5A4C */ _t164 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
|
|
/* 021B5A50 */ _t165 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5A50 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[12]);
|
|
/* 021B5A54 */ _t166 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5A54 */ rbrew_write_f32(cpu->mem, _t166, cpu->f[12]);
|
|
/* 021B5A58 */ _t167 = cpu->r[10] + 0x0000002Cu;
|
|
/* 021B5A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t167);
|
|
/* 021B5A5C */ cpu->ctr = cpu->r[11];
|
|
/* 021B5A60 */ cpu->f[30] = cpu->f[12];
|
|
/* 021B5A64 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5A68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B5A6C */ cpu->f[29] = cpu->f[12];
|
|
/* 021B5A70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5A74 */ _t168 = cpu->r[31] + 0x00000038u;
|
|
/* 021B5A74 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[30]);
|
|
/* 021B5A78 */ _t169 = cpu->r[31] + 0x0000003Cu;
|
|
/* 021B5A78 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[29]);
|
|
/* 021B5A7C */ _t170 = cpu->r[31] + 0x00000040u;
|
|
/* 021B5A7C */ rbrew_write_f32(cpu->mem, _t170, cpu->f[31]);
|
|
/* 021B5A80 */ goto L_021B5B00;
|
|
L_021B5A84: ; // 0x21b5a84
|
|
/* 021B5A84 */ _t171 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5A84 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[12]);
|
|
/* 021B5A88 */ _t172 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5A88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021B5A8C */ _t173 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5A8C */ rbrew_write_f32(cpu->mem, _t173, cpu->f[12]);
|
|
/* 021B5A90 */ _t174 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5A90 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[10]);
|
|
/* 021B5A94 */ _t175 = cpu->r[10] + 0x0000002Cu;
|
|
/* 021B5A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t175);
|
|
/* 021B5A98 */ cpu->f[29] = cpu->f[31];
|
|
/* 021B5A9C */ cpu->ctr = cpu->r[11];
|
|
/* 021B5AA0 */ cpu->f[30] = cpu->f[12];
|
|
/* 021B5AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5AA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B5AAC */ cpu->f[31] = cpu->f[12];
|
|
/* 021B5AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5AB4 */ _t176 = cpu->r[31] + 0x00000038u;
|
|
/* 021B5AB4 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[30]);
|
|
/* 021B5AB8 */ _t177 = cpu->r[31] + 0x0000003Cu;
|
|
/* 021B5AB8 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[29]);
|
|
/* 021B5ABC */ _t178 = cpu->r[31] + 0x00000040u;
|
|
/* 021B5ABC */ rbrew_write_f32(cpu->mem, _t178, cpu->f[31]);
|
|
/* 021B5AC0 */ goto L_021B5B00;
|
|
L_021B5AC4: ; // 0x21b5ac4
|
|
/* 021B5AC4 */ _t179 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5AC4 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[12]);
|
|
/* 021B5AC8 */ _t180 = cpu->r[31] + 0x00000008u;
|
|
/* 021B5AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t180);
|
|
/* 021B5ACC */ _t181 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5ACC */ rbrew_write_f32(cpu->mem, _t181, cpu->f[10]);
|
|
/* 021B5AD0 */ _t182 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5AD0 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[12]);
|
|
/* 021B5AD4 */ _t183 = cpu->r[10] + 0x0000002Cu;
|
|
/* 021B5AD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t183);
|
|
/* 021B5AD8 */ cpu->f[30] = cpu->f[31];
|
|
/* 021B5ADC */ cpu->ctr = cpu->r[11];
|
|
/* 021B5AE0 */ cpu->f[29] = cpu->f[12];
|
|
/* 021B5AE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5AE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B5AEC */ cpu->f[31] = cpu->f[12];
|
|
/* 021B5AF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B5AF4 */ _t184 = cpu->r[31] + 0x00000040u;
|
|
/* 021B5AF4 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[31]);
|
|
/* 021B5AF8 */ _t185 = cpu->r[31] + 0x00000038u;
|
|
/* 021B5AF8 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[30]);
|
|
/* 021B5AFC */ _t186 = cpu->r[31] + 0x0000003Cu;
|
|
/* 021B5AFC */ rbrew_write_f32(cpu->mem, _t186, cpu->f[29]);
|
|
L_021B5B00: ; // 0x21b5b00
|
|
/* 021B5B00 */ _t187 = cpu->r[1] + 0x00000068u;
|
|
/* 021B5B00 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 021B5B04 */ _t188 = cpu->r[1] + 0x00000058u;
|
|
/* 021B5B04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t188);
|
|
/* 021B5B08 */ _t189 = cpu->r[1] + 0x00000060u;
|
|
/* 021B5B08 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t189);
|
|
/* 021B5B0C */ _t190 = cpu->r[1] + 0x00000048u;
|
|
/* 021B5B0C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t190);
|
|
/* 021B5B10 */ _t191 = cpu->r[1] + 0x00000050u;
|
|
/* 021B5B10 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t191);
|
|
/* 021B5B14 */ _t192 = cpu->r[1] + 0x00000040u;
|
|
/* 021B5B14 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t192);
|
|
/* 021B5B18 */ _t193 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B5B18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t193);
|
|
/* 021B5B1C */ _t194 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5B1C */ _t195 = _t194 & 0x00000001u;
|
|
/* 021B5B1C */ if (_t195) goto L_021B5B20; // else: addr-0 trap, fall-through
|
|
L_021B5B20: ; // 0x21b5b20
|
|
/* 021B5B20 */ _t196 = cpu->r[1] + 0x00000074u;
|
|
/* 021B5B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t196);
|
|
/* 021B5B24 */ cpu->lr = cpu->r[0];
|
|
/* 021B5B28 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021B5B2C */ return;
|
|
}
|
|
|
|
// fn_021B5B30 @ 0x21b5b30
|
|
void Gambit_fn_021B5B30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_021B5B30: ; // 0x21b5b30
|
|
/* 021B5B30 */ cpu->r[5] = 0x00000100u;
|
|
/* 021B5B34 */ cpu->r[12] = cpu->r[3];
|
|
/* 021B5B38 */ cpu->ctr = cpu->r[5];
|
|
/* 021B5B3C */ _t0 = cpu->r[12] + 0x00000160u;
|
|
/* 021B5B3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B5B40 */ cpu->r[7] = 0x00000000u;
|
|
L_021B5B44: ; // 0x21b5b44
|
|
/* 021B5B44 */ _t1 = cpu->r[12] + 0x00000158u;
|
|
/* 021B5B44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B5B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 021B5B4C */ _t2 = cpu->r[12] + 0x0000015Cu;
|
|
/* 021B5B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B5B50 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5B50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B5B50 */ if (_t4) goto L_021B5B54; else goto L_021B5B5C;
|
|
L_021B5B54: ; // 0x21b5b54
|
|
/* 021B5B54 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000024u);
|
|
/* 021B5B58 */ cpu->r[3] = cpu->r[3] + cpu->r[6];
|
|
L_021B5B5C: ; // 0x21b5b5c
|
|
/* 021B5B5C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B5B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000100u);
|
|
/* 021B5B64 */ cpu->r[8] = cpu->r[11];
|
|
/* 021B5B68 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5B68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B5B68 */ if (_t6) goto L_021B5B74; else goto L_021B5B6C;
|
|
L_021B5B6C: ; // 0x21b5b6c
|
|
/* 021B5B6C */ cpu->r[11] = cpu->r[7];
|
|
/* 021B5B70 */ cpu->r[8] = cpu->r[11];
|
|
L_021B5B74: ; // 0x21b5b74
|
|
/* 021B5B74 */ _t7 = cpu->r[12] + 0x00000160u;
|
|
/* 021B5B74 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 021B5B78 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 021B5B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B5B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5B80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5B80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B5B80 */ if (_t10) goto L_021B5B84; else goto L_021B5B8C;
|
|
L_021B5B84: ; // 0x21b5b84
|
|
/* 021B5B84 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B5B84 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 021B5B88 */ return;
|
|
L_021B5B8C: ; // 0x21b5b8c
|
|
/* 021B5B8C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B5B8C */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B5B8C */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 021B5B8C */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B5B8C */ if (_t14) goto L_021B5B44; else goto L_021B5B90;
|
|
L_021B5B90: ; // 0x21b5b90
|
|
/* 021B5B90 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5B94 */ return;
|
|
}
|
|
|
|
// fn_021B5B98 @ 0x21b5b98
|
|
void Gambit_fn_021B5B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_021B5B98: ; // 0x21b5b98
|
|
/* 021B5B98 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B5B98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5B98 */ cpu->r[1] = _t0;
|
|
/* 021B5B9C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021B5B9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B5BA0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B5BA4 */ /* nop */
|
|
/* 021B5BA8 */ /* nop */
|
|
/* 021B5BAC */ cpu->r[30] = cpu->r[5];
|
|
/* 021B5BB0 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021B5BB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B5BB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B5BB8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 021B5BB8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021B5BBC */ cpu->r[29] = cpu->r[4];
|
|
/* 021B5BC0 */ cpu->f[31] = cpu->f[1];
|
|
/* 021B5BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000006u);
|
|
/* 021B5BC8 */ cpu->r[4] = cpu->r[28] + 0x00000020u;
|
|
/* 021B5BCC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5BCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B5BCC */ if (_t5) goto L_021B5BD0; else goto L_021B5BD8;
|
|
L_021B5BD0: ; // 0x21b5bd0
|
|
/* 021B5BD0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00000034u);
|
|
/* 021B5BD4 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
L_021B5BD8: ; // 0x21b5bd8
|
|
/* 021B5BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021B5BDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5BDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B5BDC */ if (_t7) goto L_021B5BF0; else goto L_021B5BE0;
|
|
L_021B5BE0: ; // 0x21b5be0
|
|
/* 021B5BE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B5BE4 */ Gambit_fn_021B547C(cpu);
|
|
/* 021B5BE8 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B5BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B5BEC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5BEC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B5BEC */ if (_t9) goto L_021B5BF0; else goto L_021B5C14;
|
|
L_021B5BF0: ; // 0x21b5bf0
|
|
/* 021B5BF0 */ /* nop */
|
|
/* 021B5BF4 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 021B5BF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021B5BF8 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 021B5BF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 021B5BFC */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5C00 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B5C00 */ if (_t13) goto L_021B5C04; // else: addr-0 trap, fall-through
|
|
L_021B5C04: ; // 0x21b5c04
|
|
/* 021B5C04 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 021B5C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B5C08 */ cpu->lr = cpu->r[0];
|
|
/* 021B5C0C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B5C10 */ return;
|
|
L_021B5C14: ; // 0x21b5c14
|
|
/* 021B5C14 */ _t15 = cpu->r[26] + 0x0000008Cu;
|
|
/* 021B5C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B5C18 */ cpu->r[4] = cpu->r[26];
|
|
/* 021B5C1C */ cpu->f[1] = cpu->f[31];
|
|
/* 021B5C20 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B5C24 */ cpu->r[0] = cpu->r[0] | 0x00000003u;
|
|
/* 021B5C28 */ cpu->r[6] = cpu->r[30];
|
|
/* 021B5C2C */ cpu->r[3] = cpu->r[28];
|
|
/* 021B5C30 */ _t16 = cpu->r[26] + 0x0000008Cu;
|
|
/* 021B5C30 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 021B5C34 */ Gambit_fn_021B56C4(cpu);
|
|
/* 021B5C38 */ cpu->r[27] = cpu->r[28] + 0x00000018u;
|
|
/* 021B5C3C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B5C40 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B5C44 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B5C48 */ Gambit_fn_021B5B30(cpu);
|
|
/* 021B5C4C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5C50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5C50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B5C50 */ if (_t18) goto L_021B5CA8; else goto L_021B5C54;
|
|
L_021B5C54: ; // 0x21b5c54
|
|
/* 021B5C54 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B5C54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B5C58 */ cpu->r[9] = 0x00000000u;
|
|
/* 021B5C5C */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 021B5C5C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 021B5C60 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021B5C64 */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 021B5C64 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
/* 021B5C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000006u);
|
|
/* 021B5C6C */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 021B5C6C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 021B5C70 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 021B5C70 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 021B5C74 */ cpu->r[12] = cpu->r[28] + 0x00000164u;
|
|
/* 021B5C78 */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B5C78 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 021B5C7C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5C7C */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B5C7C */ if (_t26) goto L_021B5C80; else goto L_021B5C88;
|
|
L_021B5C80: ; // 0x21b5c80
|
|
/* 021B5C80 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B5C84 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_021B5C88: ; // 0x21b5c88
|
|
/* 021B5C88 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 021B5C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B5C8C */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B5C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B5C90 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B5C94 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
/* 021B5C98 */ Gambit_fn_02801EBC(cpu);
|
|
/* 021B5C9C */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 021B5C9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B5CA0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B5CA4 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 021B5CA4 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
L_021B5CA8: ; // 0x21b5ca8
|
|
/* 021B5CA8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B5CAC */ Gambit_fn_02836E54(cpu);
|
|
/* 021B5CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5CB4 */ /* nop */
|
|
/* 021B5CB8 */ _t31 = cpu->r[1] + 0x00000028u;
|
|
/* 021B5CB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 021B5CBC */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 021B5CBC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 021B5CC0 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5CC0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B5CC0 */ if (_t34) goto L_021B5CC4; // else: addr-0 trap, fall-through
|
|
L_021B5CC4: ; // 0x21b5cc4
|
|
/* 021B5CC4 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 021B5CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B5CC8 */ cpu->lr = cpu->r[0];
|
|
/* 021B5CCC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B5CD0 */ return;
|
|
}
|
|
|
|
// fn_021B5CD4 @ 0x21b5cd4
|
|
void Gambit_fn_021B5CD4(CPUState* cpu) {
|
|
uint32_t _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_021B5CD4: ; // 0x21b5cd4
|
|
/* 021B5CD4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B5CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5CD8 */ cpu->r[1] = _t0;
|
|
/* 021B5CDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5CE0 */ cpu->r[31] = cpu->r[6];
|
|
/* 021B5CE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B5CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 021B5CEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5CF0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5CF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B5CF0 */ if (_t5) goto L_021B5CF4; else goto L_021B5D6C;
|
|
L_021B5CF4: ; // 0x21b5cf4
|
|
/* 021B5CF4 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B5CF8 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 021B5CFC */ _t6 = cpu->r[11] + 0xFFFFA160u;
|
|
/* 021B5CFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B5D00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 021B5D04 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5D04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B5D04 */ if (_t8) goto L_021B5D08; else goto L_021B5D38;
|
|
L_021B5D08: ; // 0x21b5d08
|
|
/* 021B5D08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 021B5D0C */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 021B5D10 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5D10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B5D10 */ if (_t10) goto L_021B5D14; else goto L_021B5D1C;
|
|
L_021B5D14: ; // 0x21b5d14
|
|
/* 021B5D14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000034u);
|
|
/* 021B5D18 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_021B5D1C: ; // 0x21b5d1c
|
|
/* 021B5D1C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B5D20 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B5D24 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D28 */ _t13 = cpu->r[12] + 0x00000030u;
|
|
/* 021B5D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B5D2C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B5D30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D34 */ return;
|
|
L_021B5D38: ; // 0x21b5d38
|
|
/* 021B5D38 */ Gambit_fn_021B5B98(cpu);
|
|
/* 021B5D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B5D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B5D40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5D40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B5D40 */ if (_t16) goto L_021B5D6C; else goto L_021B5D44;
|
|
L_021B5D44: ; // 0x21b5d44
|
|
/* 021B5D44 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B5D48 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B5D4C */ Gambit_fn_028BC3B4(cpu);
|
|
/* 021B5D50 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B5D54 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5D54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B5D58 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D5C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B5D60 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B5D64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D68 */ return;
|
|
L_021B5D6C: ; // 0x21b5d6c
|
|
/* 021B5D6C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B5D70 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B5D74 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D78 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B5D7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D80 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5D84 */ return;
|
|
}
|
|
|
|
// fn_021B5CD8 @ 0x21b5cd8
|
|
void Gambit_fn_021B5CD8(CPUState* cpu) {
|
|
uint32_t _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_021B5CD8: ; // 0x21b5cd8
|
|
/* 021B5CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5CD8 */ cpu->r[1] = _t0;
|
|
/* 021B5CDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5CE0 */ cpu->r[31] = cpu->r[6];
|
|
/* 021B5CE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B5CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 021B5CEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5CF0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5CF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B5CF0 */ if (_t5) goto L_021B5CF4; else goto L_021B5D6C;
|
|
L_021B5CF4: ; // 0x21b5cf4
|
|
/* 021B5CF4 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B5CF8 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 021B5CFC */ _t6 = cpu->r[11] + 0xFFFFA160u;
|
|
/* 021B5CFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B5D00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 021B5D04 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5D04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B5D04 */ if (_t8) goto L_021B5D08; else goto L_021B5D38;
|
|
L_021B5D08: ; // 0x21b5d08
|
|
/* 021B5D08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 021B5D0C */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 021B5D10 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B5D10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B5D10 */ if (_t10) goto L_021B5D14; else goto L_021B5D1C;
|
|
L_021B5D14: ; // 0x21b5d14
|
|
/* 021B5D14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000034u);
|
|
/* 021B5D18 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_021B5D1C: ; // 0x21b5d1c
|
|
/* 021B5D1C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B5D20 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B5D24 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D28 */ _t13 = cpu->r[12] + 0x00000030u;
|
|
/* 021B5D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B5D2C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B5D30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D34 */ return;
|
|
L_021B5D38: ; // 0x21b5d38
|
|
/* 021B5D38 */ Gambit_fn_021B5B98(cpu);
|
|
/* 021B5D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B5D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B5D40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5D40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B5D40 */ if (_t16) goto L_021B5D6C; else goto L_021B5D44;
|
|
L_021B5D44: ; // 0x21b5d44
|
|
/* 021B5D44 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 021B5D48 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B5D4C */ Gambit_fn_028BC3B4(cpu);
|
|
/* 021B5D50 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B5D54 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5D54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B5D58 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D5C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B5D60 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B5D64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D68 */ return;
|
|
L_021B5D6C: ; // 0x21b5d6c
|
|
/* 021B5D6C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B5D70 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5D70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B5D74 */ cpu->lr = cpu->r[0];
|
|
/* 021B5D78 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5D78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B5D7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B5D80 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B5D84 */ return;
|
|
}
|
|
|
|
// fn_021B5D88 @ 0x21b5d88
|
|
void Gambit_fn_021B5D88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021B5D88: ; // 0x21b5d88
|
|
/* 021B5D88 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B5D88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5D88 */ cpu->r[1] = _t0;
|
|
/* 021B5D8C */ cpu->r[0] = cpu->lr;
|
|
/* 021B5D90 */ /* nop */
|
|
/* 021B5D94 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B5D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B5D98 */ cpu->r[28] = cpu->r[4];
|
|
/* 021B5D9C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B5D9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B5DA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5DA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B5DA0 */ if (_t3) goto L_021B5E24; else goto L_021B5DA4;
|
|
L_021B5DA4: ; // 0x21b5da4
|
|
/* 021B5DA4 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B5DA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFA164u;
|
|
/* 021B5DAC */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B5DB0 */ _t4 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021B5DB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B5DB4 */ _t5 = cpu->r[12] + 0x00004D90u;
|
|
/* 021B5DB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B5DB4 */ cpu->r[12] = _t5;
|
|
/* 021B5DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
|
|
/* 021B5DBC */ cpu->r[31] = 0x00000000u;
|
|
/* 021B5DC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5DC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B5DC0 */ if (_t7) goto L_021B5DC4; else goto L_021B5E08;
|
|
L_021B5DC4: ; // 0x21b5dc4
|
|
/* 021B5DC4 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B5DC8 */ _t8 = cpu->r[30] + 0x00004D8Cu;
|
|
/* 021B5DC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B5DC8 */ cpu->r[30] = _t8;
|
|
/* 021B5DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B5DD0 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 021B5DD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 021B5DD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5DD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B5DD4 */ if (_t11) goto L_021B5E04; else goto L_021B5DD8;
|
|
L_021B5DD8: ; // 0x21b5dd8
|
|
/* 021B5DD8 */ cpu->r[6] = 0x021B0000u;
|
|
/* 021B5DDC */ cpu->r[3] = cpu->r[29] + 0x00000020u;
|
|
/* 021B5DE0 */ cpu->r[7] = 0x00000000u;
|
|
/* 021B5DE4 */ cpu->r[6] = cpu->r[6] + 0x00005FACu;
|
|
/* 021B5DE8 */ cpu->r[4] = 0x00000006u;
|
|
/* 021B5DEC */ cpu->r[8] = cpu->r[7];
|
|
/* 021B5DF0 */ cpu->r[5] = 0x00000034u;
|
|
/* 021B5DF4 */ Gambit_fn_02C82F38(cpu);
|
|
/* 021B5DF8 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 021B5DFC */ cpu->r[4] = 0x00000002u;
|
|
/* 021B5E00 */ Gambit_fn_02836DBC(cpu);
|
|
L_021B5E04: ; // 0x21b5e04
|
|
/* 021B5E04 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5E04 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
L_021B5E08: ; // 0x21b5e08
|
|
/* 021B5E08 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B5E0C */ cpu->r[4] = 0x00000000u;
|
|
/* 021B5E10 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B5E14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B5E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5E18 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E18 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B5E18 */ if (_t14) goto L_021B5E24; else goto L_021B5E1C;
|
|
L_021B5E1C: ; // 0x21b5e1c
|
|
/* 021B5E1C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B5E20 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B5E24: ; // 0x21b5e24
|
|
/* 021B5E24 */ /* nop */
|
|
/* 021B5E28 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 021B5E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B5E2C */ cpu->lr = cpu->r[0];
|
|
/* 021B5E30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B5E34 */ return;
|
|
}
|
|
|
|
// fn_021B5E38 @ 0x21b5e38
|
|
void Gambit_fn_021B5E38(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_021B5E38: ; // 0x21b5e38
|
|
/* 021B5E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5E3C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E3C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B5E3C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E3C */ goto L_021B5E40;
|
|
L_021B5E40: ; // 0x21b5e40
|
|
/* 021B5E40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B5E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5E44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B5E44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E44 */ goto L_021B5E48;
|
|
L_021B5E48: ; // 0x21b5e48
|
|
/* 021B5E48 */ 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_021B5E4C @ 0x21b5e4c
|
|
void Gambit_fn_021B5E4C(CPUState* cpu) {
|
|
L_021B5E4C: ; // 0x21b5e4c
|
|
/* 021B5E4C */ return;
|
|
}
|
|
|
|
// fn_021B5E50 @ 0x21b5e50
|
|
void Gambit_fn_021B5E50(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_021B5E50: ; // 0x21b5e50
|
|
/* 021B5E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5E54 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E54 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B5E54 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E54 */ goto L_021B5E58;
|
|
L_021B5E58: ; // 0x21b5e58
|
|
/* 021B5E58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B5E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5E5C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E5C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B5E5C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E5C */ goto L_021B5E60;
|
|
L_021B5E60: ; // 0x21b5e60
|
|
/* 021B5E60 */ 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_021B5E64 @ 0x21b5e64
|
|
void Gambit_fn_021B5E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B5E64: ; // 0x21b5e64
|
|
/* 021B5E64 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B5E64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B5E68 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021B5E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B5E6C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021B5E70 */ cpu->r[11] = 0x10110000u;
|
|
/* 021B5E74 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021B5E74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B5E78 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B5E78 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021B5E7C */ return;
|
|
}
|
|
|
|
// fn_021B5E80 @ 0x21b5e80
|
|
void Gambit_fn_021B5E80(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_021B5E80: ; // 0x21b5e80
|
|
/* 021B5E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5E84 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E84 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B5E84 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E84 */ goto L_021B5E88;
|
|
L_021B5E88: ; // 0x21b5e88
|
|
/* 021B5E88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B5E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5E8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E8C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B5E8C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E8C */ goto L_021B5E90;
|
|
L_021B5E90: ; // 0x21b5e90
|
|
/* 021B5E90 */ 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_021B5E94 @ 0x21b5e94
|
|
void Gambit_fn_021B5E94(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_021B5E94: ; // 0x21b5e94
|
|
/* 021B5E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5E98 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5E98 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B5E98 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5E98 */ goto L_021B5E9C;
|
|
L_021B5E9C: ; // 0x21b5e9c
|
|
/* 021B5E9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B5E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B5EA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5EA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B5EA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B5EA0 */ goto L_021B5EA4;
|
|
L_021B5EA4: ; // 0x21b5ea4
|
|
/* 021B5EA4 */ 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_021B5EAC @ 0x21b5eac
|
|
void Gambit_fn_021B5EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B5EAC: ; // 0x21b5eac
|
|
/* 021B5EAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B5EAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5EAC */ cpu->r[1] = _t0;
|
|
/* 021B5EB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5EB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B5EB4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5EB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B5EB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5EB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B5EBC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5EBC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B5EC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5EC4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5EC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B5EC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5EC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B5EC8 */ if (_t7) goto L_021B5ECC; else goto L_021B5EDC;
|
|
L_021B5ECC: ; // 0x21b5ecc
|
|
/* 021B5ECC */ cpu->r[3] = 0x00000034u;
|
|
/* 021B5ED0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5ED8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5ED8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B5ED8 */ if (_t9) goto L_021B5F88; else goto L_021B5EDC;
|
|
L_021B5EDC: ; // 0x21b5edc
|
|
/* 021B5EDC */ cpu->r[28] = cpu->r[31];
|
|
/* 021B5EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B5EE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5EE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B5EE0 */ if (_t11) goto L_021B5EE4; else goto L_021B5EF4;
|
|
L_021B5EE4: ; // 0x21b5ee4
|
|
/* 021B5EE4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021B5EE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5EEC */ cpu->r[28] = cpu->r[3];
|
|
/* 021B5EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B5EF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5EF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B5EF0 */ if (_t13) goto L_021B5F88; else goto L_021B5EF4;
|
|
L_021B5EF4: ; // 0x21b5ef4
|
|
/* 021B5EF4 */ cpu->r[30] = cpu->r[28];
|
|
/* 021B5EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B5EF8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5EF8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B5EF8 */ if (_t15) goto L_021B5EFC; else goto L_021B5F0C;
|
|
L_021B5EFC: ; // 0x21b5efc
|
|
/* 021B5EFC */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021B5F00 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5F04 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B5F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B5F08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5F08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B5F08 */ if (_t17) goto L_021B5F7C; else goto L_021B5F0C;
|
|
L_021B5F0C: ; // 0x21b5f0c
|
|
/* 021B5F0C */ cpu->r[3] = cpu->r[30];
|
|
/* 021B5F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5F10 */ cpu->r[29] = 0x10110000u;
|
|
/* 021B5F14 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5F14 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B5F14 */ if (_t19) goto L_021B5F18; else goto L_021B5F44;
|
|
L_021B5F18: ; // 0x21b5f18
|
|
/* 021B5F18 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B5F1C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5F24 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5F24 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B5F24 */ if (_t21) goto L_021B5F28; else goto L_021B5F44;
|
|
L_021B5F28: ; // 0x21b5f28
|
|
/* 021B5F28 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B5F2C */ _t22 = cpu->r[29] + 0x00007399u;
|
|
/* 021B5F2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B5F30 */ cpu->r[10] = cpu->r[10] + 0xFFFFA118u;
|
|
/* 021B5F34 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5F34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B5F38 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 021B5F38 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 021B5F3C */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 021B5F3C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 021B5F40 */ goto L_021B5F7C;
|
|
L_021B5F44: ; // 0x21b5f44
|
|
/* 021B5F44 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B5F48 */ cpu->r[7] = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B5F4C */ cpu->r[8] = cpu->r[8] + 0xFFFFA100u;
|
|
/* 021B5F50 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 021B5F50 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 021B5F54 */ cpu->r[9] = 0x00000020u;
|
|
/* 021B5F58 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 021B5F58 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 021B5F5C */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 021B5F5C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 021B5F60 */ _t29 = cpu->r[29] + 0x00007399u;
|
|
/* 021B5F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 021B5F64 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B5F68 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 021B5F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B5F6C */ cpu->r[10] = cpu->r[10] + 0xFFFFA118u;
|
|
/* 021B5F70 */ _t31 = cpu->r[30] + 0x0000002Bu;
|
|
/* 021B5F70 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 021B5F74 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 021B5F74 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 021B5F78 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 021B5F78 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
L_021B5F7C: ; // 0x21b5f7c
|
|
/* 021B5F7C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B5F80 */ cpu->r[12] = cpu->r[12] + 0xFFFFA130u;
|
|
/* 021B5F84 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 021B5F84 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
L_021B5F88: ; // 0x21b5f88
|
|
/* 021B5F88 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5F88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B5F8C */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5F8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B5F90 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B5F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B5F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B5F98 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 021B5F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B5F9C */ cpu->lr = cpu->r[0];
|
|
/* 021B5FA0 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B5FA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B5FA8 */ return;
|
|
}
|
|
|
|
// fn_021B5FC0 @ 0x21b5fc0
|
|
void Gambit_fn_021B5FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B5FC0: ; // 0x21b5fc0
|
|
/* 021B5FC0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B5FC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5FC4 */ cpu->r[1] = _t0;
|
|
/* 021B5FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5FCC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5FCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B5FD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5FD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5FD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5FD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FD8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B5FD8 */ if (_t5) goto L_021B5FDC; else goto L_021B5FEC;
|
|
L_021B5FDC: ; // 0x21b5fdc
|
|
/* 021B5FDC */ cpu->r[3] = 0x00000048u;
|
|
/* 021B5FE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5FE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B5FE8 */ if (_t7) goto L_021B609C; else goto L_021B5FEC;
|
|
L_021B5FEC: ; // 0x21b5fec
|
|
/* 021B5FEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021B5FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5FF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B5FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B5FF4 */ if (_t9) goto L_021B5FF8; else goto L_021B6008;
|
|
L_021B5FF8: ; // 0x21b5ff8
|
|
/* 021B5FF8 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B5FFC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6004 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6004 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B6004 */ if (_t11) goto L_021B6010; else goto L_021B6008;
|
|
L_021B6008: ; // 0x21b6008
|
|
/* 021B6008 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6008 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 021B600C */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 021B600C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
L_021B6010: ; // 0x21b6010
|
|
/* 021B6010 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B6010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6014 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6014 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B6014 */ if (_t15) goto L_021B6018; else goto L_021B6028;
|
|
L_021B6018: ; // 0x21b6018
|
|
/* 021B6018 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B601C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6024 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6024 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B6024 */ if (_t17) goto L_021B6030; else goto L_021B6028;
|
|
L_021B6028: ; // 0x21b6028
|
|
/* 021B6028 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6028 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 021B602C */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 021B602C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_021B6030: ; // 0x21b6030
|
|
/* 021B6030 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B6030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6034 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6034 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B6034 */ if (_t21) goto L_021B6038; else goto L_021B6048;
|
|
L_021B6038: ; // 0x21b6038
|
|
/* 021B6038 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B603C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6044 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6044 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B6044 */ if (_t23) goto L_021B6050; else goto L_021B6048;
|
|
L_021B6048: ; // 0x21b6048
|
|
/* 021B6048 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6048 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 021B604C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 021B604C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
L_021B6050: ; // 0x21b6050
|
|
/* 021B6050 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 021B6050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6054 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6054 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B6054 */ if (_t27) goto L_021B6058; else goto L_021B6068;
|
|
L_021B6058: ; // 0x21b6058
|
|
/* 021B6058 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B605C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6064 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6064 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6064 */ if (_t29) goto L_021B6070; else goto L_021B6068;
|
|
L_021B6068: ; // 0x21b6068
|
|
/* 021B6068 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6068 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 021B606C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 021B606C */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_021B6070: ; // 0x21b6070
|
|
/* 021B6070 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 021B6074 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B6078 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B607C */ cpu->r[0] = cpu->r[31] + 0x00000030u;
|
|
/* 021B6080 */ cpu->r[11] = cpu->r[10];
|
|
L_021B6084: ; // 0x21b6084
|
|
/* 021B6084 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6088 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B608C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 021B6090 */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 021B6090 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021B6094 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6094 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B6094 */ if (_t34) goto L_021B609C; else goto L_021B6098;
|
|
L_021B6098: ; // 0x21b6098
|
|
/* 021B6098 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6098 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B6098 */ if (_t36) goto L_021B6084; else goto L_021B609C;
|
|
L_021B609C: ; // 0x21b609c
|
|
/* 021B609C */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 021B609C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B60A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B60A4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B60A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B60A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B60AC */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 021B60AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B60B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B60B4 */ return;
|
|
}
|
|
|
|
// fn_021B5FC4 @ 0x21b5fc4
|
|
void Gambit_fn_021B5FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B5FC4: ; // 0x21b5fc4
|
|
/* 021B5FC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B5FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B5FC4 */ cpu->r[1] = _t0;
|
|
/* 021B5FC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B5FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B5FCC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B5FCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B5FD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5FD4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B5FD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B5FD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FD8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B5FD8 */ if (_t5) goto L_021B5FDC; else goto L_021B5FEC;
|
|
L_021B5FDC: ; // 0x21b5fdc
|
|
/* 021B5FDC */ cpu->r[3] = 0x00000048u;
|
|
/* 021B5FE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B5FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B5FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B5FE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B5FE8 */ if (_t7) goto L_021B609C; else goto L_021B5FEC;
|
|
L_021B5FEC: ; // 0x21b5fec
|
|
/* 021B5FEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021B5FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B5FF0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B5FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B5FF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B5FF4 */ if (_t9) goto L_021B5FF8; else goto L_021B6008;
|
|
L_021B5FF8: ; // 0x21b5ff8
|
|
/* 021B5FF8 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B5FFC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6004 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6004 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B6004 */ if (_t11) goto L_021B6010; else goto L_021B6008;
|
|
L_021B6008: ; // 0x21b6008
|
|
/* 021B6008 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6008 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 021B600C */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 021B600C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
L_021B6010: ; // 0x21b6010
|
|
/* 021B6010 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B6010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6014 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6014 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B6014 */ if (_t15) goto L_021B6018; else goto L_021B6028;
|
|
L_021B6018: ; // 0x21b6018
|
|
/* 021B6018 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B601C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6024 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6024 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B6024 */ if (_t17) goto L_021B6030; else goto L_021B6028;
|
|
L_021B6028: ; // 0x21b6028
|
|
/* 021B6028 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6028 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 021B602C */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 021B602C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_021B6030: ; // 0x21b6030
|
|
/* 021B6030 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021B6030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6034 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6034 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B6034 */ if (_t21) goto L_021B6038; else goto L_021B6048;
|
|
L_021B6038: ; // 0x21b6038
|
|
/* 021B6038 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B603C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6044 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6044 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B6044 */ if (_t23) goto L_021B6050; else goto L_021B6048;
|
|
L_021B6048: ; // 0x21b6048
|
|
/* 021B6048 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6048 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 021B604C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 021B604C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
L_021B6050: ; // 0x21b6050
|
|
/* 021B6050 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 021B6050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6054 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6054 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B6054 */ if (_t27) goto L_021B6058; else goto L_021B6068;
|
|
L_021B6058: ; // 0x21b6058
|
|
/* 021B6058 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B605C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B6060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6064 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6064 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6064 */ if (_t29) goto L_021B6070; else goto L_021B6068;
|
|
L_021B6068: ; // 0x21b6068
|
|
/* 021B6068 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6068 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 021B606C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 021B606C */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_021B6070: ; // 0x21b6070
|
|
/* 021B6070 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 021B6074 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B6078 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B607C */ cpu->r[0] = cpu->r[31] + 0x00000030u;
|
|
/* 021B6080 */ cpu->r[11] = cpu->r[10];
|
|
L_021B6084: ; // 0x21b6084
|
|
/* 021B6084 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6088 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B608C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 021B6090 */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 021B6090 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021B6094 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6094 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B6094 */ if (_t34) goto L_021B609C; else goto L_021B6098;
|
|
L_021B6098: ; // 0x21b6098
|
|
/* 021B6098 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6098 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B6098 */ if (_t36) goto L_021B6084; else goto L_021B609C;
|
|
L_021B609C: ; // 0x21b609c
|
|
/* 021B609C */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 021B609C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B60A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B60A4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B60A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B60A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B60AC */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 021B60AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B60B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B60B4 */ return;
|
|
}
|
|
|
|
// fn_021B60B8 @ 0x21b60b8
|
|
void Gambit_fn_021B60B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B60B8: ; // 0x21b60b8
|
|
/* 021B60B8 */ cpu->r[0] = cpu->lr;
|
|
/* 021B60BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B60BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B60BC */ cpu->r[1] = _t0;
|
|
/* 021B60C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B60C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B60C4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B60C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B60C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B60C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B60CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B60CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B60D0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B60D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B60D8 */ _t5 = cpu->r[29] + 0x00004D94u;
|
|
/* 021B60D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B60D8 */ cpu->r[29] = _t5;
|
|
/* 021B60DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B60E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B60E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B60E0 */ if (_t7) goto L_021B60E4; else goto L_021B612C;
|
|
L_021B60E4: ; // 0x21b60e4
|
|
/* 021B60E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B60E8 */ cpu->r[3] = 0x00000048u;
|
|
/* 021B60EC */ cpu->r[5] = 0x00000004u;
|
|
/* 021B60F0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B60F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B60F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B60F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B60F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B60F8 */ if (_t9) goto L_021B6118; else goto L_021B60FC;
|
|
L_021B60FC: ; // 0x21b60fc
|
|
/* 021B60FC */ cpu->r[5] = 0x00000003u;
|
|
/* 021B6100 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B6104 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6108 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B610C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B6110 */ cpu->r[0] = cpu->r[0] + 0xFFFFA1A8u;
|
|
/* 021B6114 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B6114 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021B6118: ; // 0x21b6118
|
|
/* 021B6118 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B611C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6120 */ _t11 = cpu->r[12] + 0x00004D98u;
|
|
/* 021B6120 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B6124 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6124 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B6124 */ rbrew_dispatch(cpu, (_t13) ? 0x021b6128u : 0x021b5fc0u); return;
|
|
/* 021B6128 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B6128 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021B612C: ; // 0x21b612c
|
|
/* 021B612C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B612C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B6130 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B6134 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B6138 */ cpu->lr = cpu->r[0];
|
|
/* 021B613C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B613C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B6140 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B6144 */ return;
|
|
}
|
|
|
|
// fn_021B60BC @ 0x21b60bc
|
|
void Gambit_fn_021B60BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B60BC: ; // 0x21b60bc
|
|
/* 021B60BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B60BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B60BC */ cpu->r[1] = _t0;
|
|
/* 021B60C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B60C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B60C4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B60C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B60C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B60C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B60CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B60CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B60D0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B60D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B60D8 */ _t5 = cpu->r[29] + 0x00004D94u;
|
|
/* 021B60D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B60D8 */ cpu->r[29] = _t5;
|
|
/* 021B60DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B60E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B60E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B60E0 */ if (_t7) goto L_021B60E4; else goto L_021B612C;
|
|
L_021B60E4: ; // 0x21b60e4
|
|
/* 021B60E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B60E8 */ cpu->r[3] = 0x00000048u;
|
|
/* 021B60EC */ cpu->r[5] = 0x00000004u;
|
|
/* 021B60F0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B60F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B60F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B60F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B60F8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B60F8 */ if (_t9) goto L_021B6118; else goto L_021B60FC;
|
|
L_021B60FC: ; // 0x21b60fc
|
|
/* 021B60FC */ cpu->r[5] = 0x00000003u;
|
|
/* 021B6100 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B6104 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6108 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B610C */ cpu->r[0] = 0x10030000u;
|
|
/* 021B6110 */ cpu->r[0] = cpu->r[0] + 0xFFFFA1A8u;
|
|
/* 021B6114 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B6114 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_021B6118: ; // 0x21b6118
|
|
/* 021B6118 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B611C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6120 */ _t11 = cpu->r[12] + 0x00004D98u;
|
|
/* 021B6120 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B6124 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6124 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B6124 */ rbrew_dispatch(cpu, (_t13) ? 0x021b6128u : 0x021b5fc0u); return;
|
|
/* 021B6128 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B6128 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_021B612C: ; // 0x21b612c
|
|
/* 021B612C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B612C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B6130 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B6134 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B6138 */ cpu->lr = cpu->r[0];
|
|
/* 021B613C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B613C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B6140 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B6144 */ return;
|
|
}
|
|
|
|
// fn_021B6148 @ 0x21b6148
|
|
void Gambit_fn_021B6148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_021B6148: ; // 0x21b6148
|
|
/* 021B6148 */ cpu->r[0] = cpu->lr;
|
|
/* 021B614C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B614C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B614C */ cpu->r[1] = _t0;
|
|
/* 021B6150 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6150 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B6154 */ /* nop */
|
|
/* 021B6158 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6158 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B615C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B615C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B6160 */ /* nop */
|
|
/* 021B6164 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B6164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B6168 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B616C */ cpu->r[26] = 0x101D0000u;
|
|
/* 021B6170 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6174 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6174 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B6174 */ if (_t5) goto L_021B6178; else goto L_021B6180;
|
|
L_021B6178: ; // 0x21b6178
|
|
/* 021B6178 */ _t6 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B6178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B617C */ Gambit_fn_02826F20(cpu);
|
|
L_021B6180: ; // 0x21b6180
|
|
/* 021B6180 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B6180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B6184 */ _t8 = cpu->r[8] + 0x00000034u;
|
|
/* 021B6184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B6188 */ cpu->ctr = cpu->r[0];
|
|
/* 021B618C */ cpu->r[4] = 0x00000100u;
|
|
/* 021B6190 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6198 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B619C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B61A0 */ cpu->r[25] = cpu->r[25] + 0xFFFFA1B8u;
|
|
/* 021B61A4 */ cpu->r[30] = 0x00000020u;
|
|
/* 021B61A8 */ cpu->r[28] = cpu->r[3];
|
|
L_021B61AC: ; // 0x21b61ac
|
|
/* 021B61AC */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B61AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B61B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B61B0 */ if (_t10) goto L_021B61C0; else goto L_021B61B4;
|
|
L_021B61B4: ; // 0x21b61b4
|
|
/* 021B61B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B61B8 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B61BC */ _t11 = cpu->r[29] + 0x00000004u;
|
|
/* 021B61BC */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_021B61C0: ; // 0x21b61c0
|
|
/* 021B61C0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B61C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B61C4 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B61C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B61C8 */ if (_t13) goto L_021B61CC; else goto L_021B61AC;
|
|
L_021B61CC: ; // 0x21b61cc
|
|
/* 021B61CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B61D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B61D0 */ if (_t15) goto L_021B61E0; else goto L_021B61D4;
|
|
L_021B61D4: ; // 0x21b61d4
|
|
/* 021B61D4 */ _t16 = cpu->r[27] + 0x00000014u;
|
|
/* 021B61D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 021B61D8 */ cpu->r[0] = 0x00000020u;
|
|
/* 021B61DC */ _t17 = cpu->r[27] + 0x00000010u;
|
|
/* 021B61DC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_021B61E0: ; // 0x21b61e0
|
|
/* 021B61E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B61E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B61E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61E4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B61E4 */ if (_t19) goto L_021B61E8; else goto L_021B61F0;
|
|
L_021B61E8: ; // 0x21b61e8
|
|
/* 021B61E8 */ _t20 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B61E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B61EC */ Gambit_fn_02826F20(cpu);
|
|
L_021B61F0: ; // 0x21b61f0
|
|
/* 021B61F0 */ _t21 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B61F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B61F4 */ _t22 = cpu->r[11] + 0x00000034u;
|
|
/* 021B61F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B61F8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B61FC */ cpu->r[4] = 0x00000040u;
|
|
/* 021B6200 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6208 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B620C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B6210 */ cpu->r[25] = cpu->r[25] + 0xFFFFA210u;
|
|
/* 021B6214 */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6218 */ cpu->r[28] = cpu->r[3];
|
|
L_021B621C: ; // 0x21b621c
|
|
/* 021B621C */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6220 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6220 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B6220 */ if (_t24) goto L_021B6230; else goto L_021B6224;
|
|
L_021B6224: ; // 0x21b6224
|
|
/* 021B6224 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6228 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B622C */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 021B622C */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
L_021B6230: ; // 0x21b6230
|
|
/* 021B6230 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B6230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B6234 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B6238 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6238 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B6238 */ if (_t27) goto L_021B623C; else goto L_021B621C;
|
|
L_021B623C: ; // 0x21b623c
|
|
/* 021B623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B6240 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6240 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6240 */ if (_t29) goto L_021B6250; else goto L_021B6244;
|
|
L_021B6244: ; // 0x21b6244
|
|
/* 021B6244 */ _t30 = cpu->r[27] + 0x0000001Cu;
|
|
/* 021B6244 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 021B6248 */ cpu->r[0] = 0x00000008u;
|
|
/* 021B624C */ _t31 = cpu->r[27] + 0x00000018u;
|
|
/* 021B624C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_021B6250: ; // 0x21b6250
|
|
/* 021B6250 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6254 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6254 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B6254 */ if (_t33) goto L_021B6258; else goto L_021B6260;
|
|
L_021B6258: ; // 0x21b6258
|
|
/* 021B6258 */ _t34 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B6258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B625C */ Gambit_fn_02826F20(cpu);
|
|
L_021B6260: ; // 0x21b6260
|
|
/* 021B6260 */ _t35 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B6260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B6264 */ _t36 = cpu->r[6] + 0x00000034u;
|
|
/* 021B6264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B6268 */ cpu->ctr = cpu->r[0];
|
|
/* 021B626C */ cpu->r[4] = 0x00000040u;
|
|
/* 021B6270 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6278 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B627C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B6280 */ cpu->r[25] = cpu->r[25] + 0xFFFFA268u;
|
|
/* 021B6284 */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6288 */ cpu->r[28] = cpu->r[3];
|
|
L_021B628C: ; // 0x21b628c
|
|
/* 021B628C */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6290 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6290 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B6290 */ if (_t38) goto L_021B62A0; else goto L_021B6294;
|
|
L_021B6294: ; // 0x21b6294
|
|
/* 021B6294 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6298 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B629C */ _t39 = cpu->r[29] + 0x00000004u;
|
|
/* 021B629C */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
L_021B62A0: ; // 0x21b62a0
|
|
/* 021B62A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B62A4 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B62A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B62A8 */ if (_t41) goto L_021B62AC; else goto L_021B628C;
|
|
L_021B62AC: ; // 0x21b62ac
|
|
/* 021B62AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B62B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B62B0 */ if (_t43) goto L_021B62C0; else goto L_021B62B4;
|
|
L_021B62B4: ; // 0x21b62b4
|
|
/* 021B62B4 */ _t44 = cpu->r[27] + 0x00000024u;
|
|
/* 021B62B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 021B62B8 */ cpu->r[8] = 0x00000008u;
|
|
/* 021B62BC */ _t45 = cpu->r[27] + 0x00000020u;
|
|
/* 021B62BC */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
L_021B62C0: ; // 0x21b62c0
|
|
/* 021B62C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B62C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B62C4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62C4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B62C4 */ if (_t47) goto L_021B62C8; else goto L_021B62D0;
|
|
L_021B62C8: ; // 0x21b62c8
|
|
/* 021B62C8 */ _t48 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B62C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B62CC */ Gambit_fn_02826F20(cpu);
|
|
L_021B62D0: ; // 0x21b62d0
|
|
/* 021B62D0 */ _t49 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B62D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B62D4 */ _t50 = cpu->r[9] + 0x00000034u;
|
|
/* 021B62D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B62D8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B62DC */ cpu->r[5] = 0x00000004u;
|
|
/* 021B62E0 */ cpu->r[4] = 0x00000060u;
|
|
/* 021B62E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B62E8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B62EC */ cpu->r[26] = 0x10030000u;
|
|
/* 021B62F0 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B62F4 */ _t51 = cpu->r[12] + 0xFFFFA194u;
|
|
/* 021B62F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021B62F8 */ cpu->r[26] = cpu->r[26] + 0xFFFFA2C0u;
|
|
/* 021B62FC */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6300 */ cpu->r[28] = cpu->r[3];
|
|
L_021B6304: ; // 0x21b6304
|
|
/* 021B6304 */ cpu->r[29] = cpu->r[28] + cpu->r[31];
|
|
/* 021B6304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6308 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6308 */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B6308 */ if (_t53) goto L_021B631C; else goto L_021B630C;
|
|
L_021B630C: ; // 0x21b630c
|
|
/* 021B630C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6310 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B6314 */ _t54 = cpu->r[29] + 0x00000008u;
|
|
/* 021B6314 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[31]);
|
|
/* 021B6318 */ _t55 = cpu->r[29] + 0x00000004u;
|
|
/* 021B6318 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
L_021B631C: ; // 0x21b631c
|
|
/* 021B631C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B631C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B6320 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B6324 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6324 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021B6324 */ if (_t57) goto L_021B6328; else goto L_021B6304;
|
|
L_021B6328: ; // 0x21b6328
|
|
/* 021B6328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B632C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B632C */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B632C */ if (_t59) goto L_021B633C; else goto L_021B6330;
|
|
L_021B6330: ; // 0x21b6330
|
|
/* 021B6330 */ _t60 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B6330 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
|
|
/* 021B6334 */ cpu->r[0] = 0x00000008u;
|
|
/* 021B6338 */ _t61 = cpu->r[27] + 0x00000028u;
|
|
/* 021B6338 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
L_021B633C: ; // 0x21b633c
|
|
/* 021B633C */ /* nop */
|
|
/* 021B6340 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6340 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 021B6344 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6344 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 021B6348 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6348 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B6348 */ if (_t65) goto L_021B634C; // else: addr-0 trap, fall-through
|
|
L_021B634C: ; // 0x21b634c
|
|
/* 021B634C */ _t66 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B634C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B6350 */ cpu->lr = cpu->r[0];
|
|
/* 021B6354 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6358 */ return;
|
|
}
|
|
|
|
// fn_021B614C @ 0x21b614c
|
|
void Gambit_fn_021B614C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_021B614C: ; // 0x21b614c
|
|
/* 021B614C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B614C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B614C */ cpu->r[1] = _t0;
|
|
/* 021B6150 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6150 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B6154 */ /* nop */
|
|
/* 021B6158 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6158 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B615C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B615C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B6160 */ /* nop */
|
|
/* 021B6164 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B6164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B6168 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B616C */ cpu->r[26] = 0x101D0000u;
|
|
/* 021B6170 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6174 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6174 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B6174 */ if (_t5) goto L_021B6178; else goto L_021B6180;
|
|
L_021B6178: ; // 0x21b6178
|
|
/* 021B6178 */ _t6 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B6178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B617C */ Gambit_fn_02826F20(cpu);
|
|
L_021B6180: ; // 0x21b6180
|
|
/* 021B6180 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B6180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B6184 */ _t8 = cpu->r[8] + 0x00000034u;
|
|
/* 021B6184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B6188 */ cpu->ctr = cpu->r[0];
|
|
/* 021B618C */ cpu->r[4] = 0x00000100u;
|
|
/* 021B6190 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6198 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B619C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B61A0 */ cpu->r[25] = cpu->r[25] + 0xFFFFA1B8u;
|
|
/* 021B61A4 */ cpu->r[30] = 0x00000020u;
|
|
/* 021B61A8 */ cpu->r[28] = cpu->r[3];
|
|
L_021B61AC: ; // 0x21b61ac
|
|
/* 021B61AC */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B61AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B61B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B61B0 */ if (_t10) goto L_021B61C0; else goto L_021B61B4;
|
|
L_021B61B4: ; // 0x21b61b4
|
|
/* 021B61B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B61B8 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B61BC */ _t11 = cpu->r[29] + 0x00000004u;
|
|
/* 021B61BC */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_021B61C0: ; // 0x21b61c0
|
|
/* 021B61C0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B61C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B61C4 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B61C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B61C8 */ if (_t13) goto L_021B61CC; else goto L_021B61AC;
|
|
L_021B61CC: ; // 0x21b61cc
|
|
/* 021B61CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B61D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B61D0 */ if (_t15) goto L_021B61E0; else goto L_021B61D4;
|
|
L_021B61D4: ; // 0x21b61d4
|
|
/* 021B61D4 */ _t16 = cpu->r[27] + 0x00000014u;
|
|
/* 021B61D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 021B61D8 */ cpu->r[0] = 0x00000020u;
|
|
/* 021B61DC */ _t17 = cpu->r[27] + 0x00000010u;
|
|
/* 021B61DC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_021B61E0: ; // 0x21b61e0
|
|
/* 021B61E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B61E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B61E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B61E4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B61E4 */ if (_t19) goto L_021B61E8; else goto L_021B61F0;
|
|
L_021B61E8: ; // 0x21b61e8
|
|
/* 021B61E8 */ _t20 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B61E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B61EC */ Gambit_fn_02826F20(cpu);
|
|
L_021B61F0: ; // 0x21b61f0
|
|
/* 021B61F0 */ _t21 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B61F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B61F4 */ _t22 = cpu->r[11] + 0x00000034u;
|
|
/* 021B61F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B61F8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B61FC */ cpu->r[4] = 0x00000040u;
|
|
/* 021B6200 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6208 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B620C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B6210 */ cpu->r[25] = cpu->r[25] + 0xFFFFA210u;
|
|
/* 021B6214 */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6218 */ cpu->r[28] = cpu->r[3];
|
|
L_021B621C: ; // 0x21b621c
|
|
/* 021B621C */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6220 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6220 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B6220 */ if (_t24) goto L_021B6230; else goto L_021B6224;
|
|
L_021B6224: ; // 0x21b6224
|
|
/* 021B6224 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6228 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B622C */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 021B622C */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
L_021B6230: ; // 0x21b6230
|
|
/* 021B6230 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B6230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B6234 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B6238 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6238 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B6238 */ if (_t27) goto L_021B623C; else goto L_021B621C;
|
|
L_021B623C: ; // 0x21b623c
|
|
/* 021B623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B6240 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6240 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6240 */ if (_t29) goto L_021B6250; else goto L_021B6244;
|
|
L_021B6244: ; // 0x21b6244
|
|
/* 021B6244 */ _t30 = cpu->r[27] + 0x0000001Cu;
|
|
/* 021B6244 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 021B6248 */ cpu->r[0] = 0x00000008u;
|
|
/* 021B624C */ _t31 = cpu->r[27] + 0x00000018u;
|
|
/* 021B624C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_021B6250: ; // 0x21b6250
|
|
/* 021B6250 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6254 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6254 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B6254 */ if (_t33) goto L_021B6258; else goto L_021B6260;
|
|
L_021B6258: ; // 0x21b6258
|
|
/* 021B6258 */ _t34 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B6258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B625C */ Gambit_fn_02826F20(cpu);
|
|
L_021B6260: ; // 0x21b6260
|
|
/* 021B6260 */ _t35 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B6260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B6264 */ _t36 = cpu->r[6] + 0x00000034u;
|
|
/* 021B6264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B6268 */ cpu->ctr = cpu->r[0];
|
|
/* 021B626C */ cpu->r[4] = 0x00000040u;
|
|
/* 021B6270 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B6274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6278 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B627C */ cpu->r[24] = 0x00000000u;
|
|
/* 021B6280 */ cpu->r[25] = cpu->r[25] + 0xFFFFA268u;
|
|
/* 021B6284 */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6288 */ cpu->r[28] = cpu->r[3];
|
|
L_021B628C: ; // 0x21b628c
|
|
/* 021B628C */ cpu->r[29] = cpu->r[28] + cpu->r[24];
|
|
/* 021B628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6290 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6290 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B6290 */ if (_t38) goto L_021B62A0; else goto L_021B6294;
|
|
L_021B6294: ; // 0x21b6294
|
|
/* 021B6294 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6298 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B629C */ _t39 = cpu->r[29] + 0x00000004u;
|
|
/* 021B629C */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
L_021B62A0: ; // 0x21b62a0
|
|
/* 021B62A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B62A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B62A4 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 021B62A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B62A8 */ if (_t41) goto L_021B62AC; else goto L_021B628C;
|
|
L_021B62AC: ; // 0x21b62ac
|
|
/* 021B62AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B62B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B62B0 */ if (_t43) goto L_021B62C0; else goto L_021B62B4;
|
|
L_021B62B4: ; // 0x21b62b4
|
|
/* 021B62B4 */ _t44 = cpu->r[27] + 0x00000024u;
|
|
/* 021B62B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 021B62B8 */ cpu->r[8] = 0x00000008u;
|
|
/* 021B62BC */ _t45 = cpu->r[27] + 0x00000020u;
|
|
/* 021B62BC */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
L_021B62C0: ; // 0x21b62c0
|
|
/* 021B62C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B62C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B62C4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B62C4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B62C4 */ if (_t47) goto L_021B62C8; else goto L_021B62D0;
|
|
L_021B62C8: ; // 0x21b62c8
|
|
/* 021B62C8 */ _t48 = cpu->r[26] + 0xFFFF98F0u;
|
|
/* 021B62C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B62CC */ Gambit_fn_02826F20(cpu);
|
|
L_021B62D0: ; // 0x21b62d0
|
|
/* 021B62D0 */ _t49 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B62D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B62D4 */ _t50 = cpu->r[9] + 0x00000034u;
|
|
/* 021B62D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B62D8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B62DC */ cpu->r[5] = 0x00000004u;
|
|
/* 021B62E0 */ cpu->r[4] = 0x00000060u;
|
|
/* 021B62E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B62E8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B62EC */ cpu->r[26] = 0x10030000u;
|
|
/* 021B62F0 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B62F4 */ _t51 = cpu->r[12] + 0xFFFFA194u;
|
|
/* 021B62F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021B62F8 */ cpu->r[26] = cpu->r[26] + 0xFFFFA2C0u;
|
|
/* 021B62FC */ cpu->r[30] = 0x00000008u;
|
|
/* 021B6300 */ cpu->r[28] = cpu->r[3];
|
|
L_021B6304: ; // 0x21b6304
|
|
/* 021B6304 */ cpu->r[29] = cpu->r[28] + cpu->r[31];
|
|
/* 021B6304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6308 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6308 */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B6308 */ if (_t53) goto L_021B631C; else goto L_021B630C;
|
|
L_021B630C: ; // 0x21b630c
|
|
/* 021B630C */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6310 */ Gambit_fn_028DA390(cpu);
|
|
/* 021B6314 */ _t54 = cpu->r[29] + 0x00000008u;
|
|
/* 021B6314 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[31]);
|
|
/* 021B6318 */ _t55 = cpu->r[29] + 0x00000004u;
|
|
/* 021B6318 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
L_021B631C: ; // 0x21b631c
|
|
/* 021B631C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 021B631C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B6320 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B6324 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6324 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021B6324 */ if (_t57) goto L_021B6328; else goto L_021B6304;
|
|
L_021B6328: ; // 0x21b6328
|
|
/* 021B6328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B632C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B632C */ _t59 = _t58 & 0x00000001u;
|
|
/* 021B632C */ if (_t59) goto L_021B633C; else goto L_021B6330;
|
|
L_021B6330: ; // 0x21b6330
|
|
/* 021B6330 */ _t60 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B6330 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
|
|
/* 021B6334 */ cpu->r[0] = 0x00000008u;
|
|
/* 021B6338 */ _t61 = cpu->r[27] + 0x00000028u;
|
|
/* 021B6338 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
L_021B633C: ; // 0x21b633c
|
|
/* 021B633C */ /* nop */
|
|
/* 021B6340 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6340 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 021B6344 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6344 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 021B6348 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6348 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021B6348 */ if (_t65) goto L_021B634C; // else: addr-0 trap, fall-through
|
|
L_021B634C: ; // 0x21b634c
|
|
/* 021B634C */ _t66 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B634C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B6350 */ cpu->lr = cpu->r[0];
|
|
/* 021B6354 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6358 */ return;
|
|
}
|
|
|
|
// fn_021B635C @ 0x21b635c
|
|
void Gambit_fn_021B635C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B635C: ; // 0x21b635c
|
|
/* 021B635C */ cpu->r[0] = cpu->lr;
|
|
/* 021B6360 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B6360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6360 */ cpu->r[1] = _t0;
|
|
/* 021B6364 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6364 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B6368 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6368 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B636C */ cpu->r[31] = cpu->r[6];
|
|
/* 021B6370 */ cpu->r[30] = cpu->r[5];
|
|
/* 021B6374 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6374 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B6378 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6378 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B637C */ cpu->r[29] = cpu->r[4];
|
|
/* 021B6380 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021B6384 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B6388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 021B638C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B638C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B638C */ if (_t7) goto L_021B6390; else goto L_021B6440;
|
|
L_021B6390: ; // 0x21b6390
|
|
/* 021B6390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 021B6394 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6394 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B6394 */ if (_t9) goto L_021B63A4; else goto L_021B6398;
|
|
L_021B6398: ; // 0x21b6398
|
|
/* 021B6398 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6398 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B6398 */ if (_t11) goto L_021B63D8; else goto L_021B639C;
|
|
L_021B639C: ; // 0x21b639c
|
|
/* 021B639C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B63A0 */ goto L_021B6444;
|
|
L_021B63A4: ; // 0x21b63a4
|
|
/* 021B63A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 021B63A8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B63A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B63A8 */ if (_t13) goto L_021B6440; else goto L_021B63AC;
|
|
L_021B63AC: ; // 0x21b63ac
|
|
/* 021B63AC */ cpu->r[8] = 0x00000000u;
|
|
/* 021B63B0 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 021B63B4 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B63B8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021B63B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B63BC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 021B63BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B63C0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 021B63C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B63C4 */ cpu->lr = cpu->r[0];
|
|
/* 021B63C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B63C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B63CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B63D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B63D4 */ return;
|
|
L_021B63D8: ; // 0x21b63d8
|
|
/* 021B63D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 021B63DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B63DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B63DC */ if (_t21) goto L_021B63E0; else goto L_021B640C;
|
|
L_021B63E0: ; // 0x21b63e0
|
|
/* 021B63E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 021B63E4 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 021B63E8 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B63EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 021B63EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B63F0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 021B63F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B63F4 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 021B63F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B63F8 */ cpu->lr = cpu->r[0];
|
|
/* 021B63FC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B63FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B6400 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B6404 */ cpu->r[3] = cpu->r[9];
|
|
/* 021B6408 */ return;
|
|
L_021B640C: ; // 0x21b640c
|
|
/* 021B640C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 021B6410 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6410 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6410 */ if (_t29) goto L_021B6414; else goto L_021B6440;
|
|
L_021B6414: ; // 0x21b6414
|
|
/* 021B6414 */ cpu->r[10] = 0x00000002u;
|
|
/* 021B6418 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 021B6418 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 021B641C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 021B641C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B6420 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B6424 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B6428 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B642C */ cpu->lr = cpu->r[0];
|
|
/* 021B6430 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B6434 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B6438 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B643C */ return;
|
|
L_021B6440: ; // 0x21b6440
|
|
/* 021B6440 */ cpu->r[3] = 0x00000000u;
|
|
L_021B6444: ; // 0x21b6444
|
|
/* 021B6444 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B6448 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B644C */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 021B644C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B6450 */ cpu->lr = cpu->r[0];
|
|
/* 021B6454 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B6458 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B645C */ return;
|
|
}
|
|
|
|
// fn_021B6360 @ 0x21b6360
|
|
void Gambit_fn_021B6360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B6360: ; // 0x21b6360
|
|
/* 021B6360 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B6360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6360 */ cpu->r[1] = _t0;
|
|
/* 021B6364 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6364 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B6368 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6368 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B636C */ cpu->r[31] = cpu->r[6];
|
|
/* 021B6370 */ cpu->r[30] = cpu->r[5];
|
|
/* 021B6374 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6374 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B6378 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6378 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B637C */ cpu->r[29] = cpu->r[4];
|
|
/* 021B6380 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021B6384 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 021B6384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B6388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 021B638C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B638C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B638C */ if (_t7) goto L_021B6390; else goto L_021B6440;
|
|
L_021B6390: ; // 0x21b6390
|
|
/* 021B6390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 021B6394 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6394 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B6394 */ if (_t9) goto L_021B63A4; else goto L_021B6398;
|
|
L_021B6398: ; // 0x21b6398
|
|
/* 021B6398 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6398 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B6398 */ if (_t11) goto L_021B63D8; else goto L_021B639C;
|
|
L_021B639C: ; // 0x21b639c
|
|
/* 021B639C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B63A0 */ goto L_021B6444;
|
|
L_021B63A4: ; // 0x21b63a4
|
|
/* 021B63A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 021B63A8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B63A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B63A8 */ if (_t13) goto L_021B6440; else goto L_021B63AC;
|
|
L_021B63AC: ; // 0x21b63ac
|
|
/* 021B63AC */ cpu->r[8] = 0x00000000u;
|
|
/* 021B63B0 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 021B63B4 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B63B8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021B63B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B63BC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 021B63BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B63C0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 021B63C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B63C4 */ cpu->lr = cpu->r[0];
|
|
/* 021B63C8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B63C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B63CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B63D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B63D4 */ return;
|
|
L_021B63D8: ; // 0x21b63d8
|
|
/* 021B63D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 021B63DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B63DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B63DC */ if (_t21) goto L_021B63E0; else goto L_021B640C;
|
|
L_021B63E0: ; // 0x21b63e0
|
|
/* 021B63E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 021B63E4 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 021B63E8 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 021B63E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B63EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 021B63EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B63F0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 021B63F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B63F4 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 021B63F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B63F8 */ cpu->lr = cpu->r[0];
|
|
/* 021B63FC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B63FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B6400 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B6404 */ cpu->r[3] = cpu->r[9];
|
|
/* 021B6408 */ return;
|
|
L_021B640C: ; // 0x21b640c
|
|
/* 021B640C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 021B6410 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6410 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6410 */ if (_t29) goto L_021B6414; else goto L_021B6440;
|
|
L_021B6414: ; // 0x21b6414
|
|
/* 021B6414 */ cpu->r[10] = 0x00000002u;
|
|
/* 021B6418 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 021B6418 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 021B641C */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 021B641C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B6420 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B6424 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B6428 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B642C */ cpu->lr = cpu->r[0];
|
|
/* 021B6430 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B6434 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B6438 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B643C */ return;
|
|
L_021B6440: ; // 0x21b6440
|
|
/* 021B6440 */ cpu->r[3] = 0x00000000u;
|
|
L_021B6444: ; // 0x21b6444
|
|
/* 021B6444 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B6448 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 021B6448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B644C */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 021B644C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B6450 */ cpu->lr = cpu->r[0];
|
|
/* 021B6454 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B6458 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B645C */ return;
|
|
}
|
|
|
|
// fn_021B6460 @ 0x21b6460
|
|
void Gambit_fn_021B6460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_021B6460: ; // 0x21b6460
|
|
/* 021B6460 */ cpu->r[10] = cpu->r[3];
|
|
/* 021B6464 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6464 */ cpu->r[7] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B6468 */ cpu->r[12] = cpu->r[10] + 0x00000030u;
|
|
/* 021B646C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B6470 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 021B6478 */ _t1 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B647C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B647C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B647C */ if (_t3) goto L_021B64B8; else goto L_021B6480;
|
|
L_021B6480: ; // 0x21b6480
|
|
/* 021B6480 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6480 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B6480 */ if (_t5) goto L_021B64F8; else goto L_021B6484;
|
|
L_021B6484: ; // 0x21b6484
|
|
/* 021B6484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000003u);
|
|
/* 021B6488 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6488 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B6488 */ if (_t7) goto L_021B6538; else goto L_021B648C;
|
|
L_021B648C: ; // 0x21b648c
|
|
/* 021B648C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B648C */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B648C */ if (_t9) goto L_021B6578; else goto L_021B6490;
|
|
L_021B6490: ; // 0x21b6490
|
|
/* 021B6490 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6494 */ _t10 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6494 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021B6498 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B649C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B64A0 */ cpu->r[8] = cpu->r[11] + 0x10030000u;
|
|
/* 021B64A4 */ _t12 = cpu->r[12] + cpu->r[11];
|
|
/* 021B64A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B64A8 */ _t13 = cpu->r[8] + 0xFFFFA184u;
|
|
/* 021B64A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B64AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 021B64B0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B64B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B64B0 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B64B0 */ goto L_021B64B4;
|
|
L_021B64B4: ; // 0x21b64b4
|
|
/* 021B64B4 */ goto L_021B65B4;
|
|
L_021B64B8: ; // 0x21b64b8
|
|
/* 021B64B8 */ _t16 = cpu->r[10] + 0x00000010u;
|
|
/* 021B64B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B64BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B64C0 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 021B64C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B64C4 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B64C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B64C4 */ if (_t19) goto L_021B64C8; else goto L_021B64D0;
|
|
L_021B64C8: ; // 0x21b64c8
|
|
/* 021B64C8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B64CC */ cpu->r[3] = cpu->r[3] + cpu->r[7];
|
|
L_021B64D0: ; // 0x21b64d0
|
|
/* 021B64D0 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 021B64D4 */ _t20 = cpu->r[12] + cpu->r[11];
|
|
/* 021B64D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 021B64D8 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 021B64D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B64DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B64E0 */ cpu->r[8] = cpu->r[11] + 0x10030000u;
|
|
/* 021B64E4 */ _t22 = cpu->r[12] + cpu->r[11];
|
|
/* 021B64E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B64E8 */ _t23 = cpu->r[8] + 0xFFFFA184u;
|
|
/* 021B64E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B64EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 021B64F0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B64F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B64F0 */ if (_t25) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B64F0 */ goto L_021B64F4;
|
|
L_021B64F4: ; // 0x21b64f4
|
|
/* 021B64F4 */ goto L_021B65B4;
|
|
L_021B64F8: ; // 0x21b64f8
|
|
/* 021B64F8 */ _t26 = cpu->r[10] + 0x00000018u;
|
|
/* 021B64F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B64FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021B6500 */ _t27 = cpu->r[10] + 0x0000001Cu;
|
|
/* 021B6500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B6504 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6504 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B6504 */ if (_t29) goto L_021B6508; else goto L_021B6510;
|
|
L_021B6508: ; // 0x21b6508
|
|
/* 021B6508 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B650C */ cpu->r[3] = cpu->r[3] + cpu->r[7];
|
|
L_021B6510: ; // 0x21b6510
|
|
/* 021B6510 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6514 */ _t30 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6514 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 021B6518 */ _t31 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B651C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6520 */ cpu->r[8] = cpu->r[11] + 0x10030000u;
|
|
/* 021B6524 */ _t32 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B6528 */ _t33 = cpu->r[8] + 0xFFFFA184u;
|
|
/* 021B6528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B652C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 021B6530 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6530 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021B6530 */ if (_t35) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6530 */ goto L_021B6534;
|
|
L_021B6534: ; // 0x21b6534
|
|
/* 021B6534 */ goto L_021B65B4;
|
|
L_021B6538: ; // 0x21b6538
|
|
/* 021B6538 */ _t36 = cpu->r[10] + 0x00000020u;
|
|
/* 021B6538 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B653C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 021B6540 */ _t37 = cpu->r[10] + 0x00000024u;
|
|
/* 021B6540 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021B6544 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6544 */ _t39 = _t38 & 0x00000001u;
|
|
/* 021B6544 */ if (_t39) goto L_021B6548; else goto L_021B6550;
|
|
L_021B6548: ; // 0x21b6548
|
|
/* 021B6548 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B654C */ cpu->r[3] = cpu->r[3] + cpu->r[7];
|
|
L_021B6550: ; // 0x21b6550
|
|
/* 021B6550 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6554 */ _t40 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6554 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 021B6558 */ _t41 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B655C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6560 */ cpu->r[8] = cpu->r[11] + 0x10030000u;
|
|
/* 021B6564 */ _t42 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6564 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B6568 */ _t43 = cpu->r[8] + 0xFFFFA184u;
|
|
/* 021B6568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B656C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 021B6570 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6570 */ _t45 = _t44 & 0x00000001u;
|
|
/* 021B6570 */ if (_t45) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6570 */ goto L_021B6574;
|
|
L_021B6574: ; // 0x21b6574
|
|
/* 021B6574 */ goto L_021B65B4;
|
|
L_021B6578: ; // 0x21b6578
|
|
/* 021B6578 */ _t46 = cpu->r[10] + 0x00000028u;
|
|
/* 021B6578 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021B657C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 021B6580 */ _t47 = cpu->r[10] + 0x0000002Cu;
|
|
/* 021B6580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B6584 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6584 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021B6584 */ if (_t49) goto L_021B6588; else goto L_021B6590;
|
|
L_021B6588: ; // 0x21b6588
|
|
/* 021B6588 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu);
|
|
/* 021B658C */ cpu->r[3] = cpu->r[3] + cpu->r[10];
|
|
L_021B6590: ; // 0x21b6590
|
|
/* 021B6590 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6594 */ _t50 = cpu->r[12] + cpu->r[11];
|
|
/* 021B6594 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 021B6598 */ _t51 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B659C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B65A0 */ cpu->r[8] = cpu->r[11] + 0x10030000u;
|
|
/* 021B65A4 */ _t52 = cpu->r[12] + cpu->r[11];
|
|
/* 021B65A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021B65A8 */ _t53 = cpu->r[8] + 0xFFFFA184u;
|
|
/* 021B65A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021B65AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 021B65B0 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B65B0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B65B0 */ if (_t55) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B65B0 */ goto L_021B65B4;
|
|
L_021B65B4: ; // 0x21b65b4
|
|
/* 021B65B4 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B65B8 */ _t56 = cpu->r[12] + cpu->r[11];
|
|
/* 021B65B8 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 021B65BC */ return;
|
|
}
|
|
|
|
// fn_021B65C0 @ 0x21b65c0
|
|
void Gambit_fn_021B65C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_021B65C0: ; // 0x21b65c0
|
|
/* 021B65C0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B65C4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B65C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B65C4 */ cpu->r[1] = _t0;
|
|
/* 021B65C8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B65C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B65CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B65CC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B65D0 */ cpu->r[31] = cpu->r[5];
|
|
/* 021B65D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B65D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021B65D8 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 021B65D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B65DC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 021B65DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B65E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B65E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B65E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B65EC */ Gambit_fn_028BD990(cpu);
|
|
/* 021B65F0 */ Gambit_fn_028E6110(cpu);
|
|
/* 021B65F4 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B65F8 */ cpu->r[6] = cpu->r[3];
|
|
/* 021B65FC */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6600 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6604 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B6608 */ cpu->r[7] = cpu->r[31];
|
|
/* 021B660C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B660C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021B6610 */ Gambit_fn_021B635C(cpu);
|
|
/* 021B6614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6618 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6618 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B6618 */ if (_t8) goto L_021B66A4; else goto L_021B661C;
|
|
L_021B661C: ; // 0x21b661c
|
|
/* 021B661C */ cpu->r[30] = cpu->r[29] + 0x00000040u;
|
|
/* 021B6620 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B6624 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B6628 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B662C */ cpu->r[6] = 0x10030000u;
|
|
/* 021B6630 */ cpu->r[6] = cpu->r[6] + 0xFFFFA184u;
|
|
/* 021B6634 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6638 */ _t10 = cpu->r[10] + cpu->r[6];
|
|
/* 021B6638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B663C */ cpu->r[5] = 0x00000000u;
|
|
/* 021B6640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 021B6644 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B6644 */ if (_t12) goto L_021B6648; else goto L_021B669C;
|
|
L_021B6648: ; // 0x21b6648
|
|
/* 021B6648 */ cpu->r[28] = cpu->r[1] + 0x0000000Cu;
|
|
L_021B664C: ; // 0x21b664c
|
|
/* 021B664C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021B664C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B6650 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6654 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6658 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6658 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021B665C */ Gambit_fn_021B6460(cpu);
|
|
/* 021B6660 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B6664 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B6668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B666C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B666C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B666C */ if (_t17) goto L_021B6670; else goto L_021B6684;
|
|
L_021B6670: ; // 0x21b6670
|
|
/* 021B6670 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6674 */ Gambit_fn_028BED64(cpu);
|
|
/* 021B6678 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B667C */ Gambit_fn_02836E54(cpu);
|
|
/* 021B6680 */ goto L_021B66A4;
|
|
L_021B6684: ; // 0x21b6684
|
|
/* 021B6684 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B6688 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B668C */ _t19 = cpu->r[11] + cpu->r[6];
|
|
/* 021B668C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B6690 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B6694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 021B6698 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6698 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B6698 */ if (_t21) goto L_021B664C; else goto L_021B669C;
|
|
L_021B669C: ; // 0x21b669c
|
|
/* 021B669C */ cpu->r[3] = cpu->r[30];
|
|
/* 021B66A0 */ Gambit_fn_02836E54(cpu);
|
|
L_021B66A4: ; // 0x21b66a4
|
|
/* 021B66A4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 021B66A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B66A8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B66A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B66AC */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 021B66AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B66B0 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 021B66B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B66B4 */ cpu->lr = cpu->r[0];
|
|
/* 021B66B8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B66B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B66BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B66C0 */ return;
|
|
}
|
|
|
|
// fn_021B65C4 @ 0x21b65c4
|
|
void Gambit_fn_021B65C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_021B65C4: ; // 0x21b65c4
|
|
/* 021B65C4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B65C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B65C4 */ cpu->r[1] = _t0;
|
|
/* 021B65C8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B65C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B65CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B65CC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B65D0 */ cpu->r[31] = cpu->r[5];
|
|
/* 021B65D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B65D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 021B65D8 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 021B65D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B65DC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 021B65DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B65E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B65E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B65E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B65EC */ Gambit_fn_028BD990(cpu);
|
|
/* 021B65F0 */ Gambit_fn_028E6110(cpu);
|
|
/* 021B65F4 */ cpu->r[10] = 0x00000000u;
|
|
/* 021B65F8 */ cpu->r[6] = cpu->r[3];
|
|
/* 021B65FC */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6600 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6604 */ cpu->r[5] = cpu->r[30];
|
|
/* 021B6608 */ cpu->r[7] = cpu->r[31];
|
|
/* 021B660C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B660C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021B6610 */ Gambit_fn_021B635C(cpu);
|
|
/* 021B6614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6618 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6618 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B6618 */ if (_t8) goto L_021B66A4; else goto L_021B661C;
|
|
L_021B661C: ; // 0x21b661c
|
|
/* 021B661C */ cpu->r[30] = cpu->r[29] + 0x00000040u;
|
|
/* 021B6620 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B6624 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B6628 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B662C */ cpu->r[6] = 0x10030000u;
|
|
/* 021B6630 */ cpu->r[6] = cpu->r[6] + 0xFFFFA184u;
|
|
/* 021B6634 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6638 */ _t10 = cpu->r[10] + cpu->r[6];
|
|
/* 021B6638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B663C */ cpu->r[5] = 0x00000000u;
|
|
/* 021B6640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 021B6644 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B6644 */ if (_t12) goto L_021B6648; else goto L_021B669C;
|
|
L_021B6648: ; // 0x21b6648
|
|
/* 021B6648 */ cpu->r[28] = cpu->r[1] + 0x0000000Cu;
|
|
L_021B664C: ; // 0x21b664c
|
|
/* 021B664C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021B664C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B6650 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6654 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6658 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6658 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021B665C */ Gambit_fn_021B6460(cpu);
|
|
/* 021B6660 */ cpu->r[4] = cpu->r[3];
|
|
/* 021B6664 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B6668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B666C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B666C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B666C */ if (_t17) goto L_021B6670; else goto L_021B6684;
|
|
L_021B6670: ; // 0x21b6670
|
|
/* 021B6670 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6674 */ Gambit_fn_028BED64(cpu);
|
|
/* 021B6678 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B667C */ Gambit_fn_02836E54(cpu);
|
|
/* 021B6680 */ goto L_021B66A4;
|
|
L_021B6684: ; // 0x21b6684
|
|
/* 021B6684 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B6688 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B668C */ _t19 = cpu->r[11] + cpu->r[6];
|
|
/* 021B668C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B6690 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B6694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 021B6698 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6698 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B6698 */ if (_t21) goto L_021B664C; else goto L_021B669C;
|
|
L_021B669C: ; // 0x21b669c
|
|
/* 021B669C */ cpu->r[3] = cpu->r[30];
|
|
/* 021B66A0 */ Gambit_fn_02836E54(cpu);
|
|
L_021B66A4: ; // 0x21b66a4
|
|
/* 021B66A4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 021B66A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B66A8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B66A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B66AC */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 021B66AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B66B0 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 021B66B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B66B4 */ cpu->lr = cpu->r[0];
|
|
/* 021B66B8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B66B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B66BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B66C0 */ return;
|
|
}
|
|
|
|
// fn_021B66C4 @ 0x21b66c4
|
|
void Gambit_fn_021B66C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_021B66C4: ; // 0x21b66c4
|
|
/* 021B66C4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B66C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B66C4 */ cpu->r[1] = _t0;
|
|
/* 021B66C8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021B66C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B66CC */ cpu->r[0] = cpu->lr;
|
|
/* 021B66D0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B66D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B66D4 */ /* nop */
|
|
/* 021B66D8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 021B66D8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021B66DC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B66DC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B66E0 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 021B66E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021B66E4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B66E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 021B66E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B66EC */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 021B66EC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B66F0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B66F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B66F8 */ cpu->f[31] = cpu->f[1];
|
|
/* 021B66FC */ Gambit_fn_028BD990(cpu);
|
|
/* 021B6700 */ Gambit_fn_028E6110(cpu);
|
|
/* 021B6704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 021B6708 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6708 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B6708 */ if (_t9) goto L_021B676C; else goto L_021B670C;
|
|
L_021B670C: ; // 0x21b670c
|
|
/* 021B670C */ cpu->r[31] = cpu->r[29] + 0x00000040u;
|
|
/* 021B6710 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6714 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B6718 */ cpu->r[6] = 0x00000003u;
|
|
/* 021B671C */ cpu->r[5] = 0x00000008u;
|
|
L_021B6720: ; // 0x21b6720
|
|
/* 021B6720 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6724 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B6728 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6728 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 021B672C */ Gambit_fn_021B6460(cpu);
|
|
/* 021B6730 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B6734 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 021B6734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B6738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B673C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B673C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B673C */ if (_t13) goto L_021B6740; else goto L_021B675C;
|
|
L_021B6740: ; // 0x21b6740
|
|
/* 021B6740 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B6744 */ cpu->r[4] = cpu->r[28];
|
|
/* 021B6748 */ Gambit_fn_028BED64(cpu);
|
|
/* 021B674C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6750 */ _t14 = cpu->r[28] + 0x00000008u;
|
|
/* 021B6750 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 021B6754 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B6758 */ goto L_021B676C;
|
|
L_021B675C: ; // 0x21b675c
|
|
/* 021B675C */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 021B675C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021B6760 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6760 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B6760 */ if (_t16) goto L_021B6764; else goto L_021B6720;
|
|
L_021B6764: ; // 0x21b6764
|
|
/* 021B6764 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B6768 */ Gambit_fn_02836E54(cpu);
|
|
L_021B676C: ; // 0x21b676c
|
|
/* 021B676C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B676C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B6770 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6770 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B6774 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6774 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021B6778 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B677C */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 021B677C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 021B6780 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B6784 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6784 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B6784 */ if (_t24) goto L_021B6788; // else: addr-0 trap, fall-through
|
|
L_021B6788: ; // 0x21b6788
|
|
/* 021B6788 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 021B6788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B678C */ cpu->lr = cpu->r[0];
|
|
/* 021B6790 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B6794 */ return;
|
|
}
|
|
|
|
// fn_021B6798 @ 0x21b6798
|
|
void Gambit_fn_021B6798(CPUState* cpu) {
|
|
uint32_t _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_021B6798: ; // 0x21b6798
|
|
/* 021B6798 */ cpu->r[0] = cpu->lr;
|
|
/* 021B679C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B679C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B679C */ cpu->r[1] = _t0;
|
|
/* 021B67A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B67A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021B67A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B67A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B67A8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B67A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B67AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B67AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B67B0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B67B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B67B4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B67B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B67B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 021B67BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B67BC */ if (_t7) goto L_021B6820; else goto L_021B67C0;
|
|
L_021B67C0: ; // 0x21b67c0
|
|
/* 021B67C0 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B67C4 */ cpu->r[9] = cpu->r[9] + 0xFFFFA1A8u;
|
|
/* 021B67C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B67CC */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B67CC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 021B67D0 */ _t9 = cpu->r[12] + 0x00004D98u;
|
|
/* 021B67D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B67D0 */ cpu->r[12] = _t9;
|
|
/* 021B67D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 021B67D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B67DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B67DC */ if (_t11) goto L_021B67E0; else goto L_021B6804;
|
|
L_021B67E0: ; // 0x21b67e0
|
|
/* 021B67E0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B67E4 */ _t12 = cpu->r[30] + 0x00004D94u;
|
|
/* 021B67E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B67E4 */ cpu->r[30] = _t12;
|
|
/* 021B67E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B67EC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021B67EC */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 021B67F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B67F0 */ if (_t15) goto L_021B6800; else goto L_021B67F4;
|
|
L_021B67F4: ; // 0x21b67f4
|
|
/* 021B67F4 */ cpu->r[3] = cpu->r[8] + 0x00000040u;
|
|
/* 021B67F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B67FC */ Gambit_fn_02836DBC(cpu);
|
|
L_021B6800: ; // 0x21b6800
|
|
/* 021B6800 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 021B6800 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
L_021B6804: ; // 0x21b6804
|
|
/* 021B6804 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B6808 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B680C */ Gambit_fn_02821E68(cpu);
|
|
/* 021B6810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B6810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B6814 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6814 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B6814 */ if (_t18) goto L_021B6820; else goto L_021B6818;
|
|
L_021B6818: ; // 0x21b6818
|
|
/* 021B6818 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B681C */ Gambit_fn_02801BB0(cpu);
|
|
L_021B6820: ; // 0x21b6820
|
|
/* 021B6820 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6820 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B6824 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6824 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B6828 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B682C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 021B682C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B6830 */ cpu->lr = cpu->r[0];
|
|
/* 021B6834 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B6838 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B683C */ return;
|
|
}
|
|
|
|
// fn_021B679C @ 0x21b679c
|
|
void Gambit_fn_021B679C(CPUState* cpu) {
|
|
uint32_t _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_021B679C: ; // 0x21b679c
|
|
/* 021B679C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B679C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B679C */ cpu->r[1] = _t0;
|
|
/* 021B67A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B67A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021B67A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B67A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B67A8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B67A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B67AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B67AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B67B0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B67B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B67B4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B67B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B67B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 021B67BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B67BC */ if (_t7) goto L_021B6820; else goto L_021B67C0;
|
|
L_021B67C0: ; // 0x21b67c0
|
|
/* 021B67C0 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B67C4 */ cpu->r[9] = cpu->r[9] + 0xFFFFA1A8u;
|
|
/* 021B67C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B67CC */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B67CC */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 021B67D0 */ _t9 = cpu->r[12] + 0x00004D98u;
|
|
/* 021B67D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B67D0 */ cpu->r[12] = _t9;
|
|
/* 021B67D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 021B67D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B67DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B67DC */ if (_t11) goto L_021B67E0; else goto L_021B6804;
|
|
L_021B67E0: ; // 0x21b67e0
|
|
/* 021B67E0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B67E4 */ _t12 = cpu->r[30] + 0x00004D94u;
|
|
/* 021B67E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B67E4 */ cpu->r[30] = _t12;
|
|
/* 021B67E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B67EC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021B67EC */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 021B67F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B67F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B67F0 */ if (_t15) goto L_021B6800; else goto L_021B67F4;
|
|
L_021B67F4: ; // 0x21b67f4
|
|
/* 021B67F4 */ cpu->r[3] = cpu->r[8] + 0x00000040u;
|
|
/* 021B67F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B67FC */ Gambit_fn_02836DBC(cpu);
|
|
L_021B6800: ; // 0x21b6800
|
|
/* 021B6800 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 021B6800 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
L_021B6804: ; // 0x21b6804
|
|
/* 021B6804 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B6808 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B680C */ Gambit_fn_02821E68(cpu);
|
|
/* 021B6810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B6810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B6814 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6814 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B6814 */ if (_t18) goto L_021B6820; else goto L_021B6818;
|
|
L_021B6818: ; // 0x21b6818
|
|
/* 021B6818 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B681C */ Gambit_fn_02801BB0(cpu);
|
|
L_021B6820: ; // 0x21b6820
|
|
/* 021B6820 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6820 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B6824 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6824 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B6828 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B6828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B682C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 021B682C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B6830 */ cpu->lr = cpu->r[0];
|
|
/* 021B6834 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B6838 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B683C */ return;
|
|
}
|
|
|
|
// fn_021B6840 @ 0x21b6840
|
|
void Gambit_fn_021B6840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021B6840: ; // 0x21b6840
|
|
/* 021B6840 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B6840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B6844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B6848 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6848 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B6848 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6848 */ goto L_021B684C;
|
|
L_021B684C: ; // 0x21b684c
|
|
/* 021B684C */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 021B684C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B6850 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B6854 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6858 */ _t4 = cpu->r[10] + 0xFFFFA194u;
|
|
/* 021B6858 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021B685C */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 021B6860 */ _t5 = cpu->r[11] + 0x000000C8u;
|
|
/* 021B6860 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B6864 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6868 */ /* nop */
|
|
/* 021B686C */ _t6 = cpu->r[12] + 0xFFFFA198u;
|
|
/* 021B686C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B6870 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 021B6874 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6874 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 021B6878 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 021B6878 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 021B687C */ return;
|
|
}
|
|
|
|
// fn_021B6880 @ 0x21b6880
|
|
void Gambit_fn_021B6880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B6880: ; // 0x21b6880
|
|
/* 021B6880 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B6880 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B6884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B6888 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6888 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B6888 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6888 */ goto L_021B688C;
|
|
L_021B688C: ; // 0x21b688c
|
|
/* 021B688C */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 021B688C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B6890 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6898 */ _t4 = cpu->r[12] + 0xFFFFA194u;
|
|
/* 021B6898 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021B689C */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 021B68A0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B68A4 */ _t5 = cpu->r[12] + 0x000000C8u;
|
|
/* 021B68A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B68A8 */ _t6 = cpu->r[11] + 0xFFFFA198u;
|
|
/* 021B68A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B68AC */ /* nop */
|
|
/* 021B68B0 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 021B68B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B68B4 */ cpu->f[12] = cpu->f[11] * cpu->f[0];
|
|
/* 021B68B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B68BC */ cpu->f[11] = cpu->f[12];
|
|
/* 021B68C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B68C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B68C0 */ if (_t9) goto L_021B68C4; else goto L_021B68D0;
|
|
L_021B68C4: ; // 0x21b68c4
|
|
/* 021B68C4 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 021B68C4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 021B68C8 */ _t11 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021B68C8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 021B68CC */ return;
|
|
L_021B68D0: ; // 0x21b68d0
|
|
/* 021B68D0 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 021B68D0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 021B68D4 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 021B68D4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 021B68D8 */ return;
|
|
}
|
|
|
|
// fn_021B68DC @ 0x21b68dc
|
|
void Gambit_fn_021B68DC(CPUState* 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_021B68DC: ; // 0x21b68dc
|
|
/* 021B68DC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B68DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B68E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B68E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B68E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B68E4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B68E4 */ goto L_021B68E8;
|
|
L_021B68E8: ; // 0x21b68e8
|
|
/* 021B68E8 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B68EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021B68F0 */ _t3 = cpu->r[9] + 0xFFFFA194u;
|
|
/* 021B68F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 021B68F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B68F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B68F4 */ if (_t5) goto L_021B68F8; else goto L_021B6928;
|
|
L_021B68F8: ; // 0x21b68f8
|
|
/* 021B68F8 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 021B68F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B68FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6900 */ cpu->r[8] = cpu->r[12] + cpu->r[11];
|
|
/* 021B6904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B6908 */ _t7 = cpu->r[8] + 0x000000C8u;
|
|
/* 021B6908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 021B690C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B690C */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B690C */ if (_t9) goto L_021B6910; else goto L_021B691C;
|
|
L_021B6910: ; // 0x21b6910
|
|
/* 021B6910 */ /* nop */
|
|
/* 021B6914 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 021B6914 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 021B6918 */ return;
|
|
L_021B691C: ; // 0x21b691c
|
|
/* 021B691C */ /* nop */
|
|
/* 021B6920 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6920 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 021B6924 */ return;
|
|
L_021B6928: ; // 0x21b6928
|
|
/* 021B6928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 021B692C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B692C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B692C */ _t14 = _t13 ^ 0x00000001u;
|
|
/* 021B692C */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B692C */ goto L_021B6930;
|
|
L_021B6930: ; // 0x21b6930
|
|
/* 021B6930 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 021B6930 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B6934 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B6938 */ cpu->r[10] = cpu->r[12] + cpu->r[8];
|
|
/* 021B693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B6940 */ _t16 = cpu->r[10] + 0x000000C8u;
|
|
/* 021B6940 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021B6944 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6944 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B6944 */ if (_t18) goto L_021B6948; else goto L_021B6954;
|
|
L_021B6948: ; // 0x21b6948
|
|
/* 021B6948 */ /* nop */
|
|
/* 021B694C */ _t19 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021B694C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 021B6950 */ return;
|
|
L_021B6954: ; // 0x21b6954
|
|
/* 021B6954 */ /* nop */
|
|
/* 021B6958 */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 021B6958 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 021B695C */ return;
|
|
}
|
|
|
|
// fn_021B6960 @ 0x21b6960
|
|
void Gambit_fn_021B6960(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t35, _t36, _t37, _t38, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t59, _t60, _t61, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t83, _t84, _t85, _t86, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
double _ft33, _ft34, _ft39, _ft40, _ft57, _ft58, _ft62, _ft63, _ft81, _ft82, _ft87, _ft88;
|
|
|
|
L_021B6960: ; // 0x21b6960
|
|
/* 021B6960 */ cpu->r[0] = cpu->lr;
|
|
/* 021B6964 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B6964 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6964 */ cpu->r[1] = _t0;
|
|
/* 021B6968 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6968 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021B696C */ /* nop */
|
|
/* 021B6970 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6970 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B6974 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6974 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021B6978 */ /* nop */
|
|
/* 021B697C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B697C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021B6980 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6980 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021B6984 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6984 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B6988 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6988 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021B698C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B6990 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6990 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 021B6994 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 021B6994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B6998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B699C */ cpu->r[31] = cpu->r[4];
|
|
/* 021B69A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B69A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B69A0 */ if (_t11) goto L_021B6BE0; else goto L_021B69A4;
|
|
L_021B69A4: ; // 0x21b69a4
|
|
/* 021B69A4 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 021B69A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B69A8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B69AC */ _t13 = cpu->r[6] + 0xFFFFA194u;
|
|
/* 021B69AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021B69B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B69B4 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 021B69B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B69B8 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
/* 021B69BC */ _t15 = cpu->r[12] + 0x000000C8u;
|
|
/* 021B69BC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 021B69C0 */ /* nop */
|
|
/* 021B69C4 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021B69C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000006u);
|
|
/* 021B69CC */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 021B69D0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B69D0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B69D0 */ if (_t17) goto L_021B69D4; else goto L_021B69DC;
|
|
L_021B69D4: ; // 0x21b69d4
|
|
/* 021B69D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B69D8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_021B69DC: ; // 0x21b69dc
|
|
/* 021B69DC */ cpu->r[12] = 0x10030000u;
|
|
/* 021B69E0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 021B69E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B69E4 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B69E8 */ _t19 = cpu->r[12] + 0xFFFFA1A0u;
|
|
/* 021B69E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021B69EC */ cpu->r[11] = 0x10030000u;
|
|
/* 021B69F0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 021B69F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021B69F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 021B69F8 */ _t21 = cpu->r[10] + 0xFFFFA19Cu;
|
|
/* 021B69F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021B69FC */ _t22 = cpu->r[11] + 0xFFFFA1A4u;
|
|
/* 021B69FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021B6A00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6A00 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B6A00 */ if (_t24) goto L_021B6A04; else goto L_021B6B58;
|
|
L_021B6A04: ; // 0x21b6a04
|
|
/* 021B6A04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A08 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6A08 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B6A08 */ if (_t26) goto L_021B6AB4; else goto L_021B6A0C;
|
|
L_021B6A0C: ; // 0x21b6a0c
|
|
/* 021B6A0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A10 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B6A10 */ if (_t28) goto L_021B6A34; else goto L_021B6A14;
|
|
L_021B6A14: ; // 0x21b6a14
|
|
/* 021B6A14 */ cpu->f[13] = cpu->f[31] * cpu->f[13];
|
|
/* 021B6A18 */ cpu->f[7] = cpu->f[30] * cpu->f[13];
|
|
/* 021B6A1C */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6A1C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 021B6A20 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6A20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021B6A24 */ cpu->f[13] = cpu->f[11] - cpu->f[8];
|
|
/* 021B6A28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A2C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A2C */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B6A2C */ if (_t32) goto L_021B6A64; else goto L_021B6A30;
|
|
L_021B6A30: ; // 0x21b6a30
|
|
/* 021B6A30 */ goto L_021B6A78;
|
|
L_021B6A34: ; // 0x21b6a34
|
|
/* 021B6A34 */ _ft33 = sqrt(cpu->f[13]);
|
|
/* 021B6A34 */ _ft34 = (double)(int32_t)0x00000001u;
|
|
/* 021B6A34 */ cpu->f[0] = _ft34 / _ft33;
|
|
/* 021B6A38 */ cpu->f[12] = cpu->f[0] * cpu->f[0];
|
|
/* 021B6A3C */ cpu->f[8] = cpu->f[0] * cpu->f[9];
|
|
/* 021B6A40 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[13], -(cpu->f[10]));
|
|
/* 021B6A44 */ cpu->f[0] = cpu->f[12] * cpu->f[8];
|
|
/* 021B6A48 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 021B6A4C */ cpu->f[7] = cpu->f[30] * cpu->f[13];
|
|
/* 021B6A50 */ _t35 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6A50 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[7]);
|
|
/* 021B6A54 */ _t36 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6A54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021B6A58 */ cpu->f[13] = cpu->f[11] - cpu->f[8];
|
|
/* 021B6A5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A60 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A60 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B6A60 */ if (_t38) goto L_021B6A64; else goto L_021B6A78;
|
|
L_021B6A64: ; // 0x21b6a64
|
|
/* 021B6A64 */ _ft39 = sqrt(cpu->f[13]);
|
|
/* 021B6A64 */ _ft40 = (double)(int32_t)0x00000001u;
|
|
/* 021B6A64 */ cpu->f[31] = _ft40 / _ft39;
|
|
/* 021B6A68 */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6A6C */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6A70 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[13], -(cpu->f[10]));
|
|
/* 021B6A74 */ cpu->f[31] = cpu->f[0] * cpu->f[7];
|
|
L_021B6A78: ; // 0x21b6a78
|
|
/* 021B6A78 */ cpu->f[12] = cpu->f[31] * cpu->f[13];
|
|
/* 021B6A7C */ cpu->f[0] = cpu->f[30] * cpu->f[12];
|
|
/* 021B6A80 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 021B6A80 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 021B6A84 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6A84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B6A88 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6A88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021B6A8C */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6A8C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021B6A90 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6A90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 021B6A94 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6A94 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 021B6A98 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6A98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B6A9C */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6A9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B6AA0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6AA0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B6AA0 */ if (_t50) goto L_021B6AA4; // else: addr-0 trap, fall-through
|
|
L_021B6AA4: ; // 0x21b6aa4
|
|
/* 021B6AA4 */ _t51 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B6AA8 */ cpu->lr = cpu->r[0];
|
|
/* 021B6AAC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6AB0 */ return;
|
|
L_021B6AB4: ; // 0x21b6ab4
|
|
/* 021B6AB4 */ cpu->f[0] = -cpu->f[13];
|
|
/* 021B6AB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021B6ABC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6ABC */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B6ABC */ if (_t53) goto L_021B6ADC; else goto L_021B6AC0;
|
|
L_021B6AC0: ; // 0x21b6ac0
|
|
/* 021B6AC0 */ cpu->f[8] = cpu->f[31] * cpu->f[0];
|
|
/* 021B6AC4 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 021B6AC8 */ cpu->f[7] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6ACC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 021B6AD0 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6AD0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 021B6AD4 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6AD4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B6AD4 */ if (_t56) goto L_021B6B08; else goto L_021B6AD8;
|
|
L_021B6AD8: ; // 0x21b6ad8
|
|
/* 021B6AD8 */ goto L_021B6B1C;
|
|
L_021B6ADC: ; // 0x21b6adc
|
|
/* 021B6ADC */ _ft57 = sqrt(cpu->f[0]);
|
|
/* 021B6ADC */ _ft58 = (double)(int32_t)0x00000001u;
|
|
/* 021B6ADC */ cpu->f[8] = _ft58 / _ft57;
|
|
/* 021B6AE0 */ cpu->f[12] = cpu->f[8] * cpu->f[8];
|
|
/* 021B6AE4 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6AE8 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[10]));
|
|
/* 021B6AEC */ cpu->f[8] = cpu->f[12] * cpu->f[13];
|
|
/* 021B6AF0 */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 021B6AF4 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 021B6AF8 */ cpu->f[7] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6AFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 021B6B00 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6B00 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[7]);
|
|
/* 021B6B04 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B04 */ _t61 = _t60 & 0x00000001u;
|
|
/* 021B6B04 */ if (_t61) goto L_021B6B08; else goto L_021B6B1C;
|
|
L_021B6B08: ; // 0x21b6b08
|
|
/* 021B6B08 */ _ft62 = sqrt(cpu->f[12]);
|
|
/* 021B6B08 */ _ft63 = (double)(int32_t)0x00000001u;
|
|
/* 021B6B08 */ cpu->f[31] = _ft63 / _ft62;
|
|
/* 021B6B0C */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6B10 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6B14 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[12], -(cpu->f[10]));
|
|
/* 021B6B18 */ cpu->f[31] = cpu->f[0] * cpu->f[7];
|
|
L_021B6B1C: ; // 0x21b6b1c
|
|
/* 021B6B1C */ cpu->f[11] = cpu->f[31] * cpu->f[12];
|
|
/* 021B6B20 */ cpu->f[12] = cpu->f[30] * cpu->f[11];
|
|
/* 021B6B24 */ _t64 = cpu->r[31] + 0x00000010u;
|
|
/* 021B6B24 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 021B6B28 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021B6B2C */ _t66 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6B2C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021B6B30 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6B30 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021B6B34 */ _t68 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6B34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021B6B38 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6B38 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 021B6B3C */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B6B40 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B6B44 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6B44 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B6B44 */ if (_t73) goto L_021B6B48; // else: addr-0 trap, fall-through
|
|
L_021B6B48: ; // 0x21b6b48
|
|
/* 021B6B48 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B6B4C */ cpu->lr = cpu->r[0];
|
|
/* 021B6B50 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6B54 */ return;
|
|
L_021B6B58: ; // 0x21b6b58
|
|
/* 021B6B58 */ cpu->f[13] = cpu->f[13] + cpu->f[11];
|
|
/* 021B6B5C */ cpu->f[6] = cpu->f[13] * cpu->f[9];
|
|
/* 021B6B60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6B64 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B64 */ _t76 = _t75 & 0x00000001u;
|
|
/* 021B6B64 */ if (_t76) goto L_021B6B8C; else goto L_021B6B68;
|
|
L_021B6B68: ; // 0x21b6b68
|
|
/* 021B6B68 */ cpu->f[8] = cpu->f[31] * cpu->f[6];
|
|
/* 021B6B6C */ cpu->f[13] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6B70 */ _t77 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6B70 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[13]);
|
|
/* 021B6B74 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6B74 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021B6B78 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 021B6B7C */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6B80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6B84 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B6B84 */ if (_t80) goto L_021B6BC0; else goto L_021B6B88;
|
|
L_021B6B88: ; // 0x21b6b88
|
|
/* 021B6B88 */ goto L_021B6BD4;
|
|
L_021B6B8C: ; // 0x21b6b8c
|
|
/* 021B6B8C */ _ft81 = sqrt(cpu->f[6]);
|
|
/* 021B6B8C */ _ft82 = (double)(int32_t)0x00000001u;
|
|
/* 021B6B8C */ cpu->f[12] = _ft82 / _ft81;
|
|
/* 021B6B90 */ cpu->f[8] = cpu->f[12] * cpu->f[12];
|
|
/* 021B6B94 */ cpu->f[0] = cpu->f[12] * cpu->f[9];
|
|
/* 021B6B98 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[6], -(cpu->f[10]));
|
|
/* 021B6B9C */ cpu->f[12] = cpu->f[8] * cpu->f[0];
|
|
/* 021B6BA0 */ cpu->f[8] = cpu->f[12] * cpu->f[6];
|
|
/* 021B6BA4 */ cpu->f[13] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6BA8 */ _t83 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6BA8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 021B6BAC */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6BAC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 021B6BB0 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 021B6BB4 */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6BB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6BBC */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6BBC */ _t86 = _t85 & 0x00000001u;
|
|
/* 021B6BBC */ if (_t86) goto L_021B6BC0; else goto L_021B6BD4;
|
|
L_021B6BC0: ; // 0x21b6bc0
|
|
/* 021B6BC0 */ _ft87 = sqrt(cpu->f[6]);
|
|
/* 021B6BC0 */ _ft88 = (double)(int32_t)0x00000001u;
|
|
/* 021B6BC0 */ cpu->f[31] = _ft88 / _ft87;
|
|
/* 021B6BC4 */ cpu->f[13] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6BC8 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6BCC */ cpu->f[13] = -fma(cpu->f[13], cpu->f[6], -(cpu->f[10]));
|
|
/* 021B6BD0 */ cpu->f[31] = cpu->f[13] * cpu->f[7];
|
|
L_021B6BD4: ; // 0x21b6bd4
|
|
/* 021B6BD4 */ cpu->f[10] = cpu->f[31] * cpu->f[6];
|
|
/* 021B6BD8 */ cpu->f[11] = cpu->f[30] * cpu->f[10];
|
|
/* 021B6BDC */ _t89 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6BDC */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
L_021B6BE0: ; // 0x21b6be0
|
|
/* 021B6BE0 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6BE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021B6BE4 */ _t91 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6BE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 021B6BE8 */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6BE8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 021B6BEC */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6BEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 021B6BF0 */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6BF0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 021B6BF4 */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6BF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B6BF8 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6BF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B6BFC */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6BFC */ _t98 = _t97 & 0x00000001u;
|
|
/* 021B6BFC */ if (_t98) goto L_021B6C00; // else: addr-0 trap, fall-through
|
|
L_021B6C00: ; // 0x21b6c00
|
|
/* 021B6C00 */ _t99 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B6C04 */ cpu->lr = cpu->r[0];
|
|
/* 021B6C08 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6C0C */ return;
|
|
}
|
|
|
|
// fn_021B6964 @ 0x21b6964
|
|
void Gambit_fn_021B6964(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t35, _t36, _t37, _t38, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t59, _t60, _t61, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t83, _t84, _t85, _t86, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
double _ft33, _ft34, _ft39, _ft40, _ft57, _ft58, _ft62, _ft63, _ft81, _ft82, _ft87, _ft88;
|
|
|
|
L_021B6964: ; // 0x21b6964
|
|
/* 021B6964 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B6964 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6964 */ cpu->r[1] = _t0;
|
|
/* 021B6968 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6968 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021B696C */ /* nop */
|
|
/* 021B6970 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6970 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B6974 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6974 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021B6978 */ /* nop */
|
|
/* 021B697C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B697C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021B6980 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6980 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021B6984 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6984 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B6988 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6988 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021B698C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B6990 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6990 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 021B6994 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 021B6994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B6998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B699C */ cpu->r[31] = cpu->r[4];
|
|
/* 021B69A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B69A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B69A0 */ if (_t11) goto L_021B6BE0; else goto L_021B69A4;
|
|
L_021B69A4: ; // 0x21b69a4
|
|
/* 021B69A4 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 021B69A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B69A8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B69AC */ _t13 = cpu->r[6] + 0xFFFFA194u;
|
|
/* 021B69AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021B69B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B69B4 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 021B69B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B69B8 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
/* 021B69BC */ _t15 = cpu->r[12] + 0x000000C8u;
|
|
/* 021B69BC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 021B69C0 */ /* nop */
|
|
/* 021B69C4 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021B69C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000006u);
|
|
/* 021B69CC */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 021B69D0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B69D0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B69D0 */ if (_t17) goto L_021B69D4; else goto L_021B69DC;
|
|
L_021B69D4: ; // 0x21b69d4
|
|
/* 021B69D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B69D8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_021B69DC: ; // 0x21b69dc
|
|
/* 021B69DC */ cpu->r[12] = 0x10030000u;
|
|
/* 021B69E0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 021B69E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B69E4 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B69E8 */ _t19 = cpu->r[12] + 0xFFFFA1A0u;
|
|
/* 021B69E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021B69EC */ cpu->r[11] = 0x10030000u;
|
|
/* 021B69F0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 021B69F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021B69F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 021B69F8 */ _t21 = cpu->r[10] + 0xFFFFA19Cu;
|
|
/* 021B69F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021B69FC */ _t22 = cpu->r[11] + 0xFFFFA1A4u;
|
|
/* 021B69FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021B6A00 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6A00 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B6A00 */ if (_t24) goto L_021B6A04; else goto L_021B6B58;
|
|
L_021B6A04: ; // 0x21b6a04
|
|
/* 021B6A04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A08 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6A08 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B6A08 */ if (_t26) goto L_021B6AB4; else goto L_021B6A0C;
|
|
L_021B6A0C: ; // 0x21b6a0c
|
|
/* 021B6A0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A10 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B6A10 */ if (_t28) goto L_021B6A34; else goto L_021B6A14;
|
|
L_021B6A14: ; // 0x21b6a14
|
|
/* 021B6A14 */ cpu->f[13] = cpu->f[31] * cpu->f[13];
|
|
/* 021B6A18 */ cpu->f[7] = cpu->f[30] * cpu->f[13];
|
|
/* 021B6A1C */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6A1C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 021B6A20 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6A20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021B6A24 */ cpu->f[13] = cpu->f[11] - cpu->f[8];
|
|
/* 021B6A28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A2C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A2C */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B6A2C */ if (_t32) goto L_021B6A64; else goto L_021B6A30;
|
|
L_021B6A30: ; // 0x21b6a30
|
|
/* 021B6A30 */ goto L_021B6A78;
|
|
L_021B6A34: ; // 0x21b6a34
|
|
/* 021B6A34 */ _ft33 = sqrt(cpu->f[13]);
|
|
/* 021B6A34 */ _ft34 = (double)(int32_t)0x00000001u;
|
|
/* 021B6A34 */ cpu->f[0] = _ft34 / _ft33;
|
|
/* 021B6A38 */ cpu->f[12] = cpu->f[0] * cpu->f[0];
|
|
/* 021B6A3C */ cpu->f[8] = cpu->f[0] * cpu->f[9];
|
|
/* 021B6A40 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[13], -(cpu->f[10]));
|
|
/* 021B6A44 */ cpu->f[0] = cpu->f[12] * cpu->f[8];
|
|
/* 021B6A48 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 021B6A4C */ cpu->f[7] = cpu->f[30] * cpu->f[13];
|
|
/* 021B6A50 */ _t35 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6A50 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[7]);
|
|
/* 021B6A54 */ _t36 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6A54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021B6A58 */ cpu->f[13] = cpu->f[11] - cpu->f[8];
|
|
/* 021B6A5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021B6A60 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6A60 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B6A60 */ if (_t38) goto L_021B6A64; else goto L_021B6A78;
|
|
L_021B6A64: ; // 0x21b6a64
|
|
/* 021B6A64 */ _ft39 = sqrt(cpu->f[13]);
|
|
/* 021B6A64 */ _ft40 = (double)(int32_t)0x00000001u;
|
|
/* 021B6A64 */ cpu->f[31] = _ft40 / _ft39;
|
|
/* 021B6A68 */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6A6C */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6A70 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[13], -(cpu->f[10]));
|
|
/* 021B6A74 */ cpu->f[31] = cpu->f[0] * cpu->f[7];
|
|
L_021B6A78: ; // 0x21b6a78
|
|
/* 021B6A78 */ cpu->f[12] = cpu->f[31] * cpu->f[13];
|
|
/* 021B6A7C */ cpu->f[0] = cpu->f[30] * cpu->f[12];
|
|
/* 021B6A80 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 021B6A80 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 021B6A84 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6A84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B6A88 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6A88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021B6A8C */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6A8C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021B6A90 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6A90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 021B6A94 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6A94 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 021B6A98 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6A98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B6A9C */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6A9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B6AA0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6AA0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021B6AA0 */ if (_t50) goto L_021B6AA4; // else: addr-0 trap, fall-through
|
|
L_021B6AA4: ; // 0x21b6aa4
|
|
/* 021B6AA4 */ _t51 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B6AA8 */ cpu->lr = cpu->r[0];
|
|
/* 021B6AAC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6AB0 */ return;
|
|
L_021B6AB4: ; // 0x21b6ab4
|
|
/* 021B6AB4 */ cpu->f[0] = -cpu->f[13];
|
|
/* 021B6AB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021B6ABC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6ABC */ _t53 = _t52 & 0x00000001u;
|
|
/* 021B6ABC */ if (_t53) goto L_021B6ADC; else goto L_021B6AC0;
|
|
L_021B6AC0: ; // 0x21b6ac0
|
|
/* 021B6AC0 */ cpu->f[8] = cpu->f[31] * cpu->f[0];
|
|
/* 021B6AC4 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 021B6AC8 */ cpu->f[7] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6ACC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 021B6AD0 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6AD0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 021B6AD4 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6AD4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B6AD4 */ if (_t56) goto L_021B6B08; else goto L_021B6AD8;
|
|
L_021B6AD8: ; // 0x21b6ad8
|
|
/* 021B6AD8 */ goto L_021B6B1C;
|
|
L_021B6ADC: ; // 0x21b6adc
|
|
/* 021B6ADC */ _ft57 = sqrt(cpu->f[0]);
|
|
/* 021B6ADC */ _ft58 = (double)(int32_t)0x00000001u;
|
|
/* 021B6ADC */ cpu->f[8] = _ft58 / _ft57;
|
|
/* 021B6AE0 */ cpu->f[12] = cpu->f[8] * cpu->f[8];
|
|
/* 021B6AE4 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6AE8 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[10]));
|
|
/* 021B6AEC */ cpu->f[8] = cpu->f[12] * cpu->f[13];
|
|
/* 021B6AF0 */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 021B6AF4 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 021B6AF8 */ cpu->f[7] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6AFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 021B6B00 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6B00 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[7]);
|
|
/* 021B6B04 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B04 */ _t61 = _t60 & 0x00000001u;
|
|
/* 021B6B04 */ if (_t61) goto L_021B6B08; else goto L_021B6B1C;
|
|
L_021B6B08: ; // 0x21b6b08
|
|
/* 021B6B08 */ _ft62 = sqrt(cpu->f[12]);
|
|
/* 021B6B08 */ _ft63 = (double)(int32_t)0x00000001u;
|
|
/* 021B6B08 */ cpu->f[31] = _ft63 / _ft62;
|
|
/* 021B6B0C */ cpu->f[0] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6B10 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6B14 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[12], -(cpu->f[10]));
|
|
/* 021B6B18 */ cpu->f[31] = cpu->f[0] * cpu->f[7];
|
|
L_021B6B1C: ; // 0x21b6b1c
|
|
/* 021B6B1C */ cpu->f[11] = cpu->f[31] * cpu->f[12];
|
|
/* 021B6B20 */ cpu->f[12] = cpu->f[30] * cpu->f[11];
|
|
/* 021B6B24 */ _t64 = cpu->r[31] + 0x00000010u;
|
|
/* 021B6B24 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 021B6B28 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021B6B2C */ _t66 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6B2C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021B6B30 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6B30 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021B6B34 */ _t68 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6B34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021B6B38 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6B38 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 021B6B3C */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B6B40 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B6B44 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6B44 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B6B44 */ if (_t73) goto L_021B6B48; // else: addr-0 trap, fall-through
|
|
L_021B6B48: ; // 0x21b6b48
|
|
/* 021B6B48 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B6B4C */ cpu->lr = cpu->r[0];
|
|
/* 021B6B50 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6B54 */ return;
|
|
L_021B6B58: ; // 0x21b6b58
|
|
/* 021B6B58 */ cpu->f[13] = cpu->f[13] + cpu->f[11];
|
|
/* 021B6B5C */ cpu->f[6] = cpu->f[13] * cpu->f[9];
|
|
/* 021B6B60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6B64 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B64 */ _t76 = _t75 & 0x00000001u;
|
|
/* 021B6B64 */ if (_t76) goto L_021B6B8C; else goto L_021B6B68;
|
|
L_021B6B68: ; // 0x21b6b68
|
|
/* 021B6B68 */ cpu->f[8] = cpu->f[31] * cpu->f[6];
|
|
/* 021B6B6C */ cpu->f[13] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6B70 */ _t77 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6B70 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[13]);
|
|
/* 021B6B74 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6B74 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021B6B78 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 021B6B7C */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6B80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6B84 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6B84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B6B84 */ if (_t80) goto L_021B6BC0; else goto L_021B6B88;
|
|
L_021B6B88: ; // 0x21b6b88
|
|
/* 021B6B88 */ goto L_021B6BD4;
|
|
L_021B6B8C: ; // 0x21b6b8c
|
|
/* 021B6B8C */ _ft81 = sqrt(cpu->f[6]);
|
|
/* 021B6B8C */ _ft82 = (double)(int32_t)0x00000001u;
|
|
/* 021B6B8C */ cpu->f[12] = _ft82 / _ft81;
|
|
/* 021B6B90 */ cpu->f[8] = cpu->f[12] * cpu->f[12];
|
|
/* 021B6B94 */ cpu->f[0] = cpu->f[12] * cpu->f[9];
|
|
/* 021B6B98 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[6], -(cpu->f[10]));
|
|
/* 021B6B9C */ cpu->f[12] = cpu->f[8] * cpu->f[0];
|
|
/* 021B6BA0 */ cpu->f[8] = cpu->f[12] * cpu->f[6];
|
|
/* 021B6BA4 */ cpu->f[13] = cpu->f[30] * cpu->f[8];
|
|
/* 021B6BA8 */ _t83 = cpu->r[31] + 0x00000004u;
|
|
/* 021B6BA8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 021B6BAC */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 021B6BAC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 021B6BB0 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 021B6BB4 */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 021B6BB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021B6BBC */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6BBC */ _t86 = _t85 & 0x00000001u;
|
|
/* 021B6BBC */ if (_t86) goto L_021B6BC0; else goto L_021B6BD4;
|
|
L_021B6BC0: ; // 0x21b6bc0
|
|
/* 021B6BC0 */ _ft87 = sqrt(cpu->f[6]);
|
|
/* 021B6BC0 */ _ft88 = (double)(int32_t)0x00000001u;
|
|
/* 021B6BC0 */ cpu->f[31] = _ft88 / _ft87;
|
|
/* 021B6BC4 */ cpu->f[13] = cpu->f[31] * cpu->f[31];
|
|
/* 021B6BC8 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 021B6BCC */ cpu->f[13] = -fma(cpu->f[13], cpu->f[6], -(cpu->f[10]));
|
|
/* 021B6BD0 */ cpu->f[31] = cpu->f[13] * cpu->f[7];
|
|
L_021B6BD4: ; // 0x21b6bd4
|
|
/* 021B6BD4 */ cpu->f[10] = cpu->f[31] * cpu->f[6];
|
|
/* 021B6BD8 */ cpu->f[11] = cpu->f[30] * cpu->f[10];
|
|
/* 021B6BDC */ _t89 = cpu->r[31] + 0x00000000u;
|
|
/* 021B6BDC */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
L_021B6BE0: ; // 0x21b6be0
|
|
/* 021B6BE0 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6BE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021B6BE4 */ _t91 = cpu->r[1] + 0x00000030u;
|
|
/* 021B6BE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 021B6BE8 */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 021B6BE8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 021B6BEC */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 021B6BEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 021B6BF0 */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 021B6BF0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 021B6BF4 */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6BF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B6BF8 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6BF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B6BFC */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6BFC */ _t98 = _t97 & 0x00000001u;
|
|
/* 021B6BFC */ if (_t98) goto L_021B6C00; // else: addr-0 trap, fall-through
|
|
L_021B6C00: ; // 0x21b6c00
|
|
/* 021B6C00 */ _t99 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B6C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B6C04 */ cpu->lr = cpu->r[0];
|
|
/* 021B6C08 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B6C0C */ return;
|
|
}
|
|
|
|
// fn_021B6C10 @ 0x21b6c10
|
|
void Gambit_fn_021B6C10(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B6C10: ; // 0x21b6c10
|
|
/* 021B6C10 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6C14 */ _t0 = cpu->r[12] + 0xFFFFA194u;
|
|
/* 021B6C14 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021B6C18 */ return;
|
|
}
|
|
|
|
// fn_021B6C1C @ 0x21b6c1c
|
|
void Gambit_fn_021B6C1C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B6C1C: ; // 0x21b6c1c
|
|
/* 021B6C1C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6C20 */ _t0 = cpu->r[12] + 0xFFFFA194u;
|
|
/* 021B6C20 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021B6C24 */ return;
|
|
}
|
|
|
|
// fn_021B6C28 @ 0x21b6c28
|
|
void Gambit_fn_021B6C28(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B6C28: ; // 0x21b6c28
|
|
/* 021B6C28 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6C2C */ _t0 = cpu->r[12] + 0xFFFFA1A4u;
|
|
/* 021B6C2C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021B6C30 */ return;
|
|
}
|
|
|
|
// fn_021B6C34 @ 0x21b6c34
|
|
void Gambit_fn_021B6C34(CPUState* cpu) {
|
|
L_021B6C34: ; // 0x21b6c34
|
|
/* 021B6C34 */ return;
|
|
}
|
|
|
|
// fn_021B6C38 @ 0x21b6c38
|
|
void Gambit_fn_021B6C38(CPUState* cpu) {
|
|
L_021B6C38: ; // 0x21b6c38
|
|
/* 021B6C38 */ return;
|
|
}
|
|
|
|
// fn_021B6C3C @ 0x21b6c3c
|
|
void Gambit_fn_021B6C3C(CPUState* cpu) {
|
|
L_021B6C3C: ; // 0x21b6c3c
|
|
/* 021B6C3C */ return;
|
|
}
|
|
|
|
// fn_021B6C40 @ 0x21b6c40
|
|
void Gambit_fn_021B6C40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_021AF128: ; // 0x21af128
|
|
/* 021AF128 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF12C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 021AF12C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF12C */ cpu->r[1] = _t0;
|
|
/* 021AF130 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 021AF130 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AF134 */ /* nop */
|
|
/* 021AF138 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 021AF138 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021AF13C */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021AF13C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021AF140 */ /* nop */
|
|
/* 021AF144 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AF148 */ cpu->r[3] = 0x00000004u;
|
|
/* 021AF14C */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF150 */ cpu->r[30] = cpu->r[4];
|
|
/* 021AF154 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF15C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF15C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021AF15C */ if (_t5) goto L_021AF16C; else goto L_021AF160;
|
|
L_021AF160: ; // 0x21af160
|
|
/* 021AF160 */ cpu->r[7] = 0x10030000u;
|
|
/* 021AF164 */ cpu->r[7] = cpu->r[7] + 0xFFFF9798u;
|
|
/* 021AF168 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021AF168 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
L_021AF16C: ; // 0x21af16c
|
|
/* 021AF16C */ cpu->r[28] = 0x101D0000u;
|
|
/* 021AF170 */ _t7 = cpu->r[29] + 0x00000010u;
|
|
/* 021AF170 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 021AF174 */ _t8 = cpu->r[28] + 0xFFFF9A68u;
|
|
/* 021AF174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AF174 */ cpu->r[28] = _t8;
|
|
/* 021AF178 */ _t9 = cpu->r[12] + 0x00000038u;
|
|
/* 021AF178 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AF17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021AF180 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF180 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021AF180 */ if (_t11) goto L_021AF18C; else goto L_021AF184;
|
|
L_021AF184: ; // 0x21af184
|
|
/* 021AF184 */ _t12 = cpu->r[9] + 0x00000E44u;
|
|
/* 021AF184 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 021AF188 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 021AF188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
L_021AF18C: ; // 0x21af18c
|
|
/* 021AF18C */ cpu->r[3] = cpu->r[12];
|
|
/* 021AF190 */ cpu->r[4] = 0x00000E10u;
|
|
/* 021AF194 */ Gambit_fn_028A9EFC(cpu);
|
|
/* 021AF198 */ Gambit_fn_028C29DC(cpu);
|
|
/* 021AF19C */ cpu->r[8] = 0x10030000u;
|
|
/* 021AF1A0 */ _t14 = cpu->r[8] + 0xFFFF9980u;
|
|
/* 021AF1A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021AF1A4 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF1A8 */ Gambit_fn_028BD1C0(cpu);
|
|
/* 021AF1AC */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AF1B0 */ _t15 = cpu->r[11] + 0xFFFF9AE0u;
|
|
/* 021AF1B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF1B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 021AF1B8 */ _t16 = cpu->r[11] + 0x00000040u;
|
|
/* 021AF1B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF1BC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF1C0 */ _t17 = cpu->r[9] + 0x00000028u;
|
|
/* 021AF1C0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 021AF1C4 */ Gambit_fn_021AE0C0(cpu);
|
|
/* 021AF1C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF1CC */ Gambit_fn_021AE354(cpu);
|
|
/* 021AF1D0 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AF1D4 */ cpu->r[31] = 0x10030000u;
|
|
/* 021AF1D8 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 021AF1D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AF1DC */ cpu->r[31] = cpu->r[31] + 0xFFFF9810u;
|
|
/* 021AF1E0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF1E4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF1E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 021AF1E8 */ cpu->r[0] = cpu->r[0] + 0xFFFF998Cu;
|
|
/* 021AF1EC */ _t20 = cpu->r[29] + 0x00000028u;
|
|
/* 021AF1EC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 021AF1F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF1F0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 021AF1F4 */ Gambit_fn_028C29F4(cpu);
|
|
/* 021AF1F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF1FC */ Gambit_fn_028D2200(cpu);
|
|
/* 021AF200 */ _t22 = cpu->r[29] + 0x0000002Cu;
|
|
/* 021AF200 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 021AF204 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF208 */ _t23 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF20C */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF210 */ Gambit_fn_0218DCD4(cpu);
|
|
/* 021AF214 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF218 */ _t24 = cpu->r[3] + 0x000045F4u;
|
|
/* 021AF218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AF21C */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF220 */ Gambit_fn_0218CB30(cpu);
|
|
/* 021AF224 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF228 */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF22C */ cpu->r[3] = 0x00000010u;
|
|
/* 021AF230 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF234 */ cpu->r[27] = cpu->r[3];
|
|
/* 021AF234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021AF238 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF238 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021AF238 */ if (_t26) goto L_021AF250; else goto L_021AF23C;
|
|
L_021AF23C: ; // 0x21af23c
|
|
/* 021AF23C */ cpu->r[3] = cpu->r[27];
|
|
/* 021AF240 */ Gambit_fn_0278EEB0(cpu);
|
|
/* 021AF244 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF248 */ cpu->r[0] = cpu->r[0] + 0xFFFF97C8u;
|
|
/* 021AF24C */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 021AF24C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_021AF250: ; // 0x21af250
|
|
/* 021AF250 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021AF254 */ _t28 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021AF254 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 021AF258 */ _t29 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 021AF258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF25C */ cpu->r[4] = cpu->r[27];
|
|
/* 021AF260 */ Gambit_fn_0278FC30(cpu);
|
|
/* 021AF264 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF268 */ cpu->r[3] = 0x00000014u;
|
|
/* 021AF26C */ cpu->r[5] = 0x00000004u;
|
|
/* 021AF270 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF274 */ cpu->r[0] = cpu->r[3];
|
|
/* 021AF274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021AF278 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF278 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021AF278 */ if (_t31) goto L_021AF290; else goto L_021AF27C;
|
|
L_021AF27C: ; // 0x21af27c
|
|
/* 021AF27C */ cpu->r[9] = 0x10030000u;
|
|
/* 021AF280 */ _t32 = cpu->r[9] + 0xFFFF9978u;
|
|
/* 021AF280 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021AF284 */ cpu->r[3] = cpu->r[0];
|
|
/* 021AF288 */ Gambit_fn_028CA0E4(cpu);
|
|
/* 021AF28C */ cpu->r[0] = cpu->r[3];
|
|
L_021AF290: ; // 0x21af290
|
|
/* 021AF290 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AF294 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 021AF294 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 021AF298 */ Gambit_fn_021AEF48(cpu);
|
|
/* 021AF29C */ cpu->r[4] = 0x00000000u;
|
|
/* 021AF2A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 021AF2A4 */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF2A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2AC */ Gambit_fn_021B4D20(cpu);
|
|
/* 021AF2B0 */ cpu->f[1] = cpu->f[31];
|
|
/* 021AF2B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2B8 */ Gambit_fn_021B4DB4(cpu);
|
|
/* 021AF2BC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2C0 */ Gambit_fn_021B862C(cpu);
|
|
/* 021AF2C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2C8 */ Gambit_fn_021B86CC(cpu);
|
|
/* 021AF2CC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF2D0 */ Gambit_fn_021B60B8(cpu);
|
|
/* 021AF2D4 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2D8 */ Gambit_fn_021B6148(cpu);
|
|
/* 021AF2DC */ cpu->r[3] = 0x00000004u;
|
|
/* 021AF2E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF2E4 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF2E8 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021AF2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021AF2F0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF2F0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AF2F0 */ if (_t35) goto L_021AF300; else goto L_021AF2F4;
|
|
L_021AF2F4: ; // 0x21af2f4
|
|
/* 021AF2F4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF2F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9900u;
|
|
/* 021AF2FC */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 021AF2FC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_021AF300: ; // 0x21af300
|
|
/* 021AF300 */ cpu->r[5] = cpu->r[3];
|
|
/* 021AF304 */ cpu->r[4] = 0x10030000u;
|
|
/* 021AF308 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF30C */ cpu->r[4] = cpu->r[4] + 0xFFFF9990u;
|
|
/* 021AF310 */ Gambit_fn_028B5CFC(cpu);
|
|
/* 021AF314 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 021AF314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AF318 */ cpu->r[5] = cpu->r[30];
|
|
/* 021AF31C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF320 */ cpu->r[6] = 0x00000000u;
|
|
/* 021AF324 */ Gambit_fn_028B3FAC(cpu);
|
|
/* 021AF328 */ _t38 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF328 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 021AF32C */ _t39 = cpu->r[29] + 0x00000004u;
|
|
/* 021AF32C */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021AF330 */ Gambit_fn_028AC54C(cpu);
|
|
/* 021AF334 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF338 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF338 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 021AF33C */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 021AF340 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF340 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 021AF344 */ Gambit_fn_0278CC64(cpu);
|
|
/* 021AF348 */ cpu->r[4] = cpu->r[3];
|
|
/* 021AF34C */ _t42 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF34C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021AF350 */ Gambit_fn_028B4BFC(cpu);
|
|
/* 021AF354 */ _t43 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021AF358 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF35C */ Gambit_fn_028AC004(cpu);
|
|
/* 021AF360 */ _t44 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021AF364 */ cpu->r[4] = 0x00000001u;
|
|
/* 021AF368 */ Gambit_fn_028AC0C8(cpu);
|
|
/* 021AF36C */ _t45 = cpu->r[29] + 0x00000034u;
|
|
/* 021AF36C */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021AF370 */ _t46 = cpu->r[11] + 0x00000020u;
|
|
/* 021AF370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021AF374 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF378 */ _t47 = cpu->r[29] + 0x00000030u;
|
|
/* 021AF378 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 021AF37C */ Gambit_fn_021B06D4(cpu);
|
|
/* 021AF380 */ cpu->r[4] = cpu->r[30];
|
|
/* 021AF384 */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 021AF384 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 021AF388 */ Gambit_fn_021B0774(cpu);
|
|
/* 021AF38C */ Gambit_fn_028C2A0C(cpu);
|
|
/* 021AF390 */ cpu->r[8] = 0x10030000u;
|
|
/* 021AF394 */ _t49 = cpu->r[8] + 0xFFFF9984u;
|
|
/* 021AF394 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021AF398 */ _t50 = cpu->r[3] + 0x00000100u;
|
|
/* 021AF398 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 021AF39C */ Gambit_fn_028C2A0C(cpu);
|
|
/* 021AF3A0 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AF3A4 */ _t51 = cpu->r[12] + 0xFFFF9988u;
|
|
/* 021AF3A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021AF3A8 */ _t52 = cpu->r[3] + 0x00000104u;
|
|
/* 021AF3A8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 021AF3AC */ /* nop */
|
|
/* 021AF3B0 */ _t53 = cpu->r[1] + 0x00000060u;
|
|
/* 021AF3B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021AF3B4 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 021AF3B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 021AF3B8 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AF3B8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021AF3B8 */ if (_t56) goto L_021AF3BC; // else: addr-0 trap, fall-through
|
|
L_021AF3BC: ; // 0x21af3bc
|
|
/* 021AF3BC */ _t57 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021AF3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AF3C0 */ cpu->lr = cpu->r[0];
|
|
/* 021AF3C4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 021AF3C8 */ return;
|
|
L_021B6C40: ; // 0x21b6c40
|
|
/* 021B6C40 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6C44 */ _t58 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021B6C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6C4C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6C4C */ _t60 = _t59 & 0x00000001u;
|
|
/* 021B6C4C */ if (_t60) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6C4C */ goto L_021B6C50;
|
|
L_021B6C50: ; // 0x21b6c50
|
|
/* 021B6C50 */ goto L_021AF128;
|
|
}
|
|
|
|
// fn_021B6C54 @ 0x21b6c54
|
|
void Gambit_fn_021B6C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021AF3CC: ; // 0x21af3cc
|
|
/* 021AF3CC */ cpu->r[11] = 0x00000100u;
|
|
/* 021AF3D0 */ cpu->r[12] = 0x00000400u;
|
|
/* 021AF3D4 */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 021AF3D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 021AF3D8 */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 021AF3D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 021AF3DC */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021AF3DC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 021AF3E0 */ _t3 = cpu->r[4] + 0x00000010u;
|
|
/* 021AF3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 021AF3E4 */ return;
|
|
L_021B6C54: ; // 0x21b6c54
|
|
/* 021B6C54 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6C58 */ _t4 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6C58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B6C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6C60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6C60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B6C60 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6C60 */ goto L_021B6C64;
|
|
L_021B6C64: ; // 0x21b6c64
|
|
/* 021B6C64 */ goto L_021AF3CC;
|
|
}
|
|
|
|
// fn_021B6C68 @ 0x21b6c68
|
|
void Gambit_fn_021B6C68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021B6C68: ; // 0x21b6c68
|
|
/* 021B6C68 */ cpu->r[0] = cpu->lr;
|
|
/* 021B6C6C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B6C6C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B6C70 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6C74 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B6C74 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B6C74 */ cpu->r[1] = _t1;
|
|
/* 021B6C78 */ _t2 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B6C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6C80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6C80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B6C80 */ if (_t4) goto L_021B6C88; else goto L_021B6C84;
|
|
L_021B6C84: ; // 0x21b6c84
|
|
/* 021B6C84 */ Gambit_fn_021AF3E8(cpu);
|
|
L_021B6C88: ; // 0x21b6c88
|
|
/* 021B6C88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B6C8C */ cpu->lr = cpu->r[0];
|
|
/* 021B6C90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6C94 */ return;
|
|
}
|
|
|
|
// fn_021B6C74 @ 0x21b6c74
|
|
void Gambit_fn_021B6C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021B6C74: ; // 0x21b6c74
|
|
/* 021B6C74 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B6C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6C74 */ cpu->r[1] = _t0;
|
|
/* 021B6C78 */ _t1 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B6C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6C80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6C80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B6C80 */ if (_t3) goto L_021B6C88; else goto L_021B6C84;
|
|
L_021B6C84: ; // 0x21b6c84
|
|
/* 021B6C84 */ Gambit_fn_021AF3E8(cpu);
|
|
L_021B6C88: ; // 0x21b6c88
|
|
/* 021B6C88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B6C8C */ cpu->lr = cpu->r[0];
|
|
/* 021B6C90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6C94 */ return;
|
|
}
|
|
|
|
// fn_021B6C98 @ 0x21b6c98
|
|
void Gambit_fn_021B6C98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B014C: ; // 0x21b014c
|
|
/* 021B014C */ return;
|
|
L_021B6C98: ; // 0x21b6c98
|
|
/* 021B6C98 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6C9C */ _t0 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6C9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B6CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6CA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6CA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B6CA4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6CA4 */ goto L_021B6CA8;
|
|
L_021B6CA8: ; // 0x21b6ca8
|
|
/* 021B6CA8 */ goto L_021B014C;
|
|
}
|
|
|
|
// fn_021B6CAC @ 0x21b6cac
|
|
void Gambit_fn_021B6CAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_021AE3C0: ; // 0x21ae3c0
|
|
/* 021AE3C0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AE3C4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021AE3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AE3C4 */ cpu->r[1] = _t0;
|
|
/* 021AE3C8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE3C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021AE3CC */ /* nop */
|
|
/* 021AE3D0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE3D0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021AE3D4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE3D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021AE3D8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE3D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021AE3DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE3DC */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 021AE3E0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE3E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021AE3E4 */ /* nop */
|
|
/* 021AE3E8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE3E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 021AE3EC */ cpu->r[31] = cpu->r[3];
|
|
/* 021AE3F0 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE3F0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 021AE3F4 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 021AE3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AE3F8 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 021AE3F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AE3FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021AE400 */ cpu->r[30] = cpu->r[29] + cpu->r[12];
|
|
/* 021AE404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 021AE408 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE408 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021AE408 */ if (_t12) goto L_021AE450; else goto L_021AE40C;
|
|
L_021AE40C: ; // 0x21ae40c
|
|
/* 021AE40C */ cpu->r[11] = 0x10030000u;
|
|
/* 021AE410 */ cpu->r[10] = 0x10030000u;
|
|
/* 021AE414 */ _t13 = cpu->r[11] + 0xFFFF97A8u;
|
|
/* 021AE414 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021AE418 */ _t14 = cpu->r[10] + 0xFFFF97ACu;
|
|
/* 021AE418 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
L_021AE41C: ; // 0x21ae41c
|
|
/* 021AE41C */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE41C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AE420 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 021AE420 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AE424 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE428 */ cpu->r[3] = cpu->r[9] + 0x000000A8u;
|
|
/* 021AE42C */ Gambit_fn_028BD330(cpu);
|
|
/* 021AE430 */ cpu->f[1] = cpu->f[30];
|
|
/* 021AE434 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 021AE434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AE438 */ cpu->f[2] = cpu->f[31];
|
|
/* 021AE43C */ cpu->r[3] = cpu->r[8] + 0x00000004u;
|
|
/* 021AE440 */ Gambit_fn_028CA1D8(cpu);
|
|
/* 021AE444 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 021AE448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 021AE44C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AE44C */ _t19 = _t18 & 0x00000001u;
|
|
/* 021AE44C */ if (_t19) goto L_021AE450; else goto L_021AE41C;
|
|
L_021AE450: ; // 0x21ae450
|
|
/* 021AE450 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021AE454 */ Gambit_fn_0280236C(cpu);
|
|
/* 021AE458 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AE458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021AE45C */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 021AE45C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021AE460 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 021AE460 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021AE464 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 021AE464 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 021AE468 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 021AE468 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 021AE46C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 021AE46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AE470 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021AE470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AE474 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021AE474 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021AE474 */ if (_t28) goto L_021AE478; // else: addr-0 trap, fall-through
|
|
L_021AE478: ; // 0x21ae478
|
|
/* 021AE478 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AE478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AE47C */ cpu->lr = cpu->r[0];
|
|
/* 021AE480 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AE484 */ return;
|
|
L_021AF68C: ; // 0x21af68c
|
|
/* 021AF68C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF690 */ _t30 = cpu->r[3] + 0x00004D20u;
|
|
/* 021AF690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF694 */ goto L_021AE3C0;
|
|
L_021B6CAC: ; // 0x21b6cac
|
|
/* 021B6CAC */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6CB0 */ _t31 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B6CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6CB8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6CB8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B6CB8 */ if (_t33) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6CB8 */ goto L_021B6CBC;
|
|
L_021B6CBC: ; // 0x21b6cbc
|
|
/* 021B6CBC */ goto L_021AF68C;
|
|
}
|
|
|
|
// fn_021B6CC0 @ 0x21b6cc0
|
|
void Gambit_fn_021B6CC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021AF698: ; // 0x21af698
|
|
/* 021AF698 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021AF698 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF698 */ cpu->r[1] = _t0;
|
|
/* 021AF69C */ /* nop */
|
|
/* 021AF6A0 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF6A4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF6A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021AF6A8 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF6AC */ _t2 = cpu->r[31] + 0x000044E4u;
|
|
/* 021AF6AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AF6B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AF6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021AF6B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021AF6BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF6BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 021AF6BC */ if (_t4) goto L_021AF9B4; else goto L_021AF6C0;
|
|
L_021AF6C0: ; // 0x21af6c0
|
|
/* 021AF6C0 */ Gambit_fn_027FAD20(cpu);
|
|
/* 021AF6C4 */ cpu->r[27] = 0x10030000u;
|
|
/* 021AF6C8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF6C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 021AF6CC */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF6D0 */ cpu->r[27] = cpu->r[27] + 0xFFFF9810u;
|
|
/* 021AF6D4 */ _t6 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AF6D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF6DC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF6DC */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 021AF6E0 */ Gambit_fn_0218DDE0(cpu);
|
|
/* 021AF6E4 */ _t8 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF6E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AF6E8 */ _t9 = cpu->r[30] + 0x00000039u;
|
|
/* 021AF6E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021AF6EC */ Gambit_fn_0219ABC0(cpu);
|
|
/* 021AF6F0 */ cpu->r[7] = 0x10030000u;
|
|
/* 021AF6F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF6F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 021AF6F8 */ cpu->r[7] = cpu->r[7] + 0xFFFF99A8u;
|
|
/* 021AF6FC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF6FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF700 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF700 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 021AF704 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 021AF704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021AF708 */ cpu->ctr = cpu->r[9];
|
|
/* 021AF70C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF714 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF714 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021AF718 */ _t15 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF71C */ cpu->ctr = cpu->r[11];
|
|
/* 021AF720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF728 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF72C */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AF730 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF734 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021AF738 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF73C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF740 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021AF744 */ cpu->r[28] = 0x00080000u;
|
|
/* 021AF748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 021AF74C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 021AF750 */ cpu->r[29] = 0x10110000u;
|
|
/* 021AF754 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF754 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF754 */ if (_t21) goto L_021AF758; else goto L_021AF7C8;
|
|
L_021AF758: ; // 0x21af758
|
|
/* 021AF758 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF758 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021AF75C */ cpu->r[26] = 0x00000001u;
|
|
/* 021AF760 */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF764 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF764 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 021AF768 */ cpu->r[0] = cpu->r[0] + 0xFFFF99A0u;
|
|
/* 021AF76C */ _t24 = cpu->r[30] + 0x0000003Eu;
|
|
/* 021AF76C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[26]);
|
|
/* 021AF770 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF770 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 021AF774 */ _t26 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF774 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[26]);
|
|
/* 021AF778 */ _t27 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021AF77C */ cpu->ctr = cpu->r[0];
|
|
/* 021AF780 */ cpu->r[5] = 0x00000000u;
|
|
/* 021AF784 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF788 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF78C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF78C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AF790 */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF794 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF798 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF79C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF7A0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF7A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF7A4 */ _t31 = cpu->r[6] + 0x00000014u;
|
|
/* 021AF7A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AF7A8 */ cpu->ctr = cpu->r[7];
|
|
/* 021AF7AC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF7AC */ cpu->r[27] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021AF7B0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF7B8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021AF7BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 021AF7C0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7C0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021AF7C0 */ if (_t35) goto L_021AF8FC; else goto L_021AF7C4;
|
|
L_021AF7C4: ; // 0x21af7c4
|
|
/* 021AF7C4 */ goto L_021AF960;
|
|
L_021AF7C8: ; // 0x21af7c8
|
|
/* 021AF7C8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF7C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021AF7CC */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF7CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021AF7D0 */ cpu->ctr = cpu->r[28];
|
|
/* 021AF7D4 */ _t38 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF7D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 021AF7D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_021AF7DC: ; // 0x21af7dc
|
|
/* 021AF7DC */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 021AF7DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t39);
|
|
/* 021AF7E0 */ _t40 = cpu->r[12] + 0x00000001u;
|
|
/* 021AF7E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t40);
|
|
/* 021AF7E0 */ cpu->r[12] = _t40;
|
|
/* 021AF7E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 021AF7E8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7E8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021AF7E8 */ if (_t42) goto L_021AF7EC; else goto L_021AF7FC;
|
|
L_021AF7EC: ; // 0x21af7ec
|
|
/* 021AF7EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021AF7F0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF7F0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021AF7F0 */ if (_t44) goto L_021AF758; else goto L_021AF7F4;
|
|
L_021AF7F4: ; // 0x21af7f4
|
|
/* 021AF7F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021AF7F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF7F8 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF7F8 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 021AF7F8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021AF7F8 */ if (_t47) goto L_021AF7DC; else goto L_021AF7FC;
|
|
L_021AF7FC: ; // 0x21af7fc
|
|
/* 021AF7FC */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF800 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021AF804 */ cpu->r[0] = cpu->r[0] + 0xFFFF99B0u;
|
|
/* 021AF808 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF808 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 021AF80C */ cpu->r[5] = 0x00000000u;
|
|
/* 021AF810 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF810 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 021AF814 */ _t51 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF814 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[5]);
|
|
/* 021AF818 */ _t52 = cpu->r[8] + 0x00000014u;
|
|
/* 021AF818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021AF81C */ cpu->ctr = cpu->r[0];
|
|
/* 021AF820 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF824 */ cpu->r[5] = 0x00000001u;
|
|
/* 021AF828 */ cpu->r[26] = 0x00000001u;
|
|
/* 021AF82C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF830 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021AF834 */ _t54 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021AF838 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF83C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF844 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021AF848 */ _t56 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF848 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021AF84C */ cpu->ctr = cpu->r[5];
|
|
/* 021AF850 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF850 */ cpu->r[25] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021AF854 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF858 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF85C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF85C */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021AF860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[10]);
|
|
/* 021AF864 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF864 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021AF864 */ if (_t60) goto L_021AF89C; else goto L_021AF868;
|
|
L_021AF868: ; // 0x21af868
|
|
/* 021AF868 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021AF86C */ cpu->ctr = cpu->r[28];
|
|
/* 021AF870 */ _t62 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF870 */ cpu->r[8] = rbrew_read8(cpu->mem, _t62);
|
|
/* 021AF874 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021AF878: ; // 0x21af878
|
|
/* 021AF878 */ _t63 = cpu->r[7] + 0x00000000u;
|
|
/* 021AF878 */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 021AF87C */ _t64 = cpu->r[9] + 0x00000001u;
|
|
/* 021AF87C */ cpu->r[6] = rbrew_read8(cpu->mem, _t64);
|
|
/* 021AF87C */ cpu->r[9] = _t64;
|
|
/* 021AF880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 021AF884 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF884 */ _t66 = _t65 & 0x00000001u;
|
|
/* 021AF884 */ if (_t66) goto L_021AF888; else goto L_021AF898;
|
|
L_021AF888: ; // 0x21af888
|
|
/* 021AF888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 021AF88C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF88C */ _t68 = _t67 & 0x00000001u;
|
|
/* 021AF88C */ if (_t68) goto L_021AF89C; else goto L_021AF890;
|
|
L_021AF890: ; // 0x21af890
|
|
/* 021AF890 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021AF894 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF894 */ _t69 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF894 */ _t70 = _t69 >> (0x00000002u & 31u);
|
|
/* 021AF894 */ _t71 = _t70 & 0x00000001u;
|
|
/* 021AF894 */ if (_t71) goto L_021AF878; else goto L_021AF898;
|
|
L_021AF898: ; // 0x21af898
|
|
/* 021AF898 */ cpu->r[26] = 0x00000000u;
|
|
L_021AF89C: ; // 0x21af89c
|
|
/* 021AF89C */ cpu->r[0] = 0x10030000u;
|
|
/* 021AF8A0 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF8A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021AF8A4 */ cpu->r[0] = cpu->r[0] + 0xFFFF99A0u;
|
|
/* 021AF8A8 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF8A8 */ rbrew_write32(cpu->mem, _t73, cpu->r[27]);
|
|
/* 021AF8AC */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8AC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 021AF8B0 */ _t75 = cpu->r[30] + 0x0000003Eu;
|
|
/* 021AF8B0 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[26]);
|
|
/* 021AF8B4 */ _t76 = cpu->r[10] + 0x00000014u;
|
|
/* 021AF8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021AF8B8 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8C4 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF8C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021AF8C8 */ _t78 = cpu->r[12] + 0x00000014u;
|
|
/* 021AF8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021AF8CC */ cpu->ctr = cpu->r[0];
|
|
/* 021AF8D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8D8 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF8D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 021AF8DC */ _t80 = cpu->r[6] + 0x00000014u;
|
|
/* 021AF8DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 021AF8E0 */ cpu->ctr = cpu->r[7];
|
|
/* 021AF8E4 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF8E4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021AF8E8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF8F0 */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF8F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021AF8F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
|
|
/* 021AF8F8 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF8F8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 021AF8F8 */ if (_t84) goto L_021AF8FC; else goto L_021AF960;
|
|
L_021AF8FC: ; // 0x21af8fc
|
|
/* 021AF8FC */ cpu->r[8] = 0x00000001u;
|
|
/* 021AF900 */ _t85 = cpu->r[30] + 0x0000003Fu;
|
|
/* 021AF900 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[8]);
|
|
/* 021AF904 */ _t86 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021AF908 */ _t87 = cpu->r[3] + 0x000000E0u;
|
|
/* 021AF908 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021AF90C */ _t88 = cpu->r[10] + 0x000001ECu;
|
|
/* 021AF90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 021AF910 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF918 */ cpu->r[29] = cpu->r[3];
|
|
/* 021AF91C */ _t89 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF91C */ cpu->r[4] = rbrew_read8(cpu->mem, _t89);
|
|
/* 021AF920 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF924 */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF928 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF92C */ _t90 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF92C */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021AF930 */ Gambit_fn_0218D304(cpu);
|
|
/* 021AF934 */ _t91 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021AF938 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AF93C */ Gambit_fn_0218D510(cpu);
|
|
/* 021AF940 */ _t92 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF940 */ cpu->r[4] = rbrew_read8(cpu->mem, _t92);
|
|
/* 021AF944 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF948 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF94C */ /* nop */
|
|
/* 021AF950 */ _t93 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021AF954 */ cpu->lr = cpu->r[0];
|
|
/* 021AF958 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AF95C */ return;
|
|
L_021AF960: ; // 0x21af960
|
|
/* 021AF960 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 021AF960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021AF964 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF964 */ cpu->r[6] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021AF968 */ cpu->ctr = cpu->r[28];
|
|
/* 021AF96C */ _t96 = cpu->r[29] + 0x00007399u;
|
|
/* 021AF96C */ cpu->r[5] = rbrew_read8(cpu->mem, _t96);
|
|
/* 021AF970 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021AF974: ; // 0x21af974
|
|
/* 021AF974 */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 021AF974 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 021AF978 */ _t98 = cpu->r[6] + 0x00000001u;
|
|
/* 021AF978 */ cpu->r[9] = rbrew_read8(cpu->mem, _t98);
|
|
/* 021AF978 */ cpu->r[6] = _t98;
|
|
/* 021AF97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 021AF980 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF980 */ _t100 = _t99 & 0x00000001u;
|
|
/* 021AF980 */ if (_t100) goto L_021AF984; else goto L_021AF994;
|
|
L_021AF984: ; // 0x21af984
|
|
/* 021AF984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 021AF988 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF988 */ _t102 = _t101 & 0x00000001u;
|
|
/* 021AF988 */ if (_t102) goto L_021AF8FC; else goto L_021AF98C;
|
|
L_021AF98C: ; // 0x21af98c
|
|
/* 021AF98C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021AF990 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021AF990 */ _t103 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021AF990 */ _t104 = _t103 >> (0x00000002u & 31u);
|
|
/* 021AF990 */ _t105 = _t104 & 0x00000001u;
|
|
/* 021AF990 */ if (_t105) goto L_021AF974; else goto L_021AF994;
|
|
L_021AF994: ; // 0x21af994
|
|
/* 021AF994 */ cpu->r[8] = 0x00000000u;
|
|
/* 021AF998 */ _t106 = cpu->r[30] + 0x0000003Fu;
|
|
/* 021AF998 */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[8]);
|
|
/* 021AF99C */ _t107 = cpu->r[31] + 0x00000254u;
|
|
/* 021AF99C */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021AF9A0 */ _t108 = cpu->r[3] + 0x000000E0u;
|
|
/* 021AF9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021AF9A4 */ _t109 = cpu->r[10] + 0x000001ECu;
|
|
/* 021AF9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021AF9A8 */ cpu->ctr = cpu->r[0];
|
|
/* 021AF9AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AF9B0 */ cpu->r[29] = cpu->r[3];
|
|
L_021AF9B4: ; // 0x21af9b4
|
|
/* 021AF9B4 */ _t110 = cpu->r[30] + 0x0000003Du;
|
|
/* 021AF9B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t110);
|
|
/* 021AF9B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF9BC */ Gambit_fn_021AEF98(cpu);
|
|
/* 021AF9C0 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021AF9C4 */ _t111 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF9C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021AF9C8 */ Gambit_fn_0218D304(cpu);
|
|
/* 021AF9CC */ _t112 = cpu->r[31] + 0x000045F4u;
|
|
/* 021AF9CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021AF9D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 021AF9D4 */ Gambit_fn_0218D510(cpu);
|
|
/* 021AF9D8 */ _t113 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF9D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t113);
|
|
/* 021AF9DC */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF9E0 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF9E4 */ /* nop */
|
|
/* 021AF9E8 */ _t114 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021AF9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021AF9EC */ cpu->lr = cpu->r[0];
|
|
/* 021AF9F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021AF9F4 */ return;
|
|
L_021B6CC0: ; // 0x21b6cc0
|
|
/* 021B6CC0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6CC4 */ _t115 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6CC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B6CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6CCC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6CCC */ _t117 = _t116 & 0x00000001u;
|
|
/* 021B6CCC */ if (_t117) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6CCC */ goto L_021B6CD0;
|
|
L_021B6CD0: ; // 0x21b6cd0
|
|
/* 021B6CD0 */ goto L_021AF698;
|
|
}
|
|
|
|
// fn_021B6CD4 @ 0x21b6cd4
|
|
void Gambit_fn_021B6CD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B0150: ; // 0x21b0150
|
|
/* 021B0150 */ return;
|
|
L_021B6CD4: ; // 0x21b6cd4
|
|
/* 021B6CD4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6CD8 */ _t0 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B6CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6CE0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6CE0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B6CE0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6CE0 */ goto L_021B6CE4;
|
|
L_021B6CE4: ; // 0x21b6ce4
|
|
/* 021B6CE4 */ goto L_021B0150;
|
|
}
|
|
|
|
// fn_021B6CE8 @ 0x21b6ce8
|
|
void Gambit_fn_021B6CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021AF9F8: ; // 0x21af9f8
|
|
/* 021AF9F8 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF9FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AF9FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF9FC */ cpu->r[1] = _t0;
|
|
/* 021AFA00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021AFA04 */ cpu->r[31] = cpu->r[3];
|
|
/* 021AFA08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021AFA0C */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021AFA0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFA10 */ Gambit_fn_021B4B08(cpu);
|
|
/* 021AFA14 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AFA18 */ _t4 = cpu->r[3] + 0x00004604u;
|
|
/* 021AFA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFA1C */ Gambit_fn_0218E214(cpu);
|
|
/* 021AFA20 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AFA24 */ _t5 = cpu->r[3] + 0x00004D8Cu;
|
|
/* 021AFA24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFA28 */ Gambit_fn_021B55B0(cpu);
|
|
/* 021AFA2C */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 021AFA2C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021AFA30 */ cpu->r[12] = 0x00000000u;
|
|
/* 021AFA34 */ _t7 = cpu->r[31] + 0x0000003Eu;
|
|
/* 021AFA34 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 021AFA38 */ cpu->r[3] = cpu->r[31];
|
|
/* 021AFA3C */ _t8 = cpu->r[31] + 0x0000003Du;
|
|
/* 021AFA3C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 021AFA40 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AFA44 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AFA48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AFA4C */ cpu->lr = cpu->r[0];
|
|
/* 021AFA50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFA54 */ return;
|
|
L_021B6CE8: ; // 0x21b6ce8
|
|
/* 021B6CE8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6CEC */ _t11 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6CEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B6CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6CF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6CF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B6CF4 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6CF4 */ goto L_021B6CF8;
|
|
L_021B6CF8: ; // 0x21b6cf8
|
|
/* 021B6CF8 */ goto L_021AF9F8;
|
|
}
|
|
|
|
// fn_021B6CFC @ 0x21b6cfc
|
|
void Gambit_fn_021B6CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_021AF594: ; // 0x21af594
|
|
/* 021AF594 */ cpu->r[0] = cpu->lr;
|
|
/* 021AF598 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AF598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021AF598 */ cpu->r[1] = _t0;
|
|
/* 021AF59C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF59C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021AF5A0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021AF5A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021AF5A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021AF5AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF5AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021AF5B0 */ _t5 = cpu->r[30] + 0x00000034u;
|
|
/* 021AF5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AF5B4 */ Gambit_fn_028AC110(cpu);
|
|
/* 021AF5B8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021AF5BC */ _t6 = cpu->r[12] + 0x000044E4u;
|
|
/* 021AF5BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AF5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021AF5C4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021AF5C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF5C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021AF5C8 */ if (_t8) goto L_021AF614; else goto L_021AF5CC;
|
|
L_021AF5CC: ; // 0x21af5cc
|
|
/* 021AF5CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 021AF5D0 */ _t9 = cpu->r[11] + 0xFFFF927Cu;
|
|
/* 021AF5D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AF5D4 */ _t10 = cpu->r[11] + 0x00000154u;
|
|
/* 021AF5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AF5D8 */ cpu->r[9] = 0x00000000u;
|
|
/* 021AF5DC */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 021AF5E0 */ _t11 = cpu->r[12] + 0x00000254u;
|
|
/* 021AF5E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AF5E4 */ cpu->r[31] = cpu->r[9];
|
|
/* 021AF5E8 */ _t12 = cpu->r[3] + 0x000000F1u;
|
|
/* 021AF5E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 021AF5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 021AF5F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF5F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021AF5F0 */ if (_t14) goto L_021AF608; else goto L_021AF5F4;
|
|
L_021AF5F4: ; // 0x21af5f4
|
|
/* 021AF5F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF5F8 */ Gambit_fn_02196EF8(cpu);
|
|
/* 021AF5FC */ _t15 = cpu->r[29] + 0x000045F4u;
|
|
/* 021AF5FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021AF600 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF604 */ Gambit_fn_0218D640(cpu);
|
|
L_021AF608: ; // 0x21af608
|
|
/* 021AF608 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF60C */ _t16 = cpu->r[3] + 0x00004604u;
|
|
/* 021AF60C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021AF610 */ Gambit_fn_0218E414(cpu);
|
|
L_021AF614: ; // 0x21af614
|
|
/* 021AF614 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 021AF618 */ _t17 = cpu->r[3] + 0x000007D0u;
|
|
/* 021AF618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021AF61C */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 021AF620 */ _t19 = cpu->r[10] + 0x00000021u;
|
|
/* 021AF620 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
|
|
/* 021AF624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021AF628 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021AF628 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021AF628 */ if (_t21) goto L_021AF63C; else goto L_021AF62C;
|
|
L_021AF62C: ; // 0x21af62c
|
|
/* 021AF62C */ cpu->r[3] = cpu->r[30];
|
|
/* 021AF630 */ cpu->r[4] = cpu->r[31];
|
|
/* 021AF634 */ Gambit_fn_021AF44C(cpu);
|
|
/* 021AF638 */ _t22 = cpu->r[30] + 0x00000038u;
|
|
/* 021AF638 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[31]);
|
|
L_021AF63C: ; // 0x21af63c
|
|
/* 021AF63C */ _t23 = cpu->r[29] + 0x000045F4u;
|
|
/* 021AF63C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021AF640 */ Gambit_fn_0218CF94(cpu);
|
|
/* 021AF644 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF648 */ _t24 = cpu->r[3] + 0x00004D20u;
|
|
/* 021AF648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021AF64C */ Gambit_fn_021AE488(cpu);
|
|
/* 021AF650 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF654 */ _t25 = cpu->r[3] + 0x00004D8Cu;
|
|
/* 021AF654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021AF658 */ Gambit_fn_021B5364(cpu);
|
|
/* 021AF65C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021AF660 */ _t26 = cpu->r[3] + 0x00004DA4u;
|
|
/* 021AF660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021AF664 */ Gambit_fn_021B87B4(cpu);
|
|
/* 021AF668 */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 021AF668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021AF66C */ Gambit_fn_021B0CD0(cpu);
|
|
/* 021AF670 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AF670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021AF674 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AF674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021AF678 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 021AF678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021AF67C */ cpu->lr = cpu->r[0];
|
|
/* 021AF680 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 021AF680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021AF684 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AF688 */ return;
|
|
L_021B6CFC: ; // 0x21b6cfc
|
|
/* 021B6CFC */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6D00 */ _t32 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6D00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B6D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6D08 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6D08 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B6D08 */ if (_t34) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6D08 */ goto L_021B6D0C;
|
|
L_021B6D0C: ; // 0x21b6d0c
|
|
/* 021B6D0C */ goto L_021AF594;
|
|
}
|
|
|
|
// fn_021B6D10 @ 0x21b6d10
|
|
void Gambit_fn_021B6D10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021AFD3C: ; // 0x21afd3c
|
|
/* 021AFD3C */ cpu->r[0] = cpu->lr;
|
|
/* 021AFD40 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021AFD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021AFD44 */ cpu->r[12] = 0x10030000u;
|
|
/* 021AFD48 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021AFD48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021AFD48 */ cpu->r[1] = _t1;
|
|
/* 021AFD4C */ _t2 = cpu->r[12] + 0xFFFF99BCu;
|
|
/* 021AFD4C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 021AFD50 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFD54 */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 021AFD54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFD58 */ _t4 = cpu->r[12] + 0x00000E7Eu;
|
|
/* 021AFD58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021AFD5C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFD5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFD60 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFD60 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 021AFD64 */ _t7 = cpu->r[11] + 0x0000003Cu;
|
|
/* 021AFD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFD68 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFD70 */ cpu->r[5] = 0x00000001u;
|
|
/* 021AFD74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFD78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021AFD7C */ _t8 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AFD7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFD80 */ _t9 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021AFD80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021AFD84 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021AFD88 */ _t11 = cpu->r[11] + 0x00000034u;
|
|
/* 021AFD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021AFD8C */ cpu->ctr = cpu->r[0];
|
|
/* 021AFD90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFD94 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021AFD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021AFD98 */ cpu->lr = cpu->r[0];
|
|
/* 021AFD9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021AFDA0 */ return;
|
|
L_021B6D10: ; // 0x21b6d10
|
|
/* 021B6D10 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6D14 */ _t13 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6D14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B6D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6D1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6D1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B6D1C */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6D1C */ goto L_021B6D20;
|
|
L_021B6D20: ; // 0x21b6d20
|
|
/* 021B6D20 */ goto L_021AFD3C;
|
|
}
|
|
|
|
// fn_021B6D24 @ 0x21b6d24
|
|
void Gambit_fn_021B6D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021AFDA4: ; // 0x21afda4
|
|
/* 021AFDA4 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFDA8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021AFDA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021AFDAC */ cpu->r[12] = 0x101D0000u;
|
|
/* 021AFDB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021AFDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021AFDB0 */ cpu->r[1] = _t1;
|
|
/* 021AFDB4 */ _t2 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 021AFDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021AFDB8 */ _t3 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021AFDB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFDBC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021AFDBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021AFDC0 */ _t5 = cpu->r[12] + 0x00000034u;
|
|
/* 021AFDC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFDC4 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFDC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFDCC */ cpu->r[3] = 0x00000006u;
|
|
/* 021AFDD0 */ Gambit_fn_02C31D94(cpu);
|
|
/* 021AFDD4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021AFDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021AFDD8 */ cpu->lr = cpu->r[0];
|
|
/* 021AFDDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFDE0 */ return;
|
|
L_021B6D24: ; // 0x21b6d24
|
|
/* 021B6D24 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6D28 */ _t7 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B6D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6D30 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6D30 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B6D30 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6D30 */ goto L_021B6D34;
|
|
L_021B6D34: ; // 0x21b6d34
|
|
/* 021B6D34 */ goto L_021AFDA4;
|
|
}
|
|
|
|
// fn_021B6D38 @ 0x21b6d38
|
|
void Gambit_fn_021B6D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021AFDE4: ; // 0x21afde4
|
|
/* 021AFDE4 */ cpu->r[0] = cpu->lr;
|
|
/* 021AFDE8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021AFDE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021AFDEC */ cpu->r[12] = 0x10030000u;
|
|
/* 021AFDF0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021AFDF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021AFDF0 */ cpu->r[1] = _t1;
|
|
/* 021AFDF4 */ _t2 = cpu->r[12] + 0xFFFF99BCu;
|
|
/* 021AFDF4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 021AFDF8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021AFDFC */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 021AFDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021AFE00 */ _t4 = cpu->r[12] + 0x00000E7Eu;
|
|
/* 021AFE00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021AFE04 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 021AFE04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021AFE08 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021AFE08 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 021AFE0C */ _t7 = cpu->r[11] + 0x0000003Cu;
|
|
/* 021AFE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021AFE10 */ cpu->ctr = cpu->r[0];
|
|
/* 021AFE14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021AFE18 */ cpu->r[5] = 0x00000000u;
|
|
/* 021AFE1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021AFE20 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021AFE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021AFE24 */ cpu->lr = cpu->r[0];
|
|
/* 021AFE28 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021AFE2C */ return;
|
|
L_021B6D38: ; // 0x21b6d38
|
|
/* 021B6D38 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B6D3C */ _t9 = cpu->r[3] + 0x00004D34u;
|
|
/* 021B6D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B6D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B6D44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6D44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B6D44 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B6D44 */ goto L_021B6D48;
|
|
L_021B6D48: ; // 0x21b6d48
|
|
/* 021B6D48 */ goto L_021AFDE4;
|
|
}
|
|
|
|
// fn_021B6D4C @ 0x21b6d4c
|
|
void Gambit_fn_021B6D4C(CPUState* cpu) {
|
|
L_021B6D4C: ; // 0x21b6d4c
|
|
/* 021B6D4C */ cpu->r[3] = 0x0000000Au;
|
|
/* 021B6D50 */ return;
|
|
}
|
|
|
|
// fn_021B6D54 @ 0x21b6d54
|
|
void Gambit_fn_021B6D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B6D54: ; // 0x21b6d54
|
|
/* 021B6D54 */ cpu->r[12] = 0x00000002u;
|
|
/* 021B6D58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B6D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6D58 */ cpu->r[1] = _t0;
|
|
/* 021B6D5C */ cpu->r[3] = 0x00000004u;
|
|
/* 021B6D60 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 021B6D64 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B6D68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B6D6C */ return;
|
|
}
|
|
|
|
// fn_021B6D58 @ 0x21b6d58
|
|
void Gambit_fn_021B6D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B6D58: ; // 0x21b6d58
|
|
/* 021B6D58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B6D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6D58 */ cpu->r[1] = _t0;
|
|
/* 021B6D5C */ cpu->r[3] = 0x00000004u;
|
|
/* 021B6D60 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6D60 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 021B6D64 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B6D68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B6D6C */ return;
|
|
}
|
|
|
|
// fn_021B6D70 @ 0x21b6d70
|
|
void Gambit_fn_021B6D70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021B6D70: ; // 0x21b6d70
|
|
/* 021B6D70 */ cpu->r[9] = 0x00000000u;
|
|
/* 021B6D74 */ cpu->r[0] = 0x00000003u;
|
|
/* 021B6D78 */ _t0 = cpu->r[3] + 0x0000034Cu;
|
|
/* 021B6D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[9]);
|
|
/* 021B6D7C */ cpu->r[12] = 0x00000002u;
|
|
/* 021B6D80 */ cpu->r[7] = 0x00000004u;
|
|
/* 021B6D84 */ _t1 = cpu->r[3] + 0x00000364u;
|
|
/* 021B6D84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B6D88 */ _t2 = cpu->r[3] + 0x00000368u;
|
|
/* 021B6D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 021B6D8C */ cpu->r[10] = 0x00000008u;
|
|
/* 021B6D90 */ _t3 = cpu->r[3] + 0x0000035Cu;
|
|
/* 021B6D90 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 021B6D94 */ cpu->r[7] = 0x0000000Au;
|
|
/* 021B6D98 */ _t4 = cpu->r[3] + 0x00000374u;
|
|
/* 021B6D98 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 021B6D9C */ _t5 = cpu->r[3] + 0x00000380u;
|
|
/* 021B6D9C */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 021B6DA0 */ cpu->r[11] = 0x00000001u;
|
|
/* 021B6DA4 */ _t6 = cpu->r[3] + 0x00000360u;
|
|
/* 021B6DA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B6DA8 */ _t7 = cpu->r[3] + 0x00000354u;
|
|
/* 021B6DA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B6DAC */ _t8 = cpu->r[3] + 0x00000384u;
|
|
/* 021B6DAC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 021B6DB0 */ cpu->r[8] = 0x00000007u;
|
|
/* 021B6DB4 */ _t9 = cpu->r[3] + 0x00000358u;
|
|
/* 021B6DB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B6DB8 */ cpu->r[5] = 0x00000009u;
|
|
/* 021B6DBC */ _t10 = cpu->r[3] + 0x0000036Cu;
|
|
/* 021B6DBC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 021B6DC0 */ _t11 = cpu->r[3] + 0x00000350u;
|
|
/* 021B6DC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B6DC4 */ _t12 = cpu->r[3] + 0x00000348u;
|
|
/* 021B6DC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 021B6DC8 */ _t13 = cpu->r[3] + 0x00000378u;
|
|
/* 021B6DC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 021B6DCC */ _t14 = cpu->r[3] + 0x00000370u;
|
|
/* 021B6DCC */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 021B6DD0 */ _t15 = cpu->r[3] + 0x0000037Cu;
|
|
/* 021B6DD0 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 021B6DD4 */ return;
|
|
}
|
|
|
|
// fn_021B6DD8 @ 0x21b6dd8
|
|
void Gambit_fn_021B6DD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543;
|
|
|
|
L_021B6DD8: ; // 0x21b6dd8
|
|
/* 021B6DD8 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 021B6DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B6DD8 */ cpu->r[1] = _t0;
|
|
/* 021B6DDC */ /* nop */
|
|
/* 021B6DE0 */ _t1 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B6DE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B6DE4 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 021B6DE4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 021B6DE8 */ /* nop */
|
|
/* 021B6DEC */ _t3 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B6DEC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021B6DF0 */ /* nop */
|
|
/* 021B6DF4 */ cpu->r[25] = 0x10030000u;
|
|
/* 021B6DF8 */ cpu->r[24] = 0x10030000u;
|
|
/* 021B6DFC */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 021B6DFC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
|
|
/* 021B6E00 */ cpu->r[25] = cpu->r[25] + 0xFFFFA4ACu;
|
|
/* 021B6E04 */ cpu->r[0] = cpu->lr;
|
|
/* 021B6E08 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6E08 */ rbrew_write32(cpu->mem, _t5, cpu->r[25]);
|
|
/* 021B6E0C */ cpu->r[24] = cpu->r[24] + 0xFFFFA3F0u;
|
|
/* 021B6E10 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6E10 */ rbrew_write32(cpu->mem, _t6, cpu->r[24]);
|
|
/* 021B6E14 */ _t7 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B6E14 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]);
|
|
/* 021B6E18 */ _t8 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B6E18 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021B6E1C */ /* nop */
|
|
/* 021B6E20 */ _t9 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B6E20 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 021B6E24 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B6E28 */ _t10 = cpu->r[26] + 0x00000018u;
|
|
/* 021B6E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B6E2C */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 021B6E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B6E30 */ cpu->r[27] = cpu->r[26] + 0x00000014u;
|
|
/* 021B6E34 */ cpu->ctr = cpu->r[0];
|
|
/* 021B6E38 */ _t12 = cpu->r[26] + 0x00000014u;
|
|
/* 021B6E38 */ cpu->r[23] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B6E3C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B6E40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6E44 */ cpu->r[31] = 0x10110000u;
|
|
/* 021B6E48 */ _t13 = cpu->r[26] + 0x00000014u;
|
|
/* 021B6E48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B6E4C */ _t14 = cpu->r[31] + 0x00007399u;
|
|
/* 021B6E4C */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 021B6E50 */ cpu->r[28] = 0x00000000u;
|
|
/* 021B6E54 */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 021B6E54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 021B6E58 */ cpu->r[30] = cpu->r[28];
|
|
/* 021B6E5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B6E60 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B6E64 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6E64 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B6E64 */ if (_t17) goto L_021B6E8C; else goto L_021B6E68;
|
|
L_021B6E68: ; // 0x21b6e68
|
|
/* 021B6E68 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B6E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B6E70 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6E74 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6E74 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B6E74 */ if (_t19) goto L_021B6E88; else goto L_021B6E78;
|
|
L_021B6E78: ; // 0x21b6e78
|
|
/* 021B6E78 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 021B6E78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 021B6E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B6E80 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6E80 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B6E80 */ if (_t22) goto L_021B6E84; else goto L_021B6E68;
|
|
L_021B6E84: ; // 0x21b6e84
|
|
/* 021B6E84 */ goto L_021B6E8C;
|
|
L_021B6E88: ; // 0x21b6e88
|
|
/* 021B6E88 */ cpu->r[30] = 0x00000000u;
|
|
L_021B6E8C: ; // 0x21b6e8c
|
|
/* 021B6E8C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6E8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B6E90 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B6E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B6E94 */ _t24 = cpu->r[5] + 0x00000014u;
|
|
/* 021B6E94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B6E98 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6E98 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B6E98 */ if (_t26) goto L_021B6E9C; else goto L_021B6EA0;
|
|
L_021B6E9C: ; // 0x21b6e9c
|
|
/* 021B6E9C */ cpu->r[22] = 0x00000000u;
|
|
L_021B6EA0: ; // 0x21b6ea0
|
|
/* 021B6EA0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B6EA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6EA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6EAC */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6EAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B6EB0 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6EB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 021B6EB4 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B6EB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B6EBC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B6EC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6EC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B6EC0 */ if (_t30) goto L_021B6EE8; else goto L_021B6EC4;
|
|
L_021B6EC4: ; // 0x21b6ec4
|
|
/* 021B6EC4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B6EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B6ECC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B6ED0 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6ED0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B6ED0 */ if (_t32) goto L_021B6EE4; else goto L_021B6ED4;
|
|
L_021B6ED4: ; // 0x21b6ed4
|
|
/* 021B6ED4 */ _t33 = cpu->r[4] + 0x00000000u;
|
|
/* 021B6ED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 021B6ED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B6EDC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6EDC */ _t35 = _t34 & 0x00000001u;
|
|
/* 021B6EDC */ if (_t35) goto L_021B6EE0; else goto L_021B6EC4;
|
|
L_021B6EE0: ; // 0x21b6ee0
|
|
/* 021B6EE0 */ goto L_021B6EE8;
|
|
L_021B6EE4: ; // 0x21b6ee4
|
|
/* 021B6EE4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B6EE8: ; // 0x21b6ee8
|
|
/* 021B6EE8 */ _t36 = cpu->r[27] + 0x00000008u;
|
|
/* 021B6EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021B6EEC */ cpu->r[5] = cpu->r[11] - cpu->r[22];
|
|
/* 021B6EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B6EF4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6EF4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B6EF4 */ if (_t38) goto L_021B6EFC; else goto L_021B6EF8;
|
|
L_021B6EF8: ; // 0x21b6ef8
|
|
/* 021B6EF8 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021B6EFC: ; // 0x21b6efc
|
|
/* 021B6EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B6F00 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6F00 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B6F00 */ if (_t40) goto L_021B6F04; else goto L_021B6F40;
|
|
L_021B6F04: ; // 0x21b6f04
|
|
/* 021B6F04 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B6F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B6F08 */ _t42 = cpu->r[9] + 0x00000014u;
|
|
/* 021B6F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021B6F0C */ cpu->ctr = cpu->r[0];
|
|
/* 021B6F10 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B6F14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B6F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6F1C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 021B6F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B6F20 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B6F24 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B6F28 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B6F2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B6F30 */ cpu->r[8] = cpu->r[22] + cpu->r[29];
|
|
/* 021B6F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[30]);
|
|
/* 021B6F38 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6F38 */ _t45 = _t44 & 0x00000001u;
|
|
/* 021B6F38 */ if (_t45) goto L_021B6F3C; else goto L_021B6F40;
|
|
L_021B6F3C: ; // 0x21b6f3c
|
|
/* 021B6F3C */ _t46 = cpu->r[23] + cpu->r[8];
|
|
/* 021B6F3C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
L_021B6F40: ; // 0x21b6f40
|
|
/* 021B6F40 */ _t47 = cpu->r[27] + 0x00000044u;
|
|
/* 021B6F40 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 021B6F44 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B6F48 */ _t48 = cpu->r[27] + 0x00000044u;
|
|
/* 021B6F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B6F4C */ cpu->r[9] = 0x10030000u;
|
|
/* 021B6F50 */ _t49 = cpu->r[12] + 0xFFFFA470u;
|
|
/* 021B6F50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021B6F54 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B6F58 */ _t50 = cpu->r[11] + 0xFFFFA478u;
|
|
/* 021B6F58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021B6F5C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B6F60 */ _t51 = cpu->r[9] + 0xFFFFA47Cu;
|
|
/* 021B6F60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021B6F64 */ _t52 = cpu->r[10] + 0xFFFFA474u;
|
|
/* 021B6F64 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021B6F68 */ _t53 = cpu->r[27] + 0x00000040u;
|
|
/* 021B6F68 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 021B6F6C */ _t54 = cpu->r[27] + 0x00000034u;
|
|
/* 021B6F6C */ rbrew_write_f32(cpu->mem, _t54, cpu->f[6]);
|
|
/* 021B6F70 */ _t55 = cpu->r[27] + 0x00000038u;
|
|
/* 021B6F70 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[7]);
|
|
/* 021B6F74 */ _t56 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B6F74 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[31]);
|
|
/* 021B6F78 */ _t57 = cpu->r[27] + 0x00000030u;
|
|
/* 021B6F78 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[31]);
|
|
/* 021B6F7C */ _t58 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B6F7C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[31]);
|
|
/* 021B6F80 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 021B6F80 */ rbrew_write32(cpu->mem, _t59, cpu->r[25]);
|
|
/* 021B6F84 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6F84 */ rbrew_write32(cpu->mem, _t60, cpu->r[24]);
|
|
/* 021B6F88 */ _t61 = cpu->r[26] + 0x00000060u;
|
|
/* 021B6F88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021B6F8C */ _t62 = cpu->r[12] + 0x00000014u;
|
|
/* 021B6F8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021B6F90 */ cpu->r[27] = cpu->r[26] + 0x0000005Cu;
|
|
/* 021B6F94 */ cpu->ctr = cpu->r[4];
|
|
/* 021B6F98 */ _t63 = cpu->r[26] + 0x0000005Cu;
|
|
/* 021B6F98 */ cpu->r[23] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021B6F9C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B6FA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B6FA4 */ _t64 = cpu->r[26] + 0x0000005Cu;
|
|
/* 021B6FA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B6FA8 */ _t65 = cpu->r[9] + 0x00000000u;
|
|
/* 021B6FA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t65);
|
|
/* 021B6FAC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B6FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B6FB4 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B6FB8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6FB8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 021B6FB8 */ if (_t67) goto L_021B6FE0; else goto L_021B6FBC;
|
|
L_021B6FBC: ; // 0x21b6fbc
|
|
/* 021B6FBC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B6FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 021B6FC4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B6FC8 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B6FC8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 021B6FC8 */ if (_t69) goto L_021B6FDC; else goto L_021B6FCC;
|
|
L_021B6FCC: ; // 0x21b6fcc
|
|
/* 021B6FCC */ _t70 = cpu->r[9] + 0x00000000u;
|
|
/* 021B6FCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t70);
|
|
/* 021B6FD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B6FD4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B6FD4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 021B6FD4 */ if (_t72) goto L_021B6FD8; else goto L_021B6FBC;
|
|
L_021B6FD8: ; // 0x21b6fd8
|
|
/* 021B6FD8 */ goto L_021B6FE0;
|
|
L_021B6FDC: ; // 0x21b6fdc
|
|
/* 021B6FDC */ cpu->r[30] = 0x00000000u;
|
|
L_021B6FE0: ; // 0x21b6fe0
|
|
/* 021B6FE0 */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 021B6FE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 021B6FE4 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B6FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B6FE8 */ _t74 = cpu->r[7] + 0x00000014u;
|
|
/* 021B6FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B6FEC */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B6FEC */ _t76 = _t75 & 0x00000001u;
|
|
/* 021B6FEC */ if (_t76) goto L_021B6FF0; else goto L_021B6FF4;
|
|
L_021B6FF0: ; // 0x21b6ff0
|
|
/* 021B6FF0 */ cpu->r[22] = 0x00000000u;
|
|
L_021B6FF4: ; // 0x21b6ff4
|
|
/* 021B6FF4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B6FF8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B6FFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7000 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7000 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B7004 */ _t78 = cpu->r[5] + 0x00000000u;
|
|
/* 021B7004 */ cpu->r[9] = rbrew_read8(cpu->mem, _t78);
|
|
/* 021B7008 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B700C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B7010 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7014 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7014 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B7014 */ if (_t80) goto L_021B703C; else goto L_021B7018;
|
|
L_021B7018: ; // 0x21b7018
|
|
/* 021B7018 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B701C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B7020 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B7024 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7024 */ _t82 = _t81 & 0x00000001u;
|
|
/* 021B7024 */ if (_t82) goto L_021B7038; else goto L_021B7028;
|
|
L_021B7028: ; // 0x21b7028
|
|
/* 021B7028 */ _t83 = cpu->r[5] + 0x00000000u;
|
|
/* 021B7028 */ cpu->r[10] = rbrew_read8(cpu->mem, _t83);
|
|
/* 021B702C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B7030 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7030 */ _t85 = _t84 & 0x00000001u;
|
|
/* 021B7030 */ if (_t85) goto L_021B7034; else goto L_021B7018;
|
|
L_021B7034: ; // 0x21b7034
|
|
/* 021B7034 */ goto L_021B703C;
|
|
L_021B7038: ; // 0x21b7038
|
|
/* 021B7038 */ cpu->r[29] = 0x00000000u;
|
|
L_021B703C: ; // 0x21b703c
|
|
/* 021B703C */ _t86 = cpu->r[27] + 0x00000008u;
|
|
/* 021B703C */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B7040 */ cpu->r[6] = cpu->r[11] - cpu->r[22];
|
|
/* 021B7044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B7048 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7048 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B7048 */ if (_t88) goto L_021B7050; else goto L_021B704C;
|
|
L_021B704C: ; // 0x21b704c
|
|
/* 021B704C */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021B7050: ; // 0x21b7050
|
|
/* 021B7050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7054 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7054 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B7054 */ if (_t90) goto L_021B7058; else goto L_021B7094;
|
|
L_021B7058: ; // 0x21b7058
|
|
/* 021B7058 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7058 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B705C */ _t92 = cpu->r[11] + 0x00000014u;
|
|
/* 021B705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021B7060 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7064 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B7068 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B706C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7070 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021B7074 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7078 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B707C */ cpu->r[3] = cpu->r[21];
|
|
/* 021B7080 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7084 */ cpu->r[9] = cpu->r[22] + cpu->r[29];
|
|
/* 021B7088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[30]);
|
|
/* 021B708C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B708C */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B708C */ if (_t95) goto L_021B7090; else goto L_021B7094;
|
|
L_021B7090: ; // 0x21b7090
|
|
/* 021B7090 */ _t96 = cpu->r[23] + cpu->r[9];
|
|
/* 021B7090 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[31]);
|
|
L_021B7094: ; // 0x21b7094
|
|
/* 021B7094 */ _t97 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7094 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 021B7098 */ _t98 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 021B709C */ cpu->r[7] = 0x10030000u;
|
|
/* 021B70A0 */ _t99 = cpu->r[27] + 0x00000030u;
|
|
/* 021B70A0 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]);
|
|
/* 021B70A4 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B70A8 */ _t100 = cpu->r[7] + 0xFFFFA484u;
|
|
/* 021B70A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 021B70AC */ _t101 = cpu->r[8] + 0xFFFFA480u;
|
|
/* 021B70AC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021B70B0 */ _t102 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B70B0 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[31]);
|
|
/* 021B70B4 */ _t103 = cpu->r[27] + 0x00000038u;
|
|
/* 021B70B4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[30]);
|
|
/* 021B70B8 */ _t104 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B70B8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[31]);
|
|
/* 021B70BC */ _t105 = cpu->r[27] + 0x00000034u;
|
|
/* 021B70BC */ rbrew_write_f32(cpu->mem, _t105, cpu->f[30]);
|
|
/* 021B70C0 */ _t106 = cpu->r[27] + 0x00000040u;
|
|
/* 021B70C0 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[13]);
|
|
/* 021B70C4 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 021B70C4 */ rbrew_write32(cpu->mem, _t107, cpu->r[25]);
|
|
/* 021B70C8 */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B70C8 */ rbrew_write32(cpu->mem, _t108, cpu->r[24]);
|
|
/* 021B70CC */ _t109 = cpu->r[26] + 0x000000A8u;
|
|
/* 021B70CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B70D0 */ _t110 = cpu->r[4] + 0x00000014u;
|
|
/* 021B70D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B70D4 */ cpu->r[27] = cpu->r[26] + 0x000000A4u;
|
|
/* 021B70D8 */ cpu->ctr = cpu->r[5];
|
|
/* 021B70DC */ _t111 = cpu->r[26] + 0x000000A4u;
|
|
/* 021B70DC */ cpu->r[23] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021B70E0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B70E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B70E8 */ _t112 = cpu->r[26] + 0x000000A4u;
|
|
/* 021B70E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021B70EC */ _t113 = cpu->r[11] + 0x00000000u;
|
|
/* 021B70EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t113);
|
|
/* 021B70F0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B70F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B70F8 */ cpu->r[12] = 0x00080000u;
|
|
/* 021B70FC */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B70FC */ _t115 = _t114 & 0x00000001u;
|
|
/* 021B70FC */ if (_t115) goto L_021B7124; else goto L_021B7100;
|
|
L_021B7100: ; // 0x21b7100
|
|
/* 021B7100 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B7104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 021B7108 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B710C */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B710C */ _t117 = _t116 & 0x00000001u;
|
|
/* 021B710C */ if (_t117) goto L_021B7120; else goto L_021B7110;
|
|
L_021B7110: ; // 0x21b7110
|
|
/* 021B7110 */ _t118 = cpu->r[11] + 0x00000000u;
|
|
/* 021B7110 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 021B7114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7118 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7118 */ _t120 = _t119 & 0x00000001u;
|
|
/* 021B7118 */ if (_t120) goto L_021B711C; else goto L_021B7100;
|
|
L_021B711C: ; // 0x21b711c
|
|
/* 021B711C */ goto L_021B7124;
|
|
L_021B7120: ; // 0x21b7120
|
|
/* 021B7120 */ cpu->r[30] = 0x00000000u;
|
|
L_021B7124: ; // 0x21b7124
|
|
/* 021B7124 */ _t121 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B7128 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B7128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B712C */ _t122 = cpu->r[8] + 0x00000014u;
|
|
/* 021B712C */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021B7130 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7130 */ _t124 = _t123 & 0x00000001u;
|
|
/* 021B7130 */ if (_t124) goto L_021B7134; else goto L_021B7138;
|
|
L_021B7134: ; // 0x21b7134
|
|
/* 021B7134 */ cpu->r[22] = 0x00000000u;
|
|
L_021B7138: ; // 0x21b7138
|
|
/* 021B7138 */ cpu->ctr = cpu->r[0];
|
|
/* 021B713C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B7140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7144 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 021B7144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B7148 */ _t126 = cpu->r[9] + 0x00000000u;
|
|
/* 021B7148 */ cpu->r[10] = rbrew_read8(cpu->mem, _t126);
|
|
/* 021B714C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B7154 */ cpu->r[10] = 0x00080000u;
|
|
/* 021B7158 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7158 */ _t128 = _t127 & 0x00000001u;
|
|
/* 021B7158 */ if (_t128) goto L_021B7180; else goto L_021B715C;
|
|
L_021B715C: ; // 0x21b715c
|
|
/* 021B715C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B7164 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B7168 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7168 */ _t130 = _t129 & 0x00000001u;
|
|
/* 021B7168 */ if (_t130) goto L_021B717C; else goto L_021B716C;
|
|
L_021B716C: ; // 0x21b716c
|
|
/* 021B716C */ _t131 = cpu->r[9] + 0x00000000u;
|
|
/* 021B716C */ cpu->r[0] = rbrew_read8(cpu->mem, _t131);
|
|
/* 021B7170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7174 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7174 */ _t133 = _t132 & 0x00000001u;
|
|
/* 021B7174 */ if (_t133) goto L_021B7178; else goto L_021B715C;
|
|
L_021B7178: ; // 0x21b7178
|
|
/* 021B7178 */ goto L_021B7180;
|
|
L_021B717C: ; // 0x21b717c
|
|
/* 021B717C */ cpu->r[29] = 0x00000000u;
|
|
L_021B7180: ; // 0x21b7180
|
|
/* 021B7180 */ _t134 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t134);
|
|
/* 021B7184 */ cpu->r[8] = cpu->r[11] - cpu->r[22];
|
|
/* 021B7188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 021B718C */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B718C */ _t136 = _t135 & 0x00000001u;
|
|
/* 021B718C */ if (_t136) goto L_021B7194; else goto L_021B7190;
|
|
L_021B7190: ; // 0x21b7190
|
|
/* 021B7190 */ cpu->r[29] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021B7194: ; // 0x21b7194
|
|
/* 021B7194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7198 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7198 */ _t138 = _t137 & 0x00000001u;
|
|
/* 021B7198 */ if (_t138) goto L_021B719C; else goto L_021B71D8;
|
|
L_021B719C: ; // 0x21b719c
|
|
/* 021B719C */ _t139 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B719C */ cpu->r[12] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021B71A0 */ _t140 = cpu->r[12] + 0x00000014u;
|
|
/* 021B71A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
|
|
/* 021B71A4 */ cpu->ctr = cpu->r[4];
|
|
/* 021B71A8 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B71AC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021B71B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B71B4 */ _t141 = cpu->r[1] + 0x00000018u;
|
|
/* 021B71B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t141);
|
|
/* 021B71B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B71BC */ cpu->r[5] = cpu->r[29];
|
|
/* 021B71C0 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B71C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B71C8 */ cpu->r[0] = cpu->r[22] + cpu->r[29];
|
|
/* 021B71CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B71D0 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B71D0 */ _t143 = _t142 & 0x00000001u;
|
|
/* 021B71D0 */ if (_t143) goto L_021B71D4; else goto L_021B71D8;
|
|
L_021B71D4: ; // 0x21b71d4
|
|
/* 021B71D4 */ _t144 = cpu->r[23] + cpu->r[0];
|
|
/* 021B71D4 */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[31]);
|
|
L_021B71D8: ; // 0x21b71d8
|
|
/* 021B71D8 */ _t145 = cpu->r[27] + 0x00000044u;
|
|
/* 021B71D8 */ rbrew_write32(cpu->mem, _t145, cpu->r[28]);
|
|
/* 021B71DC */ _t146 = cpu->r[27] + 0x00000044u;
|
|
/* 021B71DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 021B71E0 */ _t147 = cpu->r[27] + 0x00000038u;
|
|
/* 021B71E0 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[31]);
|
|
/* 021B71E4 */ _t148 = cpu->r[27] + 0x00000034u;
|
|
/* 021B71E4 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[31]);
|
|
/* 021B71E8 */ _t149 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B71E8 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[30]);
|
|
/* 021B71EC */ _t150 = cpu->r[27] + 0x00000030u;
|
|
/* 021B71EC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[31]);
|
|
/* 021B71F0 */ _t151 = cpu->r[27] + 0x00000040u;
|
|
/* 021B71F0 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[30]);
|
|
/* 021B71F4 */ _t152 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B71F4 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[31]);
|
|
/* 021B71F8 */ _t153 = cpu->r[1] + 0x00000020u;
|
|
/* 021B71F8 */ rbrew_write32(cpu->mem, _t153, cpu->r[25]);
|
|
/* 021B71FC */ _t154 = cpu->r[1] + 0x00000024u;
|
|
/* 021B71FC */ rbrew_write32(cpu->mem, _t154, cpu->r[24]);
|
|
/* 021B7200 */ _t155 = cpu->r[26] + 0x000000F0u;
|
|
/* 021B7200 */ cpu->r[6] = rbrew_read32(cpu->mem, _t155);
|
|
/* 021B7204 */ _t156 = cpu->r[6] + 0x00000014u;
|
|
/* 021B7204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 021B7208 */ cpu->r[27] = cpu->r[26] + 0x000000ECu;
|
|
/* 021B720C */ cpu->ctr = cpu->r[0];
|
|
/* 021B7210 */ _t157 = cpu->r[26] + 0x000000ECu;
|
|
/* 021B7210 */ cpu->r[23] = rbrew_read32(cpu->mem, _t157);
|
|
/* 021B7214 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B7218 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B721C */ _t158 = cpu->r[26] + 0x000000ECu;
|
|
/* 021B721C */ cpu->r[4] = rbrew_read32(cpu->mem, _t158);
|
|
/* 021B7220 */ _t159 = cpu->r[4] + 0x00000000u;
|
|
/* 021B7220 */ cpu->r[8] = rbrew_read8(cpu->mem, _t159);
|
|
/* 021B7224 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B7228 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B722C */ cpu->r[6] = 0x00080000u;
|
|
/* 021B7230 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7230 */ _t161 = _t160 & 0x00000001u;
|
|
/* 021B7230 */ if (_t161) goto L_021B7258; else goto L_021B7234;
|
|
L_021B7234: ; // 0x21b7234
|
|
/* 021B7234 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B7238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B723C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B7240 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7240 */ _t163 = _t162 & 0x00000001u;
|
|
/* 021B7240 */ if (_t163) goto L_021B7254; else goto L_021B7244;
|
|
L_021B7244: ; // 0x21b7244
|
|
/* 021B7244 */ _t164 = cpu->r[4] + 0x00000000u;
|
|
/* 021B7244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t164);
|
|
/* 021B7248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B724C */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B724C */ _t166 = _t165 & 0x00000001u;
|
|
/* 021B724C */ if (_t166) goto L_021B7250; else goto L_021B7234;
|
|
L_021B7250: ; // 0x21b7250
|
|
/* 021B7250 */ goto L_021B7258;
|
|
L_021B7254: ; // 0x21b7254
|
|
/* 021B7254 */ cpu->r[30] = 0x00000000u;
|
|
L_021B7258: ; // 0x21b7258
|
|
/* 021B7258 */ _t167 = cpu->r[1] + 0x00000024u;
|
|
/* 021B7258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t167);
|
|
/* 021B725C */ cpu->r[22] = cpu->r[30];
|
|
/* 021B725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B7260 */ _t168 = cpu->r[10] + 0x00000014u;
|
|
/* 021B7260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t168);
|
|
/* 021B7264 */ _t169 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7264 */ _t170 = _t169 & 0x00000001u;
|
|
/* 021B7264 */ if (_t170) goto L_021B7268; else goto L_021B726C;
|
|
L_021B7268: ; // 0x21b7268
|
|
/* 021B7268 */ cpu->r[22] = 0x00000000u;
|
|
L_021B726C: ; // 0x21b726c
|
|
/* 021B726C */ cpu->ctr = cpu->r[0];
|
|
/* 021B7270 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B7274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7278 */ _t171 = cpu->r[1] + 0x00000020u;
|
|
/* 021B7278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021B727C */ _t172 = cpu->r[9] + 0x00000000u;
|
|
/* 021B727C */ cpu->r[12] = rbrew_read8(cpu->mem, _t172);
|
|
/* 021B7280 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B7284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 021B7288 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B728C */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B728C */ _t174 = _t173 & 0x00000001u;
|
|
/* 021B728C */ if (_t174) goto L_021B72B4; else goto L_021B7290;
|
|
L_021B7290: ; // 0x21b7290
|
|
/* 021B7290 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B7298 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B729C */ _t175 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B729C */ _t176 = _t175 & 0x00000001u;
|
|
/* 021B729C */ if (_t176) goto L_021B72B0; else goto L_021B72A0;
|
|
L_021B72A0: ; // 0x21b72a0
|
|
/* 021B72A0 */ _t177 = cpu->r[9] + 0x00000000u;
|
|
/* 021B72A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t177);
|
|
/* 021B72A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B72A8 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B72A8 */ _t179 = _t178 & 0x00000001u;
|
|
/* 021B72A8 */ if (_t179) goto L_021B72AC; else goto L_021B7290;
|
|
L_021B72AC: ; // 0x21b72ac
|
|
/* 021B72AC */ goto L_021B72B4;
|
|
L_021B72B0: ; // 0x21b72b0
|
|
/* 021B72B0 */ cpu->r[29] = 0x00000000u;
|
|
L_021B72B4: ; // 0x21b72b4
|
|
/* 021B72B4 */ _t180 = cpu->r[27] + 0x00000008u;
|
|
/* 021B72B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t180);
|
|
/* 021B72B8 */ cpu->r[9] = cpu->r[11] - cpu->r[22];
|
|
/* 021B72BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 021B72C0 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B72C0 */ _t182 = _t181 & 0x00000001u;
|
|
/* 021B72C0 */ if (_t182) goto L_021B72C8; else goto L_021B72C4;
|
|
L_021B72C4: ; // 0x21b72c4
|
|
/* 021B72C4 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B72C8: ; // 0x21b72c8
|
|
/* 021B72C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B72CC */ _t183 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B72CC */ _t184 = _t183 & 0x00000001u;
|
|
/* 021B72CC */ if (_t184) goto L_021B72D0; else goto L_021B730C;
|
|
L_021B72D0: ; // 0x21b72d0
|
|
/* 021B72D0 */ _t185 = cpu->r[1] + 0x00000024u;
|
|
/* 021B72D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t185);
|
|
/* 021B72D4 */ _t186 = cpu->r[4] + 0x00000014u;
|
|
/* 021B72D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t186);
|
|
/* 021B72D8 */ cpu->ctr = cpu->r[5];
|
|
/* 021B72DC */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B72E0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 021B72E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B72E8 */ _t187 = cpu->r[1] + 0x00000020u;
|
|
/* 021B72E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t187);
|
|
/* 021B72EC */ cpu->r[6] = 0x00000000u;
|
|
/* 021B72F0 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B72F4 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B72F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B72FC */ cpu->r[11] = cpu->r[22] + cpu->r[29];
|
|
/* 021B7300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
|
|
/* 021B7304 */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7304 */ _t189 = _t188 & 0x00000001u;
|
|
/* 021B7304 */ if (_t189) goto L_021B7308; else goto L_021B730C;
|
|
L_021B7308: ; // 0x21b7308
|
|
/* 021B7308 */ _t190 = cpu->r[23] + cpu->r[11];
|
|
/* 021B7308 */ rbrew_write8(cpu->mem, _t190, (uint8_t)cpu->r[31]);
|
|
L_021B730C: ; // 0x21b730c
|
|
/* 021B730C */ _t191 = cpu->r[27] + 0x00000044u;
|
|
/* 021B730C */ rbrew_write32(cpu->mem, _t191, cpu->r[28]);
|
|
/* 021B7310 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B7314 */ _t192 = cpu->r[6] + 0xFFFFA488u;
|
|
/* 021B7314 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 021B7318 */ _t193 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7318 */ rbrew_write_f32(cpu->mem, _t193, cpu->f[31]);
|
|
/* 021B731C */ _t194 = cpu->r[27] + 0x00000040u;
|
|
/* 021B731C */ rbrew_write_f32(cpu->mem, _t194, cpu->f[12]);
|
|
/* 021B7320 */ _t195 = cpu->r[27] + 0x00000034u;
|
|
/* 021B7320 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[31]);
|
|
/* 021B7324 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B7328 */ _t196 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7328 */ rbrew_write_f32(cpu->mem, _t196, cpu->f[12]);
|
|
/* 021B732C */ cpu->r[7] = cpu->r[7] + 0xFFFFA4D8u;
|
|
/* 021B7330 */ _t197 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7330 */ rbrew_write_f32(cpu->mem, _t197, cpu->f[31]);
|
|
/* 021B7334 */ _t198 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7334 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[31]);
|
|
/* 021B7338 */ _t199 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t199);
|
|
/* 021B733C */ _t200 = cpu->r[1] + 0x00000028u;
|
|
/* 021B733C */ rbrew_write32(cpu->mem, _t200, cpu->r[7]);
|
|
/* 021B7340 */ _t201 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B7340 */ rbrew_write32(cpu->mem, _t201, cpu->r[24]);
|
|
/* 021B7344 */ _t202 = cpu->r[26] + 0x00000138u;
|
|
/* 021B7344 */ cpu->r[8] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021B7348 */ _t203 = cpu->r[8] + 0x00000014u;
|
|
/* 021B7348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t203);
|
|
/* 021B734C */ cpu->r[27] = cpu->r[26] + 0x00000134u;
|
|
/* 021B7350 */ cpu->ctr = cpu->r[9];
|
|
/* 021B7354 */ _t204 = cpu->r[26] + 0x00000134u;
|
|
/* 021B7354 */ cpu->r[23] = rbrew_read32(cpu->mem, _t204);
|
|
/* 021B7358 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B735C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7360 */ _t205 = cpu->r[26] + 0x00000134u;
|
|
/* 021B7360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t205);
|
|
/* 021B7364 */ _t206 = cpu->r[4] + 0x00000000u;
|
|
/* 021B7364 */ cpu->r[10] = rbrew_read8(cpu->mem, _t206);
|
|
/* 021B7368 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B7370 */ cpu->r[6] = 0x00080000u;
|
|
/* 021B7374 */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7374 */ _t208 = _t207 & 0x00000001u;
|
|
/* 021B7374 */ if (_t208) goto L_021B739C; else goto L_021B7378;
|
|
L_021B7378: ; // 0x21b7378
|
|
/* 021B7378 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021B7380 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 021B7384 */ _t209 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7384 */ _t210 = _t209 & 0x00000001u;
|
|
/* 021B7384 */ if (_t210) goto L_021B7398; else goto L_021B7388;
|
|
L_021B7388: ; // 0x21b7388
|
|
/* 021B7388 */ _t211 = cpu->r[4] + 0x00000000u;
|
|
/* 021B7388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t211);
|
|
/* 021B738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7390 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7390 */ _t213 = _t212 & 0x00000001u;
|
|
/* 021B7390 */ if (_t213) goto L_021B7394; else goto L_021B7378;
|
|
L_021B7394: ; // 0x21b7394
|
|
/* 021B7394 */ goto L_021B739C;
|
|
L_021B7398: ; // 0x21b7398
|
|
/* 021B7398 */ cpu->r[30] = 0x00000000u;
|
|
L_021B739C: ; // 0x21b739c
|
|
/* 021B739C */ _t214 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B739C */ cpu->r[12] = rbrew_read32(cpu->mem, _t214);
|
|
/* 021B73A0 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B73A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B73A4 */ _t215 = cpu->r[12] + 0x00000014u;
|
|
/* 021B73A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t215);
|
|
/* 021B73A8 */ _t216 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B73A8 */ _t217 = _t216 & 0x00000001u;
|
|
/* 021B73A8 */ if (_t217) goto L_021B73AC; else goto L_021B73B0;
|
|
L_021B73AC: ; // 0x21b73ac
|
|
/* 021B73AC */ cpu->r[22] = 0x00000000u;
|
|
L_021B73B0: ; // 0x21b73b0
|
|
/* 021B73B0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B73B4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B73B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B73BC */ _t218 = cpu->r[1] + 0x00000028u;
|
|
/* 021B73BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t218);
|
|
/* 021B73C0 */ _t219 = cpu->r[9] + 0x00000000u;
|
|
/* 021B73C0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t219);
|
|
/* 021B73C4 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B73C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B73CC */ cpu->r[29] = 0x00000000u;
|
|
/* 021B73D0 */ _t220 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B73D0 */ _t221 = _t220 & 0x00000001u;
|
|
/* 021B73D0 */ if (_t221) goto L_021B73F8; else goto L_021B73D4;
|
|
L_021B73D4: ; // 0x21b73d4
|
|
/* 021B73D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B73D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B73DC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021B73E0 */ _t222 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B73E0 */ _t223 = _t222 & 0x00000001u;
|
|
/* 021B73E0 */ if (_t223) goto L_021B73F4; else goto L_021B73E4;
|
|
L_021B73E4: ; // 0x21b73e4
|
|
/* 021B73E4 */ _t224 = cpu->r[9] + 0x00000000u;
|
|
/* 021B73E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t224);
|
|
/* 021B73E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B73EC */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B73EC */ _t226 = _t225 & 0x00000001u;
|
|
/* 021B73EC */ if (_t226) goto L_021B73F0; else goto L_021B73D4;
|
|
L_021B73F0: ; // 0x21b73f0
|
|
/* 021B73F0 */ goto L_021B73F8;
|
|
L_021B73F4: ; // 0x21b73f4
|
|
/* 021B73F4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B73F8: ; // 0x21b73f8
|
|
/* 021B73F8 */ _t227 = cpu->r[27] + 0x00000008u;
|
|
/* 021B73F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t227);
|
|
/* 021B73FC */ cpu->r[10] = cpu->r[11] - cpu->r[22];
|
|
/* 021B7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 021B7404 */ _t228 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7404 */ _t229 = _t228 & 0x00000001u;
|
|
/* 021B7404 */ if (_t229) goto L_021B740C; else goto L_021B7408;
|
|
L_021B7408: ; // 0x21b7408
|
|
/* 021B7408 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_021B740C: ; // 0x21b740c
|
|
/* 021B740C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7410 */ _t230 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7410 */ _t231 = _t230 & 0x00000001u;
|
|
/* 021B7410 */ if (_t231) goto L_021B7414; else goto L_021B7450;
|
|
L_021B7414: ; // 0x21b7414
|
|
/* 021B7414 */ _t232 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B7414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t232);
|
|
/* 021B7418 */ _t233 = cpu->r[7] + 0x00000014u;
|
|
/* 021B7418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t233);
|
|
/* 021B741C */ cpu->ctr = cpu->r[8];
|
|
/* 021B7420 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B7424 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021B7428 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B742C */ _t234 = cpu->r[1] + 0x00000028u;
|
|
/* 021B742C */ cpu->r[4] = rbrew_read32(cpu->mem, _t234);
|
|
/* 021B7430 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7434 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7438 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B743C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7440 */ cpu->r[12] = cpu->r[22] + cpu->r[29];
|
|
/* 021B7444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
|
|
/* 021B7448 */ _t235 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7448 */ _t236 = _t235 & 0x00000001u;
|
|
/* 021B7448 */ if (_t236) goto L_021B744C; else goto L_021B7450;
|
|
L_021B744C: ; // 0x21b744c
|
|
/* 021B744C */ _t237 = cpu->r[23] + cpu->r[12];
|
|
/* 021B744C */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[31]);
|
|
L_021B7450: ; // 0x21b7450
|
|
/* 021B7450 */ _t238 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7450 */ rbrew_write_f32(cpu->mem, _t238, cpu->f[31]);
|
|
/* 021B7454 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B7458 */ _t239 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7458 */ rbrew_write_f32(cpu->mem, _t239, cpu->f[31]);
|
|
/* 021B745C */ cpu->r[5] = 0x10030000u;
|
|
/* 021B7460 */ _t240 = cpu->r[4] + 0xFFFFA490u;
|
|
/* 021B7460 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 021B7464 */ cpu->r[9] = 0x00000001u;
|
|
/* 021B7468 */ _t241 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7468 */ rbrew_write_f32(cpu->mem, _t241, cpu->f[31]);
|
|
/* 021B746C */ _t242 = cpu->r[5] + 0xFFFFA48Cu;
|
|
/* 021B746C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t242);
|
|
/* 021B7470 */ _t243 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7470 */ rbrew_write32(cpu->mem, _t243, cpu->r[9]);
|
|
/* 021B7474 */ _t244 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t244);
|
|
/* 021B7478 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B747C */ _t245 = cpu->r[27] + 0x00000034u;
|
|
/* 021B747C */ rbrew_write_f32(cpu->mem, _t245, cpu->f[30]);
|
|
/* 021B7480 */ _t246 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7480 */ rbrew_write_f32(cpu->mem, _t246, cpu->f[29]);
|
|
/* 021B7484 */ _t247 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7484 */ rbrew_write_f32(cpu->mem, _t247, cpu->f[31]);
|
|
/* 021B7488 */ cpu->r[0] = cpu->r[0] + 0xFFFFA4B8u;
|
|
/* 021B748C */ _t248 = cpu->r[1] + 0x00000034u;
|
|
/* 021B748C */ rbrew_write32(cpu->mem, _t248, cpu->r[24]);
|
|
/* 021B7490 */ _t249 = cpu->r[1] + 0x00000030u;
|
|
/* 021B7490 */ rbrew_write32(cpu->mem, _t249, cpu->r[0]);
|
|
/* 021B7494 */ _t250 = cpu->r[26] + 0x00000180u;
|
|
/* 021B7494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t250);
|
|
/* 021B7498 */ _t251 = cpu->r[12] + 0x00000014u;
|
|
/* 021B7498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t251);
|
|
/* 021B749C */ cpu->r[27] = cpu->r[26] + 0x0000017Cu;
|
|
/* 021B74A0 */ cpu->ctr = cpu->r[0];
|
|
/* 021B74A4 */ _t252 = cpu->r[26] + 0x0000017Cu;
|
|
/* 021B74A4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t252);
|
|
/* 021B74A8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B74AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B74B0 */ _t253 = cpu->r[26] + 0x0000017Cu;
|
|
/* 021B74B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t253);
|
|
/* 021B74B4 */ _t254 = cpu->r[6] + 0x00000000u;
|
|
/* 021B74B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t254);
|
|
/* 021B74B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B74BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021B74C0 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B74C4 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B74C4 */ _t256 = _t255 & 0x00000001u;
|
|
/* 021B74C4 */ if (_t256) goto L_021B74EC; else goto L_021B74C8;
|
|
L_021B74C8: ; // 0x21b74c8
|
|
/* 021B74C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B74CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B74D0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B74D4 */ _t257 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B74D4 */ _t258 = _t257 & 0x00000001u;
|
|
/* 021B74D4 */ if (_t258) goto L_021B74E8; else goto L_021B74D8;
|
|
L_021B74D8: ; // 0x21b74d8
|
|
/* 021B74D8 */ _t259 = cpu->r[6] + 0x00000000u;
|
|
/* 021B74D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t259);
|
|
/* 021B74DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B74E0 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B74E0 */ _t261 = _t260 & 0x00000001u;
|
|
/* 021B74E0 */ if (_t261) goto L_021B74E4; else goto L_021B74C8;
|
|
L_021B74E4: ; // 0x21b74e4
|
|
/* 021B74E4 */ goto L_021B74EC;
|
|
L_021B74E8: ; // 0x21b74e8
|
|
/* 021B74E8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B74EC: ; // 0x21b74ec
|
|
/* 021B74EC */ _t262 = cpu->r[1] + 0x00000034u;
|
|
/* 021B74EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t262);
|
|
/* 021B74F0 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B74F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B74F4 */ _t263 = cpu->r[6] + 0x00000014u;
|
|
/* 021B74F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 021B74F8 */ _t264 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B74F8 */ _t265 = _t264 & 0x00000001u;
|
|
/* 021B74F8 */ if (_t265) goto L_021B74FC; else goto L_021B7500;
|
|
L_021B74FC: ; // 0x21b74fc
|
|
/* 021B74FC */ cpu->r[22] = 0x00000000u;
|
|
L_021B7500: ; // 0x21b7500
|
|
/* 021B7500 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7504 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B7508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B750C */ _t266 = cpu->r[1] + 0x00000030u;
|
|
/* 021B750C */ cpu->r[12] = rbrew_read32(cpu->mem, _t266);
|
|
/* 021B7510 */ _t267 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7510 */ cpu->r[8] = rbrew_read8(cpu->mem, _t267);
|
|
/* 021B7514 */ cpu->r[5] = 0x00080000u;
|
|
/* 021B7518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B751C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7520 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7520 */ _t269 = _t268 & 0x00000001u;
|
|
/* 021B7520 */ if (_t269) goto L_021B7548; else goto L_021B7524;
|
|
L_021B7524: ; // 0x21b7524
|
|
/* 021B7524 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B752C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B7530 */ _t270 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7530 */ _t271 = _t270 & 0x00000001u;
|
|
/* 021B7530 */ if (_t271) goto L_021B7544; else goto L_021B7534;
|
|
L_021B7534: ; // 0x21b7534
|
|
/* 021B7534 */ _t272 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7534 */ cpu->r[9] = rbrew_read8(cpu->mem, _t272);
|
|
/* 021B7538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B753C */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B753C */ _t274 = _t273 & 0x00000001u;
|
|
/* 021B753C */ if (_t274) goto L_021B7540; else goto L_021B7524;
|
|
L_021B7540: ; // 0x21b7540
|
|
/* 021B7540 */ goto L_021B7548;
|
|
L_021B7544: ; // 0x21b7544
|
|
/* 021B7544 */ cpu->r[29] = 0x00000000u;
|
|
L_021B7548: ; // 0x21b7548
|
|
/* 021B7548 */ _t275 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7548 */ cpu->r[11] = rbrew_read32(cpu->mem, _t275);
|
|
/* 021B754C */ cpu->r[11] = cpu->r[11] - cpu->r[22];
|
|
/* 021B7550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B7554 */ _t276 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7554 */ _t277 = _t276 & 0x00000001u;
|
|
/* 021B7554 */ if (_t277) goto L_021B755C; else goto L_021B7558;
|
|
L_021B7558: ; // 0x21b7558
|
|
/* 021B7558 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_021B755C: ; // 0x21b755c
|
|
/* 021B755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7560 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7560 */ _t279 = _t278 & 0x00000001u;
|
|
/* 021B7560 */ if (_t279) goto L_021B7564; else goto L_021B75A0;
|
|
L_021B7564: ; // 0x21b7564
|
|
/* 021B7564 */ _t280 = cpu->r[1] + 0x00000034u;
|
|
/* 021B7564 */ cpu->r[10] = rbrew_read32(cpu->mem, _t280);
|
|
/* 021B7568 */ _t281 = cpu->r[10] + 0x00000014u;
|
|
/* 021B7568 */ cpu->r[11] = rbrew_read32(cpu->mem, _t281);
|
|
/* 021B756C */ cpu->ctr = cpu->r[11];
|
|
/* 021B7570 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B7574 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 021B7578 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B757C */ _t282 = cpu->r[1] + 0x00000030u;
|
|
/* 021B757C */ cpu->r[4] = rbrew_read32(cpu->mem, _t282);
|
|
/* 021B7580 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7584 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7588 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B758C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7590 */ cpu->r[0] = cpu->r[22] + cpu->r[29];
|
|
/* 021B7594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 021B7598 */ _t283 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7598 */ _t284 = _t283 & 0x00000001u;
|
|
/* 021B7598 */ if (_t284) goto L_021B759C; else goto L_021B75A0;
|
|
L_021B759C: ; // 0x21b759c
|
|
/* 021B759C */ _t285 = cpu->r[23] + cpu->r[0];
|
|
/* 021B759C */ rbrew_write8(cpu->mem, _t285, (uint8_t)cpu->r[31]);
|
|
L_021B75A0: ; // 0x21b75a0
|
|
/* 021B75A0 */ _t286 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B75A0 */ rbrew_write_f32(cpu->mem, _t286, cpu->f[31]);
|
|
/* 021B75A4 */ cpu->r[12] = 0x00000001u;
|
|
/* 021B75A8 */ _t287 = cpu->r[27] + 0x00000034u;
|
|
/* 021B75A8 */ rbrew_write_f32(cpu->mem, _t287, cpu->f[30]);
|
|
/* 021B75AC */ _t288 = cpu->r[27] + 0x00000044u;
|
|
/* 021B75AC */ rbrew_write32(cpu->mem, _t288, cpu->r[12]);
|
|
/* 021B75B0 */ _t289 = cpu->r[27] + 0x00000044u;
|
|
/* 021B75B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t289);
|
|
/* 021B75B4 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B75B8 */ _t290 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B75B8 */ rbrew_write_f32(cpu->mem, _t290, cpu->f[31]);
|
|
/* 021B75BC */ cpu->r[4] = cpu->r[4] + 0xFFFFA4B0u;
|
|
/* 021B75C0 */ _t291 = cpu->r[27] + 0x00000030u;
|
|
/* 021B75C0 */ rbrew_write_f32(cpu->mem, _t291, cpu->f[31]);
|
|
/* 021B75C4 */ _t292 = cpu->r[27] + 0x00000038u;
|
|
/* 021B75C4 */ rbrew_write_f32(cpu->mem, _t292, cpu->f[31]);
|
|
/* 021B75C8 */ _t293 = cpu->r[27] + 0x00000040u;
|
|
/* 021B75C8 */ rbrew_write_f32(cpu->mem, _t293, cpu->f[29]);
|
|
/* 021B75CC */ _t294 = cpu->r[1] + 0x00000038u;
|
|
/* 021B75CC */ rbrew_write32(cpu->mem, _t294, cpu->r[4]);
|
|
/* 021B75D0 */ _t295 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B75D0 */ rbrew_write32(cpu->mem, _t295, cpu->r[24]);
|
|
/* 021B75D4 */ _t296 = cpu->r[26] + 0x000001C8u;
|
|
/* 021B75D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t296);
|
|
/* 021B75D8 */ _t297 = cpu->r[5] + 0x00000014u;
|
|
/* 021B75D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t297);
|
|
/* 021B75DC */ cpu->r[27] = cpu->r[26] + 0x000001C4u;
|
|
/* 021B75E0 */ cpu->ctr = cpu->r[6];
|
|
/* 021B75E4 */ _t298 = cpu->r[26] + 0x000001C4u;
|
|
/* 021B75E4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t298);
|
|
/* 021B75E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B75EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B75F0 */ _t299 = cpu->r[26] + 0x000001C4u;
|
|
/* 021B75F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t299);
|
|
/* 021B75F4 */ _t300 = cpu->r[6] + 0x00000000u;
|
|
/* 021B75F4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t300);
|
|
/* 021B75F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B75FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 021B7600 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B7604 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7604 */ _t302 = _t301 & 0x00000001u;
|
|
/* 021B7604 */ if (_t302) goto L_021B762C; else goto L_021B7608;
|
|
L_021B7608: ; // 0x21b7608
|
|
/* 021B7608 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B760C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B7610 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B7614 */ _t303 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7614 */ _t304 = _t303 & 0x00000001u;
|
|
/* 021B7614 */ if (_t304) goto L_021B7628; else goto L_021B7618;
|
|
L_021B7618: ; // 0x21b7618
|
|
/* 021B7618 */ _t305 = cpu->r[6] + 0x00000000u;
|
|
/* 021B7618 */ cpu->r[0] = rbrew_read8(cpu->mem, _t305);
|
|
/* 021B761C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7620 */ _t306 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7620 */ _t307 = _t306 & 0x00000001u;
|
|
/* 021B7620 */ if (_t307) goto L_021B7624; else goto L_021B7608;
|
|
L_021B7624: ; // 0x21b7624
|
|
/* 021B7624 */ goto L_021B762C;
|
|
L_021B7628: ; // 0x21b7628
|
|
/* 021B7628 */ cpu->r[30] = 0x00000000u;
|
|
L_021B762C: ; // 0x21b762c
|
|
/* 021B762C */ _t308 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B762C */ cpu->r[9] = rbrew_read32(cpu->mem, _t308);
|
|
/* 021B7630 */ cpu->r[22] = cpu->r[30];
|
|
/* 021B7630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021B7634 */ _t309 = cpu->r[9] + 0x00000014u;
|
|
/* 021B7634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t309);
|
|
/* 021B7638 */ _t310 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7638 */ _t311 = _t310 & 0x00000001u;
|
|
/* 021B7638 */ if (_t311) goto L_021B763C; else goto L_021B7640;
|
|
L_021B763C: ; // 0x21b763c
|
|
/* 021B763C */ cpu->r[22] = 0x00000000u;
|
|
L_021B7640: ; // 0x21b7640
|
|
/* 021B7640 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7644 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B7648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B764C */ _t312 = cpu->r[1] + 0x00000038u;
|
|
/* 021B764C */ cpu->r[11] = rbrew_read32(cpu->mem, _t312);
|
|
/* 021B7650 */ _t313 = cpu->r[11] + 0x00000000u;
|
|
/* 021B7650 */ cpu->r[0] = rbrew_read8(cpu->mem, _t313);
|
|
/* 021B7654 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B765C */ cpu->r[0] = 0x00080000u;
|
|
/* 021B7660 */ _t314 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7660 */ _t315 = _t314 & 0x00000001u;
|
|
/* 021B7660 */ if (_t315) goto L_021B7688; else goto L_021B7664;
|
|
L_021B7664: ; // 0x21b7664
|
|
/* 021B7664 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 021B766C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B7670 */ _t316 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7670 */ _t317 = _t316 & 0x00000001u;
|
|
/* 021B7670 */ if (_t317) goto L_021B7684; else goto L_021B7674;
|
|
L_021B7674: ; // 0x21b7674
|
|
/* 021B7674 */ _t318 = cpu->r[11] + 0x00000000u;
|
|
/* 021B7674 */ cpu->r[5] = rbrew_read8(cpu->mem, _t318);
|
|
/* 021B7678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B767C */ _t319 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B767C */ _t320 = _t319 & 0x00000001u;
|
|
/* 021B767C */ if (_t320) goto L_021B7680; else goto L_021B7664;
|
|
L_021B7680: ; // 0x21b7680
|
|
/* 021B7680 */ goto L_021B7688;
|
|
L_021B7684: ; // 0x21b7684
|
|
/* 021B7684 */ cpu->r[29] = 0x00000000u;
|
|
L_021B7688: ; // 0x21b7688
|
|
/* 021B7688 */ _t321 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t321);
|
|
/* 021B768C */ cpu->r[12] = cpu->r[11] - cpu->r[22];
|
|
/* 021B7690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 021B7694 */ _t322 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7694 */ _t323 = _t322 & 0x00000001u;
|
|
/* 021B7694 */ if (_t323) goto L_021B769C; else goto L_021B7698;
|
|
L_021B7698: ; // 0x21b7698
|
|
/* 021B7698 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_021B769C: ; // 0x21b769c
|
|
/* 021B769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B76A0 */ _t324 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B76A0 */ _t325 = _t324 & 0x00000001u;
|
|
/* 021B76A0 */ if (_t325) goto L_021B76A4; else goto L_021B76E0;
|
|
L_021B76A4: ; // 0x21b76a4
|
|
/* 021B76A4 */ _t326 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B76A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t326);
|
|
/* 021B76A8 */ _t327 = cpu->r[6] + 0x00000014u;
|
|
/* 021B76A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t327);
|
|
/* 021B76AC */ cpu->ctr = cpu->r[8];
|
|
/* 021B76B0 */ cpu->r[21] = cpu->r[23] + cpu->r[22];
|
|
/* 021B76B4 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021B76B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B76BC */ _t328 = cpu->r[1] + 0x00000038u;
|
|
/* 021B76BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t328);
|
|
/* 021B76C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B76C4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B76C8 */ cpu->r[3] = cpu->r[21];
|
|
/* 021B76CC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B76D0 */ cpu->r[4] = cpu->r[22] + cpu->r[29];
|
|
/* 021B76D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
|
|
/* 021B76D8 */ _t329 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B76D8 */ _t330 = _t329 & 0x00000001u;
|
|
/* 021B76D8 */ if (_t330) goto L_021B76DC; else goto L_021B76E0;
|
|
L_021B76DC: ; // 0x21b76dc
|
|
/* 021B76DC */ _t331 = cpu->r[23] + cpu->r[4];
|
|
/* 021B76DC */ rbrew_write8(cpu->mem, _t331, (uint8_t)cpu->r[31]);
|
|
L_021B76E0: ; // 0x21b76e0
|
|
/* 021B76E0 */ _t332 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B76E0 */ rbrew_write_f32(cpu->mem, _t332, cpu->f[31]);
|
|
/* 021B76E4 */ cpu->r[10] = 0x00000001u;
|
|
/* 021B76E8 */ _t333 = cpu->r[27] + 0x00000034u;
|
|
/* 021B76E8 */ rbrew_write_f32(cpu->mem, _t333, cpu->f[30]);
|
|
/* 021B76EC */ _t334 = cpu->r[27] + 0x00000044u;
|
|
/* 021B76EC */ rbrew_write32(cpu->mem, _t334, cpu->r[10]);
|
|
/* 021B76F0 */ _t335 = cpu->r[27] + 0x00000044u;
|
|
/* 021B76F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t335);
|
|
/* 021B76F4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B76F8 */ _t336 = cpu->r[27] + 0x00000030u;
|
|
/* 021B76F8 */ rbrew_write_f32(cpu->mem, _t336, cpu->f[31]);
|
|
/* 021B76FC */ _t337 = cpu->r[27] + 0x00000038u;
|
|
/* 021B76FC */ rbrew_write_f32(cpu->mem, _t337, cpu->f[31]);
|
|
/* 021B7700 */ _t338 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7700 */ rbrew_write_f32(cpu->mem, _t338, cpu->f[29]);
|
|
/* 021B7704 */ _t339 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7704 */ rbrew_write_f32(cpu->mem, _t339, cpu->f[31]);
|
|
/* 021B7708 */ cpu->r[0] = cpu->r[0] + 0xFFFFA4C8u;
|
|
/* 021B770C */ _t340 = cpu->r[1] + 0x00000044u;
|
|
/* 021B770C */ rbrew_write32(cpu->mem, _t340, cpu->r[24]);
|
|
/* 021B7710 */ _t341 = cpu->r[1] + 0x00000040u;
|
|
/* 021B7710 */ rbrew_write32(cpu->mem, _t341, cpu->r[0]);
|
|
/* 021B7714 */ _t342 = cpu->r[26] + 0x00000210u;
|
|
/* 021B7714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t342);
|
|
/* 021B7718 */ _t343 = cpu->r[4] + 0x00000014u;
|
|
/* 021B7718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t343);
|
|
/* 021B771C */ cpu->r[27] = cpu->r[26] + 0x0000020Cu;
|
|
/* 021B7720 */ cpu->ctr = cpu->r[6];
|
|
/* 021B7724 */ _t344 = cpu->r[26] + 0x0000020Cu;
|
|
/* 021B7724 */ cpu->r[23] = rbrew_read32(cpu->mem, _t344);
|
|
/* 021B7728 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B772C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7730 */ _t345 = cpu->r[26] + 0x0000020Cu;
|
|
/* 021B7730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t345);
|
|
/* 021B7734 */ _t346 = cpu->r[6] + 0x00000000u;
|
|
/* 021B7734 */ cpu->r[9] = rbrew_read8(cpu->mem, _t346);
|
|
/* 021B7738 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B773C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 021B7740 */ cpu->r[8] = 0x00080000u;
|
|
/* 021B7744 */ _t347 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7744 */ _t348 = _t347 & 0x00000001u;
|
|
/* 021B7744 */ if (_t348) goto L_021B776C; else goto L_021B7748;
|
|
L_021B7748: ; // 0x21b7748
|
|
/* 021B7748 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B774C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021B7750 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 021B7754 */ _t349 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7754 */ _t350 = _t349 & 0x00000001u;
|
|
/* 021B7754 */ if (_t350) goto L_021B7768; else goto L_021B7758;
|
|
L_021B7758: ; // 0x21b7758
|
|
/* 021B7758 */ _t351 = cpu->r[6] + 0x00000000u;
|
|
/* 021B7758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t351);
|
|
/* 021B775C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7760 */ _t352 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7760 */ _t353 = _t352 & 0x00000001u;
|
|
/* 021B7760 */ if (_t353) goto L_021B7764; else goto L_021B7748;
|
|
L_021B7764: ; // 0x21b7764
|
|
/* 021B7764 */ goto L_021B776C;
|
|
L_021B7768: ; // 0x21b7768
|
|
/* 021B7768 */ cpu->r[30] = 0x00000000u;
|
|
L_021B776C: ; // 0x21b776c
|
|
/* 021B776C */ _t354 = cpu->r[1] + 0x00000044u;
|
|
/* 021B776C */ cpu->r[12] = rbrew_read32(cpu->mem, _t354);
|
|
/* 021B7770 */ cpu->r[21] = cpu->r[30];
|
|
/* 021B7770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 021B7774 */ _t355 = cpu->r[12] + 0x00000014u;
|
|
/* 021B7774 */ cpu->r[5] = rbrew_read32(cpu->mem, _t355);
|
|
/* 021B7778 */ _t356 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7778 */ _t357 = _t356 & 0x00000001u;
|
|
/* 021B7778 */ if (_t357) goto L_021B777C; else goto L_021B7780;
|
|
L_021B777C: ; // 0x21b777c
|
|
/* 021B777C */ cpu->r[21] = 0x00000000u;
|
|
L_021B7780: ; // 0x21b7780
|
|
/* 021B7780 */ cpu->ctr = cpu->r[5];
|
|
/* 021B7784 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B7788 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B778C */ _t358 = cpu->r[1] + 0x00000040u;
|
|
/* 021B778C */ cpu->r[12] = rbrew_read32(cpu->mem, _t358);
|
|
/* 021B7790 */ _t359 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7790 */ cpu->r[6] = rbrew_read8(cpu->mem, _t359);
|
|
/* 021B7794 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B7798 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 021B779C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B77A0 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B77A0 */ _t361 = _t360 & 0x00000001u;
|
|
/* 021B77A0 */ if (_t361) goto L_021B77C8; else goto L_021B77A4;
|
|
L_021B77A4: ; // 0x21b77a4
|
|
/* 021B77A4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B77A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B77AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B77B0 */ _t362 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B77B0 */ _t363 = _t362 & 0x00000001u;
|
|
/* 021B77B0 */ if (_t363) goto L_021B77C4; else goto L_021B77B4;
|
|
L_021B77B4: ; // 0x21b77b4
|
|
/* 021B77B4 */ _t364 = cpu->r[12] + 0x00000000u;
|
|
/* 021B77B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t364);
|
|
/* 021B77B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B77BC */ _t365 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B77BC */ _t366 = _t365 & 0x00000001u;
|
|
/* 021B77BC */ if (_t366) goto L_021B77C0; else goto L_021B77A4;
|
|
L_021B77C0: ; // 0x21b77c0
|
|
/* 021B77C0 */ goto L_021B77C8;
|
|
L_021B77C4: ; // 0x21b77c4
|
|
/* 021B77C4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B77C8: ; // 0x21b77c8
|
|
/* 021B77C8 */ _t367 = cpu->r[27] + 0x00000008u;
|
|
/* 021B77C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t367);
|
|
/* 021B77CC */ cpu->r[4] = cpu->r[11] - cpu->r[21];
|
|
/* 021B77D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B77D4 */ _t368 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B77D4 */ _t369 = _t368 & 0x00000001u;
|
|
/* 021B77D4 */ if (_t369) goto L_021B77DC; else goto L_021B77D8;
|
|
L_021B77D8: ; // 0x21b77d8
|
|
/* 021B77D8 */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_021B77DC: ; // 0x21b77dc
|
|
/* 021B77DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B77E0 */ _t370 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B77E0 */ _t371 = _t370 & 0x00000001u;
|
|
/* 021B77E0 */ if (_t371) goto L_021B77E4; else goto L_021B7820;
|
|
L_021B77E4: ; // 0x21b77e4
|
|
/* 021B77E4 */ _t372 = cpu->r[1] + 0x00000044u;
|
|
/* 021B77E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t372);
|
|
/* 021B77E8 */ _t373 = cpu->r[10] + 0x00000014u;
|
|
/* 021B77E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t373);
|
|
/* 021B77EC */ cpu->ctr = cpu->r[11];
|
|
/* 021B77F0 */ cpu->r[22] = cpu->r[23] + cpu->r[21];
|
|
/* 021B77F4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 021B77F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B77FC */ _t374 = cpu->r[1] + 0x00000040u;
|
|
/* 021B77FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t374);
|
|
/* 021B7800 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7804 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7808 */ cpu->r[3] = cpu->r[22];
|
|
/* 021B780C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7810 */ cpu->r[5] = cpu->r[21] + cpu->r[29];
|
|
/* 021B7814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[30]);
|
|
/* 021B7818 */ _t375 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7818 */ _t376 = _t375 & 0x00000001u;
|
|
/* 021B7818 */ if (_t376) goto L_021B781C; else goto L_021B7820;
|
|
L_021B781C: ; // 0x21b781c
|
|
/* 021B781C */ _t377 = cpu->r[23] + cpu->r[5];
|
|
/* 021B781C */ rbrew_write8(cpu->mem, _t377, (uint8_t)cpu->r[31]);
|
|
L_021B7820: ; // 0x21b7820
|
|
/* 021B7820 */ _t378 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7820 */ rbrew_write_f32(cpu->mem, _t378, cpu->f[31]);
|
|
/* 021B7824 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B7828 */ _t379 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7828 */ rbrew_write_f32(cpu->mem, _t379, cpu->f[29]);
|
|
/* 021B782C */ _t380 = cpu->r[27] + 0x00000044u;
|
|
/* 021B782C */ rbrew_write32(cpu->mem, _t380, cpu->r[0]);
|
|
/* 021B7830 */ _t381 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t381);
|
|
/* 021B7834 */ _t382 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7834 */ rbrew_write_f32(cpu->mem, _t382, cpu->f[31]);
|
|
/* 021B7838 */ _t383 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7838 */ rbrew_write_f32(cpu->mem, _t383, cpu->f[31]);
|
|
/* 021B783C */ _t384 = cpu->r[27] + 0x00000034u;
|
|
/* 021B783C */ rbrew_write_f32(cpu->mem, _t384, cpu->f[30]);
|
|
/* 021B7840 */ _t385 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7840 */ rbrew_write_f32(cpu->mem, _t385, cpu->f[31]);
|
|
/* 021B7844 */ _t386 = cpu->r[1] + 0x00000048u;
|
|
/* 021B7844 */ rbrew_write32(cpu->mem, _t386, cpu->r[25]);
|
|
/* 021B7848 */ _t387 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B7848 */ rbrew_write32(cpu->mem, _t387, cpu->r[24]);
|
|
/* 021B784C */ _t388 = cpu->r[26] + 0x00000258u;
|
|
/* 021B784C */ cpu->r[7] = rbrew_read32(cpu->mem, _t388);
|
|
/* 021B7850 */ _t389 = cpu->r[7] + 0x00000014u;
|
|
/* 021B7850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t389);
|
|
/* 021B7854 */ cpu->r[27] = cpu->r[26] + 0x00000254u;
|
|
/* 021B7858 */ cpu->ctr = cpu->r[9];
|
|
/* 021B785C */ _t390 = cpu->r[26] + 0x00000254u;
|
|
/* 021B785C */ cpu->r[23] = rbrew_read32(cpu->mem, _t390);
|
|
/* 021B7860 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B7864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7868 */ _t391 = cpu->r[26] + 0x00000254u;
|
|
/* 021B7868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t391);
|
|
/* 021B786C */ _t392 = cpu->r[7] + 0x00000000u;
|
|
/* 021B786C */ cpu->r[10] = rbrew_read8(cpu->mem, _t392);
|
|
/* 021B7870 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B7874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B7878 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B787C */ _t393 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B787C */ _t394 = _t393 & 0x00000001u;
|
|
/* 021B787C */ if (_t394) goto L_021B78A4; else goto L_021B7880;
|
|
L_021B7880: ; // 0x21b7880
|
|
/* 021B7880 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B7884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B7888 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B788C */ _t395 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B788C */ _t396 = _t395 & 0x00000001u;
|
|
/* 021B788C */ if (_t396) goto L_021B78A0; else goto L_021B7890;
|
|
L_021B7890: ; // 0x21b7890
|
|
/* 021B7890 */ _t397 = cpu->r[7] + 0x00000000u;
|
|
/* 021B7890 */ cpu->r[12] = rbrew_read8(cpu->mem, _t397);
|
|
/* 021B7894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 021B7898 */ _t398 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7898 */ _t399 = _t398 & 0x00000001u;
|
|
/* 021B7898 */ if (_t399) goto L_021B789C; else goto L_021B7880;
|
|
L_021B789C: ; // 0x21b789c
|
|
/* 021B789C */ goto L_021B78A4;
|
|
L_021B78A0: ; // 0x21b78a0
|
|
/* 021B78A0 */ cpu->r[30] = 0x00000000u;
|
|
L_021B78A4: ; // 0x21b78a4
|
|
/* 021B78A4 */ _t400 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B78A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t400);
|
|
/* 021B78A8 */ cpu->r[21] = cpu->r[30];
|
|
/* 021B78A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 021B78AC */ _t401 = cpu->r[4] + 0x00000014u;
|
|
/* 021B78AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t401);
|
|
/* 021B78B0 */ _t402 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B78B0 */ _t403 = _t402 & 0x00000001u;
|
|
/* 021B78B0 */ if (_t403) goto L_021B78B4; else goto L_021B78B8;
|
|
L_021B78B4: ; // 0x21b78b4
|
|
/* 021B78B4 */ cpu->r[21] = 0x00000000u;
|
|
L_021B78B8: ; // 0x21b78b8
|
|
/* 021B78B8 */ cpu->ctr = cpu->r[5];
|
|
/* 021B78BC */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B78C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B78C4 */ _t404 = cpu->r[1] + 0x00000048u;
|
|
/* 021B78C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t404);
|
|
/* 021B78C8 */ _t405 = cpu->r[11] + 0x00000000u;
|
|
/* 021B78C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t405);
|
|
/* 021B78CC */ cpu->r[4] = 0x00080000u;
|
|
/* 021B78D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B78D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B78D8 */ _t406 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B78D8 */ _t407 = _t406 & 0x00000001u;
|
|
/* 021B78D8 */ if (_t407) goto L_021B7900; else goto L_021B78DC;
|
|
L_021B78DC: ; // 0x21b78dc
|
|
/* 021B78DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B78E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B78E4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B78E8 */ _t408 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B78E8 */ _t409 = _t408 & 0x00000001u;
|
|
/* 021B78E8 */ if (_t409) goto L_021B78FC; else goto L_021B78EC;
|
|
L_021B78EC: ; // 0x21b78ec
|
|
/* 021B78EC */ _t410 = cpu->r[11] + 0x00000000u;
|
|
/* 021B78EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t410);
|
|
/* 021B78F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B78F4 */ _t411 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B78F4 */ _t412 = _t411 & 0x00000001u;
|
|
/* 021B78F4 */ if (_t412) goto L_021B78F8; else goto L_021B78DC;
|
|
L_021B78F8: ; // 0x21b78f8
|
|
/* 021B78F8 */ goto L_021B7900;
|
|
L_021B78FC: ; // 0x21b78fc
|
|
/* 021B78FC */ cpu->r[29] = 0x00000000u;
|
|
L_021B7900: ; // 0x21b7900
|
|
/* 021B7900 */ _t413 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t413);
|
|
/* 021B7904 */ cpu->r[5] = cpu->r[11] - cpu->r[21];
|
|
/* 021B7908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 021B790C */ _t414 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B790C */ _t415 = _t414 & 0x00000001u;
|
|
/* 021B790C */ if (_t415) goto L_021B7914; else goto L_021B7910;
|
|
L_021B7910: ; // 0x21b7910
|
|
/* 021B7910 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021B7914: ; // 0x21b7914
|
|
/* 021B7914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7918 */ _t416 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7918 */ _t417 = _t416 & 0x00000001u;
|
|
/* 021B7918 */ if (_t417) goto L_021B791C; else goto L_021B7958;
|
|
L_021B791C: ; // 0x21b791c
|
|
/* 021B791C */ _t418 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021B791C */ cpu->r[11] = rbrew_read32(cpu->mem, _t418);
|
|
/* 021B7920 */ _t419 = cpu->r[11] + 0x00000014u;
|
|
/* 021B7920 */ cpu->r[4] = rbrew_read32(cpu->mem, _t419);
|
|
/* 021B7924 */ cpu->ctr = cpu->r[4];
|
|
/* 021B7928 */ cpu->r[22] = cpu->r[23] + cpu->r[21];
|
|
/* 021B792C */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B7930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7934 */ _t420 = cpu->r[1] + 0x00000048u;
|
|
/* 021B7934 */ cpu->r[4] = rbrew_read32(cpu->mem, _t420);
|
|
/* 021B7938 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B793C */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7940 */ cpu->r[3] = cpu->r[22];
|
|
/* 021B7944 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7948 */ cpu->r[6] = cpu->r[21] + cpu->r[29];
|
|
/* 021B794C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[30]);
|
|
/* 021B7950 */ _t421 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7950 */ _t422 = _t421 & 0x00000001u;
|
|
/* 021B7950 */ if (_t422) goto L_021B7954; else goto L_021B7958;
|
|
L_021B7954: ; // 0x21b7954
|
|
/* 021B7954 */ _t423 = cpu->r[23] + cpu->r[6];
|
|
/* 021B7954 */ rbrew_write8(cpu->mem, _t423, (uint8_t)cpu->r[31]);
|
|
L_021B7958: ; // 0x21b7958
|
|
/* 021B7958 */ _t424 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7958 */ rbrew_write_f32(cpu->mem, _t424, cpu->f[31]);
|
|
/* 021B795C */ cpu->r[10] = 0x10030000u;
|
|
/* 021B7960 */ _t425 = cpu->r[27] + 0x00000034u;
|
|
/* 021B7960 */ rbrew_write_f32(cpu->mem, _t425, cpu->f[31]);
|
|
/* 021B7964 */ cpu->r[9] = 0x10030000u;
|
|
/* 021B7968 */ _t426 = cpu->r[10] + 0xFFFFA498u;
|
|
/* 021B7968 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t426);
|
|
/* 021B796C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7970 */ _t427 = cpu->r[9] + 0xFFFFA49Cu;
|
|
/* 021B7970 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t427);
|
|
/* 021B7974 */ _t428 = cpu->r[12] + 0xFFFFA494u;
|
|
/* 021B7974 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t428);
|
|
/* 021B7978 */ cpu->r[8] = 0x00000001u;
|
|
/* 021B797C */ _t429 = cpu->r[27] + 0x00000044u;
|
|
/* 021B797C */ rbrew_write32(cpu->mem, _t429, cpu->r[8]);
|
|
/* 021B7980 */ _t430 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t430);
|
|
/* 021B7984 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B7988 */ _t431 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7988 */ rbrew_write_f32(cpu->mem, _t431, cpu->f[11]);
|
|
/* 021B798C */ _t432 = cpu->r[11] + 0xFFFFA478u;
|
|
/* 021B798C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t432);
|
|
/* 021B7990 */ _t433 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7990 */ rbrew_write_f32(cpu->mem, _t433, cpu->f[8]);
|
|
/* 021B7994 */ _t434 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7994 */ rbrew_write_f32(cpu->mem, _t434, cpu->f[10]);
|
|
/* 021B7998 */ _t435 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7998 */ rbrew_write_f32(cpu->mem, _t435, cpu->f[9]);
|
|
/* 021B799C */ _t436 = cpu->r[1] + 0x00000050u;
|
|
/* 021B799C */ rbrew_write32(cpu->mem, _t436, cpu->r[25]);
|
|
/* 021B79A0 */ _t437 = cpu->r[1] + 0x00000054u;
|
|
/* 021B79A0 */ rbrew_write32(cpu->mem, _t437, cpu->r[24]);
|
|
/* 021B79A4 */ _t438 = cpu->r[26] + 0x000002A0u;
|
|
/* 021B79A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t438);
|
|
/* 021B79A8 */ _t439 = cpu->r[12] + 0x00000014u;
|
|
/* 021B79A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t439);
|
|
/* 021B79AC */ cpu->r[27] = cpu->r[26] + 0x0000029Cu;
|
|
/* 021B79B0 */ cpu->ctr = cpu->r[5];
|
|
/* 021B79B4 */ _t440 = cpu->r[26] + 0x0000029Cu;
|
|
/* 021B79B4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t440);
|
|
/* 021B79B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B79BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B79C0 */ _t441 = cpu->r[26] + 0x0000029Cu;
|
|
/* 021B79C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t441);
|
|
/* 021B79C4 */ _t442 = cpu->r[5] + 0x00000000u;
|
|
/* 021B79C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t442);
|
|
/* 021B79C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B79CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B79D0 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B79D4 */ _t443 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B79D4 */ _t444 = _t443 & 0x00000001u;
|
|
/* 021B79D4 */ if (_t444) goto L_021B79FC; else goto L_021B79D8;
|
|
L_021B79D8: ; // 0x21b79d8
|
|
/* 021B79D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B79DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B79E0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B79E4 */ _t445 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B79E4 */ _t446 = _t445 & 0x00000001u;
|
|
/* 021B79E4 */ if (_t446) goto L_021B79F8; else goto L_021B79E8;
|
|
L_021B79E8: ; // 0x21b79e8
|
|
/* 021B79E8 */ _t447 = cpu->r[5] + 0x00000000u;
|
|
/* 021B79E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t447);
|
|
/* 021B79EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B79F0 */ _t448 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B79F0 */ _t449 = _t448 & 0x00000001u;
|
|
/* 021B79F0 */ if (_t449) goto L_021B79F4; else goto L_021B79D8;
|
|
L_021B79F4: ; // 0x21b79f4
|
|
/* 021B79F4 */ goto L_021B79FC;
|
|
L_021B79F8: ; // 0x21b79f8
|
|
/* 021B79F8 */ cpu->r[30] = 0x00000000u;
|
|
L_021B79FC: ; // 0x21b79fc
|
|
/* 021B79FC */ _t450 = cpu->r[1] + 0x00000054u;
|
|
/* 021B79FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t450);
|
|
/* 021B7A00 */ cpu->r[21] = cpu->r[30];
|
|
/* 021B7A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 021B7A04 */ _t451 = cpu->r[10] + 0x00000014u;
|
|
/* 021B7A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t451);
|
|
/* 021B7A08 */ _t452 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7A08 */ _t453 = _t452 & 0x00000001u;
|
|
/* 021B7A08 */ if (_t453) goto L_021B7A0C; else goto L_021B7A10;
|
|
L_021B7A0C: ; // 0x21b7a0c
|
|
/* 021B7A0C */ cpu->r[21] = 0x00000000u;
|
|
L_021B7A10: ; // 0x21b7a10
|
|
/* 021B7A10 */ cpu->ctr = cpu->r[12];
|
|
/* 021B7A14 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B7A18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7A1C */ _t454 = cpu->r[1] + 0x00000050u;
|
|
/* 021B7A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t454);
|
|
/* 021B7A20 */ _t455 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7A20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t455);
|
|
/* 021B7A24 */ cpu->r[11] = 0x00080000u;
|
|
/* 021B7A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7A2C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7A30 */ _t456 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7A30 */ _t457 = _t456 & 0x00000001u;
|
|
/* 021B7A30 */ if (_t457) goto L_021B7A58; else goto L_021B7A34;
|
|
L_021B7A34: ; // 0x21b7a34
|
|
/* 021B7A34 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 021B7A3C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B7A40 */ _t458 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7A40 */ _t459 = _t458 & 0x00000001u;
|
|
/* 021B7A40 */ if (_t459) goto L_021B7A54; else goto L_021B7A44;
|
|
L_021B7A44: ; // 0x21b7a44
|
|
/* 021B7A44 */ _t460 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7A44 */ cpu->r[5] = rbrew_read8(cpu->mem, _t460);
|
|
/* 021B7A48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 021B7A4C */ _t461 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7A4C */ _t462 = _t461 & 0x00000001u;
|
|
/* 021B7A4C */ if (_t462) goto L_021B7A50; else goto L_021B7A34;
|
|
L_021B7A50: ; // 0x21b7a50
|
|
/* 021B7A50 */ goto L_021B7A58;
|
|
L_021B7A54: ; // 0x21b7a54
|
|
/* 021B7A54 */ cpu->r[29] = 0x00000000u;
|
|
L_021B7A58: ; // 0x21b7a58
|
|
/* 021B7A58 */ _t463 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t463);
|
|
/* 021B7A5C */ cpu->r[6] = cpu->r[11] - cpu->r[21];
|
|
/* 021B7A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 021B7A64 */ _t464 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7A64 */ _t465 = _t464 & 0x00000001u;
|
|
/* 021B7A64 */ if (_t465) goto L_021B7A6C; else goto L_021B7A68;
|
|
L_021B7A68: ; // 0x21b7a68
|
|
/* 021B7A68 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_021B7A6C: ; // 0x21b7a6c
|
|
/* 021B7A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7A70 */ _t466 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7A70 */ _t467 = _t466 & 0x00000001u;
|
|
/* 021B7A70 */ if (_t467) goto L_021B7A74; else goto L_021B7AB0;
|
|
L_021B7A74: ; // 0x21b7a74
|
|
/* 021B7A74 */ _t468 = cpu->r[1] + 0x00000054u;
|
|
/* 021B7A74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t468);
|
|
/* 021B7A78 */ _t469 = cpu->r[7] + 0x00000014u;
|
|
/* 021B7A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t469);
|
|
/* 021B7A7C */ cpu->ctr = cpu->r[0];
|
|
/* 021B7A80 */ cpu->r[22] = cpu->r[23] + cpu->r[21];
|
|
/* 021B7A84 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 021B7A88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7A8C */ _t470 = cpu->r[1] + 0x00000050u;
|
|
/* 021B7A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t470);
|
|
/* 021B7A90 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7A94 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7A98 */ cpu->r[3] = cpu->r[22];
|
|
/* 021B7A9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7AA0 */ cpu->r[7] = cpu->r[21] + cpu->r[29];
|
|
/* 021B7AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[30]);
|
|
/* 021B7AA8 */ _t471 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7AA8 */ _t472 = _t471 & 0x00000001u;
|
|
/* 021B7AA8 */ if (_t472) goto L_021B7AAC; else goto L_021B7AB0;
|
|
L_021B7AAC: ; // 0x21b7aac
|
|
/* 021B7AAC */ _t473 = cpu->r[23] + cpu->r[7];
|
|
/* 021B7AAC */ rbrew_write8(cpu->mem, _t473, (uint8_t)cpu->r[31]);
|
|
L_021B7AB0: ; // 0x21b7ab0
|
|
/* 021B7AB0 */ _t474 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7AB0 */ rbrew_write_f32(cpu->mem, _t474, cpu->f[31]);
|
|
/* 021B7AB4 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B7AB8 */ cpu->r[4] = 0x00000001u;
|
|
/* 021B7ABC */ _t475 = cpu->r[8] + 0xFFFFA4A0u;
|
|
/* 021B7ABC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t475);
|
|
/* 021B7AC0 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B7AC4 */ _t476 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7AC4 */ rbrew_write32(cpu->mem, _t476, cpu->r[4]);
|
|
/* 021B7AC8 */ _t477 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7AC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t477);
|
|
/* 021B7ACC */ cpu->r[6] = 0x10030000u;
|
|
/* 021B7AD0 */ _t478 = cpu->r[7] + 0xFFFFA4A4u;
|
|
/* 021B7AD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t478);
|
|
/* 021B7AD4 */ _t479 = cpu->r[6] + 0xFFFFA494u;
|
|
/* 021B7AD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t479);
|
|
/* 021B7AD8 */ _t480 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7AD8 */ rbrew_write_f32(cpu->mem, _t480, cpu->f[12]);
|
|
/* 021B7ADC */ _t481 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7ADC */ rbrew_write_f32(cpu->mem, _t481, cpu->f[12]);
|
|
/* 021B7AE0 */ _t482 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7AE0 */ rbrew_write_f32(cpu->mem, _t482, cpu->f[13]);
|
|
/* 021B7AE4 */ _t483 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7AE4 */ rbrew_write_f32(cpu->mem, _t483, cpu->f[0]);
|
|
/* 021B7AE8 */ _t484 = cpu->r[27] + 0x00000034u;
|
|
/* 021B7AE8 */ rbrew_write_f32(cpu->mem, _t484, cpu->f[13]);
|
|
/* 021B7AEC */ _t485 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B7AEC */ rbrew_write32(cpu->mem, _t485, cpu->r[24]);
|
|
/* 021B7AF0 */ _t486 = cpu->r[1] + 0x00000058u;
|
|
/* 021B7AF0 */ rbrew_write32(cpu->mem, _t486, cpu->r[25]);
|
|
/* 021B7AF4 */ _t487 = cpu->r[26] + 0x000002E8u;
|
|
/* 021B7AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t487);
|
|
/* 021B7AF8 */ _t488 = cpu->r[8] + 0x00000014u;
|
|
/* 021B7AF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t488);
|
|
/* 021B7AFC */ cpu->r[27] = cpu->r[26] + 0x000002E4u;
|
|
/* 021B7B00 */ cpu->ctr = cpu->r[10];
|
|
/* 021B7B04 */ _t489 = cpu->r[26] + 0x000002E4u;
|
|
/* 021B7B04 */ cpu->r[25] = rbrew_read32(cpu->mem, _t489);
|
|
/* 021B7B08 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B7B0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7B10 */ _t490 = cpu->r[26] + 0x000002E4u;
|
|
/* 021B7B10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t490);
|
|
/* 021B7B14 */ _t491 = cpu->r[7] + 0x00000000u;
|
|
/* 021B7B14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t491);
|
|
/* 021B7B18 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B7B1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 021B7B20 */ cpu->r[9] = 0x00080000u;
|
|
/* 021B7B24 */ _t492 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7B24 */ _t493 = _t492 & 0x00000001u;
|
|
/* 021B7B24 */ if (_t493) goto L_021B7B4C; else goto L_021B7B28;
|
|
L_021B7B28: ; // 0x21b7b28
|
|
/* 021B7B28 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B7B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B7B30 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 021B7B34 */ _t494 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7B34 */ _t495 = _t494 & 0x00000001u;
|
|
/* 021B7B34 */ if (_t495) goto L_021B7B48; else goto L_021B7B38;
|
|
L_021B7B38: ; // 0x21b7b38
|
|
/* 021B7B38 */ _t496 = cpu->r[7] + 0x00000000u;
|
|
/* 021B7B38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t496);
|
|
/* 021B7B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7B40 */ _t497 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7B40 */ _t498 = _t497 & 0x00000001u;
|
|
/* 021B7B40 */ if (_t498) goto L_021B7B44; else goto L_021B7B28;
|
|
L_021B7B44: ; // 0x21b7b44
|
|
/* 021B7B44 */ goto L_021B7B4C;
|
|
L_021B7B48: ; // 0x21b7b48
|
|
/* 021B7B48 */ cpu->r[30] = 0x00000000u;
|
|
L_021B7B4C: ; // 0x21b7b4c
|
|
/* 021B7B4C */ _t499 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B7B4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t499);
|
|
/* 021B7B50 */ cpu->r[24] = cpu->r[30];
|
|
/* 021B7B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 021B7B54 */ _t500 = cpu->r[5] + 0x00000014u;
|
|
/* 021B7B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t500);
|
|
/* 021B7B58 */ _t501 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7B58 */ _t502 = _t501 & 0x00000001u;
|
|
/* 021B7B58 */ if (_t502) goto L_021B7B5C; else goto L_021B7B60;
|
|
L_021B7B5C: ; // 0x21b7b5c
|
|
/* 021B7B5C */ cpu->r[24] = 0x00000000u;
|
|
L_021B7B60: ; // 0x21b7b60
|
|
/* 021B7B60 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7B64 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B7B68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7B6C */ _t503 = cpu->r[1] + 0x00000058u;
|
|
/* 021B7B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t503);
|
|
/* 021B7B70 */ _t504 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7B70 */ cpu->r[8] = rbrew_read8(cpu->mem, _t504);
|
|
/* 021B7B74 */ cpu->r[4] = 0x00080000u;
|
|
/* 021B7B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 021B7B7C */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7B80 */ _t505 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7B80 */ _t506 = _t505 & 0x00000001u;
|
|
/* 021B7B80 */ if (_t506) goto L_021B7BA8; else goto L_021B7B84;
|
|
L_021B7B84: ; // 0x21b7b84
|
|
/* 021B7B84 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 021B7B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 021B7B8C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B7B90 */ _t507 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7B90 */ _t508 = _t507 & 0x00000001u;
|
|
/* 021B7B90 */ if (_t508) goto L_021B7BA4; else goto L_021B7B94;
|
|
L_021B7B94: ; // 0x21b7b94
|
|
/* 021B7B94 */ _t509 = cpu->r[12] + 0x00000000u;
|
|
/* 021B7B94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t509);
|
|
/* 021B7B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B7B9C */ _t510 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7B9C */ _t511 = _t510 & 0x00000001u;
|
|
/* 021B7B9C */ if (_t511) goto L_021B7BA0; else goto L_021B7B84;
|
|
L_021B7BA0: ; // 0x21b7ba0
|
|
/* 021B7BA0 */ goto L_021B7BA8;
|
|
L_021B7BA4: ; // 0x21b7ba4
|
|
/* 021B7BA4 */ cpu->r[29] = 0x00000000u;
|
|
L_021B7BA8: ; // 0x21b7ba8
|
|
/* 021B7BA8 */ _t512 = cpu->r[27] + 0x00000008u;
|
|
/* 021B7BA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t512);
|
|
/* 021B7BAC */ cpu->r[7] = cpu->r[11] - cpu->r[24];
|
|
/* 021B7BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 021B7BB4 */ _t513 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7BB4 */ _t514 = _t513 & 0x00000001u;
|
|
/* 021B7BB4 */ if (_t514) goto L_021B7BBC; else goto L_021B7BB8;
|
|
L_021B7BB8: ; // 0x21b7bb8
|
|
/* 021B7BB8 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_021B7BBC: ; // 0x21b7bbc
|
|
/* 021B7BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B7BC0 */ _t515 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7BC0 */ _t516 = _t515 & 0x00000001u;
|
|
/* 021B7BC0 */ if (_t516) goto L_021B7BC4; else goto L_021B7C00;
|
|
L_021B7BC4: ; // 0x21b7bc4
|
|
/* 021B7BC4 */ _t517 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021B7BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t517);
|
|
/* 021B7BC8 */ _t518 = cpu->r[12] + 0x00000014u;
|
|
/* 021B7BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t518);
|
|
/* 021B7BCC */ cpu->ctr = cpu->r[4];
|
|
/* 021B7BD0 */ cpu->r[26] = cpu->r[25] + cpu->r[24];
|
|
/* 021B7BD4 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021B7BD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7BDC */ _t519 = cpu->r[1] + 0x00000058u;
|
|
/* 021B7BDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t519);
|
|
/* 021B7BE0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B7BE4 */ cpu->r[5] = cpu->r[29];
|
|
/* 021B7BE8 */ cpu->r[3] = cpu->r[26];
|
|
/* 021B7BEC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B7BF0 */ cpu->r[8] = cpu->r[24] + cpu->r[29];
|
|
/* 021B7BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[30]);
|
|
/* 021B7BF8 */ _t520 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7BF8 */ _t521 = _t520 & 0x00000001u;
|
|
/* 021B7BF8 */ if (_t521) goto L_021B7BFC; else goto L_021B7C00;
|
|
L_021B7BFC: ; // 0x21b7bfc
|
|
/* 021B7BFC */ _t522 = cpu->r[25] + cpu->r[8];
|
|
/* 021B7BFC */ rbrew_write8(cpu->mem, _t522, (uint8_t)cpu->r[31]);
|
|
L_021B7C00: ; // 0x21b7c00
|
|
/* 021B7C00 */ _t523 = cpu->r[27] + 0x00000034u;
|
|
/* 021B7C00 */ rbrew_write_f32(cpu->mem, _t523, cpu->f[31]);
|
|
/* 021B7C04 */ cpu->r[11] = 0x10030000u;
|
|
/* 021B7C08 */ _t524 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7C08 */ rbrew_write32(cpu->mem, _t524, cpu->r[28]);
|
|
/* 021B7C0C */ _t525 = cpu->r[27] + 0x00000044u;
|
|
/* 021B7C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t525);
|
|
/* 021B7C10 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B7C14 */ _t526 = cpu->r[11] + 0xFFFFA478u;
|
|
/* 021B7C14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t526);
|
|
/* 021B7C18 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7C1C */ _t527 = cpu->r[5] + 0xFFFFA4A8u;
|
|
/* 021B7C1C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t527);
|
|
/* 021B7C20 */ cpu->r[4] = 0x10030000u;
|
|
/* 021B7C24 */ _t528 = cpu->r[12] + 0xFFFFA494u;
|
|
/* 021B7C24 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t528);
|
|
/* 021B7C28 */ _t529 = cpu->r[4] + 0xFFFFA488u;
|
|
/* 021B7C28 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t529);
|
|
/* 021B7C2C */ _t530 = cpu->r[27] + 0x00000038u;
|
|
/* 021B7C2C */ rbrew_write_f32(cpu->mem, _t530, cpu->f[9]);
|
|
/* 021B7C30 */ _t531 = cpu->r[27] + 0x00000040u;
|
|
/* 021B7C30 */ rbrew_write_f32(cpu->mem, _t531, cpu->f[10]);
|
|
/* 021B7C34 */ _t532 = cpu->r[27] + 0x00000030u;
|
|
/* 021B7C34 */ rbrew_write_f32(cpu->mem, _t532, cpu->f[8]);
|
|
/* 021B7C38 */ _t533 = cpu->r[27] + 0x0000003Cu;
|
|
/* 021B7C38 */ rbrew_write_f32(cpu->mem, _t533, cpu->f[11]);
|
|
/* 021B7C3C */ _t534 = cpu->r[27] + 0x0000002Cu;
|
|
/* 021B7C3C */ rbrew_write_f32(cpu->mem, _t534, cpu->f[31]);
|
|
/* 021B7C40 */ /* nop */
|
|
/* 021B7C44 */ _t535 = cpu->r[1] + 0x00000098u;
|
|
/* 021B7C44 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t535);
|
|
/* 021B7C48 */ _t536 = cpu->r[1] + 0x000000A8u;
|
|
/* 021B7C48 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t536);
|
|
/* 021B7C4C */ _t537 = cpu->r[1] + 0x00000090u;
|
|
/* 021B7C4C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t537);
|
|
/* 021B7C50 */ _t538 = cpu->r[1] + 0x000000B8u;
|
|
/* 021B7C50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t538);
|
|
/* 021B7C54 */ _t539 = cpu->r[1] + 0x000000A0u;
|
|
/* 021B7C54 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t539);
|
|
/* 021B7C58 */ _t540 = cpu->r[1] + 0x000000B0u;
|
|
/* 021B7C58 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t540);
|
|
/* 021B7C5C */ _t541 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7C5C */ _t542 = _t541 & 0x00000001u;
|
|
/* 021B7C5C */ if (_t542) goto L_021B7C60; // else: addr-0 trap, fall-through
|
|
L_021B7C60: ; // 0x21b7c60
|
|
/* 021B7C60 */ _t543 = cpu->r[1] + 0x000000C4u;
|
|
/* 021B7C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t543);
|
|
/* 021B7C64 */ cpu->lr = cpu->r[0];
|
|
/* 021B7C68 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 021B7C6C */ return;
|
|
}
|
|
|
|
// fn_021B7C70 @ 0x21b7c70
|
|
void Gambit_fn_021B7C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_021B7C70: ; // 0x21b7c70
|
|
/* 021B7C70 */ cpu->r[0] = cpu->lr;
|
|
/* 021B7C74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B7C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7C74 */ cpu->r[1] = _t0;
|
|
/* 021B7C78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B7C7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B7C80 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B7C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B7C88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7C88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B7C8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7C8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B7C8C */ if (_t6) goto L_021B7C90; else goto L_021B7CA0;
|
|
L_021B7C90: ; // 0x21b7c90
|
|
/* 021B7C90 */ cpu->r[3] = 0x00000390u;
|
|
/* 021B7C94 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7C98 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B7C9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7C9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7C9C */ if (_t8) goto L_021B7D4C; else goto L_021B7CA0;
|
|
L_021B7CA0: ; // 0x21b7ca0
|
|
/* 021B7CA0 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7CA4 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021B7CA8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B7CAC */ cpu->r[12] = cpu->r[12] + 0xFFFFA460u;
|
|
/* 021B7CB0 */ cpu->r[6] = cpu->r[6] + 0xFFFF832Cu;
|
|
/* 021B7CB4 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 021B7CB8 */ cpu->r[5] = 0x00000048u;
|
|
/* 021B7CBC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B7CBC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B7CC0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 021B7CC4 */ cpu->r[3] = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B7CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7CC8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7CCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B7CCC */ if (_t11) goto L_021B7CD0; else goto L_021B7CE0;
|
|
L_021B7CD0: ; // 0x21b7cd0
|
|
/* 021B7CD0 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B7CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7CDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B7CDC */ if (_t13) goto L_021B7CE8; else goto L_021B7CE0;
|
|
L_021B7CE0: ; // 0x21b7ce0
|
|
/* 021B7CE0 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021B7CE0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 021B7CE4 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 021B7CE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
L_021B7CE8: ; // 0x21b7ce8
|
|
/* 021B7CE8 */ cpu->r[30] = cpu->r[31] + 0x00000338u;
|
|
/* 021B7CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B7CEC */ _t16 = cpu->r[31] + 0x00000334u;
|
|
/* 021B7CEC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 021B7CF0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CF0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B7CF0 */ if (_t18) goto L_021B7CF4; else goto L_021B7D04;
|
|
L_021B7CF4: ; // 0x21b7cf4
|
|
/* 021B7CF4 */ cpu->r[3] = 0x00000010u;
|
|
/* 021B7CF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7CFC */ cpu->r[30] = cpu->r[3];
|
|
/* 021B7CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B7D00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B7D00 */ if (_t20) goto L_021B7D30; else goto L_021B7D04;
|
|
L_021B7D04: ; // 0x21b7d04
|
|
/* 021B7D04 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B7D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D08 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D08 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B7D08 */ if (_t22) goto L_021B7D0C; else goto L_021B7D1C;
|
|
L_021B7D0C: ; // 0x21b7d0c
|
|
/* 021B7D0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B7D10 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D18 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D18 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B7D18 */ if (_t24) goto L_021B7D28; else goto L_021B7D1C;
|
|
L_021B7D1C: ; // 0x21b7d1c
|
|
/* 021B7D1C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 021B7D1C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 021B7D20 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 021B7D20 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 021B7D24 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 021B7D24 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_021B7D28: ; // 0x21b7d28
|
|
/* 021B7D28 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B7D2C */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B7D2C */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_021B7D30: ; // 0x21b7d30
|
|
/* 021B7D30 */ cpu->r[3] = cpu->r[31] + 0x00000388u;
|
|
/* 021B7D34 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B7D38 */ cpu->r[0] = 0x00000010u;
|
|
/* 021B7D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7D40 */ _t29 = cpu->r[31] + 0x00000344u;
|
|
/* 021B7D40 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B7D44 */ Gambit_fn_021B6D70(cpu);
|
|
/* 021B7D48 */ Gambit_fn_021B6DD8(cpu);
|
|
L_021B7D4C: ; // 0x21b7d4c
|
|
/* 021B7D4C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7D4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B7D50 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B7D54 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7D58 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7D58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B7D5C */ cpu->lr = cpu->r[0];
|
|
/* 021B7D60 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B7D64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B7D68 */ return;
|
|
}
|
|
|
|
// fn_021B7C74 @ 0x21b7c74
|
|
void Gambit_fn_021B7C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_021B7C74: ; // 0x21b7c74
|
|
/* 021B7C74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B7C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7C74 */ cpu->r[1] = _t0;
|
|
/* 021B7C78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B7C7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B7C80 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B7C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B7C88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7C88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B7C8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7C8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B7C8C */ if (_t6) goto L_021B7C90; else goto L_021B7CA0;
|
|
L_021B7C90: ; // 0x21b7c90
|
|
/* 021B7C90 */ cpu->r[3] = 0x00000390u;
|
|
/* 021B7C94 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7C98 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B7C9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7C9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7C9C */ if (_t8) goto L_021B7D4C; else goto L_021B7CA0;
|
|
L_021B7CA0: ; // 0x21b7ca0
|
|
/* 021B7CA0 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7CA4 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021B7CA8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B7CAC */ cpu->r[12] = cpu->r[12] + 0xFFFFA460u;
|
|
/* 021B7CB0 */ cpu->r[6] = cpu->r[6] + 0xFFFF832Cu;
|
|
/* 021B7CB4 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 021B7CB8 */ cpu->r[5] = 0x00000048u;
|
|
/* 021B7CBC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B7CBC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B7CC0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 021B7CC4 */ cpu->r[3] = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B7CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7CC8 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B7CCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B7CCC */ if (_t11) goto L_021B7CD0; else goto L_021B7CE0;
|
|
L_021B7CD0: ; // 0x21b7cd0
|
|
/* 021B7CD0 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B7CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7CDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B7CDC */ if (_t13) goto L_021B7CE8; else goto L_021B7CE0;
|
|
L_021B7CE0: ; // 0x21b7ce0
|
|
/* 021B7CE0 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021B7CE0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 021B7CE4 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 021B7CE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
L_021B7CE8: ; // 0x21b7ce8
|
|
/* 021B7CE8 */ cpu->r[30] = cpu->r[31] + 0x00000338u;
|
|
/* 021B7CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B7CEC */ _t16 = cpu->r[31] + 0x00000334u;
|
|
/* 021B7CEC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 021B7CF0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7CF0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B7CF0 */ if (_t18) goto L_021B7CF4; else goto L_021B7D04;
|
|
L_021B7CF4: ; // 0x21b7cf4
|
|
/* 021B7CF4 */ cpu->r[3] = 0x00000010u;
|
|
/* 021B7CF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7CFC */ cpu->r[30] = cpu->r[3];
|
|
/* 021B7CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B7D00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B7D00 */ if (_t20) goto L_021B7D30; else goto L_021B7D04;
|
|
L_021B7D04: ; // 0x21b7d04
|
|
/* 021B7D04 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B7D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D08 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D08 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B7D08 */ if (_t22) goto L_021B7D0C; else goto L_021B7D1C;
|
|
L_021B7D0C: ; // 0x21b7d0c
|
|
/* 021B7D0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B7D10 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B7D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D18 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D18 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B7D18 */ if (_t24) goto L_021B7D28; else goto L_021B7D1C;
|
|
L_021B7D1C: ; // 0x21b7d1c
|
|
/* 021B7D1C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 021B7D1C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 021B7D20 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 021B7D20 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 021B7D24 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 021B7D24 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_021B7D28: ; // 0x21b7d28
|
|
/* 021B7D28 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B7D2C */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B7D2C */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_021B7D30: ; // 0x21b7d30
|
|
/* 021B7D30 */ cpu->r[3] = cpu->r[31] + 0x00000388u;
|
|
/* 021B7D34 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B7D38 */ cpu->r[0] = 0x00000010u;
|
|
/* 021B7D3C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7D40 */ _t29 = cpu->r[31] + 0x00000344u;
|
|
/* 021B7D40 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021B7D44 */ Gambit_fn_021B6D70(cpu);
|
|
/* 021B7D48 */ Gambit_fn_021B6DD8(cpu);
|
|
L_021B7D4C: ; // 0x21b7d4c
|
|
/* 021B7D4C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7D4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B7D50 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B7D54 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7D58 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7D58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B7D5C */ cpu->lr = cpu->r[0];
|
|
/* 021B7D60 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B7D64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B7D68 */ return;
|
|
}
|
|
|
|
// fn_021B7D6C @ 0x21b7d6c
|
|
void Gambit_fn_021B7D6C(CPUState* 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_021B7D6C: ; // 0x21b7d6c
|
|
/* 021B7D6C */ cpu->r[0] = cpu->lr;
|
|
/* 021B7D70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B7D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7D70 */ cpu->r[1] = _t0;
|
|
/* 021B7D74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7D74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B7D78 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B7D78 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B7D7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B7D80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7D80 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B7D84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7D84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B7D88 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B7D8C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B7D90 */ _t6 = cpu->r[29] + 0x00004D9Cu;
|
|
/* 021B7D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B7D90 */ cpu->r[29] = _t6;
|
|
/* 021B7D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7D98 */ if (_t8) goto L_021B7D9C; else goto L_021B7DEC;
|
|
L_021B7D9C: ; // 0x21b7d9c
|
|
/* 021B7D9C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B7DA0 */ cpu->r[3] = 0x00000390u;
|
|
/* 021B7DA4 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B7DA8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B7DAC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7DB0 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B7DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B7DB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7DB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B7DB4 */ if (_t10) goto L_021B7DD4; else goto L_021B7DB8;
|
|
L_021B7DB8: ; // 0x21b7db8
|
|
/* 021B7DB8 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B7DBC */ cpu->r[4] = cpu->r[30];
|
|
/* 021B7DC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B7DC4 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B7DC8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B7DCC */ cpu->r[0] = cpu->r[0] + 0xFFFFA4E8u;
|
|
/* 021B7DD0 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B7DD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B7DD4: ; // 0x21b7dd4
|
|
/* 021B7DD4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B7DD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7DDC */ _t12 = cpu->r[12] + 0x00004DA0u;
|
|
/* 021B7DDC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B7DE0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7DE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B7DE0 */ if (_t14) goto L_021B7DE8; else goto L_021B7DE4;
|
|
L_021B7DE4: ; // 0x21b7de4
|
|
/* 021B7DE4 */ Gambit_fn_021B7C70(cpu);
|
|
L_021B7DE8: ; // 0x21b7de8
|
|
/* 021B7DE8 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B7DE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B7DEC: ; // 0x21b7dec
|
|
/* 021B7DEC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B7DEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B7DF0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7DF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B7DF4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B7DF8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7DF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B7DFC */ cpu->lr = cpu->r[0];
|
|
/* 021B7E00 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B7E04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B7E08 */ return;
|
|
}
|
|
|
|
// fn_021B7D70 @ 0x21b7d70
|
|
void Gambit_fn_021B7D70(CPUState* 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_021B7D70: ; // 0x21b7d70
|
|
/* 021B7D70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B7D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7D70 */ cpu->r[1] = _t0;
|
|
/* 021B7D74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7D74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B7D78 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B7D78 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B7D7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B7D80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7D80 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B7D84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7D84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B7D88 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B7D8C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B7D90 */ _t6 = cpu->r[29] + 0x00004D9Cu;
|
|
/* 021B7D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B7D90 */ cpu->r[29] = _t6;
|
|
/* 021B7D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7D98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7D98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7D98 */ if (_t8) goto L_021B7D9C; else goto L_021B7DEC;
|
|
L_021B7D9C: ; // 0x21b7d9c
|
|
/* 021B7D9C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B7DA0 */ cpu->r[3] = 0x00000390u;
|
|
/* 021B7DA4 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B7DA8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B7DAC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7DB0 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B7DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B7DB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7DB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B7DB4 */ if (_t10) goto L_021B7DD4; else goto L_021B7DB8;
|
|
L_021B7DB8: ; // 0x21b7db8
|
|
/* 021B7DB8 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B7DBC */ cpu->r[4] = cpu->r[30];
|
|
/* 021B7DC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B7DC4 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B7DC8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B7DCC */ cpu->r[0] = cpu->r[0] + 0xFFFFA4E8u;
|
|
/* 021B7DD0 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B7DD0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B7DD4: ; // 0x21b7dd4
|
|
/* 021B7DD4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B7DD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B7DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7DDC */ _t12 = cpu->r[12] + 0x00004DA0u;
|
|
/* 021B7DDC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B7DE0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7DE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B7DE0 */ if (_t14) goto L_021B7DE8; else goto L_021B7DE4;
|
|
L_021B7DE4: ; // 0x21b7de4
|
|
/* 021B7DE4 */ Gambit_fn_021B7C70(cpu);
|
|
L_021B7DE8: ; // 0x21b7de8
|
|
/* 021B7DE8 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B7DE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B7DEC: ; // 0x21b7dec
|
|
/* 021B7DEC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B7DEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B7DF0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B7DF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B7DF4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B7DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B7DF8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B7DF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B7DFC */ cpu->lr = cpu->r[0];
|
|
/* 021B7E00 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B7E00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B7E04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B7E08 */ return;
|
|
}
|
|
|
|
// fn_021B7E0C @ 0x21b7e0c
|
|
void Gambit_fn_021B7E0C(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_021B7E0C: ; // 0x21b7e0c
|
|
/* 021B7E0C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B7E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7E0C */ cpu->r[1] = _t0;
|
|
/* 021B7E10 */ cpu->r[0] = cpu->lr;
|
|
/* 021B7E14 */ /* nop */
|
|
/* 021B7E18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B7E1C */ cpu->r[3] = cpu->r[4];
|
|
/* 021B7E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B7E20 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B7E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B7E24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7E24 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B7E24 */ if (_t3) goto L_021B7E28; else goto L_021B7E34;
|
|
L_021B7E28: ; // 0x21b7e28
|
|
/* 021B7E28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B7E2C */ _t4 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 021B7E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B7E30 */ Gambit_fn_02826F20(cpu);
|
|
L_021B7E34: ; // 0x21b7e34
|
|
/* 021B7E34 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B7E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B7E38 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 021B7E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B7E3C */ cpu->ctr = cpu->r[0];
|
|
/* 021B7E40 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B7E44 */ cpu->r[4] = 0x00000600u;
|
|
/* 021B7E48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B7E4C */ cpu->r[28] = 0x00000000u;
|
|
/* 021B7E50 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B7E54 */ cpu->r[29] = cpu->r[28];
|
|
/* 021B7E58 */ cpu->r[26] = 0x00000040u;
|
|
L_021B7E5C: ; // 0x21b7e5c
|
|
/* 021B7E5C */ cpu->r[30] = cpu->r[27] + cpu->r[28];
|
|
/* 021B7E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B7E60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7E60 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7E60 */ if (_t8) goto L_021B7E7C; else goto L_021B7E64;
|
|
L_021B7E64: ; // 0x21b7e64
|
|
/* 021B7E64 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B7E68 */ Gambit_fn_021B8484(cpu);
|
|
/* 021B7E6C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B7E6C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
|
|
/* 021B7E70 */ _t10 = cpu->r[30] + 0x00000010u;
|
|
/* 021B7E70 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 021B7E74 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 021B7E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 021B7E78 */ _t12 = cpu->r[30] + 0x00000014u;
|
|
/* 021B7E78 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
L_021B7E7C: ; // 0x21b7e7c
|
|
/* 021B7E7C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 021B7E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B7E80 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 021B7E84 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7E84 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B7E84 */ if (_t14) goto L_021B7E88; else goto L_021B7E5C;
|
|
L_021B7E88: ; // 0x21b7e88
|
|
/* 021B7E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B7E8C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7E8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B7E8C */ if (_t16) goto L_021B7E9C; else goto L_021B7E90;
|
|
L_021B7E90: ; // 0x21b7e90
|
|
/* 021B7E90 */ _t17 = cpu->r[31] + 0x00000330u;
|
|
/* 021B7E90 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 021B7E94 */ cpu->r[0] = 0x00000040u;
|
|
/* 021B7E98 */ _t18 = cpu->r[31] + 0x0000032Cu;
|
|
/* 021B7E98 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_021B7E9C: ; // 0x21b7e9c
|
|
/* 021B7E9C */ /* nop */
|
|
/* 021B7EA0 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 021B7EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B7EA4 */ cpu->lr = cpu->r[0];
|
|
/* 021B7EA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B7EAC */ return;
|
|
}
|
|
|
|
// fn_021B7EB0 @ 0x21b7eb0
|
|
void Gambit_fn_021B7EB0(CPUState* 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_021B7EB0: ; // 0x21b7eb0
|
|
/* 021B7EB0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B7EB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7EB0 */ cpu->r[1] = _t0;
|
|
/* 021B7EB4 */ /* nop */
|
|
/* 021B7EB8 */ cpu->r[0] = cpu->lr;
|
|
/* 021B7EBC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B7EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B7EC0 */ _t2 = cpu->r[3] + 0x00000344u;
|
|
/* 021B7EC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B7EC4 */ cpu->r[26] = cpu->r[3] + 0x00000338u;
|
|
/* 021B7EC8 */ _t3 = cpu->r[3] + 0x0000033Cu;
|
|
/* 021B7EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B7ECC */ cpu->r[31] = cpu->r[26] - cpu->r[28];
|
|
/* 021B7ED0 */ cpu->r[30] = cpu->r[11] - cpu->r[28];
|
|
/* 021B7ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021B7ED8 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 021B7ED8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B7EDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7EDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B7EDC */ if (_t6) goto L_021B7F40; else goto L_021B7EE0;
|
|
L_021B7EE0: ; // 0x21b7ee0
|
|
/* 021B7EE0 */ cpu->r[27] = 0x00000000u;
|
|
L_021B7EE4: ; // 0x21b7ee4
|
|
/* 021B7EE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B7EE8 */ Gambit_fn_021B84D8(cpu);
|
|
/* 021B7EEC */ cpu->r[12] = cpu->r[3] ^ 0x00000001u;
|
|
/* 021B7EF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B7EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B7EF4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7EF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B7EF4 */ if (_t8) goto L_021B7EF8; else goto L_021B7F0C;
|
|
L_021B7EF8: ; // 0x21b7ef8
|
|
/* 021B7EF8 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B7EF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021B7EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B7F00 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F00 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B7F00 */ if (_t11) goto L_021B7F04; else goto L_021B7F28;
|
|
L_021B7F04: ; // 0x21b7f04
|
|
/* 021B7F04 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B7F08 */ Gambit_fn_021B8504(cpu);
|
|
L_021B7F0C: ; // 0x21b7f0c
|
|
/* 021B7F0C */ _t12 = cpu->r[26] + 0x0000000Cu;
|
|
/* 021B7F0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B7F10 */ cpu->r[3] = cpu->r[30] + cpu->r[6];
|
|
/* 021B7F14 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021B7F18 */ _t13 = cpu->r[26] + 0x00000008u;
|
|
/* 021B7F18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B7F1C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B7F20 */ _t14 = cpu->r[26] + 0x00000008u;
|
|
/* 021B7F20 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 021B7F24 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 021B7F24 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_021B7F28: ; // 0x21b7f28
|
|
/* 021B7F28 */ cpu->r[9] = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B7F2C */ cpu->r[30] = cpu->r[29] - cpu->r[28];
|
|
/* 021B7F30 */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 021B7F30 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[27]);
|
|
/* 021B7F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021B7F38 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 021B7F38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B7F3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F3C */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B7F3C */ if (_t19) goto L_021B7F40; else goto L_021B7EE4;
|
|
L_021B7F40: ; // 0x21b7f40
|
|
/* 021B7F40 */ /* nop */
|
|
/* 021B7F44 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 021B7F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B7F48 */ cpu->lr = cpu->r[0];
|
|
/* 021B7F4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B7F50 */ return;
|
|
}
|
|
|
|
// fn_021B7F54 @ 0x21b7f54
|
|
void Gambit_fn_021B7F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_021B7F54: ; // 0x21b7f54
|
|
/* 021B7F54 */ cpu->r[0] = cpu->lr;
|
|
/* 021B7F58 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 021B7F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7F58 */ cpu->r[1] = _t0;
|
|
/* 021B7F5C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 021B7F5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B7F60 */ /* nop */
|
|
/* 021B7F64 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 021B7F64 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B7F68 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 021B7F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B7F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
|
|
/* 021B7F70 */ /* nop */
|
|
/* 021B7F74 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B7F78 */ cpu->r[26] = cpu->r[5];
|
|
/* 021B7F7C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7F7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B7F7C */ if (_t5) goto L_021B7F80; else goto L_021B80F0;
|
|
L_021B7F80: ; // 0x21b7f80
|
|
/* 021B7F80 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B7F84 */ _t6 = cpu->r[12] + 0x00004D34u;
|
|
/* 021B7F84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B7F88 */ _t7 = cpu->r[12] + 0x0000003Eu;
|
|
/* 021B7F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021B7F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B7F90 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F90 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B7F90 */ if (_t9) goto L_021B7F9C; else goto L_021B7F94;
|
|
L_021B7F94: ; // 0x21b7f94
|
|
/* 021B7F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 021B7F98 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F98 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B7F98 */ if (_t11) goto L_021B80F0; else goto L_021B7F9C;
|
|
L_021B7F9C: ; // 0x21b7f9c
|
|
/* 021B7F9C */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B7FA0 */ cpu->r[22] = cpu->r[25] + 0x00000348u;
|
|
/* 021B7FA4 */ cpu->r[7] = cpu->r[25] + cpu->r[31];
|
|
/* 021B7FA8 */ _t12 = cpu->r[22] + cpu->r[31];
|
|
/* 021B7FA8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B7FAC */ _t13 = cpu->r[7] + 0x0000034Cu;
|
|
/* 021B7FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B7FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 021B7FB4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7FB4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B7FB4 */ if (_t15) goto L_021B80F0; else goto L_021B7FB8;
|
|
L_021B7FB8: ; // 0x21b7fb8
|
|
/* 021B7FB8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7FBC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x00000048u);
|
|
/* 021B7FC0 */ cpu->r[9] = cpu->r[25] + 0x00000014u;
|
|
/* 021B7FC4 */ cpu->r[27] = 0x00000001u;
|
|
/* 021B7FC8 */ cpu->r[24] = 0x101C0000u;
|
|
/* 021B7FCC */ _t16 = cpu->r[12] + 0xFFFFA470u;
|
|
/* 021B7FCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021B7FD0 */ cpu->r[30] = cpu->r[9] + cpu->r[0];
|
|
L_021B7FD4: ; // 0x21b7fd4
|
|
/* 021B7FD4 */ _t17 = cpu->r[30] + 0x00000034u;
|
|
/* 021B7FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021B7FD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021B7FDC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7FDC */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B7FDC */ if (_t19) goto L_021B7FE0; else goto L_021B80C4;
|
|
L_021B7FE0: ; // 0x21b7fe0
|
|
/* 021B7FE0 */ cpu->r[28] = cpu->r[25] + 0x00000388u;
|
|
/* 021B7FE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B7FE8 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B7FEC */ cpu->r[0] = 0x00000040u;
|
|
/* 021B7FF0 */ _t20 = cpu->r[25] + 0x00000334u;
|
|
/* 021B7FF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B7FF4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7FF8 */ cpu->r[4] = 0x00000000u;
|
|
L_021B7FFC: ; // 0x21b7ffc
|
|
/* 021B7FFC */ _t21 = cpu->r[25] + 0x0000032Cu;
|
|
/* 021B7FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8000 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 021B8004 */ _t22 = cpu->r[25] + 0x00000330u;
|
|
/* 021B8004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B8008 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8008 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B8008 */ if (_t24) goto L_021B800C; else goto L_021B8014;
|
|
L_021B800C: ; // 0x21b800c
|
|
/* 021B800C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000018u);
|
|
/* 021B8010 */ cpu->r[29] = cpu->r[29] + cpu->r[7];
|
|
L_021B8014: ; // 0x21b8014
|
|
/* 021B8014 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B8018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
|
|
/* 021B801C */ cpu->r[8] = cpu->r[11];
|
|
/* 021B8020 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8020 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B8020 */ if (_t26) goto L_021B802C; else goto L_021B8024;
|
|
L_021B8024: ; // 0x21b8024
|
|
/* 021B8024 */ cpu->r[11] = cpu->r[4];
|
|
/* 021B8028 */ cpu->r[8] = cpu->r[11];
|
|
L_021B802C: ; // 0x21b802c
|
|
/* 021B802C */ _t27 = cpu->r[25] + 0x00000334u;
|
|
/* 021B802C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 021B8030 */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B8038 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8038 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B8038 */ if (_t30) goto L_021B8068; else goto L_021B803C;
|
|
L_021B803C: ; // 0x21b803c
|
|
/* 021B803C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B803C */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B803C */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 021B803C */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B803C */ if (_t33) goto L_021B7FFC; else goto L_021B8040;
|
|
L_021B8040: ; // 0x21b8040
|
|
/* 021B8040 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8044 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8048 */ /* nop */
|
|
/* 021B804C */ _t34 = cpu->r[1] + 0x00000038u;
|
|
/* 021B804C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 021B8050 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8050 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 021B8054 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8054 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B8054 */ if (_t37) goto L_021B8058; // else: addr-0 trap, fall-through
|
|
L_021B8058: ; // 0x21b8058
|
|
/* 021B8058 */ _t38 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B805C */ cpu->lr = cpu->r[0];
|
|
/* 021B8060 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021B8064 */ return;
|
|
L_021B8068: ; // 0x21b8068
|
|
/* 021B8068 */ _t39 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8068 */ rbrew_write32(cpu->mem, _t39, cpu->r[26]);
|
|
/* 021B806C */ _t40 = cpu->r[25] + 0x00000344u;
|
|
/* 021B806C */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B8070 */ cpu->r[3] = cpu->r[25] + 0x00000338u;
|
|
/* 021B8074 */ cpu->r[4] = cpu->r[29] + cpu->r[10];
|
|
/* 021B8078 */ Gambit_fn_02801EBC(cpu);
|
|
/* 021B807C */ _t41 = cpu->r[25] + 0x00000340u;
|
|
/* 021B807C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B8080 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B8084 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8088 */ _t42 = cpu->r[25] + 0x00000340u;
|
|
/* 021B8088 */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
/* 021B808C */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8090 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8094 */ _t43 = cpu->r[24] + 0x00004DA4u;
|
|
/* 021B8094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B8098 */ cpu->r[5] = cpu->r[30] + 0x0000002Cu;
|
|
/* 021B809C */ cpu->r[6] = cpu->r[29];
|
|
/* 021B80A0 */ Gambit_fn_021B8848(cpu);
|
|
/* 021B80A4 */ cpu->r[4] = cpu->r[22] + cpu->r[31];
|
|
/* 021B80A8 */ _t44 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B80A8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[27]);
|
|
/* 021B80AC */ _t45 = cpu->r[4] + 0x00000004u;
|
|
/* 021B80AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B80B0 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B80B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B80B8 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
/* 021B80BC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B80BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B80BC */ if (_t47) goto L_021B80C0; else goto L_021B7FD4;
|
|
L_021B80C0: ; // 0x21b80c0
|
|
/* 021B80C0 */ goto L_021B80F0;
|
|
L_021B80C4: ; // 0x21b80c4
|
|
/* 021B80C4 */ _t48 = cpu->r[24] + 0x00004DA4u;
|
|
/* 021B80C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B80C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B80CC */ cpu->r[5] = cpu->r[30] + 0x0000002Cu;
|
|
/* 021B80D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B80D4 */ Gambit_fn_021B8848(cpu);
|
|
/* 021B80D8 */ cpu->r[4] = cpu->r[22] + cpu->r[31];
|
|
/* 021B80DC */ _t49 = cpu->r[4] + 0x00000004u;
|
|
/* 021B80DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B80E0 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B80E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B80E8 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
/* 021B80EC */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B80EC */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B80EC */ if (_t51) goto L_021B80F0; else goto L_021B7FD4;
|
|
L_021B80F0: ; // 0x21b80f0
|
|
/* 021B80F0 */ /* nop */
|
|
/* 021B80F4 */ _t52 = cpu->r[1] + 0x00000038u;
|
|
/* 021B80F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021B80F8 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 021B80F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 021B80FC */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B80FC */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B80FC */ if (_t55) goto L_021B8100; // else: addr-0 trap, fall-through
|
|
L_021B8100: ; // 0x21b8100
|
|
/* 021B8100 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021B8104 */ cpu->lr = cpu->r[0];
|
|
/* 021B8108 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021B810C */ return;
|
|
}
|
|
|
|
// fn_021B7F58 @ 0x21b7f58
|
|
void Gambit_fn_021B7F58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_021B7F58: ; // 0x21b7f58
|
|
/* 021B7F58 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 021B7F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B7F58 */ cpu->r[1] = _t0;
|
|
/* 021B7F5C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 021B7F5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B7F60 */ /* nop */
|
|
/* 021B7F64 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 021B7F64 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021B7F68 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 021B7F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B7F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
|
|
/* 021B7F70 */ /* nop */
|
|
/* 021B7F74 */ cpu->r[25] = cpu->r[3];
|
|
/* 021B7F78 */ cpu->r[26] = cpu->r[5];
|
|
/* 021B7F7C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B7F7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B7F7C */ if (_t5) goto L_021B7F80; else goto L_021B80F0;
|
|
L_021B7F80: ; // 0x21b7f80
|
|
/* 021B7F80 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B7F84 */ _t6 = cpu->r[12] + 0x00004D34u;
|
|
/* 021B7F84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B7F88 */ _t7 = cpu->r[12] + 0x0000003Eu;
|
|
/* 021B7F88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021B7F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B7F90 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F90 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B7F90 */ if (_t9) goto L_021B7F9C; else goto L_021B7F94;
|
|
L_021B7F94: ; // 0x21b7f94
|
|
/* 021B7F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 021B7F98 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7F98 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B7F98 */ if (_t11) goto L_021B80F0; else goto L_021B7F9C;
|
|
L_021B7F9C: ; // 0x21b7f9c
|
|
/* 021B7F9C */ cpu->r[31] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B7FA0 */ cpu->r[22] = cpu->r[25] + 0x00000348u;
|
|
/* 021B7FA4 */ cpu->r[7] = cpu->r[25] + cpu->r[31];
|
|
/* 021B7FA8 */ _t12 = cpu->r[22] + cpu->r[31];
|
|
/* 021B7FA8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B7FAC */ _t13 = cpu->r[7] + 0x0000034Cu;
|
|
/* 021B7FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B7FB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 021B7FB4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B7FB4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B7FB4 */ if (_t15) goto L_021B80F0; else goto L_021B7FB8;
|
|
L_021B7FB8: ; // 0x21b7fb8
|
|
/* 021B7FB8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B7FBC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x00000048u);
|
|
/* 021B7FC0 */ cpu->r[9] = cpu->r[25] + 0x00000014u;
|
|
/* 021B7FC4 */ cpu->r[27] = 0x00000001u;
|
|
/* 021B7FC8 */ cpu->r[24] = 0x101C0000u;
|
|
/* 021B7FCC */ _t16 = cpu->r[12] + 0xFFFFA470u;
|
|
/* 021B7FCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021B7FD0 */ cpu->r[30] = cpu->r[9] + cpu->r[0];
|
|
L_021B7FD4: ; // 0x21b7fd4
|
|
/* 021B7FD4 */ _t17 = cpu->r[30] + 0x00000034u;
|
|
/* 021B7FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021B7FD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021B7FDC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B7FDC */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B7FDC */ if (_t19) goto L_021B7FE0; else goto L_021B80C4;
|
|
L_021B7FE0: ; // 0x21b7fe0
|
|
/* 021B7FE0 */ cpu->r[28] = cpu->r[25] + 0x00000388u;
|
|
/* 021B7FE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B7FE8 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B7FEC */ cpu->r[0] = 0x00000040u;
|
|
/* 021B7FF0 */ _t20 = cpu->r[25] + 0x00000334u;
|
|
/* 021B7FF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B7FF4 */ cpu->ctr = cpu->r[0];
|
|
/* 021B7FF8 */ cpu->r[4] = 0x00000000u;
|
|
L_021B7FFC: ; // 0x21b7ffc
|
|
/* 021B7FFC */ _t21 = cpu->r[25] + 0x0000032Cu;
|
|
/* 021B7FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8000 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 021B8004 */ _t22 = cpu->r[25] + 0x00000330u;
|
|
/* 021B8004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B8008 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8008 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B8008 */ if (_t24) goto L_021B800C; else goto L_021B8014;
|
|
L_021B800C: ; // 0x21b800c
|
|
/* 021B800C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000018u);
|
|
/* 021B8010 */ cpu->r[29] = cpu->r[29] + cpu->r[7];
|
|
L_021B8014: ; // 0x21b8014
|
|
/* 021B8014 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 021B8018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000040u);
|
|
/* 021B801C */ cpu->r[8] = cpu->r[11];
|
|
/* 021B8020 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8020 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B8020 */ if (_t26) goto L_021B802C; else goto L_021B8024;
|
|
L_021B8024: ; // 0x21b8024
|
|
/* 021B8024 */ cpu->r[11] = cpu->r[4];
|
|
/* 021B8028 */ cpu->r[8] = cpu->r[11];
|
|
L_021B802C: ; // 0x21b802c
|
|
/* 021B802C */ _t27 = cpu->r[25] + 0x00000334u;
|
|
/* 021B802C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 021B8030 */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B8038 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8038 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B8038 */ if (_t30) goto L_021B8068; else goto L_021B803C;
|
|
L_021B803C: ; // 0x21b803c
|
|
/* 021B803C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B803C */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B803C */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 021B803C */ _t33 = _t32 & 0x00000001u;
|
|
/* 021B803C */ if (_t33) goto L_021B7FFC; else goto L_021B8040;
|
|
L_021B8040: ; // 0x21b8040
|
|
/* 021B8040 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8044 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8048 */ /* nop */
|
|
/* 021B804C */ _t34 = cpu->r[1] + 0x00000038u;
|
|
/* 021B804C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 021B8050 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8050 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 021B8054 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8054 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B8054 */ if (_t37) goto L_021B8058; // else: addr-0 trap, fall-through
|
|
L_021B8058: ; // 0x21b8058
|
|
/* 021B8058 */ _t38 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B805C */ cpu->lr = cpu->r[0];
|
|
/* 021B8060 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021B8064 */ return;
|
|
L_021B8068: ; // 0x21b8068
|
|
/* 021B8068 */ _t39 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8068 */ rbrew_write32(cpu->mem, _t39, cpu->r[26]);
|
|
/* 021B806C */ _t40 = cpu->r[25] + 0x00000344u;
|
|
/* 021B806C */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B8070 */ cpu->r[3] = cpu->r[25] + 0x00000338u;
|
|
/* 021B8074 */ cpu->r[4] = cpu->r[29] + cpu->r[10];
|
|
/* 021B8078 */ Gambit_fn_02801EBC(cpu);
|
|
/* 021B807C */ _t41 = cpu->r[25] + 0x00000340u;
|
|
/* 021B807C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B8080 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 021B8084 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8088 */ _t42 = cpu->r[25] + 0x00000340u;
|
|
/* 021B8088 */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
/* 021B808C */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8090 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8094 */ _t43 = cpu->r[24] + 0x00004DA4u;
|
|
/* 021B8094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021B8098 */ cpu->r[5] = cpu->r[30] + 0x0000002Cu;
|
|
/* 021B809C */ cpu->r[6] = cpu->r[29];
|
|
/* 021B80A0 */ Gambit_fn_021B8848(cpu);
|
|
/* 021B80A4 */ cpu->r[4] = cpu->r[22] + cpu->r[31];
|
|
/* 021B80A8 */ _t44 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B80A8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[27]);
|
|
/* 021B80AC */ _t45 = cpu->r[4] + 0x00000004u;
|
|
/* 021B80AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B80B0 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B80B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B80B8 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
/* 021B80BC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B80BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 021B80BC */ if (_t47) goto L_021B80C0; else goto L_021B7FD4;
|
|
L_021B80C0: ; // 0x21b80c0
|
|
/* 021B80C0 */ goto L_021B80F0;
|
|
L_021B80C4: ; // 0x21b80c4
|
|
/* 021B80C4 */ _t48 = cpu->r[24] + 0x00004DA4u;
|
|
/* 021B80C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B80C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B80CC */ cpu->r[5] = cpu->r[30] + 0x0000002Cu;
|
|
/* 021B80D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B80D4 */ Gambit_fn_021B8848(cpu);
|
|
/* 021B80D8 */ cpu->r[4] = cpu->r[22] + cpu->r[31];
|
|
/* 021B80DC */ _t49 = cpu->r[4] + 0x00000004u;
|
|
/* 021B80DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B80E0 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021B80E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 021B80E8 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
/* 021B80EC */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B80EC */ _t51 = _t50 & 0x00000001u;
|
|
/* 021B80EC */ if (_t51) goto L_021B80F0; else goto L_021B7FD4;
|
|
L_021B80F0: ; // 0x21b80f0
|
|
/* 021B80F0 */ /* nop */
|
|
/* 021B80F4 */ _t52 = cpu->r[1] + 0x00000038u;
|
|
/* 021B80F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021B80F8 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 021B80F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 021B80FC */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B80FC */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B80FC */ if (_t55) goto L_021B8100; // else: addr-0 trap, fall-through
|
|
L_021B8100: ; // 0x21b8100
|
|
/* 021B8100 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021B8104 */ cpu->lr = cpu->r[0];
|
|
/* 021B8108 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 021B810C */ return;
|
|
}
|
|
|
|
// fn_021B8110 @ 0x21b8110
|
|
void Gambit_fn_021B8110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_021B8110: ; // 0x21b8110
|
|
/* 021B8110 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B8110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8110 */ cpu->r[1] = _t0;
|
|
/* 021B8114 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8114 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021B8118 */ cpu->r[0] = cpu->lr;
|
|
/* 021B811C */ /* nop */
|
|
/* 021B8120 */ /* nop */
|
|
/* 021B8124 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B8128 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8128 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B812C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000008u);
|
|
/* 021B8130 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 021B8130 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021B8134 */ cpu->r[29] = cpu->r[5];
|
|
/* 021B8138 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8138 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B8138 */ if (_t5) goto L_021B813C; else goto L_021B81E0;
|
|
L_021B813C: ; // 0x21b813c
|
|
/* 021B813C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B8140 */ cpu->r[31] = cpu->r[28] + cpu->r[11];
|
|
/* 021B8144 */ _t6 = cpu->r[31] + 0x00000348u;
|
|
/* 021B8144 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8144 */ cpu->r[31] = _t6;
|
|
/* 021B8148 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B814C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 021B8150 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B8150 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B8150 */ if (_t9) goto L_021B81E0; else goto L_021B8154;
|
|
L_021B8154: ; // 0x21b8154
|
|
/* 021B8154 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000048u);
|
|
/* 021B8158 */ cpu->r[4] = cpu->r[28] + 0x00000014u;
|
|
/* 021B815C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8160 */ _t10 = cpu->r[12] + 0xFFFFA470u;
|
|
/* 021B8160 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021B8164 */ cpu->r[26] = cpu->r[4] + cpu->r[5];
|
|
L_021B8168: ; // 0x21b8168
|
|
/* 021B8168 */ _t11 = cpu->r[26] + 0x00000034u;
|
|
/* 021B8168 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021B816C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021B8170 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B8170 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B8170 */ if (_t13) goto L_021B81CC; else goto L_021B8174;
|
|
L_021B8174: ; // 0x21b8174
|
|
/* 021B8174 */ cpu->r[30] = cpu->r[28] + 0x00000388u;
|
|
/* 021B8178 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B817C */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B8180 */ _t14 = cpu->r[28] + 0x00000344u;
|
|
/* 021B8180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8184 */ cpu->r[7] = cpu->r[28] + 0x00000338u;
|
|
/* 021B8188 */ _t15 = cpu->r[28] + 0x0000033Cu;
|
|
/* 021B8188 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B818C */ cpu->r[0] = cpu->r[7] - cpu->r[10];
|
|
/* 021B8190 */ cpu->r[12] = cpu->r[6] - cpu->r[10];
|
|
/* 021B8194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 021B8198 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8198 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B8198 */ if (_t17) goto L_021B81C4; else goto L_021B819C;
|
|
L_021B819C: ; // 0x21b819c
|
|
/* 021B819C */ cpu->r[7] = 0x00000001u;
|
|
L_021B81A0: ; // 0x21b81a0
|
|
/* 021B81A0 */ _t18 = cpu->r[12] + 0x00000008u;
|
|
/* 021B81A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B81A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 021B81A8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B81A8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B81A8 */ if (_t20) goto L_021B81AC; else goto L_021B81B0;
|
|
L_021B81AC: ; // 0x21b81ac
|
|
/* 021B81AC */ _t21 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021B81AC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[7]);
|
|
L_021B81B0: ; // 0x21b81b0
|
|
/* 021B81B0 */ cpu->r[8] = cpu->r[12] + cpu->r[10];
|
|
/* 021B81B4 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 021B81B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B81B8 */ cpu->r[12] = cpu->r[9] - cpu->r[10];
|
|
/* 021B81BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 021B81C0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B81C0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B81C0 */ if (_t24) goto L_021B81C4; else goto L_021B81A0;
|
|
L_021B81C4: ; // 0x21b81c4
|
|
/* 021B81C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B81C8 */ Gambit_fn_02836E54(cpu);
|
|
L_021B81CC: ; // 0x21b81cc
|
|
/* 021B81CC */ _t25 = cpu->r[31] + 0x00000004u;
|
|
/* 021B81CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B81D0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 021B81D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 021B81D8 */ cpu->r[26] = cpu->r[26] + 0x00000048u;
|
|
/* 021B81DC */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B81DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B81DC */ if (_t27) goto L_021B81E0; else goto L_021B8168;
|
|
L_021B81E0: ; // 0x21b81e0
|
|
/* 021B81E0 */ /* nop */
|
|
/* 021B81E4 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 021B81E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 021B81E8 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 021B81E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 021B81EC */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B81EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B81EC */ if (_t31) goto L_021B81F0; // else: addr-0 trap, fall-through
|
|
L_021B81F0: ; // 0x21b81f0
|
|
/* 021B81F0 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 021B81F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B81F4 */ cpu->lr = cpu->r[0];
|
|
/* 021B81F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B81FC */ return;
|
|
}
|
|
|
|
// fn_021B8200 @ 0x21b8200
|
|
void Gambit_fn_021B8200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_021B8200: ; // 0x21b8200
|
|
/* 021B8200 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B8200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8200 */ cpu->r[1] = _t0;
|
|
/* 021B8204 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8208 */ /* nop */
|
|
/* 021B820C */ cpu->r[27] = cpu->r[3];
|
|
/* 021B820C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B8210 */ cpu->r[28] = cpu->r[4];
|
|
/* 021B8214 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8214 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B8218 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8218 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8218 */ if (_t3) goto L_021B82A8; else goto L_021B821C;
|
|
L_021B821C: ; // 0x21b821c
|
|
/* 021B821C */ cpu->r[8] = 0x10030000u;
|
|
/* 021B8220 */ cpu->r[8] = cpu->r[8] + 0xFFFFA4E8u;
|
|
/* 021B8224 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8228 */ _t4 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021B8228 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 021B822C */ _t5 = cpu->r[12] + 0x00004DA0u;
|
|
/* 021B822C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B822C */ cpu->r[12] = _t5;
|
|
/* 021B8230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[9]);
|
|
/* 021B8234 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B8238 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8238 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8238 */ if (_t7) goto L_021B823C; else goto L_021B828C;
|
|
L_021B823C: ; // 0x21b823c
|
|
/* 021B823C */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B8240 */ _t8 = cpu->r[30] + 0x00004D9Cu;
|
|
/* 021B8240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8240 */ cpu->r[30] = _t8;
|
|
/* 021B8244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B8248 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 021B8248 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 021B824C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B824C */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B824C */ if (_t11) goto L_021B8288; else goto L_021B8250;
|
|
L_021B8250: ; // 0x21b8250
|
|
/* 021B8250 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B8254 */ cpu->r[3] = cpu->r[29] + 0x00000388u;
|
|
/* 021B8258 */ cpu->r[0] = cpu->r[0] + 0xFFFFA460u;
|
|
/* 021B825C */ cpu->r[4] = 0x00000002u;
|
|
/* 021B8260 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 021B8260 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 021B8264 */ Gambit_fn_02836DBC(cpu);
|
|
/* 021B8268 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021B826C */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 021B8270 */ cpu->r[7] = 0x00000000u;
|
|
/* 021B8274 */ cpu->r[6] = cpu->r[6] + 0xFFFF8470u;
|
|
/* 021B8278 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 021B827C */ cpu->r[8] = cpu->r[7];
|
|
/* 021B8280 */ cpu->r[5] = 0x00000048u;
|
|
/* 021B8284 */ Gambit_fn_02C82F38(cpu);
|
|
L_021B8288: ; // 0x21b8288
|
|
/* 021B8288 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 021B8288 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
L_021B828C: ; // 0x21b828c
|
|
/* 021B828C */ cpu->r[3] = cpu->r[27];
|
|
/* 021B8290 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8294 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B8298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B829C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B829C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B829C */ if (_t15) goto L_021B82A8; else goto L_021B82A0;
|
|
L_021B82A0: ; // 0x21b82a0
|
|
/* 021B82A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B82A4 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B82A8: ; // 0x21b82a8
|
|
/* 021B82A8 */ /* nop */
|
|
/* 021B82AC */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 021B82AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B82B0 */ cpu->lr = cpu->r[0];
|
|
/* 021B82B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B82B8 */ return;
|
|
}
|
|
|
|
// fn_021B82BC @ 0x21b82bc
|
|
void Gambit_fn_021B82BC(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_021B82BC: ; // 0x21b82bc
|
|
/* 021B82BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B82C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B82C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B82C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B82C0 */ goto L_021B82C4;
|
|
L_021B82C4: ; // 0x21b82c4
|
|
/* 021B82C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B82C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B82C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B82C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B82C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B82C8 */ goto L_021B82CC;
|
|
L_021B82CC: ; // 0x21b82cc
|
|
/* 021B82CC */ 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_021B82D0 @ 0x21b82d0
|
|
void Gambit_fn_021B82D0(CPUState* cpu) {
|
|
L_021B82D0: ; // 0x21b82d0
|
|
/* 021B82D0 */ return;
|
|
}
|
|
|
|
// fn_021B82D4 @ 0x21b82d4
|
|
void Gambit_fn_021B82D4(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_021B82D4: ; // 0x21b82d4
|
|
/* 021B82D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B82D8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B82D8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B82D8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B82D8 */ goto L_021B82DC;
|
|
L_021B82DC: ; // 0x21b82dc
|
|
/* 021B82DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B82DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B82E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B82E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B82E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B82E0 */ goto L_021B82E4;
|
|
L_021B82E4: ; // 0x21b82e4
|
|
/* 021B82E4 */ 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_021B82E8 @ 0x21b82e8
|
|
void Gambit_fn_021B82E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B82E8: ; // 0x21b82e8
|
|
/* 021B82E8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021B82E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B82EC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 021B82EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B82F0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 021B82F4 */ cpu->r[11] = 0x10110000u;
|
|
/* 021B82F8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 021B82F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021B82FC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B82FC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 021B8300 */ return;
|
|
}
|
|
|
|
// fn_021B8304 @ 0x21b8304
|
|
void Gambit_fn_021B8304(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_021B8304: ; // 0x21b8304
|
|
/* 021B8304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8308 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8308 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B8308 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8308 */ goto L_021B830C;
|
|
L_021B830C: ; // 0x21b830c
|
|
/* 021B830C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B830C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8310 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8310 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8310 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8310 */ goto L_021B8314;
|
|
L_021B8314: ; // 0x21b8314
|
|
/* 021B8314 */ 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_021B8318 @ 0x21b8318
|
|
void Gambit_fn_021B8318(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_021B8318: ; // 0x21b8318
|
|
/* 021B8318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B831C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B831C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B831C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B831C */ goto L_021B8320;
|
|
L_021B8320: ; // 0x21b8320
|
|
/* 021B8320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8324 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8324 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8324 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8324 */ goto L_021B8328;
|
|
L_021B8328: ; // 0x21b8328
|
|
/* 021B8328 */ 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_021B8330 @ 0x21b8330
|
|
void Gambit_fn_021B8330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_021B8330: ; // 0x21b8330
|
|
/* 021B8330 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8330 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8330 */ cpu->r[1] = _t0;
|
|
/* 021B8334 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8334 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B8338 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8338 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B833C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B833C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B8340 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8340 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B8344 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8348 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8348 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B834C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B834C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B834C */ if (_t7) goto L_021B8350; else goto L_021B8360;
|
|
L_021B8350: ; // 0x21b8350
|
|
/* 021B8350 */ cpu->r[3] = 0x00000048u;
|
|
/* 021B8354 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8358 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B835C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B835C */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B835C */ if (_t9) goto L_021B844C; else goto L_021B8360;
|
|
L_021B8360: ; // 0x21b8360
|
|
/* 021B8360 */ cpu->r[28] = cpu->r[31];
|
|
/* 021B8360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8364 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8364 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B8364 */ if (_t11) goto L_021B8368; else goto L_021B8378;
|
|
L_021B8368: ; // 0x21b8368
|
|
/* 021B8368 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021B836C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8370 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B8370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8374 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8374 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B8374 */ if (_t13) goto L_021B840C; else goto L_021B8378;
|
|
L_021B8378: ; // 0x21b8378
|
|
/* 021B8378 */ cpu->r[29] = cpu->r[28];
|
|
/* 021B8378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B837C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B837C */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B837C */ if (_t15) goto L_021B8380; else goto L_021B8390;
|
|
L_021B8380: ; // 0x21b8380
|
|
/* 021B8380 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 021B8384 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8388 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B8388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B838C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B838C */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B838C */ if (_t17) goto L_021B8400; else goto L_021B8390;
|
|
L_021B8390: ; // 0x21b8390
|
|
/* 021B8390 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B8390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8394 */ cpu->r[30] = 0x10110000u;
|
|
/* 021B8398 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8398 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B8398 */ if (_t19) goto L_021B839C; else goto L_021B83C8;
|
|
L_021B839C: ; // 0x21b839c
|
|
/* 021B839C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B83A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B83A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B83A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B83A8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B83A8 */ if (_t21) goto L_021B83AC; else goto L_021B83C8;
|
|
L_021B83AC: ; // 0x21b83ac
|
|
/* 021B83AC */ cpu->r[10] = 0x10030000u;
|
|
/* 021B83B0 */ _t22 = cpu->r[30] + 0x00007399u;
|
|
/* 021B83B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 021B83B4 */ cpu->r[10] = cpu->r[10] + 0xFFFFA430u;
|
|
/* 021B83B8 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 021B83B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B83BC */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 021B83BC */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 021B83C0 */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 021B83C0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 021B83C4 */ goto L_021B8400;
|
|
L_021B83C8: ; // 0x21b83c8
|
|
/* 021B83C8 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B83CC */ cpu->r[7] = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B83D0 */ cpu->r[8] = cpu->r[8] + 0xFFFFA418u;
|
|
/* 021B83D4 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 021B83D4 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 021B83D8 */ cpu->r[9] = 0x00000020u;
|
|
/* 021B83DC */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 021B83DC */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 021B83E0 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 021B83E0 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 021B83E4 */ _t29 = cpu->r[30] + 0x00007399u;
|
|
/* 021B83E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 021B83E8 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B83EC */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 021B83EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B83F0 */ cpu->r[10] = cpu->r[10] + 0xFFFFA430u;
|
|
/* 021B83F4 */ _t31 = cpu->r[29] + 0x0000002Bu;
|
|
/* 021B83F4 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 021B83F8 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 021B83F8 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 021B83FC */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 021B83FC */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
L_021B8400: ; // 0x21b8400
|
|
/* 021B8400 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8404 */ cpu->r[12] = cpu->r[12] + 0xFFFFA448u;
|
|
/* 021B8408 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 021B8408 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
L_021B840C: ; // 0x21b840c
|
|
/* 021B840C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 021B840C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8410 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8410 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021B8410 */ if (_t36) goto L_021B8414; else goto L_021B8424;
|
|
L_021B8414: ; // 0x21b8414
|
|
/* 021B8414 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 021B8418 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8420 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8420 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B8420 */ if (_t38) goto L_021B844C; else goto L_021B8424;
|
|
L_021B8424: ; // 0x21b8424
|
|
/* 021B8424 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B8428 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B842C */ _t39 = cpu->r[6] + 0xFFFFA470u;
|
|
/* 021B842C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021B8430 */ _t40 = cpu->r[3] + 0x00000018u;
|
|
/* 021B8430 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 021B8434 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 021B8434 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 021B8438 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 021B8438 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 021B843C */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 021B843C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 021B8440 */ _t44 = cpu->r[3] + 0x00000010u;
|
|
/* 021B8440 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 021B8444 */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B8444 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 021B8448 */ _t46 = cpu->r[3] + 0x00000014u;
|
|
/* 021B8448 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
L_021B844C: ; // 0x21b844c
|
|
/* 021B844C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 021B844C */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B8450 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B8454 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B8458 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B845C */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 021B845C */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B8460 */ cpu->lr = cpu->r[0];
|
|
/* 021B8464 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B8468 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B846C */ return;
|
|
}
|
|
|
|
// fn_021B8484 @ 0x21b8484
|
|
void Gambit_fn_021B8484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021B8484: ; // 0x21b8484
|
|
/* 021B8484 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8488 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B8488 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B848C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8490 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8490 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B8490 */ cpu->r[1] = _t1;
|
|
/* 021B8494 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8494 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8494 */ if (_t3) goto L_021B8498; else goto L_021B84A8;
|
|
L_021B8498: ; // 0x21b8498
|
|
/* 021B8498 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B849C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B84A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B84A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B84A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B84A4 */ if (_t5) goto L_021B84B8; else goto L_021B84A8;
|
|
L_021B84A8: ; // 0x21b84a8
|
|
/* 021B84A8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B84AC */ cpu->r[12] = 0x00000000u;
|
|
/* 021B84B0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021B84B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B84B4 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 021B84B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
L_021B84B8: ; // 0x21b84b8
|
|
/* 021B84B8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B84B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B84BC */ cpu->lr = cpu->r[0];
|
|
/* 021B84C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B84C4 */ return;
|
|
}
|
|
|
|
// fn_021B8490 @ 0x21b8490
|
|
void Gambit_fn_021B8490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021B8490: ; // 0x21b8490
|
|
/* 021B8490 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8490 */ cpu->r[1] = _t0;
|
|
/* 021B8494 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8494 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B8494 */ if (_t2) goto L_021B8498; else goto L_021B84A8;
|
|
L_021B8498: ; // 0x21b8498
|
|
/* 021B8498 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B849C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B84A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B84A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B84A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B84A4 */ if (_t4) goto L_021B84B8; else goto L_021B84A8;
|
|
L_021B84A8: ; // 0x21b84a8
|
|
/* 021B84A8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B84AC */ cpu->r[12] = 0x00000000u;
|
|
/* 021B84B0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 021B84B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B84B4 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 021B84B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_021B84B8: ; // 0x21b84b8
|
|
/* 021B84B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B84B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B84BC */ cpu->lr = cpu->r[0];
|
|
/* 021B84C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B84C4 */ return;
|
|
}
|
|
|
|
// fn_021B84C8 @ 0x21b84c8
|
|
void Gambit_fn_021B84C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B84C8: ; // 0x21b84c8
|
|
/* 021B84C8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 021B84C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B84CC */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 021B84CC */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 021B84D0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 021B84D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B84D4 */ return;
|
|
}
|
|
|
|
// fn_021B84D8 @ 0x21b84d8
|
|
void Gambit_fn_021B84D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021B84D8: ; // 0x21b84d8
|
|
/* 021B84D8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021B84D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B84DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B84E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B84E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B84E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B84E4 */ if (_t2) goto L_021B84FC; else goto L_021B84E8;
|
|
L_021B84E8: ; // 0x21b84e8
|
|
/* 021B84E8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 021B84E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B84EC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 021B84EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B84F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 021B84F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B84F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B84F4 */ if (_t6) goto L_021B84F8; else goto L_021B84FC;
|
|
L_021B84F8: ; // 0x21b84f8
|
|
/* 021B84F8 */ cpu->r[0] = 0x00000001u;
|
|
L_021B84FC: ; // 0x21b84fc
|
|
/* 021B84FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B8500 */ return;
|
|
}
|
|
|
|
// fn_021B8504 @ 0x21b8504
|
|
void Gambit_fn_021B8504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B8504: ; // 0x21b8504
|
|
/* 021B8504 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8508 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8508 */ cpu->r[1] = _t0;
|
|
/* 021B850C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B850C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8510 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8514 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8514 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B8518 */ Gambit_fn_021B84D8(cpu);
|
|
/* 021B851C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8520 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8520 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B8520 */ if (_t4) goto L_021B852C; else goto L_021B8524;
|
|
L_021B8524: ; // 0x21b8524
|
|
/* 021B8524 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B8528 */ Gambit_fn_021B8D48(cpu);
|
|
L_021B852C: ; // 0x21b852c
|
|
/* 021B852C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 021B8530 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B8534 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8534 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021B8538 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8538 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B853C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021B853C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8540 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8544 */ cpu->lr = cpu->r[0];
|
|
/* 021B8548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B854C */ return;
|
|
}
|
|
|
|
// fn_021B8508 @ 0x21b8508
|
|
void Gambit_fn_021B8508(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B8508: ; // 0x21b8508
|
|
/* 021B8508 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8508 */ cpu->r[1] = _t0;
|
|
/* 021B850C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B850C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8510 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8514 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8514 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B8518 */ Gambit_fn_021B84D8(cpu);
|
|
/* 021B851C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8520 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8520 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B8520 */ if (_t4) goto L_021B852C; else goto L_021B8524;
|
|
L_021B8524: ; // 0x21b8524
|
|
/* 021B8524 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B8528 */ Gambit_fn_021B8D48(cpu);
|
|
L_021B852C: ; // 0x21b852c
|
|
/* 021B852C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 021B8530 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B8534 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8534 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021B8538 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8538 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021B853C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021B853C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8540 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8544 */ cpu->lr = cpu->r[0];
|
|
/* 021B8548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B854C */ return;
|
|
}
|
|
|
|
// fn_021B8550 @ 0x21b8550
|
|
void Gambit_fn_021B8550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_021B8550: ; // 0x21b8550
|
|
/* 021B8550 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8554 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8554 */ cpu->r[1] = _t0;
|
|
/* 021B8558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8558 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B855C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B855C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B8560 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8560 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B8564 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8568 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8568 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B856C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B856C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B856C */ if (_t6) goto L_021B8570; else goto L_021B8580;
|
|
L_021B8570: ; // 0x21b8570
|
|
/* 021B8570 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 021B8574 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8578 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B857C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B857C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B857C */ if (_t8) goto L_021B860C; else goto L_021B8580;
|
|
L_021B8580: ; // 0x21b8580
|
|
/* 021B8580 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8584 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B8588 */ cpu->r[12] = cpu->r[12] + 0xFFFFA530u;
|
|
/* 021B858C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B858C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8590 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8590 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B8594 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8594 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B8594 */ if (_t11) goto L_021B8598; else goto L_021B85A8;
|
|
L_021B8598: ; // 0x21b8598
|
|
/* 021B8598 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B859C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B85A4 */ if (_t13) goto L_021B85B0; else goto L_021B85A8;
|
|
L_021B85A8: ; // 0x21b85a8
|
|
/* 021B85A8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021B85A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 021B85AC */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 021B85AC */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
L_021B85B0: ; // 0x21b85b0
|
|
/* 021B85B0 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021B85B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 021B85B4 */ cpu->r[30] = cpu->r[31] + 0x00000024u;
|
|
/* 021B85B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B85B8 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 021B85B8 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 021B85BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B85BC */ if (_t19) goto L_021B85C0; else goto L_021B85D0;
|
|
L_021B85C0: ; // 0x21b85c0
|
|
/* 021B85C0 */ cpu->r[3] = 0x00000010u;
|
|
/* 021B85C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B85C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B85CC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B85CC */ if (_t21) goto L_021B85FC; else goto L_021B85D0;
|
|
L_021B85D0: ; // 0x21b85d0
|
|
/* 021B85D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B85D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B85D4 */ if (_t23) goto L_021B85D8; else goto L_021B85E8;
|
|
L_021B85D8: ; // 0x21b85d8
|
|
/* 021B85D8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B85DC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85E4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B85E4 */ if (_t25) goto L_021B85F4; else goto L_021B85E8;
|
|
L_021B85E8: ; // 0x21b85e8
|
|
/* 021B85E8 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 021B85E8 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 021B85EC */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 021B85EC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 021B85F0 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 021B85F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
L_021B85F4: ; // 0x21b85f4
|
|
/* 021B85F4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B85F8 */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B85F8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_021B85FC: ; // 0x21b85fc
|
|
/* 021B85FC */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 021B8600 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B8604 */ cpu->r[0] = 0x00000010u;
|
|
/* 021B8608 */ _t30 = cpu->r[31] + 0x00000030u;
|
|
/* 021B8608 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_021B860C: ; // 0x21b860c
|
|
/* 021B860C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B860C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8610 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B8614 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8618 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B861C */ cpu->lr = cpu->r[0];
|
|
/* 021B8620 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B8624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8628 */ return;
|
|
}
|
|
|
|
// fn_021B8554 @ 0x21b8554
|
|
void Gambit_fn_021B8554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_021B8554: ; // 0x21b8554
|
|
/* 021B8554 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8554 */ cpu->r[1] = _t0;
|
|
/* 021B8558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8558 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B855C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B855C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B8560 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8560 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B8564 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8568 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8568 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B856C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B856C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B856C */ if (_t6) goto L_021B8570; else goto L_021B8580;
|
|
L_021B8570: ; // 0x21b8570
|
|
/* 021B8570 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 021B8574 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8578 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B857C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B857C */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B857C */ if (_t8) goto L_021B860C; else goto L_021B8580;
|
|
L_021B8580: ; // 0x21b8580
|
|
/* 021B8580 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8584 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B8588 */ cpu->r[12] = cpu->r[12] + 0xFFFFA530u;
|
|
/* 021B858C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B858C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8590 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8590 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021B8594 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8594 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B8594 */ if (_t11) goto L_021B8598; else goto L_021B85A8;
|
|
L_021B8598: ; // 0x21b8598
|
|
/* 021B8598 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B859C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B85A4 */ if (_t13) goto L_021B85B0; else goto L_021B85A8;
|
|
L_021B85A8: ; // 0x21b85a8
|
|
/* 021B85A8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 021B85A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 021B85AC */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 021B85AC */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
L_021B85B0: ; // 0x21b85b0
|
|
/* 021B85B0 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021B85B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 021B85B4 */ cpu->r[30] = cpu->r[31] + 0x00000024u;
|
|
/* 021B85B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B85B8 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 021B85B8 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 021B85BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B85BC */ if (_t19) goto L_021B85C0; else goto L_021B85D0;
|
|
L_021B85C0: ; // 0x21b85c0
|
|
/* 021B85C0 */ cpu->r[3] = 0x00000010u;
|
|
/* 021B85C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B85C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B85CC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B85CC */ if (_t21) goto L_021B85FC; else goto L_021B85D0;
|
|
L_021B85D0: ; // 0x21b85d0
|
|
/* 021B85D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B85D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B85D4 */ if (_t23) goto L_021B85D8; else goto L_021B85E8;
|
|
L_021B85D8: ; // 0x21b85d8
|
|
/* 021B85D8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B85DC */ Gambit_fn_02801A78(cpu);
|
|
/* 021B85E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B85E4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B85E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B85E4 */ if (_t25) goto L_021B85F4; else goto L_021B85E8;
|
|
L_021B85E8: ; // 0x21b85e8
|
|
/* 021B85E8 */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 021B85E8 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 021B85EC */ _t27 = cpu->r[3] + 0x00000008u;
|
|
/* 021B85EC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 021B85F0 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 021B85F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
L_021B85F4: ; // 0x21b85f4
|
|
/* 021B85F4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021B85F8 */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B85F8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_021B85FC: ; // 0x21b85fc
|
|
/* 021B85FC */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 021B8600 */ Gambit_fn_02836D50(cpu);
|
|
/* 021B8604 */ cpu->r[0] = 0x00000010u;
|
|
/* 021B8608 */ _t30 = cpu->r[31] + 0x00000030u;
|
|
/* 021B8608 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_021B860C: ; // 0x21b860c
|
|
/* 021B860C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B860C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8610 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B8614 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8618 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B861C */ cpu->lr = cpu->r[0];
|
|
/* 021B8620 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B8624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8628 */ return;
|
|
}
|
|
|
|
// fn_021B862C @ 0x21b862c
|
|
void Gambit_fn_021B862C(CPUState* 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_021B862C: ; // 0x21b862c
|
|
/* 021B862C */ cpu->r[0] = cpu->lr;
|
|
/* 021B8630 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8630 */ cpu->r[1] = _t0;
|
|
/* 021B8634 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8634 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B8638 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8638 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B863C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B863C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B8640 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8640 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B8644 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8644 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B8648 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B864C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B8650 */ _t6 = cpu->r[29] + 0x00004DA4u;
|
|
/* 021B8650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8650 */ cpu->r[29] = _t6;
|
|
/* 021B8654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8658 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8658 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B8658 */ if (_t8) goto L_021B865C; else goto L_021B86AC;
|
|
L_021B865C: ; // 0x21b865c
|
|
/* 021B865C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8660 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 021B8664 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B8668 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B866C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8670 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B8670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8674 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8674 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B8674 */ if (_t10) goto L_021B8694; else goto L_021B8678;
|
|
L_021B8678: ; // 0x21b8678
|
|
/* 021B8678 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B867C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8680 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8684 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B8688 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B868C */ cpu->r[0] = cpu->r[0] + 0xFFFFA540u;
|
|
/* 021B8690 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B8690 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B8694: ; // 0x21b8694
|
|
/* 021B8694 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8698 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B869C */ _t12 = cpu->r[12] + 0x00004DA8u;
|
|
/* 021B869C */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B86A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B86A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B86A0 */ if (_t14) goto L_021B86A8; else goto L_021B86A4;
|
|
L_021B86A4: ; // 0x21b86a4
|
|
/* 021B86A4 */ Gambit_fn_021B8550(cpu);
|
|
L_021B86A8: ; // 0x21b86a8
|
|
/* 021B86A8 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B86A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B86AC: ; // 0x21b86ac
|
|
/* 021B86AC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B86AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B86B0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B86B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B86B4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B86B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B86B8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B86B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B86BC */ cpu->lr = cpu->r[0];
|
|
/* 021B86C0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B86C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B86C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B86C8 */ return;
|
|
}
|
|
|
|
// fn_021B8630 @ 0x21b8630
|
|
void Gambit_fn_021B8630(CPUState* 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_021B8630: ; // 0x21b8630
|
|
/* 021B8630 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8630 */ cpu->r[1] = _t0;
|
|
/* 021B8634 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8634 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B8638 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8638 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B863C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B863C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B8640 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8640 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B8644 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8644 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B8648 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B864C */ cpu->r[30] = cpu->r[3];
|
|
/* 021B8650 */ _t6 = cpu->r[29] + 0x00004DA4u;
|
|
/* 021B8650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8650 */ cpu->r[29] = _t6;
|
|
/* 021B8654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8658 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8658 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B8658 */ if (_t8) goto L_021B865C; else goto L_021B86AC;
|
|
L_021B865C: ; // 0x21b865c
|
|
/* 021B865C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8660 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 021B8664 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B8668 */ Gambit_fn_02801ADC(cpu);
|
|
/* 021B866C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8670 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 021B8670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8674 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8674 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B8674 */ if (_t10) goto L_021B8694; else goto L_021B8678;
|
|
L_021B8678: ; // 0x21b8678
|
|
/* 021B8678 */ cpu->r[5] = 0x00000003u;
|
|
/* 021B867C */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8680 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8684 */ Gambit_fn_02821D88(cpu);
|
|
/* 021B8688 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B868C */ cpu->r[0] = cpu->r[0] + 0xFFFFA540u;
|
|
/* 021B8690 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B8690 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021B8694: ; // 0x21b8694
|
|
/* 021B8694 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8698 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B869C */ _t12 = cpu->r[12] + 0x00004DA8u;
|
|
/* 021B869C */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021B86A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B86A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B86A0 */ if (_t14) goto L_021B86A8; else goto L_021B86A4;
|
|
L_021B86A4: ; // 0x21b86a4
|
|
/* 021B86A4 */ Gambit_fn_021B8550(cpu);
|
|
L_021B86A8: ; // 0x21b86a8
|
|
/* 021B86A8 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 021B86A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B86AC: ; // 0x21b86ac
|
|
/* 021B86AC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021B86AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B86B0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B86B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B86B4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B86B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B86B8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B86B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B86BC */ cpu->lr = cpu->r[0];
|
|
/* 021B86C0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B86C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B86C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B86C8 */ return;
|
|
}
|
|
|
|
// fn_021B86CC @ 0x21b86cc
|
|
void Gambit_fn_021B86CC(CPUState* cpu) {
|
|
uint32_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_021B86CC: ; // 0x21b86cc
|
|
/* 021B86CC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B86CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B86CC */ cpu->r[1] = _t0;
|
|
/* 021B86D0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B86D4 */ /* nop */
|
|
/* 021B86D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B86D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021B86DC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B86DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B86E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B86E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B86E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B86E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B86E8 */ if (_t3) goto L_021B86EC; else goto L_021B86F8;
|
|
L_021B86EC: ; // 0x21b86ec
|
|
/* 021B86EC */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B86F0 */ _t4 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 021B86F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B86F4 */ Gambit_fn_02826F20(cpu);
|
|
L_021B86F8: ; // 0x21b86f8
|
|
/* 021B86F8 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021B86F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B86FC */ _t6 = cpu->r[9] + 0x00000034u;
|
|
/* 021B86FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8700 */ cpu->ctr = cpu->r[0];
|
|
/* 021B8704 */ cpu->r[4] = 0x00000300u;
|
|
/* 021B8708 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B870C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B8710 */ cpu->r[28] = 0x00000000u;
|
|
/* 021B8714 */ cpu->r[27] = 0x00000020u;
|
|
/* 021B8718 */ cpu->r[31] = cpu->r[3];
|
|
L_021B871C: ; // 0x21b871c
|
|
/* 021B871C */ cpu->r[3] = cpu->r[31] + cpu->r[28];
|
|
/* 021B871C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8720 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8720 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B8720 */ if (_t8) goto L_021B8728; else goto L_021B8724;
|
|
L_021B8724: ; // 0x21b8724
|
|
/* 021B8724 */ Gambit_fn_021B8AF4(cpu);
|
|
L_021B8728: ; // 0x21b8728
|
|
/* 021B8728 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 021B8728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B872C */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 021B8730 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8730 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B8730 */ if (_t10) goto L_021B8734; else goto L_021B871C;
|
|
L_021B8734: ; // 0x21b8734
|
|
/* 021B8734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8738 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8738 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B8738 */ if (_t12) goto L_021B873C; else goto L_021B874C;
|
|
L_021B873C: ; // 0x21b873c
|
|
/* 021B873C */ _t13 = cpu->r[29] + 0x00000018u;
|
|
/* 021B873C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B8740 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B8744 */ cpu->r[28] = 0x00000020u;
|
|
/* 021B8748 */ goto L_021B8760;
|
|
L_021B874C: ; // 0x21b874c
|
|
/* 021B874C */ cpu->r[28] = 0x00000020u;
|
|
/* 021B8750 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8754 */ _t14 = cpu->r[29] + 0x00000014u;
|
|
/* 021B8754 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 021B8758 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B875C */ _t15 = cpu->r[29] + 0x00000018u;
|
|
/* 021B875C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_021B8760: ; // 0x21b8760
|
|
/* 021B8760 */ _t16 = cpu->r[29] + 0x00000014u;
|
|
/* 021B8760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B8764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 021B8768 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8768 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B8768 */ if (_t18) goto L_021B876C; else goto L_021B8774;
|
|
L_021B876C: ; // 0x21b876c
|
|
/* 021B876C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000018u);
|
|
/* 021B8770 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
L_021B8774: ; // 0x21b8774
|
|
/* 021B8774 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8778 */ Gambit_fn_021B8B7C(cpu);
|
|
/* 021B877C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 021B877C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8780 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 021B8784 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8784 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021B8784 */ if (_t20) goto L_021B8790; else goto L_021B8788;
|
|
L_021B8788: ; // 0x21b8788
|
|
/* 021B8788 */ _t21 = cpu->r[29] + 0x00000018u;
|
|
/* 021B8788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B878C */ goto L_021B8760;
|
|
L_021B8790: ; // 0x21b8790
|
|
/* 021B8790 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B8794 */ Gambit_fn_021B7D6C(cpu);
|
|
/* 021B8798 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B879C */ Gambit_fn_021B7E0C(cpu);
|
|
/* 021B87A0 */ /* nop */
|
|
/* 021B87A4 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 021B87A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B87A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B87AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B87B0 */ return;
|
|
}
|
|
|
|
// fn_021B87B4 @ 0x21b87b4
|
|
void Gambit_fn_021B87B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_021B87B4: ; // 0x21b87b4
|
|
/* 021B87B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B87B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B87B4 */ cpu->r[1] = _t0;
|
|
/* 021B87B8 */ /* nop */
|
|
/* 021B87BC */ cpu->r[0] = cpu->lr;
|
|
/* 021B87C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B87C4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B87C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B87C8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B87CC */ _t2 = cpu->r[3] + 0x00004D9Cu;
|
|
/* 021B87CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B87D0 */ Gambit_fn_021B7EB0(cpu);
|
|
/* 021B87D4 */ _t3 = cpu->r[31] + 0x00000030u;
|
|
/* 021B87D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B87D8 */ cpu->r[26] = cpu->r[31] + 0x00000024u;
|
|
/* 021B87DC */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 021B87DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B87E0 */ cpu->r[31] = cpu->r[26] - cpu->r[28];
|
|
/* 021B87E4 */ cpu->r[30] = cpu->r[9] - cpu->r[28];
|
|
/* 021B87E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021B87EC */ _t5 = cpu->r[9] + 0x00000004u;
|
|
/* 021B87EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B87F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B87F0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B87F0 */ if (_t7) goto L_021B8834; else goto L_021B87F4;
|
|
L_021B87F4: ; // 0x21b87f4
|
|
/* 021B87F4 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
L_021B87F8: ; // 0x21b87f8
|
|
/* 021B87F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B87FC */ Gambit_fn_021B8BDC(cpu);
|
|
/* 021B8800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8804 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8804 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B8804 */ if (_t9) goto L_021B8824; else goto L_021B8808;
|
|
L_021B8808: ; // 0x21b8808
|
|
/* 021B8808 */ _t10 = cpu->r[26] + 0x0000000Cu;
|
|
/* 021B8808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B880C */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
/* 021B8810 */ Gambit_fn_02801EDC(cpu);
|
|
/* 021B8814 */ _t11 = cpu->r[26] + 0x00000008u;
|
|
/* 021B8814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B8818 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B881C */ _t12 = cpu->r[26] + 0x00000008u;
|
|
/* 021B881C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 021B8820 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 021B8820 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
L_021B8824: ; // 0x21b8824
|
|
/* 021B8824 */ cpu->r[30] = cpu->r[29] - cpu->r[28];
|
|
/* 021B8828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 021B882C */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 021B882C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8830 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8830 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B8830 */ if (_t16) goto L_021B8834; else goto L_021B87F8;
|
|
L_021B8834: ; // 0x21b8834
|
|
/* 021B8834 */ /* nop */
|
|
/* 021B8838 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B883C */ cpu->lr = cpu->r[0];
|
|
/* 021B8840 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B8844 */ return;
|
|
}
|
|
|
|
// fn_021B8848 @ 0x21b8848
|
|
void Gambit_fn_021B8848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_021B8848: ; // 0x21b8848
|
|
/* 021B8848 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 021B8848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8848 */ cpu->r[1] = _t0;
|
|
/* 021B884C */ /* nop */
|
|
/* 021B8850 */ cpu->r[26] = cpu->r[3];
|
|
/* 021B8854 */ cpu->r[30] = cpu->r[26] + 0x00000034u;
|
|
/* 021B8858 */ cpu->r[0] = cpu->lr;
|
|
/* 021B885C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B885C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B8860 */ cpu->r[29] = cpu->r[6];
|
|
/* 021B8864 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B8868 */ cpu->r[28] = cpu->r[5];
|
|
/* 021B886C */ cpu->r[27] = cpu->r[4];
|
|
/* 021B8870 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B8874 */ cpu->r[11] = 0x00000020u;
|
|
/* 021B8878 */ cpu->ctr = cpu->r[11];
|
|
/* 021B887C */ _t2 = cpu->r[26] + 0x0000001Cu;
|
|
/* 021B887C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B8880 */ cpu->r[5] = 0x00000000u;
|
|
L_021B8884: ; // 0x21b8884
|
|
/* 021B8884 */ _t3 = cpu->r[26] + 0x00000014u;
|
|
/* 021B8884 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 021B888C */ _t4 = cpu->r[26] + 0x00000018u;
|
|
/* 021B888C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8890 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B8890 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B8890 */ if (_t6) goto L_021B8894; else goto L_021B889C;
|
|
L_021B8894: ; // 0x21b8894
|
|
/* 021B8894 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 021B8898 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
L_021B889C: ; // 0x21b889c
|
|
/* 021B889C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021B88A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 021B88A4 */ cpu->r[0] = cpu->r[12];
|
|
/* 021B88A8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B88A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B88A8 */ if (_t8) goto L_021B88B4; else goto L_021B88AC;
|
|
L_021B88AC: ; // 0x21b88ac
|
|
/* 021B88AC */ cpu->r[12] = cpu->r[5];
|
|
/* 021B88B0 */ cpu->r[0] = cpu->r[12];
|
|
L_021B88B4: ; // 0x21b88b4
|
|
/* 021B88B4 */ _t9 = cpu->r[26] + 0x0000001Cu;
|
|
/* 021B88B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021B88B8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 021B88B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B88BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 021B88C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B88C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B88C0 */ if (_t12) goto L_021B88C4; else goto L_021B8960;
|
|
L_021B88C4: ; // 0x21b88c4
|
|
/* 021B88C4 */ _t13 = cpu->r[26] + 0x00000020u;
|
|
/* 021B88C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B88C8 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 021B88C8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021B88CC */ _t15 = cpu->r[26] + 0x00000020u;
|
|
/* 021B88CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B88D0 */ cpu->r[9] = cpu->r[7] + 0x00000001u;
|
|
/* 021B88D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu);
|
|
/* 021B88D8 */ _t16 = cpu->r[26] + 0x00000030u;
|
|
/* 021B88D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B88DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B88DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B88DC */ if (_t18) goto L_021B8920; else goto L_021B88E0;
|
|
L_021B88E0: ; // 0x21b88e0
|
|
/* 021B88E0 */ _t19 = cpu->r[26] + 0x00000020u;
|
|
/* 021B88E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 021B88E4 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
|
|
/* 021B88E8 */ cpu->r[3] = cpu->r[26] + 0x00000024u;
|
|
/* 021B88EC */ Gambit_fn_02801EBC(cpu);
|
|
/* 021B88F0 */ _t20 = cpu->r[26] + 0x0000002Cu;
|
|
/* 021B88F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B88F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B88F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B88FC */ _t21 = cpu->r[26] + 0x0000002Cu;
|
|
/* 021B88FC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 021B8900 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8904 */ cpu->r[5] = cpu->r[28];
|
|
/* 021B8908 */ cpu->r[4] = cpu->r[27];
|
|
/* 021B890C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8910 */ Gambit_fn_021B8C98(cpu);
|
|
/* 021B8914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B8918 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8918 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B8918 */ if (_t23) goto L_021B898C; else goto L_021B891C;
|
|
L_021B891C: ; // 0x21b891c
|
|
/* 021B891C */ goto L_021B8980;
|
|
L_021B8920: ; // 0x21b8920
|
|
/* 021B8920 */ _t24 = cpu->r[26] + 0x00000020u;
|
|
/* 021B8920 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 021B8924 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
|
|
/* 021B8928 */ cpu->r[3] = cpu->r[26] + 0x00000024u;
|
|
/* 021B892C */ Gambit_fn_02801EBC(cpu);
|
|
/* 021B8930 */ _t25 = cpu->r[26] + 0x0000002Cu;
|
|
/* 021B8930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B8934 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 021B8938 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B893C */ _t26 = cpu->r[26] + 0x0000002Cu;
|
|
/* 021B893C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 021B8940 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8944 */ cpu->r[5] = cpu->r[28];
|
|
/* 021B8948 */ cpu->r[4] = cpu->r[27];
|
|
/* 021B894C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8950 */ Gambit_fn_021B8C98(cpu);
|
|
/* 021B8954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021B8958 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8958 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021B8958 */ if (_t28) goto L_021B898C; else goto L_021B895C;
|
|
L_021B895C: ; // 0x21b895c
|
|
/* 021B895C */ goto L_021B8980;
|
|
L_021B8960: ; // 0x21b8960
|
|
/* 021B8960 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B8960 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B8960 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 021B8960 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B8960 */ if (_t31) goto L_021B8884; else goto L_021B8964;
|
|
L_021B8964: ; // 0x21b8964
|
|
/* 021B8964 */ cpu->r[3] = cpu->r[30];
|
|
/* 021B8968 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B896C */ /* nop */
|
|
/* 021B8970 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B8974 */ cpu->lr = cpu->r[0];
|
|
/* 021B8978 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B897C */ return;
|
|
L_021B8980: ; // 0x21b8980
|
|
/* 021B8980 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B8984 */ cpu->r[4] = cpu->r[31];
|
|
/* 021B8988 */ Gambit_fn_021B84C8(cpu);
|
|
L_021B898C: ; // 0x21b898c
|
|
/* 021B898C */ /* nop */
|
|
/* 021B8990 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B8994 */ cpu->lr = cpu->r[0];
|
|
/* 021B8998 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 021B899C */ return;
|
|
}
|
|
|
|
// fn_021B89A0 @ 0x21b89a0
|
|
void Gambit_fn_021B89A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B89A0: ; // 0x21b89a0
|
|
/* 021B89A0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B89A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B89A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B89A4 */ cpu->r[1] = _t0;
|
|
/* 021B89A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021B89A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B89AC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B89B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B89B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B89B4 */ cpu->r[28] = cpu->r[31] + 0x00000034u;
|
|
/* 021B89B8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B89B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B89BC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B89C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B89C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021B89C4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B89C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B89C8 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B89CC */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 021B89CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B89D0 */ _t7 = cpu->r[31] + 0x00000030u;
|
|
/* 021B89D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B89D4 */ cpu->r[11] = cpu->r[31] + 0x00000024u;
|
|
/* 021B89D8 */ cpu->r[3] = cpu->r[12] - cpu->r[29];
|
|
/* 021B89DC */ cpu->r[31] = cpu->r[11] - cpu->r[29];
|
|
/* 021B89E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 021B89E4 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 021B89E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B89E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B89E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B89E8 */ if (_t10) goto L_021B8A00; else goto L_021B89EC;
|
|
L_021B89EC: ; // 0x21b89ec
|
|
/* 021B89EC */ Gambit_fn_021B8D48(cpu);
|
|
/* 021B89F0 */ cpu->r[3] = cpu->r[30] - cpu->r[29];
|
|
/* 021B89F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 021B89F8 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 021B89F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B89FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B89FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B89FC */ if (_t13) goto L_021B8A00; else goto L_021B89EC;
|
|
L_021B8A00: ; // 0x21b8a00
|
|
/* 021B8A00 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8A04 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8A08 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8A08 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8A0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8A0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B8A10 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B8A14 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B8A18 */ cpu->lr = cpu->r[0];
|
|
/* 021B8A1C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8A1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8A20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8A24 */ return;
|
|
}
|
|
|
|
// fn_021B89A4 @ 0x21b89a4
|
|
void Gambit_fn_021B89A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021B89A4: ; // 0x21b89a4
|
|
/* 021B89A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B89A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B89A4 */ cpu->r[1] = _t0;
|
|
/* 021B89A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 021B89A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B89AC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B89B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B89B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B89B4 */ cpu->r[28] = cpu->r[31] + 0x00000034u;
|
|
/* 021B89B8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B89B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B89BC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B89C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B89C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021B89C4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B89C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B89C8 */ Gambit_fn_02836DD0(cpu);
|
|
/* 021B89CC */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 021B89CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B89D0 */ _t7 = cpu->r[31] + 0x00000030u;
|
|
/* 021B89D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B89D4 */ cpu->r[11] = cpu->r[31] + 0x00000024u;
|
|
/* 021B89D8 */ cpu->r[3] = cpu->r[12] - cpu->r[29];
|
|
/* 021B89DC */ cpu->r[31] = cpu->r[11] - cpu->r[29];
|
|
/* 021B89E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 021B89E4 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 021B89E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B89E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B89E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B89E8 */ if (_t10) goto L_021B8A00; else goto L_021B89EC;
|
|
L_021B89EC: ; // 0x21b89ec
|
|
/* 021B89EC */ Gambit_fn_021B8D48(cpu);
|
|
/* 021B89F0 */ cpu->r[3] = cpu->r[30] - cpu->r[29];
|
|
/* 021B89F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 021B89F8 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 021B89F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021B89FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B89FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B89FC */ if (_t13) goto L_021B8A00; else goto L_021B89EC;
|
|
L_021B8A00: ; // 0x21b8a00
|
|
/* 021B8A00 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8A04 */ Gambit_fn_02836E54(cpu);
|
|
/* 021B8A08 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8A08 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8A0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8A0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B8A10 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B8A14 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B8A18 */ cpu->lr = cpu->r[0];
|
|
/* 021B8A1C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8A1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8A20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8A24 */ return;
|
|
}
|
|
|
|
// fn_021B8A28 @ 0x21b8a28
|
|
void Gambit_fn_021B8A28(CPUState* cpu) {
|
|
uint32_t _t0, _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_021B8A28: ; // 0x21b8a28
|
|
/* 021B8A28 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8A2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8A2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8A2C */ cpu->r[1] = _t0;
|
|
/* 021B8A30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8A30 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021B8A34 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B8A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8A38 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8A3C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8A3C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B8A40 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8A40 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B8A44 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8A44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B8A48 */ cpu->r[29] = cpu->r[4];
|
|
/* 021B8A4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8A4C */ if (_t7) goto L_021B8ABC; else goto L_021B8A50;
|
|
L_021B8A50: ; // 0x21b8a50
|
|
/* 021B8A50 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B8A54 */ cpu->r[8] = cpu->r[8] + 0xFFFFA540u;
|
|
/* 021B8A58 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8A5C */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B8A5C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 021B8A60 */ _t9 = cpu->r[12] + 0x00004DA8u;
|
|
/* 021B8A60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8A60 */ cpu->r[12] = _t9;
|
|
/* 021B8A64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 021B8A68 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B8A6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B8A6C */ if (_t11) goto L_021B8A70; else goto L_021B8AA0;
|
|
L_021B8A70: ; // 0x21b8a70
|
|
/* 021B8A70 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B8A74 */ _t12 = cpu->r[30] + 0x00004DA4u;
|
|
/* 021B8A74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8A74 */ cpu->r[30] = _t12;
|
|
/* 021B8A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B8A7C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021B8A7C */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 021B8A80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B8A80 */ if (_t15) goto L_021B8A9C; else goto L_021B8A84;
|
|
L_021B8A84: ; // 0x21b8a84
|
|
/* 021B8A84 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B8A88 */ cpu->r[3] = cpu->r[7] + 0x00000034u;
|
|
/* 021B8A8C */ cpu->r[10] = cpu->r[10] + 0xFFFFA530u;
|
|
/* 021B8A90 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B8A94 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 021B8A94 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 021B8A98 */ Gambit_fn_02836DBC(cpu);
|
|
L_021B8A9C: ; // 0x21b8a9c
|
|
/* 021B8A9C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 021B8A9C */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_021B8AA0: ; // 0x21b8aa0
|
|
/* 021B8AA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8AA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8AA8 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B8AAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8AB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8AB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B8AB0 */ if (_t19) goto L_021B8ABC; else goto L_021B8AB4;
|
|
L_021B8AB4: ; // 0x21b8ab4
|
|
/* 021B8AB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8AB8 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B8ABC: ; // 0x21b8abc
|
|
/* 021B8ABC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8ABC */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8AC0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8AC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8AC4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B8AC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8AC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B8ACC */ cpu->lr = cpu->r[0];
|
|
/* 021B8AD0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B8AD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8AD8 */ return;
|
|
}
|
|
|
|
// fn_021B8A2C @ 0x21b8a2c
|
|
void Gambit_fn_021B8A2C(CPUState* cpu) {
|
|
uint32_t _t0, _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_021B8A2C: ; // 0x21b8a2c
|
|
/* 021B8A2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8A2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8A2C */ cpu->r[1] = _t0;
|
|
/* 021B8A30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8A30 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021B8A34 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B8A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021B8A38 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8A3C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8A3C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B8A40 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8A40 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B8A44 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8A44 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B8A48 */ cpu->r[29] = cpu->r[4];
|
|
/* 021B8A4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8A4C */ if (_t7) goto L_021B8ABC; else goto L_021B8A50;
|
|
L_021B8A50: ; // 0x21b8a50
|
|
/* 021B8A50 */ cpu->r[8] = 0x10030000u;
|
|
/* 021B8A54 */ cpu->r[8] = cpu->r[8] + 0xFFFFA540u;
|
|
/* 021B8A58 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8A5C */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B8A5C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 021B8A60 */ _t9 = cpu->r[12] + 0x00004DA8u;
|
|
/* 021B8A60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8A60 */ cpu->r[12] = _t9;
|
|
/* 021B8A64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 021B8A68 */ cpu->r[31] = 0x00000000u;
|
|
/* 021B8A6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B8A6C */ if (_t11) goto L_021B8A70; else goto L_021B8AA0;
|
|
L_021B8A70: ; // 0x21b8a70
|
|
/* 021B8A70 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021B8A74 */ _t12 = cpu->r[30] + 0x00004DA4u;
|
|
/* 021B8A74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8A74 */ cpu->r[30] = _t12;
|
|
/* 021B8A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021B8A7C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 021B8A7C */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 021B8A80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8A80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B8A80 */ if (_t15) goto L_021B8A9C; else goto L_021B8A84;
|
|
L_021B8A84: ; // 0x21b8a84
|
|
/* 021B8A84 */ cpu->r[10] = 0x10030000u;
|
|
/* 021B8A88 */ cpu->r[3] = cpu->r[7] + 0x00000034u;
|
|
/* 021B8A8C */ cpu->r[10] = cpu->r[10] + 0xFFFFA530u;
|
|
/* 021B8A90 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B8A94 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 021B8A94 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 021B8A98 */ Gambit_fn_02836DBC(cpu);
|
|
L_021B8A9C: ; // 0x21b8a9c
|
|
/* 021B8A9C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 021B8A9C */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
L_021B8AA0: ; // 0x21b8aa0
|
|
/* 021B8AA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8AA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8AA8 */ Gambit_fn_02821E68(cpu);
|
|
/* 021B8AAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8AB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8AB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B8AB0 */ if (_t19) goto L_021B8ABC; else goto L_021B8AB4;
|
|
L_021B8AB4: ; // 0x21b8ab4
|
|
/* 021B8AB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B8AB8 */ Gambit_fn_02801BB0(cpu);
|
|
L_021B8ABC: ; // 0x21b8abc
|
|
/* 021B8ABC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8ABC */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8AC0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8AC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8AC4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021B8AC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8AC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B8ACC */ cpu->lr = cpu->r[0];
|
|
/* 021B8AD0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B8AD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8AD8 */ return;
|
|
}
|
|
|
|
// fn_021B8ADC @ 0x21b8adc
|
|
void Gambit_fn_021B8ADC(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_021B8ADC: ; // 0x21b8adc
|
|
/* 021B8ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8AE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8AE0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B8AE0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8AE0 */ goto L_021B8AE4;
|
|
L_021B8AE4: ; // 0x21b8ae4
|
|
/* 021B8AE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8AE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8AE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8AE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8AE8 */ goto L_021B8AEC;
|
|
L_021B8AEC: ; // 0x21b8aec
|
|
/* 021B8AEC */ 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_021B8AF0 @ 0x21b8af0
|
|
void Gambit_fn_021B8AF0(CPUState* cpu) {
|
|
L_021B8AF0: ; // 0x21b8af0
|
|
/* 021B8AF0 */ return;
|
|
}
|
|
|
|
// fn_021B8AF4 @ 0x21b8af4
|
|
void Gambit_fn_021B8AF4(CPUState* 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_021B8AF4: ; // 0x21b8af4
|
|
/* 021B8AF4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8AF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8AF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8AF8 */ cpu->r[1] = _t0;
|
|
/* 021B8AFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8AFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8B00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8B08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8B0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B8B0C */ if (_t5) goto L_021B8B10; else goto L_021B8B20;
|
|
L_021B8B10: ; // 0x21b8b10
|
|
/* 021B8B10 */ cpu->r[3] = 0x00000018u;
|
|
/* 021B8B14 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8B18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8B1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8B1C */ if (_t7) goto L_021B8B60; else goto L_021B8B20;
|
|
L_021B8B20: ; // 0x21b8b20
|
|
/* 021B8B20 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 021B8B24 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B8B28 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021B8B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8B2C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8B2C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 021B8B30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B8B30 */ if (_t10) goto L_021B8B34; else goto L_021B8B44;
|
|
L_021B8B34: ; // 0x21b8b34
|
|
/* 021B8B34 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B8B38 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8B40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B8B40 */ if (_t12) goto L_021B8B54; else goto L_021B8B44;
|
|
L_021B8B44: ; // 0x21b8b44
|
|
/* 021B8B44 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B8B48 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 021B8B48 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 021B8B4C */ cpu->r[0] = cpu->r[0] + 0xFFFFA570u;
|
|
/* 021B8B50 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 021B8B50 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_021B8B54: ; // 0x21b8b54
|
|
/* 021B8B54 */ _t15 = cpu->r[31] + 0x00000010u;
|
|
/* 021B8B54 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021B8B58 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8B58 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 021B8B5C */ _t17 = cpu->r[31] + 0x00000014u;
|
|
/* 021B8B5C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_021B8B60: ; // 0x21b8b60
|
|
/* 021B8B60 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8B64 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8B68 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B8B6C */ cpu->lr = cpu->r[0];
|
|
/* 021B8B70 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8B78 */ return;
|
|
}
|
|
|
|
// fn_021B8AF8 @ 0x21b8af8
|
|
void Gambit_fn_021B8AF8(CPUState* 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_021B8AF8: ; // 0x21b8af8
|
|
/* 021B8AF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8AF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8AF8 */ cpu->r[1] = _t0;
|
|
/* 021B8AFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8AFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8B00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8B08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8B0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B8B0C */ if (_t5) goto L_021B8B10; else goto L_021B8B20;
|
|
L_021B8B10: ; // 0x21b8b10
|
|
/* 021B8B10 */ cpu->r[3] = 0x00000018u;
|
|
/* 021B8B14 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8B18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B8B1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8B1C */ if (_t7) goto L_021B8B60; else goto L_021B8B20;
|
|
L_021B8B20: ; // 0x21b8b20
|
|
/* 021B8B20 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 021B8B24 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B8B28 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021B8B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8B2C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8B2C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 021B8B30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B8B30 */ if (_t10) goto L_021B8B34; else goto L_021B8B44;
|
|
L_021B8B34: ; // 0x21b8b34
|
|
/* 021B8B34 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B8B38 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B8B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8B40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8B40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B8B40 */ if (_t12) goto L_021B8B54; else goto L_021B8B44;
|
|
L_021B8B44: ; // 0x21b8b44
|
|
/* 021B8B44 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B8B48 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 021B8B48 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 021B8B4C */ cpu->r[0] = cpu->r[0] + 0xFFFFA570u;
|
|
/* 021B8B50 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 021B8B50 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_021B8B54: ; // 0x21b8b54
|
|
/* 021B8B54 */ _t15 = cpu->r[31] + 0x00000010u;
|
|
/* 021B8B54 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021B8B58 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8B58 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 021B8B5C */ _t17 = cpu->r[31] + 0x00000014u;
|
|
/* 021B8B5C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_021B8B60: ; // 0x21b8b60
|
|
/* 021B8B60 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8B64 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B8B68 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B8B6C */ cpu->lr = cpu->r[0];
|
|
/* 021B8B70 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8B74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8B78 */ return;
|
|
}
|
|
|
|
// fn_021B8B7C @ 0x21b8b7c
|
|
void Gambit_fn_021B8B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B8B7C: ; // 0x21b8b7c
|
|
/* 021B8B7C */ cpu->r[0] = cpu->lr;
|
|
/* 021B8B80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8B80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8B80 */ cpu->r[1] = _t0;
|
|
/* 021B8B84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B8B88 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B8B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B8B90 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B8B94 */ cpu->r[3] = 0x00000040u;
|
|
/* 021B8B98 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B8B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8BA0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B8BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8BA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8BA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B8BA8 */ if (_t5) goto L_021B8BB4; else goto L_021B8BAC;
|
|
L_021B8BAC: ; // 0x21b8bac
|
|
/* 021B8BAC */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 021B8BB0 */ Gambit_fn_028D0D74(cpu);
|
|
L_021B8BB4: ; // 0x21b8bb4
|
|
/* 021B8BB4 */ cpu->r[4] = 0x00000001u;
|
|
/* 021B8BB8 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B8BBC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B8BBC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021B8BC0 */ Gambit_fn_028D0F80(cpu);
|
|
/* 021B8BC4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B8BC8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8BCC */ cpu->lr = cpu->r[0];
|
|
/* 021B8BD0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8BD8 */ return;
|
|
}
|
|
|
|
// fn_021B8B80 @ 0x21b8b80
|
|
void Gambit_fn_021B8B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021B8B80: ; // 0x21b8b80
|
|
/* 021B8B80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8B80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8B80 */ cpu->r[1] = _t0;
|
|
/* 021B8B84 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8B84 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B8B88 */ cpu->r[30] = cpu->r[3];
|
|
/* 021B8B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B8B90 */ cpu->r[31] = cpu->r[4];
|
|
/* 021B8B94 */ cpu->r[3] = 0x00000040u;
|
|
/* 021B8B98 */ cpu->r[5] = 0x00000004u;
|
|
/* 021B8B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8BA0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 021B8BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8BA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8BA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B8BA8 */ if (_t5) goto L_021B8BB4; else goto L_021B8BAC;
|
|
L_021B8BAC: ; // 0x21b8bac
|
|
/* 021B8BAC */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 021B8BB0 */ Gambit_fn_028D0D74(cpu);
|
|
L_021B8BB4: ; // 0x21b8bb4
|
|
/* 021B8BB4 */ cpu->r[4] = 0x00000001u;
|
|
/* 021B8BB8 */ cpu->r[5] = cpu->r[31];
|
|
/* 021B8BBC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021B8BBC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021B8BC0 */ Gambit_fn_028D0F80(cpu);
|
|
/* 021B8BC4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B8BC8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8BCC */ cpu->lr = cpu->r[0];
|
|
/* 021B8BD0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B8BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8BD8 */ return;
|
|
}
|
|
|
|
// fn_021B8BDC @ 0x21b8bdc
|
|
void Gambit_fn_021B8BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_021B8BDC: ; // 0x21b8bdc
|
|
/* 021B8BDC */ cpu->r[0] = cpu->lr;
|
|
/* 021B8BE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8BE0 */ cpu->r[1] = _t0;
|
|
/* 021B8BE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8BE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8BE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8BEC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8BF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8BF4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8BF8 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 021B8BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B8BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 021B8C00 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B8C04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8C04 */ if (_t7) goto L_021B8C08; else goto L_021B8C10;
|
|
L_021B8C08: ; // 0x21b8c08
|
|
/* 021B8C08 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8C0C */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C0C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
|
|
L_021B8C10: ; // 0x21b8c10
|
|
/* 021B8C10 */ Gambit_fn_028D1708(cpu);
|
|
/* 021B8C14 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B8C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B8C1C */ if (_t12) goto L_021B8C3C; else goto L_021B8C20;
|
|
L_021B8C20: ; // 0x21b8c20
|
|
/* 021B8C20 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B8C24 */ _t14 = cpu->r[11] + 0x00000014u;
|
|
/* 021B8C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 021B8C2C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C2C */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B8C2C */ if (_t16) goto L_021B8C38; else goto L_021B8C30;
|
|
L_021B8C30: ; // 0x21b8c30
|
|
/* 021B8C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C34 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C34 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B8C34 */ if (_t18) goto L_021B8C38; else goto L_021B8C7C;
|
|
L_021B8C38: ; // 0x21b8c38
|
|
/* 021B8C38 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C38 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
L_021B8C3C: ; // 0x21b8c3c
|
|
/* 021B8C3C */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8C40 */ _t21 = cpu->r[3] + 0x00000014u;
|
|
/* 021B8C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C48 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B8C48 */ if (_t23) goto L_021B8C4C; else goto L_021B8C7C;
|
|
L_021B8C4C: ; // 0x21b8c4c
|
|
/* 021B8C4C */ _t24 = cpu->r[3] + 0x00000024u;
|
|
/* 021B8C4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B8C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B8C54 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B8C54 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B8C54 */ if (_t26) goto L_021B8C58; else goto L_021B8C60;
|
|
L_021B8C58: ; // 0x21b8c58
|
|
/* 021B8C58 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8C5C */ Gambit_fn_028D19D0(cpu);
|
|
L_021B8C60: ; // 0x21b8c60
|
|
/* 021B8C60 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8C64 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8C64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8C68 */ cpu->lr = cpu->r[0];
|
|
/* 021B8C6C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8C6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8C70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8C74 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B8C78 */ return;
|
|
L_021B8C7C: ; // 0x21b8c7c
|
|
/* 021B8C7C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B8C80 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8C80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8C84 */ cpu->lr = cpu->r[0];
|
|
/* 021B8C88 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8C88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B8C8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8C90 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B8C94 */ return;
|
|
}
|
|
|
|
// fn_021B8BE0 @ 0x21b8be0
|
|
void Gambit_fn_021B8BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_021B8BE0: ; // 0x21b8be0
|
|
/* 021B8BE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8BE0 */ cpu->r[1] = _t0;
|
|
/* 021B8BE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8BE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8BE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8BEC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B8BF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B8BF4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8BF8 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 021B8BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B8BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 021B8C00 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B8C04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B8C04 */ if (_t7) goto L_021B8C08; else goto L_021B8C10;
|
|
L_021B8C08: ; // 0x21b8c08
|
|
/* 021B8C08 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B8C0C */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C0C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
|
|
L_021B8C10: ; // 0x21b8c10
|
|
/* 021B8C10 */ Gambit_fn_028D1708(cpu);
|
|
/* 021B8C14 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 021B8C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B8C1C */ if (_t12) goto L_021B8C3C; else goto L_021B8C20;
|
|
L_021B8C20: ; // 0x21b8c20
|
|
/* 021B8C20 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B8C24 */ _t14 = cpu->r[11] + 0x00000014u;
|
|
/* 021B8C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021B8C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 021B8C2C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C2C */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B8C2C */ if (_t16) goto L_021B8C38; else goto L_021B8C30;
|
|
L_021B8C30: ; // 0x21b8c30
|
|
/* 021B8C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C34 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C34 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B8C34 */ if (_t18) goto L_021B8C38; else goto L_021B8C7C;
|
|
L_021B8C38: ; // 0x21b8c38
|
|
/* 021B8C38 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8C38 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
L_021B8C3C: ; // 0x21b8c3c
|
|
/* 021B8C3C */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8C3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B8C40 */ _t21 = cpu->r[3] + 0x00000014u;
|
|
/* 021B8C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B8C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8C48 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8C48 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B8C48 */ if (_t23) goto L_021B8C4C; else goto L_021B8C7C;
|
|
L_021B8C4C: ; // 0x21b8c4c
|
|
/* 021B8C4C */ _t24 = cpu->r[3] + 0x00000024u;
|
|
/* 021B8C4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021B8C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B8C54 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B8C54 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021B8C54 */ if (_t26) goto L_021B8C58; else goto L_021B8C60;
|
|
L_021B8C58: ; // 0x21b8c58
|
|
/* 021B8C58 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8C5C */ Gambit_fn_028D19D0(cpu);
|
|
L_021B8C60: ; // 0x21b8c60
|
|
/* 021B8C60 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8C64 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8C64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8C68 */ cpu->lr = cpu->r[0];
|
|
/* 021B8C6C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8C6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8C70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8C74 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B8C78 */ return;
|
|
L_021B8C7C: ; // 0x21b8c7c
|
|
/* 021B8C7C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021B8C80 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8C80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8C84 */ cpu->lr = cpu->r[0];
|
|
/* 021B8C88 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8C88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B8C8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8C90 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B8C94 */ return;
|
|
}
|
|
|
|
// fn_021B8C98 @ 0x21b8c98
|
|
void Gambit_fn_021B8C98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021B8C98: ; // 0x21b8c98
|
|
/* 021B8C98 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8C9C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B8C9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8C9C */ cpu->r[1] = _t0;
|
|
/* 021B8CA0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8CA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8CA4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8CA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B8CA8 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8CA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B8CAC */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8CB0 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B8CB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B8CB8 */ cpu->r[31] = cpu->r[5];
|
|
/* 021B8CBC */ _t5 = cpu->r[12] + 0xFFFFA590u;
|
|
/* 021B8CBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B8CC0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8CC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B8CC4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8CC4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 021B8CC8 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8CC8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021B8CCC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8CCC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 021B8CD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8CD0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 021B8CD4 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8CD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021B8CD8 */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B8CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8CDC */ cpu->r[30] = cpu->r[4];
|
|
/* 021B8CE0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8CE4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8CE4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 021B8CE8 */ Gambit_fn_028D105C(cpu);
|
|
/* 021B8CEC */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 021B8CEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021B8CF0 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 021B8CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B8CF4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8CF4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 021B8CF8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8CF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 021B8CFC */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B8CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8D00 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8D00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021B8D04 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 021B8D04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021B8D08 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8D0C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 021B8D0C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 021B8D10 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8D14 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8D14 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 021B8D18 */ Gambit_fn_028D193C(cpu);
|
|
/* 021B8D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8D20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8D20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B8D20 */ if (_t24) goto L_021B8D2C; else goto L_021B8D24;
|
|
L_021B8D24: ; // 0x21b8d24
|
|
/* 021B8D24 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B8D28 */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8D28 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
L_021B8D2C: ; // 0x21b8d2c
|
|
/* 021B8D2C */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8D2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B8D30 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8D34 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8D34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8D38 */ cpu->lr = cpu->r[0];
|
|
/* 021B8D3C */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8D3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8D40 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B8D44 */ return;
|
|
}
|
|
|
|
// fn_021B8C9C @ 0x21b8c9c
|
|
void Gambit_fn_021B8C9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021B8C9C: ; // 0x21b8c9c
|
|
/* 021B8C9C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B8C9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8C9C */ cpu->r[1] = _t0;
|
|
/* 021B8CA0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8CA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8CA4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8CA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 021B8CA8 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8CA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B8CAC */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8CB0 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B8CB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 021B8CB8 */ cpu->r[31] = cpu->r[5];
|
|
/* 021B8CBC */ _t5 = cpu->r[12] + 0xFFFFA590u;
|
|
/* 021B8CBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B8CC0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 021B8CC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021B8CC4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8CC4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 021B8CC8 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 021B8CC8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021B8CCC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8CCC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 021B8CD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8CD0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 021B8CD4 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 021B8CD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021B8CD8 */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B8CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8CDC */ cpu->r[30] = cpu->r[4];
|
|
/* 021B8CE0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8CE4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8CE4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 021B8CE8 */ Gambit_fn_028D105C(cpu);
|
|
/* 021B8CEC */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 021B8CEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021B8CF0 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 021B8CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B8CF4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8CF4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 021B8CF8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8CF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 021B8CFC */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021B8CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B8D00 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B8D00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021B8D04 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 021B8D04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021B8D08 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8D0C */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 021B8D0C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 021B8D10 */ cpu->r[4] = cpu->r[30];
|
|
/* 021B8D14 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8D14 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 021B8D18 */ Gambit_fn_028D193C(cpu);
|
|
/* 021B8D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8D20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8D20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B8D20 */ if (_t24) goto L_021B8D2C; else goto L_021B8D24;
|
|
L_021B8D24: ; // 0x21b8d24
|
|
/* 021B8D24 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B8D28 */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 021B8D28 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
L_021B8D2C: ; // 0x21b8d2c
|
|
/* 021B8D2C */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8D2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021B8D30 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8D34 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8D34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021B8D38 */ cpu->lr = cpu->r[0];
|
|
/* 021B8D3C */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8D3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8D40 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B8D44 */ return;
|
|
}
|
|
|
|
// fn_021B8D48 @ 0x21b8d48
|
|
void Gambit_fn_021B8D48(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B8D48: ; // 0x21b8d48
|
|
/* 021B8D48 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B8D4C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 021B8D4C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 021B8D50 */ return;
|
|
}
|
|
|
|
// fn_021B8D54 @ 0x21b8d54
|
|
void Gambit_fn_021B8D54(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B8D54: ; // 0x21b8d54
|
|
/* 021B8D54 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021B8D54 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 021B8D58 */ return;
|
|
}
|
|
|
|
// fn_021B8D5C @ 0x21b8d5c
|
|
void Gambit_fn_021B8D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B8D5C: ; // 0x21b8d5c
|
|
/* 021B8D5C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021B8D60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8D60 */ cpu->r[1] = _t0;
|
|
/* 021B8D64 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B8D68 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B8D6C */ _t1 = cpu->r[10] + 0x00000F80u;
|
|
/* 021B8D6C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B8D6C */ cpu->r[10] = _t1;
|
|
/* 021B8D70 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B8D74 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B8D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B8D78 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B8D7C */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8D80 */ _t3 = cpu->r[7] + 0x00000F90u;
|
|
/* 021B8D80 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B8D80 */ cpu->r[7] = _t3;
|
|
/* 021B8D84 */ _t4 = cpu->r[8] + 0x00000F88u;
|
|
/* 021B8D84 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B8D84 */ cpu->r[8] = _t4;
|
|
/* 021B8D88 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B8D8C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8D8C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B8D90 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8D94 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B8D98 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B8D9C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B8D9C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B8DA0 */ _t8 = cpu->r[8] + 0x00000FA0u;
|
|
/* 021B8DA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B8DA0 */ cpu->r[8] = _t8;
|
|
/* 021B8DA4 */ _t9 = cpu->r[12] + 0x00000F98u;
|
|
/* 021B8DA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B8DA4 */ cpu->r[12] = _t9;
|
|
/* 021B8DA8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B8DA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B8DAC */ cpu->r[0] = 0x00000004u;
|
|
/* 021B8DB0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8DB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B8DB4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B8DB8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8DBC */ _t13 = cpu->r[11] + 0x00000FA8u;
|
|
/* 021B8DBC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B8DC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8DC4 */ return;
|
|
}
|
|
|
|
// fn_021B8D60 @ 0x21b8d60
|
|
void Gambit_fn_021B8D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B8D60: ; // 0x21b8d60
|
|
/* 021B8D60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8D60 */ cpu->r[1] = _t0;
|
|
/* 021B8D64 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B8D68 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B8D6C */ _t1 = cpu->r[10] + 0x00000F80u;
|
|
/* 021B8D6C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B8D6C */ cpu->r[10] = _t1;
|
|
/* 021B8D70 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B8D74 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B8D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B8D78 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B8D7C */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8D80 */ _t3 = cpu->r[7] + 0x00000F90u;
|
|
/* 021B8D80 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B8D80 */ cpu->r[7] = _t3;
|
|
/* 021B8D84 */ _t4 = cpu->r[8] + 0x00000F88u;
|
|
/* 021B8D84 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B8D84 */ cpu->r[8] = _t4;
|
|
/* 021B8D88 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B8D8C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8D8C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B8D90 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8D94 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B8D98 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B8D9C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B8D9C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B8DA0 */ _t8 = cpu->r[8] + 0x00000FA0u;
|
|
/* 021B8DA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B8DA0 */ cpu->r[8] = _t8;
|
|
/* 021B8DA4 */ _t9 = cpu->r[12] + 0x00000F98u;
|
|
/* 021B8DA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B8DA4 */ cpu->r[12] = _t9;
|
|
/* 021B8DA8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B8DA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B8DAC */ cpu->r[0] = 0x00000004u;
|
|
/* 021B8DB0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8DB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B8DB4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B8DB8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B8DBC */ _t13 = cpu->r[11] + 0x00000FA8u;
|
|
/* 021B8DBC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B8DC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B8DC4 */ return;
|
|
}
|
|
|
|
// fn_021B8DC8 @ 0x21b8dc8
|
|
void Gambit_fn_021B8DC8(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_021B8DC8: ; // 0x21b8dc8
|
|
/* 021B8DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B8DCC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8DCC */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B8DCC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8DCC */ goto L_021B8DD0;
|
|
L_021B8DD0: ; // 0x21b8dd0
|
|
/* 021B8DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B8DD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B8DD4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B8DD4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B8DD4 */ goto L_021B8DD8;
|
|
L_021B8DD8: ; // 0x21b8dd8
|
|
/* 021B8DD8 */ 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_021B8DDC @ 0x21b8ddc
|
|
void Gambit_fn_021B8DDC(CPUState* cpu) {
|
|
L_021B8DDC: ; // 0x21b8ddc
|
|
/* 021B8DDC */ return;
|
|
}
|
|
|
|
// fn_021B8DE0 @ 0x21b8de0
|
|
void Gambit_fn_021B8DE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021B8DE0: ; // 0x21b8de0
|
|
/* 021B8DE0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8DE4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B8DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B8DE8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8DE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B8DE8 */ cpu->r[1] = _t1;
|
|
/* 021B8DEC */ Gambit_fn_021B9F7C(cpu);
|
|
/* 021B8DF0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B8DF4 */ _t2 = cpu->r[12] + 0x00000FACu;
|
|
/* 021B8DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 021B8DF8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8DFC */ _t3 = cpu->r[12] + 0x00004DBCu;
|
|
/* 021B8DFC */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 021B8E00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8E04 */ cpu->lr = cpu->r[0];
|
|
/* 021B8E08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8E0C */ return;
|
|
}
|
|
|
|
// fn_021B8DE8 @ 0x21b8de8
|
|
void Gambit_fn_021B8DE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B8DE8: ; // 0x21b8de8
|
|
/* 021B8DE8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8DE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8DE8 */ cpu->r[1] = _t0;
|
|
/* 021B8DEC */ Gambit_fn_021B9F7C(cpu);
|
|
/* 021B8DF0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B8DF4 */ _t1 = cpu->r[12] + 0x00000FACu;
|
|
/* 021B8DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 021B8DF8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021B8DFC */ _t2 = cpu->r[12] + 0x00004DBCu;
|
|
/* 021B8DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 021B8E00 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8E04 */ cpu->lr = cpu->r[0];
|
|
/* 021B8E08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8E0C */ return;
|
|
}
|
|
|
|
// fn_021B8E10 @ 0x21b8e10
|
|
void Gambit_fn_021B8E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B8E10: ; // 0x21b8e10
|
|
/* 021B8E10 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8E14 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 021B8E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8E14 */ cpu->r[1] = _t0;
|
|
/* 021B8E18 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 021B8E18 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B8E1C */ _t2 = cpu->r[1] + 0x00000100u;
|
|
/* 021B8E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8E20 */ _t3 = cpu->r[1] + 0x00000104u;
|
|
/* 021B8E20 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B8E24 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B8E28 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021B8E28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B8E2C */ cpu->r[29] = cpu->r[3];
|
|
/* 021B8E30 */ cpu->r[31] = 0x00000001u;
|
|
/* 021B8E34 */ _t5 = cpu->r[5] + 0xFFFFA604u;
|
|
/* 021B8E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B8E38 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8E38 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 021B8E3C */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8E3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 021B8E40 */ _t8 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8E40 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 021B8E44 */ cpu->r[7] = 0x40000000u;
|
|
/* 021B8E48 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8E48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 021B8E4C */ cpu->r[7] = cpu->r[7] + 0x00000100u;
|
|
/* 021B8E50 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8E50 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 021B8E54 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8E58 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8E58 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B8E5C */ cpu->r[12] = 0x00000080u;
|
|
/* 021B8E60 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 021B8E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 021B8E64 */ _t13 = cpu->r[1] + 0x00000040u;
|
|
/* 021B8E64 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 021B8E68 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8E68 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[12]);
|
|
/* 021B8E6C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 021B8E70 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 021B8E70 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 021B8E74 */ cpu->r[5] = 0x00000060u;
|
|
/* 021B8E78 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8E78 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 021B8E7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8E7C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 021B8E80 */ _t18 = cpu->r[1] + 0x00000022u;
|
|
/* 021B8E80 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 021B8E84 */ cpu->r[11] = 0x0000001Au;
|
|
/* 021B8E88 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8E88 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 021B8E8C */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B8E90 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8E90 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 021B8E94 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 021B8E94 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 021B8E98 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8E98 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 021B8E9C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021B8EA0 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B8EA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8EA8 */ cpu->r[5] = 0x00000050u;
|
|
/* 021B8EAC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021B8EB0 */ cpu->r[6] = 0x00000002u;
|
|
/* 021B8EB4 */ _t23 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8EB4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 021B8EB8 */ cpu->r[0] = 0x00000040u;
|
|
/* 021B8EBC */ cpu->r[7] = 0x0000000Fu;
|
|
/* 021B8EC0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8EC0 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 021B8EC4 */ cpu->r[12] = cpu->r[1] + 0x00000004u;
|
|
/* 021B8EC8 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 021B8ECC */ _t25 = cpu->r[1] + 0x00000022u;
|
|
/* 021B8ECC */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[0]);
|
|
/* 021B8ED0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B8ED4 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8ED4 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_021B8ED8: ; // 0x21b8ed8
|
|
/* 021B8ED8 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 021B8ED8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8EDC */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 021B8EDC */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 021B8EE0 */ _t29 = cpu->r[12] + 0x00000008u;
|
|
/* 021B8EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8EE4 */ _t30 = cpu->r[6] + 0x00000008u;
|
|
/* 021B8EE4 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 021B8EE8 */ _t31 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021B8EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8EEC */ _t32 = cpu->r[6] + 0x0000000Cu;
|
|
/* 021B8EEC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021B8EF0 */ _t33 = cpu->r[12] + 0x00000010u;
|
|
/* 021B8EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B8EF0 */ cpu->r[12] = _t33;
|
|
/* 021B8EF4 */ _t34 = cpu->r[6] + 0x00000010u;
|
|
/* 021B8EF4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 021B8EF4 */ cpu->r[6] = _t34;
|
|
/* 021B8EF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B8EF8 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B8EF8 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 021B8EF8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B8EF8 */ if (_t37) goto L_021B8ED8; else goto L_021B8EFC;
|
|
L_021B8EFC: ; // 0x21b8efc
|
|
/* 021B8EFC */ _t38 = cpu->r[1] + 0x000000FCu;
|
|
/* 021B8EFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B8F00 */ _t39 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021B8F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B8F04 */ _t40 = cpu->r[1] + 0x00000100u;
|
|
/* 021B8F04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B8F08 */ cpu->lr = cpu->r[0];
|
|
/* 021B8F0C */ _t41 = cpu->r[1] + 0x00000104u;
|
|
/* 021B8F0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B8F10 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 021B8F14 */ return;
|
|
}
|
|
|
|
// fn_021B8E14 @ 0x21b8e14
|
|
void Gambit_fn_021B8E14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021B8E14: ; // 0x21b8e14
|
|
/* 021B8E14 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 021B8E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8E14 */ cpu->r[1] = _t0;
|
|
/* 021B8E18 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 021B8E18 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B8E1C */ _t2 = cpu->r[1] + 0x00000100u;
|
|
/* 021B8E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B8E20 */ _t3 = cpu->r[1] + 0x00000104u;
|
|
/* 021B8E20 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 021B8E24 */ cpu->r[5] = 0x10030000u;
|
|
/* 021B8E28 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021B8E28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B8E2C */ cpu->r[29] = cpu->r[3];
|
|
/* 021B8E30 */ cpu->r[31] = 0x00000001u;
|
|
/* 021B8E34 */ _t5 = cpu->r[5] + 0xFFFFA604u;
|
|
/* 021B8E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021B8E38 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8E38 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 021B8E3C */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 021B8E3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 021B8E40 */ _t8 = cpu->r[1] + 0x00000030u;
|
|
/* 021B8E40 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 021B8E44 */ cpu->r[7] = 0x40000000u;
|
|
/* 021B8E48 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B8E48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 021B8E4C */ cpu->r[7] = cpu->r[7] + 0x00000100u;
|
|
/* 021B8E50 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B8E50 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 021B8E54 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8E58 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 021B8E58 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 021B8E5C */ cpu->r[12] = 0x00000080u;
|
|
/* 021B8E60 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 021B8E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 021B8E64 */ _t13 = cpu->r[1] + 0x00000040u;
|
|
/* 021B8E64 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 021B8E68 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8E68 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[12]);
|
|
/* 021B8E6C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 021B8E70 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 021B8E70 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 021B8E74 */ cpu->r[5] = 0x00000060u;
|
|
/* 021B8E78 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 021B8E78 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 021B8E7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021B8E7C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 021B8E80 */ _t18 = cpu->r[1] + 0x00000022u;
|
|
/* 021B8E80 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 021B8E84 */ cpu->r[11] = 0x0000001Au;
|
|
/* 021B8E88 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8E88 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 021B8E8C */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B8E90 */ _t20 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8E90 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 021B8E94 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 021B8E94 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 021B8E98 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B8E98 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 021B8E9C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021B8EA0 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 021B8EA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B8EA8 */ cpu->r[5] = 0x00000050u;
|
|
/* 021B8EAC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021B8EB0 */ cpu->r[6] = 0x00000002u;
|
|
/* 021B8EB4 */ _t23 = cpu->r[1] + 0x00000044u;
|
|
/* 021B8EB4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 021B8EB8 */ cpu->r[0] = 0x00000040u;
|
|
/* 021B8EBC */ cpu->r[7] = 0x0000000Fu;
|
|
/* 021B8EC0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8EC0 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 021B8EC4 */ cpu->r[12] = cpu->r[1] + 0x00000004u;
|
|
/* 021B8EC8 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 021B8ECC */ _t25 = cpu->r[1] + 0x00000022u;
|
|
/* 021B8ECC */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[0]);
|
|
/* 021B8ED0 */ cpu->ctr = cpu->r[7];
|
|
/* 021B8ED4 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 021B8ED4 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_021B8ED8: ; // 0x21b8ed8
|
|
/* 021B8ED8 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 021B8ED8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B8EDC */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 021B8EDC */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 021B8EE0 */ _t29 = cpu->r[12] + 0x00000008u;
|
|
/* 021B8EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021B8EE4 */ _t30 = cpu->r[6] + 0x00000008u;
|
|
/* 021B8EE4 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 021B8EE8 */ _t31 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021B8EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021B8EEC */ _t32 = cpu->r[6] + 0x0000000Cu;
|
|
/* 021B8EEC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021B8EF0 */ _t33 = cpu->r[12] + 0x00000010u;
|
|
/* 021B8EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B8EF0 */ cpu->r[12] = _t33;
|
|
/* 021B8EF4 */ _t34 = cpu->r[6] + 0x00000010u;
|
|
/* 021B8EF4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 021B8EF4 */ cpu->r[6] = _t34;
|
|
/* 021B8EF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B8EF8 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B8EF8 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 021B8EF8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B8EF8 */ if (_t37) goto L_021B8ED8; else goto L_021B8EFC;
|
|
L_021B8EFC: ; // 0x21b8efc
|
|
/* 021B8EFC */ _t38 = cpu->r[1] + 0x000000FCu;
|
|
/* 021B8EFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021B8F00 */ _t39 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021B8F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021B8F04 */ _t40 = cpu->r[1] + 0x00000100u;
|
|
/* 021B8F04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B8F08 */ cpu->lr = cpu->r[0];
|
|
/* 021B8F0C */ _t41 = cpu->r[1] + 0x00000104u;
|
|
/* 021B8F0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021B8F10 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 021B8F14 */ return;
|
|
}
|
|
|
|
// fn_021B8F18 @ 0x21b8f18
|
|
void Gambit_fn_021B8F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_021B8F18: ; // 0x21b8f18
|
|
/* 021B8F18 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B8F1C */ _t0 = cpu->r[3] + 0xFFFF93DCu;
|
|
/* 021B8F1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B8F20 */ goto L_027C30F4;
|
|
L_027C30F4: ; // 0x27c30f4
|
|
/* 027C30F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027C30F8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027C30F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027C30F8 */ cpu->r[1] = _t1;
|
|
/* 027C30FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027C30FC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027C3100 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027C3100 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027C3104 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027C3104 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027C3108 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027C3108 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027C310C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027C3110 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027C3110 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027C3114 */ _t7 = cpu->r[31] + 0xFFFF93D8u;
|
|
/* 027C3114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027C3118 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027C3118 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027C311C */ _t9 = cpu->r[10] + 0x00000024u;
|
|
/* 027C311C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027C3120 */ cpu->r[28] = cpu->r[3];
|
|
/* 027C3124 */ cpu->ctr = cpu->r[11];
|
|
/* 027C3128 */ cpu->r[29] = 0x00000000u;
|
|
/* 027C312C */ cpu->r[3] = cpu->r[31];
|
|
/* 027C3130 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027C3134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 027C3138 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027C3138 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027C3138 */ if (_t11) goto L_027C313C; else goto L_027C3190;
|
|
L_027C313C: ; // 0x27c313c
|
|
/* 027C313C */ cpu->r[30] = 0x00000000u;
|
|
L_027C3140: ; // 0x27c3140
|
|
/* 027C3140 */ _t12 = cpu->r[28] + 0x0000015Cu;
|
|
/* 027C3140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027C3144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 027C3148 */ _t13 = cpu->r[28] + 0x00000160u;
|
|
/* 027C3148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027C314C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027C314C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027C314C */ if (_t15) goto L_027C3150; else goto L_027C3154;
|
|
L_027C3150: ; // 0x27c3150
|
|
/* 027C3150 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_027C3154: ; // 0x27c3154
|
|
/* 027C3154 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 027C3154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027C3158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027C315C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027C315C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027C315C */ if (_t18) goto L_027C316C; else goto L_027C3160;
|
|
L_027C3160: ; // 0x27c3160
|
|
/* 027C3160 */ cpu->r[3] = cpu->r[28];
|
|
/* 027C3164 */ cpu->r[4] = cpu->r[29];
|
|
/* 027C3168 */ Gambit_fn_027C3008(cpu);
|
|
L_027C316C: ; // 0x27c316c
|
|
/* 027C316C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 027C316C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027C3170 */ _t20 = cpu->r[10] + 0x00000024u;
|
|
/* 027C3170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027C3174 */ cpu->ctr = cpu->r[0];
|
|
/* 027C3178 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027C317C */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 027C3180 */ cpu->r[3] = cpu->r[31];
|
|
/* 027C3184 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027C3188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 027C318C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027C318C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027C318C */ if (_t22) goto L_027C3140; else goto L_027C3190;
|
|
L_027C3190: ; // 0x27c3190
|
|
/* 027C3190 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027C3190 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027C3194 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027C3194 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027C3198 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027C3198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027C319C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 027C319C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027C31A0 */ cpu->lr = cpu->r[0];
|
|
/* 027C31A4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027C31A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027C31A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027C31AC */ return;
|
|
}
|
|
|
|
// fn_021B8F24 @ 0x21b8f24
|
|
void Gambit_fn_021B8F24(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B8F24: ; // 0x21b8f24
|
|
/* 021B8F24 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B8F28 */ _t0 = cpu->r[12] + 0xFFFFA618u;
|
|
/* 021B8F28 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021B8F2C */ return;
|
|
}
|
|
|
|
// fn_021B8F30 @ 0x21b8f30
|
|
void Gambit_fn_021B8F30(CPUState* cpu) {
|
|
L_021B8F30: ; // 0x21b8f30
|
|
/* 021B8F30 */ cpu->r[3] = 0x00000064u;
|
|
/* 021B8F34 */ return;
|
|
}
|
|
|
|
// fn_021B8F38 @ 0x21b8f38
|
|
void Gambit_fn_021B8F38(CPUState* cpu) {
|
|
L_021B8F38: ; // 0x21b8f38
|
|
/* 021B8F38 */ cpu->r[3] = 0x00000001u;
|
|
/* 021B8F3C */ return;
|
|
}
|
|
|
|
// fn_021B8F40 @ 0x21b8f40
|
|
void Gambit_fn_021B8F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_0210055C: ; // 0x210055c
|
|
/* 0210055C */ cpu->r[0] = cpu->lr;
|
|
/* 02100560 */ _t0 = cpu->r[1] + 0xFFFFDFE0u;
|
|
/* 02100560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02100560 */ cpu->r[1] = _t0;
|
|
/* 02100564 */ _t1 = cpu->r[1] + 0x0000201Cu;
|
|
/* 02100564 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02100568 */ _t2 = cpu->r[1] + 0x00002018u;
|
|
/* 02100568 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0210056C */ cpu->r[30] = cpu->r[3];
|
|
/* 02100570 */ cpu->r[31] = 0x00000000u;
|
|
/* 02100574 */ _t3 = cpu->r[1] + 0x00002014u;
|
|
/* 02100574 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02100578 */ _t4 = cpu->r[1] + 0x00002024u;
|
|
/* 02100578 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0210057C */ cpu->r[8] = 0x00000001u;
|
|
/* 02100580 */ _t5 = cpu->r[30] + 0x00000164u;
|
|
/* 02100580 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02100584 */ cpu->r[3] = cpu->r[1] + 0x00001010u;
|
|
/* 02100588 */ _t6 = cpu->r[30] + 0x000002A8u;
|
|
/* 02100588 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0210058C */ _t7 = cpu->r[30] + 0x000002A8u;
|
|
/* 0210058C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02100590 */ rbrew_dispatch(cpu, 0x02d0ceb0u);
|
|
/* 02100594 */ _t8 = cpu->r[30] + 0x00000160u;
|
|
/* 02100594 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02100598 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0210059C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0210059C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 021005A0 */ rbrew_dispatch(cpu, 0x02d0cf00u);
|
|
/* 021005A4 */ cpu->r[3] = cpu->r[30] + 0x00000168u;
|
|
/* 021005A8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021005AC */ Gambit_fn_020F72AC(cpu);
|
|
/* 021005B0 */ _t10 = cpu->r[30] + 0x00000168u;
|
|
/* 021005B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021005B4 */ cpu->r[4] = cpu->r[29];
|
|
/* 021005B8 */ cpu->r[3] = cpu->r[1] + 0x00001010u;
|
|
/* 021005BC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021005C0 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 021005C4 */ rbrew_dispatch(cpu, 0x02d0c4a0u);
|
|
/* 021005C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021005C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 021005CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021005CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021005D0 */ _t12 = cpu->r[30] + 0x000002B0u;
|
|
/* 021005D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 021005D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021005D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021005D4 */ if (_t14) goto L_02100604; else goto L_021005D8;
|
|
L_021005D8: ; // 0x21005d8
|
|
/* 021005D8 */ cpu->r[11] = 0x00000003u;
|
|
/* 021005DC */ _t15 = cpu->r[30] + 0x000002A8u;
|
|
/* 021005DC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 021005E0 */ _t16 = cpu->r[30] + 0x000002A8u;
|
|
/* 021005E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021005E4 */ _t17 = cpu->r[1] + 0x00002014u;
|
|
/* 021005E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021005E8 */ _t18 = cpu->r[1] + 0x00002024u;
|
|
/* 021005E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021005EC */ _t19 = cpu->r[1] + 0x00002018u;
|
|
/* 021005EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021005F0 */ cpu->lr = cpu->r[0];
|
|
/* 021005F4 */ _t20 = cpu->r[1] + 0x0000201Cu;
|
|
/* 021005F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021005F8 */ cpu->r[1] = cpu->r[1] + 0x00002020u;
|
|
/* 021005FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02100600 */ return;
|
|
L_02100604: ; // 0x2100604
|
|
/* 02100604 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02100604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02100608 */ cpu->r[0] = 0x00000002u;
|
|
/* 0210060C */ _t22 = cpu->r[30] + 0x000002A8u;
|
|
/* 0210060C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02100610 */ _t23 = cpu->r[30] + 0x000002A8u;
|
|
/* 02100610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02100614 */ _t24 = cpu->r[30] + 0x00000164u;
|
|
/* 02100614 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02100618 */ _t25 = cpu->r[1] + 0x00002014u;
|
|
/* 02100618 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0210061C */ _t26 = cpu->r[1] + 0x00002024u;
|
|
/* 0210061C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02100620 */ _t27 = cpu->r[1] + 0x0000201Cu;
|
|
/* 02100620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02100624 */ cpu->lr = cpu->r[0];
|
|
/* 02100628 */ _t28 = cpu->r[1] + 0x00002018u;
|
|
/* 02100628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0210062C */ cpu->r[1] = cpu->r[1] + 0x00002020u;
|
|
/* 02100630 */ cpu->r[3] = 0x00000001u;
|
|
/* 02100634 */ return;
|
|
L_02100638: ; // 0x2100638
|
|
/* 02100638 */ _t29 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02100638 */ rbrew_write32(cpu->mem, _t29, cpu->r[1]);
|
|
/* 02100638 */ cpu->r[1] = _t29;
|
|
/* 0210063C */ /* nop */
|
|
/* 02100640 */ cpu->r[30] = 0x00010000u;
|
|
/* 02100644 */ cpu->r[30] = cpu->r[30] + 0xFFFFC514u;
|
|
/* 02100648 */ cpu->r[0] = cpu->lr;
|
|
/* 0210064C */ _t30 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0210064C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02100650 */ cpu->r[0] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02100654 */ cpu->r[31] = cpu->r[3];
|
|
/* 02100658 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 0210065C */ Gambit_fn_02838564(cpu);
|
|
/* 02100660 */ cpu->r[0] = 0x00000001u;
|
|
/* 02100664 */ _t31 = cpu->r[31] + 0x000002A8u;
|
|
/* 02100664 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02100668 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0210066C */ _t32 = cpu->r[31] + 0x000002A8u;
|
|
/* 0210066C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02100670 */ rbrew_dispatch(cpu, 0x02d0cf38u);
|
|
/* 02100674 */ cpu->r[27] = cpu->r[31] + cpu->r[30];
|
|
/* 02100678 */ _t33 = cpu->r[27] + 0x00000010u;
|
|
/* 02100678 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0210067C */ _t34 = cpu->r[6] + 0x00000014u;
|
|
/* 0210067C */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02100680 */ cpu->r[27] = cpu->r[27] + 0x0000000Cu;
|
|
/* 02100684 */ cpu->ctr = cpu->r[7];
|
|
/* 02100688 */ cpu->r[3] = cpu->r[27];
|
|
/* 0210068C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02100690 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02100690 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02100694 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02100698 */ rbrew_dispatch(cpu, 0x02d0cc78u);
|
|
/* 0210069C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021006A0 */ rbrew_dispatch(cpu, 0x02d0ce40u);
|
|
/* 021006A4 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 021006A4 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 021006A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021006A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021006AC */ _t37 = cpu->r[31] + 0x000002B0u;
|
|
/* 021006AC */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 021006B0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021006B0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 021006B0 */ if (_t39) goto L_021006D8; else goto L_021006B4;
|
|
L_021006B4: ; // 0x21006b4
|
|
/* 021006B4 */ cpu->r[10] = 0x00000003u;
|
|
/* 021006B8 */ _t40 = cpu->r[31] + 0x000002A8u;
|
|
/* 021006B8 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 021006BC */ _t41 = cpu->r[31] + 0x000002A8u;
|
|
/* 021006BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021006C0 */ /* nop */
|
|
/* 021006C4 */ _t42 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021006C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021006C8 */ cpu->lr = cpu->r[0];
|
|
/* 021006CC */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 021006D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021006D4 */ return;
|
|
L_021006D8: ; // 0x21006d8
|
|
/* 021006D8 */ cpu->r[5] = 0x00000002u;
|
|
/* 021006DC */ cpu->r[28] = 0x00000000u;
|
|
/* 021006E0 */ _t43 = cpu->r[31] + 0x000002A8u;
|
|
/* 021006E0 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 021006E4 */ _t44 = cpu->r[31] + cpu->r[30];
|
|
/* 021006E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021006E8 */ cpu->r[26] = cpu->r[31] + cpu->r[30];
|
|
/* 021006EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 021006F0 */ _t45 = cpu->r[31] + 0x000002A8u;
|
|
/* 021006F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021006F4 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021006F4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021006F4 */ if (_t47) goto L_021006F8; else goto L_021007E8;
|
|
L_021006F8: ; // 0x21006f8
|
|
/* 021006F8 */ cpu->r[31] = 0x10110000u;
|
|
/* 021006FC */ _t48 = cpu->r[31] + 0x00007399u;
|
|
/* 021006FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02100700 */ cpu->r[25] = 0x00000000u;
|
|
L_02100704: ; // 0x2100704
|
|
/* 02100704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02100708 */ cpu->r[29] = 0x00000000u;
|
|
/* 0210070C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0210070C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0210070C */ if (_t50) goto L_02100710; else goto L_02100718;
|
|
L_02100710: ; // 0x2100710
|
|
/* 02100710 */ _t51 = cpu->r[26] + 0x00000008u;
|
|
/* 02100710 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02100714 */ _t52 = cpu->r[8] + cpu->r[25];
|
|
/* 02100714 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
L_02100718: ; // 0x2100718
|
|
/* 02100718 */ _t53 = cpu->r[29] + 0x00000004u;
|
|
/* 02100718 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0210071C */ _t54 = cpu->r[9] + 0x00000014u;
|
|
/* 0210071C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02100720 */ cpu->ctr = cpu->r[0];
|
|
/* 02100724 */ cpu->r[3] = cpu->r[29];
|
|
/* 02100728 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0210072C */ _t55 = cpu->r[29] + 0x00000004u;
|
|
/* 0210072C */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02100730 */ _t56 = cpu->r[4] + 0x00000014u;
|
|
/* 02100730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02100734 */ cpu->ctr = cpu->r[0];
|
|
/* 02100738 */ cpu->r[3] = cpu->r[29];
|
|
/* 0210073C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02100740 */ _t57 = cpu->r[27] + 0x00000004u;
|
|
/* 02100740 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02100744 */ _t58 = cpu->r[7] + 0x00000014u;
|
|
/* 02100744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02100748 */ cpu->ctr = cpu->r[8];
|
|
/* 0210074C */ _t59 = cpu->r[29] + 0x00000000u;
|
|
/* 0210074C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02100750 */ cpu->r[3] = cpu->r[27];
|
|
/* 02100754 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02100758 */ _t60 = cpu->r[27] + 0x00000000u;
|
|
/* 02100758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0210075C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02100760 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02100760 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02100760 */ if (_t62) goto L_021007B0; else goto L_02100764;
|
|
L_02100764: ; // 0x2100764
|
|
/* 02100764 */ cpu->r[4] = 0x00080000u;
|
|
/* 02100768 */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02100768 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0210076C */ cpu->r[8] = 0x00000000u;
|
|
/* 02100770 */ cpu->ctr = cpu->r[4];
|
|
/* 02100774 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02100778: ; // 0x2100778
|
|
/* 02100778 */ _t64 = cpu->r[7] + 0x00000001u;
|
|
/* 02100778 */ cpu->r[0] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02100778 */ cpu->r[7] = _t64;
|
|
/* 0210077C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02100780 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02100780 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02100780 */ if (_t66) goto L_02100784; else goto L_02100794;
|
|
L_02100784: ; // 0x2100784
|
|
/* 02100784 */ _t67 = cpu->r[11] + cpu->r[8];
|
|
/* 02100784 */ cpu->r[10] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02100788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0210078C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0210078C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0210078C */ if (_t69) goto L_02100790; else goto L_021007D4;
|
|
L_02100790: ; // 0x2100790
|
|
/* 02100790 */ goto L_021007B0;
|
|
L_02100794: ; // 0x2100794
|
|
/* 02100794 */ _t70 = cpu->r[11] + cpu->r[8];
|
|
/* 02100794 */ cpu->r[5] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02100798 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0210079C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0210079C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0210079C */ if (_t72) goto L_021007D4; else goto L_021007A0;
|
|
L_021007A0: ; // 0x21007a0
|
|
/* 021007A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 021007A4 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021007A4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 021007A4 */ if (_t74) goto L_021007A8; else goto L_021007D4;
|
|
L_021007A8: ; // 0x21007a8
|
|
/* 021007A8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021007AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021007AC */ _t75 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021007AC */ _t76 = _t75 >> (0x00000002u & 31u);
|
|
/* 021007AC */ _t77 = _t76 & 0x00000001u;
|
|
/* 021007AC */ if (_t77) goto L_02100778; else goto L_021007B0;
|
|
L_021007B0: ; // 0x21007b0
|
|
/* 021007B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 021007B4 */ cpu->r[4] = cpu->r[28];
|
|
/* 021007B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 021007BC */ Gambit_fn_0280246C(cpu);
|
|
/* 021007C0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 021007C4 */ _t78 = cpu->r[12] + 0x000066E8u;
|
|
/* 021007C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021007C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 021007CC */ _t79 = cpu->r[27] + 0x00000000u;
|
|
/* 021007CC */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 021007D0 */ goto L_021007F8;
|
|
L_021007D4: ; // 0x21007d4
|
|
/* 021007D4 */ _t80 = cpu->r[26] + 0x00000000u;
|
|
/* 021007D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 021007D8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 021007DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 021007E0 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 021007E4 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021007E4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 021007E4 */ if (_t82) goto L_02100704; else goto L_021007E8;
|
|
L_021007E8: ; // 0x21007e8
|
|
/* 021007E8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 021007EC */ _t83 = cpu->r[12] + 0x000066E8u;
|
|
/* 021007EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021007F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 021007F4 */ _t84 = cpu->r[27] + 0x00000000u;
|
|
/* 021007F4 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
L_021007F8: ; // 0x21007f8
|
|
/* 021007F8 */ /* nop */
|
|
/* 021007FC */ _t85 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021007FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02100800 */ cpu->lr = cpu->r[0];
|
|
/* 02100804 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02100808 */ return;
|
|
L_0210080C: ; // 0x210080c
|
|
/* 0210080C */ _t86 = cpu->r[3] + 0x000002ACu;
|
|
/* 0210080C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02100810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02100814 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02100814 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02100814 */ if (_t88) goto L_02100828; else goto L_02100818;
|
|
L_02100818: ; // 0x2100818
|
|
/* 02100818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0210081C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0210081C */ _t90 = _t89 & 0x00000001u;
|
|
/* 0210081C */ if (_t90) goto L_0210082C; else goto L_02100820;
|
|
L_02100820: ; // 0x2100820
|
|
/* 02100820 */ cpu->r[3] = 0x00000000u;
|
|
/* 02100824 */ return;
|
|
L_02100828: ; // 0x2100828
|
|
/* 02100828 */ goto L_0210055C;
|
|
L_0210082C: ; // 0x210082c
|
|
/* 0210082C */ goto L_02100638;
|
|
L_021B8F40: ; // 0x21b8f40
|
|
/* 021B8F40 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B8F44 */ _t91 = cpu->r[3] + 0x00003708u;
|
|
/* 021B8F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021B8F48 */ goto L_0210080C;
|
|
}
|
|
|
|
// fn_021B8F4C @ 0x21b8f4c
|
|
void Gambit_fn_021B8F4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B8F4C: ; // 0x21b8f4c
|
|
/* 021B8F4C */ cpu->r[0] = cpu->lr;
|
|
/* 021B8F50 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B8F50 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B8F54 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B8F58 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B8F58 */ cpu->r[1] = _t1;
|
|
/* 021B8F5C */ _t2 = cpu->r[3] + 0x00003708u;
|
|
/* 021B8F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B8F60 */ Gambit_fn_02100830(cpu);
|
|
/* 021B8F64 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8F68 */ cpu->lr = cpu->r[0];
|
|
/* 021B8F6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8F70 */ return;
|
|
}
|
|
|
|
// fn_021B8F58 @ 0x21b8f58
|
|
void Gambit_fn_021B8F58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021B8F58: ; // 0x21b8f58
|
|
/* 021B8F58 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B8F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8F58 */ cpu->r[1] = _t0;
|
|
/* 021B8F5C */ _t1 = cpu->r[3] + 0x00003708u;
|
|
/* 021B8F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B8F60 */ Gambit_fn_02100830(cpu);
|
|
/* 021B8F64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B8F68 */ cpu->lr = cpu->r[0];
|
|
/* 021B8F6C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B8F70 */ return;
|
|
}
|
|
|
|
// fn_021B8F74 @ 0x21b8f74
|
|
void Gambit_fn_021B8F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02100838: ; // 0x2100838
|
|
/* 02100838 */ _t0 = cpu->r[3] + 0x000002ACu;
|
|
/* 02100838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0210083C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02100840 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02100840 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02100840 */ if (_t2) goto L_02100844; else goto L_0210084C;
|
|
L_02100844: ; // 0x2100844
|
|
/* 02100844 */ cpu->r[3] = 0x00000001u;
|
|
/* 02100848 */ return;
|
|
L_0210084C: ; // 0x210084c
|
|
/* 0210084C */ cpu->r[3] = 0x00000000u;
|
|
/* 02100850 */ return;
|
|
L_021B8F74: ; // 0x21b8f74
|
|
/* 021B8F74 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B8F78 */ _t3 = cpu->r[3] + 0x00003708u;
|
|
/* 021B8F78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8F7C */ goto L_02100838;
|
|
}
|
|
|
|
// fn_021B8F80 @ 0x21b8f80
|
|
void Gambit_fn_021B8F80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021B8F80: ; // 0x21b8f80
|
|
/* 021B8F80 */ cpu->r[0] = cpu->lr;
|
|
/* 021B8F84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8F84 */ cpu->r[1] = _t0;
|
|
/* 021B8F88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8F8C */ cpu->r[31] = 0x101C0000u;
|
|
/* 021B8F90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B8F94 */ _t3 = cpu->r[31] + 0x00003708u;
|
|
/* 021B8F94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8F98 */ cpu->r[3] = cpu->r[12] + 0x000002ECu;
|
|
/* 021B8F9C */ rbrew_dispatch(cpu, 0x02d0c8c0u);
|
|
/* 021B8FA0 */ _t4 = cpu->r[31] + 0x00003708u;
|
|
/* 021B8FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8FA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8FA8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 021B8FAC */ cpu->r[11] = cpu->r[12] + 0x00010000u;
|
|
/* 021B8FB0 */ _t5 = cpu->r[11] + 0xFFFFC4F4u;
|
|
/* 021B8FB0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 021B8FB4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8FB8 */ cpu->lr = cpu->r[0];
|
|
/* 021B8FBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B8FC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8FC4 */ return;
|
|
}
|
|
|
|
// fn_021B8F84 @ 0x21b8f84
|
|
void Gambit_fn_021B8F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021B8F84: ; // 0x21b8f84
|
|
/* 021B8F84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B8F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8F84 */ cpu->r[1] = _t0;
|
|
/* 021B8F88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B8F8C */ cpu->r[31] = 0x101C0000u;
|
|
/* 021B8F90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B8F94 */ _t3 = cpu->r[31] + 0x00003708u;
|
|
/* 021B8F94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B8F98 */ cpu->r[3] = cpu->r[12] + 0x000002ECu;
|
|
/* 021B8F9C */ rbrew_dispatch(cpu, 0x02d0c8c0u);
|
|
/* 021B8FA0 */ _t4 = cpu->r[31] + 0x00003708u;
|
|
/* 021B8FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B8FA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B8FA8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 021B8FAC */ cpu->r[11] = cpu->r[12] + 0x00010000u;
|
|
/* 021B8FB0 */ _t5 = cpu->r[11] + 0xFFFFC4F4u;
|
|
/* 021B8FB0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 021B8FB4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021B8FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B8FB8 */ cpu->lr = cpu->r[0];
|
|
/* 021B8FBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B8FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B8FC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B8FC4 */ return;
|
|
}
|
|
|
|
// fn_021B8FC8 @ 0x21b8fc8
|
|
void Gambit_fn_021B8FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B8FC8: ; // 0x21b8fc8
|
|
/* 021B8FC8 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021B8FCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8FCC */ cpu->r[1] = _t0;
|
|
/* 021B8FD0 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B8FD4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B8FD8 */ _t1 = cpu->r[10] + 0x00000FB0u;
|
|
/* 021B8FD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B8FD8 */ cpu->r[10] = _t1;
|
|
/* 021B8FDC */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B8FE0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B8FE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B8FE4 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B8FE8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8FEC */ _t3 = cpu->r[7] + 0x00000FC0u;
|
|
/* 021B8FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B8FEC */ cpu->r[7] = _t3;
|
|
/* 021B8FF0 */ _t4 = cpu->r[8] + 0x00000FB8u;
|
|
/* 021B8FF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B8FF0 */ cpu->r[8] = _t4;
|
|
/* 021B8FF4 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B8FF8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B8FFC */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9000 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9000 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B9004 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B9008 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B9008 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B900C */ _t8 = cpu->r[8] + 0x00000FD0u;
|
|
/* 021B900C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B900C */ cpu->r[8] = _t8;
|
|
/* 021B9010 */ _t9 = cpu->r[12] + 0x00000FC8u;
|
|
/* 021B9010 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9010 */ cpu->r[12] = _t9;
|
|
/* 021B9014 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B9014 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B9018 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B901C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B901C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B9020 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B9024 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B9028 */ _t13 = cpu->r[11] + 0x00000FD8u;
|
|
/* 021B9028 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B902C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B9030 */ return;
|
|
}
|
|
|
|
// fn_021B8FCC @ 0x21b8fcc
|
|
void Gambit_fn_021B8FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B8FCC: ; // 0x21b8fcc
|
|
/* 021B8FCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B8FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B8FCC */ cpu->r[1] = _t0;
|
|
/* 021B8FD0 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B8FD4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B8FD8 */ _t1 = cpu->r[10] + 0x00000FB0u;
|
|
/* 021B8FD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B8FD8 */ cpu->r[10] = _t1;
|
|
/* 021B8FDC */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B8FE0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B8FE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B8FE4 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B8FE8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B8FEC */ _t3 = cpu->r[7] + 0x00000FC0u;
|
|
/* 021B8FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B8FEC */ cpu->r[7] = _t3;
|
|
/* 021B8FF0 */ _t4 = cpu->r[8] + 0x00000FB8u;
|
|
/* 021B8FF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B8FF0 */ cpu->r[8] = _t4;
|
|
/* 021B8FF4 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B8FF8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B8FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B8FFC */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9000 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9000 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B9004 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B9008 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B9008 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B900C */ _t8 = cpu->r[8] + 0x00000FD0u;
|
|
/* 021B900C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B900C */ cpu->r[8] = _t8;
|
|
/* 021B9010 */ _t9 = cpu->r[12] + 0x00000FC8u;
|
|
/* 021B9010 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9010 */ cpu->r[12] = _t9;
|
|
/* 021B9014 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B9014 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B9018 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B901C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B901C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B9020 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B9024 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B9028 */ _t13 = cpu->r[11] + 0x00000FD8u;
|
|
/* 021B9028 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B902C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B9030 */ return;
|
|
}
|
|
|
|
// fn_021B9034 @ 0x21b9034
|
|
void Gambit_fn_021B9034(CPUState* cpu) {
|
|
L_021B9034: ; // 0x21b9034
|
|
/* 021B9034 */ cpu->r[3] = 0x00040000u;
|
|
/* 021B9038 */ return;
|
|
}
|
|
|
|
// fn_021B903C @ 0x21b903c
|
|
void Gambit_fn_021B903C(CPUState* cpu) {
|
|
L_021B903C: ; // 0x21b903c
|
|
/* 021B903C */ return;
|
|
}
|
|
|
|
// fn_021B9040 @ 0x21b9040
|
|
void Gambit_fn_021B9040(CPUState* cpu) {
|
|
L_021B9040: ; // 0x21b9040
|
|
/* 021B9040 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9044 */ return;
|
|
}
|
|
|
|
// fn_021B9048 @ 0x21b9048
|
|
void Gambit_fn_021B9048(CPUState* cpu) {
|
|
L_021B9048: ; // 0x21b9048
|
|
/* 021B9048 */ cpu->r[3] = 0x00B00000u;
|
|
/* 021B904C */ return;
|
|
}
|
|
|
|
// fn_021B9050 @ 0x21b9050
|
|
void Gambit_fn_021B9050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021B9050: ; // 0x21b9050
|
|
/* 021B9050 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021B9054 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B9058 */ cpu->r[7] = 0x00000000u;
|
|
/* 021B905C */ cpu->r[5] = 0x00000008u;
|
|
/* 021B9060 */ cpu->r[4] = 0x00000002u;
|
|
/* 021B9064 */ cpu->r[8] = cpu->r[7];
|
|
/* 021B9068 */ cpu->r[3] = cpu->r[3] + 0xFFFFFA5Cu;
|
|
/* 021B906C */ cpu->r[6] = cpu->r[6] + 0xFFFF9510u;
|
|
/* 021B9070 */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_021B9074 @ 0x21b9074
|
|
void Gambit_fn_021B9074(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021B9074: ; // 0x21b9074
|
|
/* 021B9074 */ cpu->r[0] = cpu->lr;
|
|
/* 021B9078 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B9078 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9080 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B9080 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B9080 */ cpu->r[1] = _t1;
|
|
/* 021B9084 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9084 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B9084 */ if (_t3) goto L_021B9088; else goto L_021B9098;
|
|
L_021B9088: ; // 0x21b9088
|
|
/* 021B9088 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B908C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9094 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B9094 */ if (_t5) goto L_021B90A4; else goto L_021B9098;
|
|
L_021B9098: ; // 0x21b9098
|
|
/* 021B9098 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B909C */ cpu->r[0] = cpu->r[0] + 0xFFFFA730u;
|
|
/* 021B90A0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021B90A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_021B90A4: ; // 0x21b90a4
|
|
/* 021B90A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B90A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B90A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B90AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B90B0 */ return;
|
|
}
|
|
|
|
// fn_021B9080 @ 0x21b9080
|
|
void Gambit_fn_021B9080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021B9080: ; // 0x21b9080
|
|
/* 021B9080 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B9080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9080 */ cpu->r[1] = _t0;
|
|
/* 021B9084 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9084 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B9084 */ if (_t2) goto L_021B9088; else goto L_021B9098;
|
|
L_021B9088: ; // 0x21b9088
|
|
/* 021B9088 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B908C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9094 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9094 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B9094 */ if (_t4) goto L_021B90A4; else goto L_021B9098;
|
|
L_021B9098: ; // 0x21b9098
|
|
/* 021B9098 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B909C */ cpu->r[0] = cpu->r[0] + 0xFFFFA730u;
|
|
/* 021B90A0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 021B90A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_021B90A4: ; // 0x21b90a4
|
|
/* 021B90A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B90A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B90A8 */ cpu->lr = cpu->r[0];
|
|
/* 021B90AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B90B0 */ return;
|
|
}
|
|
|
|
// fn_021B90B4 @ 0x21b90b4
|
|
void Gambit_fn_021B90B4(CPUState* 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_021B90B4: ; // 0x21b90b4
|
|
/* 021B90B4 */ cpu->r[0] = cpu->lr;
|
|
/* 021B90B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B90B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B90B8 */ cpu->r[1] = _t0;
|
|
/* 021B90BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B90BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B90C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B90C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B90C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B90C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B90C8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B90CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 021B90D0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B90D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B90D4 */ _t5 = cpu->r[10] + 0xFFFFDF78u;
|
|
/* 021B90D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B90D4 */ cpu->r[10] = _t5;
|
|
/* 021B90D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFA5Cu;
|
|
/* 021B90DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B90E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B90E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B90E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B90E4 */ if (_t7) goto L_021B90F4; else goto L_021B90E8;
|
|
L_021B90E8: ; // 0x21b90e8
|
|
/* 021B90E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B90EC */ cpu->r[3] = cpu->r[31] + cpu->r[8];
|
|
/* 021B90F0 */ goto L_021B9154;
|
|
L_021B90F4: ; // 0x21b90f4
|
|
/* 021B90F4 */ cpu->r[11] = 0x00000001u;
|
|
/* 021B90F8 */ cpu->r[29] = 0x10030000u;
|
|
/* 021B90FC */ cpu->r[0] = 0x10030000u;
|
|
/* 021B9100 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 021B9100 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021B9104 */ cpu->r[29] = cpu->r[29] + 0xFFFFA6DCu;
|
|
/* 021B9108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF8u);
|
|
/* 021B910C */ cpu->r[0] = cpu->r[0] + 0xFFFFA700u;
|
|
/* 021B9110 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9110 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 021B9114 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 021B9118 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 021B9118 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021B911C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B911C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B911C */ if (_t12) goto L_021B9120; else goto L_021B9130;
|
|
L_021B9120: ; // 0x21b9120
|
|
/* 021B9120 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B9124 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B912C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B912C */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B912C */ if (_t14) goto L_021B9140; else goto L_021B9130;
|
|
L_021B9130: ; // 0x21b9130
|
|
/* 021B9130 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9134 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 021B9134 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 021B9138 */ cpu->r[12] = cpu->r[12] + 0xFFFFA718u;
|
|
/* 021B913C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021B913C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_021B9140: ; // 0x21b9140
|
|
/* 021B9140 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B9144 */ cpu->r[3] = cpu->r[3] + 0x00004DF0u;
|
|
/* 021B9148 */ Gambit_fn_02C83090(cpu);
|
|
/* 021B914C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B9150 */ cpu->r[3] = cpu->r[31] + cpu->r[8];
|
|
L_021B9154: ; // 0x21b9154
|
|
/* 021B9154 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B9158 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B915C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B915C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B9160 */ cpu->lr = cpu->r[0];
|
|
/* 021B9164 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9164 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B9168 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B916C */ return;
|
|
}
|
|
|
|
// fn_021B90B8 @ 0x21b90b8
|
|
void Gambit_fn_021B90B8(CPUState* 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_021B90B8: ; // 0x21b90b8
|
|
/* 021B90B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B90B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B90B8 */ cpu->r[1] = _t0;
|
|
/* 021B90BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B90BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B90C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B90C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B90C4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021B90C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B90C8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B90CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 021B90D0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B90D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B90D4 */ _t5 = cpu->r[10] + 0xFFFFDF78u;
|
|
/* 021B90D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B90D4 */ cpu->r[10] = _t5;
|
|
/* 021B90D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFA5Cu;
|
|
/* 021B90DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B90E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B90E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B90E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B90E4 */ if (_t7) goto L_021B90F4; else goto L_021B90E8;
|
|
L_021B90E8: ; // 0x21b90e8
|
|
/* 021B90E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B90EC */ cpu->r[3] = cpu->r[31] + cpu->r[8];
|
|
/* 021B90F0 */ goto L_021B9154;
|
|
L_021B90F4: ; // 0x21b90f4
|
|
/* 021B90F4 */ cpu->r[11] = 0x00000001u;
|
|
/* 021B90F8 */ cpu->r[29] = 0x10030000u;
|
|
/* 021B90FC */ cpu->r[0] = 0x10030000u;
|
|
/* 021B9100 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 021B9100 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021B9104 */ cpu->r[29] = cpu->r[29] + 0xFFFFA6DCu;
|
|
/* 021B9108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF8u);
|
|
/* 021B910C */ cpu->r[0] = cpu->r[0] + 0xFFFFA700u;
|
|
/* 021B9110 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9110 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 021B9114 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 021B9118 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 021B9118 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021B911C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B911C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B911C */ if (_t12) goto L_021B9120; else goto L_021B9130;
|
|
L_021B9120: ; // 0x21b9120
|
|
/* 021B9120 */ cpu->r[3] = 0x00000008u;
|
|
/* 021B9124 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B912C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B912C */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B912C */ if (_t14) goto L_021B9140; else goto L_021B9130;
|
|
L_021B9130: ; // 0x21b9130
|
|
/* 021B9130 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9134 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 021B9134 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 021B9138 */ cpu->r[12] = cpu->r[12] + 0xFFFFA718u;
|
|
/* 021B913C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 021B913C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_021B9140: ; // 0x21b9140
|
|
/* 021B9140 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B9144 */ cpu->r[3] = cpu->r[3] + 0x00004DF0u;
|
|
/* 021B9148 */ Gambit_fn_02C83090(cpu);
|
|
/* 021B914C */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 021B9150 */ cpu->r[3] = cpu->r[31] + cpu->r[8];
|
|
L_021B9154: ; // 0x21b9154
|
|
/* 021B9154 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B9158 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B915C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 021B915C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B9160 */ cpu->lr = cpu->r[0];
|
|
/* 021B9164 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9164 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B9168 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B916C */ return;
|
|
}
|
|
|
|
// fn_021B9170 @ 0x21b9170
|
|
void Gambit_fn_021B9170(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B9170: ; // 0x21b9170
|
|
/* 021B9170 */ cpu->r[0] = cpu->lr;
|
|
/* 021B9174 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B9174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9174 */ cpu->r[1] = _t0;
|
|
/* 021B9178 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9178 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B917C */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B917C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B9180 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9180 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B9184 */ cpu->r[31] = 0x101E0000u;
|
|
/* 021B9188 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B918C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021B918C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B9190 */ _t5 = cpu->r[10] + 0x00000FFCu;
|
|
/* 021B9190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B9190 */ cpu->r[10] = _t5;
|
|
/* 021B9194 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B9198 */ cpu->r[31] = cpu->r[31] + 0x00000FDCu;
|
|
/* 021B919C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B91A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B91A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B91A4 */ if (_t7) goto L_021B91A8; else goto L_021B9340;
|
|
L_021B91A8: ; // 0x21b91a8
|
|
/* 021B91A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B91AC */ cpu->r[6] = 0x000000FFu;
|
|
/* 021B91B0 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 021B91B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B91B4 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B91B4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[6]);
|
|
/* 021B91B8 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021B91BC */ _t10 = cpu->r[31] + 0x00000002u;
|
|
/* 021B91BC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[29]);
|
|
/* 021B91C0 */ cpu->r[8] = 0x00000032u;
|
|
/* 021B91C4 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 021B91C4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[29]);
|
|
/* 021B91C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 021B91CC */ _t12 = cpu->r[31] + 0x00000001u;
|
|
/* 021B91CC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 021B91D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B91D0 */ if (_t14) goto L_021B91D4; else goto L_021B91E4;
|
|
L_021B91D4: ; // 0x21b91d4
|
|
/* 021B91D4 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B91D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B91DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B91E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B91E0 */ if (_t16) goto L_021B91FC; else goto L_021B91E4;
|
|
L_021B91E4: ; // 0x21b91e4
|
|
/* 021B91E4 */ _t17 = cpu->r[3] + 0x00000002u;
|
|
/* 021B91E4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[29]);
|
|
/* 021B91E8 */ cpu->r[9] = 0x000000FFu;
|
|
/* 021B91EC */ _t18 = cpu->r[3] + 0x00000003u;
|
|
/* 021B91EC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
/* 021B91F0 */ cpu->r[7] = 0x000000DCu;
|
|
/* 021B91F4 */ _t19 = cpu->r[3] + 0x00000001u;
|
|
/* 021B91F4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[9]);
|
|
/* 021B91F8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 021B91F8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[7]);
|
|
L_021B91FC: ; // 0x21b91fc
|
|
/* 021B91FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF8u);
|
|
/* 021B9200 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 021B9204 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9204 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B9204 */ if (_t22) goto L_021B9208; else goto L_021B9218;
|
|
L_021B9208: ; // 0x21b9208
|
|
/* 021B9208 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B920C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9214 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9214 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B9214 */ if (_t24) goto L_021B9230; else goto L_021B9218;
|
|
L_021B9218: ; // 0x21b9218
|
|
/* 021B9218 */ _t25 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9218 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[29]);
|
|
/* 021B921C */ cpu->r[10] = 0x00000064u;
|
|
/* 021B9220 */ cpu->r[12] = 0x00000078u;
|
|
/* 021B9224 */ _t26 = cpu->r[3] + 0x00000001u;
|
|
/* 021B9224 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 021B9228 */ _t27 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9228 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 021B922C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 021B922C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[10]);
|
|
L_021B9230: ; // 0x21b9230
|
|
/* 021B9230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF4u);
|
|
/* 021B9234 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9238 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9238 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B9238 */ if (_t30) goto L_021B923C; else goto L_021B924C;
|
|
L_021B923C: ; // 0x21b923c
|
|
/* 021B923C */ cpu->r[3] = 0x00000004u;
|
|
/* 021B9240 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9248 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9248 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B9248 */ if (_t32) goto L_021B926C; else goto L_021B924C;
|
|
L_021B924C: ; // 0x21b924c
|
|
/* 021B924C */ cpu->r[0] = 0x000000E6u;
|
|
/* 021B9250 */ cpu->r[5] = 0x00000055u;
|
|
/* 021B9254 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9254 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 021B9258 */ cpu->r[6] = 0x00000032u;
|
|
/* 021B925C */ _t34 = cpu->r[3] + 0x00000001u;
|
|
/* 021B925C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[5]);
|
|
/* 021B9260 */ cpu->r[7] = 0x000000FFu;
|
|
/* 021B9264 */ _t35 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9264 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[6]);
|
|
/* 021B9268 */ _t36 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9268 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[7]);
|
|
L_021B926C: ; // 0x21b926c
|
|
/* 021B926C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF0u);
|
|
/* 021B9270 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021B9274 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9274 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B9274 */ if (_t38) goto L_021B9278; else goto L_021B9288;
|
|
L_021B9278: ; // 0x21b9278
|
|
/* 021B9278 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B927C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9284 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9284 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B9284 */ if (_t40) goto L_021B92A4; else goto L_021B9288;
|
|
L_021B9288: ; // 0x21b9288
|
|
/* 021B9288 */ cpu->r[8] = 0x0000008Cu;
|
|
/* 021B928C */ _t41 = cpu->r[3] + 0x00000002u;
|
|
/* 021B928C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 021B9290 */ cpu->r[9] = 0x000000DCu;
|
|
/* 021B9294 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9294 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[8]);
|
|
/* 021B9298 */ cpu->r[10] = 0x000000FFu;
|
|
/* 021B929C */ _t43 = cpu->r[3] + 0x00000001u;
|
|
/* 021B929C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
/* 021B92A0 */ _t44 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92A0 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[10]);
|
|
L_021B92A4: ; // 0x21b92a4
|
|
/* 021B92A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFECu);
|
|
/* 021B92A8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B92AC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92AC */ _t46 = _t45 & 0x00000001u;
|
|
/* 021B92AC */ if (_t46) goto L_021B92B0; else goto L_021B92C0;
|
|
L_021B92B0: ; // 0x21b92b0
|
|
/* 021B92B0 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B92B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B92B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B92BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 021B92BC */ if (_t48) goto L_021B92D8; else goto L_021B92C0;
|
|
L_021B92C0: ; // 0x21b92c0
|
|
/* 021B92C0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 021B92C0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 021B92C4 */ cpu->r[12] = 0x000000CAu;
|
|
/* 021B92C8 */ _t50 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92C8 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[29]);
|
|
/* 021B92CC */ cpu->r[11] = 0x000000ACu;
|
|
/* 021B92D0 */ _t51 = cpu->r[3] + 0x00000002u;
|
|
/* 021B92D0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[12]);
|
|
/* 021B92D4 */ _t52 = cpu->r[3] + 0x00000001u;
|
|
/* 021B92D4 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[11]);
|
|
L_021B92D8: ; // 0x21b92d8
|
|
/* 021B92D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFE8u);
|
|
/* 021B92DC */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B92E0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021B92E0 */ if (_t54) goto L_021B92E4; else goto L_021B92F4;
|
|
L_021B92E4: ; // 0x21b92e4
|
|
/* 021B92E4 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B92E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B92EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B92F0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92F0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B92F0 */ if (_t56) goto L_021B930C; else goto L_021B92F4;
|
|
L_021B92F4: ; // 0x21b92f4
|
|
/* 021B92F4 */ _t57 = cpu->r[3] + 0x00000002u;
|
|
/* 021B92F4 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[29]);
|
|
/* 021B92F8 */ cpu->r[5] = 0x0000008Cu;
|
|
/* 021B92FC */ _t58 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92FC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[29]);
|
|
/* 021B9300 */ cpu->r[0] = 0x000000FFu;
|
|
/* 021B9304 */ _t59 = cpu->r[3] + 0x00000001u;
|
|
/* 021B9304 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[5]);
|
|
/* 021B9308 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9308 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]);
|
|
L_021B930C: ; // 0x21b930c
|
|
/* 021B930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFE4u);
|
|
/* 021B9310 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021B9314 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9314 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B9314 */ if (_t62) goto L_021B9318; else goto L_021B9328;
|
|
L_021B9318: ; // 0x21b9318
|
|
/* 021B9318 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B931C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9324 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9324 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B9324 */ if (_t64) goto L_021B9340; else goto L_021B9328;
|
|
L_021B9328: ; // 0x21b9328
|
|
/* 021B9328 */ _t65 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9328 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
|
|
/* 021B932C */ cpu->r[7] = 0x000000FFu;
|
|
/* 021B9330 */ _t66 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9330 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[29]);
|
|
/* 021B9334 */ cpu->r[6] = 0x000000DAu;
|
|
/* 021B9338 */ _t67 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9338 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[7]);
|
|
/* 021B933C */ _t68 = cpu->r[3] + 0x00000001u;
|
|
/* 021B933C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[6]);
|
|
L_021B9340: ; // 0x21b9340
|
|
/* 021B9340 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B9344 */ _t69 = cpu->r[29] + 0x00001ED4u;
|
|
/* 021B9344 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021B9344 */ cpu->r[29] = _t69;
|
|
/* 021B9348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B934C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B934C */ _t71 = _t70 & 0x00000001u;
|
|
/* 021B934C */ if (_t71) goto L_021B94BC; else goto L_021B9350;
|
|
L_021B9350: ; // 0x21b9350
|
|
/* 021B9350 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFDu;
|
|
/* 021B9354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 021B9358 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9358 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B9358 */ if (_t73) goto L_021B935C; else goto L_021B9470;
|
|
L_021B935C: ; // 0x21b935c
|
|
/* 021B935C */ cpu->r[11] = 0x101C0000u;
|
|
/* 021B9360 */ _t74 = cpu->r[11] + 0x00006000u;
|
|
/* 021B9360 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B9364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B9368 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B936C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B936C */ _t76 = _t75 & 0x00000001u;
|
|
/* 021B936C */ if (_t76) goto L_021B937C; else goto L_021B9370;
|
|
L_021B9370: ; // 0x21b9370
|
|
/* 021B9370 */ _t77 = cpu->r[11] + 0x00000268u;
|
|
/* 021B9370 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B9374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B9378 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9378 */ _t79 = _t78 & 0x00000001u;
|
|
/* 021B9378 */ if (_t79) goto L_021B937C; else goto L_021B93B0;
|
|
L_021B937C: ; // 0x21b937c
|
|
/* 021B937C */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 021B937C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 021B9380 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B9384 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B9388 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B938C */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B938C */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 021B9390 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B9394 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021B9398 */ _t84 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B939C */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 021B939C */ cpu->r[30] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B93A0 */ cpu->lr = cpu->r[0];
|
|
/* 021B93A4 */ _t86 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B93A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B93A8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B93AC */ return;
|
|
L_021B93B0: ; // 0x21b93b0
|
|
/* 021B93B0 */ _t87 = cpu->r[9] + 0x000002B0u;
|
|
/* 021B93B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021B93B4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B93B8 */ Gambit_fn_027E3E54(cpu);
|
|
/* 021B93BC */ _t88 = cpu->r[1] + 0x00000010u;
|
|
/* 021B93BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 021B93C0 */ cpu->r[12] = cpu->r[0];
|
|
/* 021B93C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B93C4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93C4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B93C4 */ if (_t90) goto L_021B93D0; else goto L_021B93C8;
|
|
L_021B93C8: ; // 0x21b93c8
|
|
/* 021B93C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 021B93CC */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93CC */ _t92 = _t91 & 0x00000001u;
|
|
/* 021B93CC */ if (_t92) goto L_021B93D0; else goto L_021B9434;
|
|
L_021B93D0: ; // 0x21b93d0
|
|
/* 021B93D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 021B93D4 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 021B93D4 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 021B93D8 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93D8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B93D8 */ if (_t95) goto L_021B9410; else goto L_021B93DC;
|
|
L_021B93DC: ; // 0x21b93dc
|
|
/* 021B93DC */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 021B93DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B93E0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B93E4 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 021B93E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B93E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B93EC */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B93EC */ rbrew_write32(cpu->mem, _t98, cpu->r[10]);
|
|
/* 021B93F0 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B93F4 */ _t99 = cpu->r[1] + 0x00000024u;
|
|
/* 021B93F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B93F8 */ _t100 = cpu->r[1] + 0x00000034u;
|
|
/* 021B93F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 021B93FC */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B93FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t101);
|
|
/* 021B9400 */ cpu->lr = cpu->r[0];
|
|
/* 021B9404 */ _t102 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9404 */ cpu->r[30] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021B9408 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B940C */ return;
|
|
L_021B9410: ; // 0x21b9410
|
|
/* 021B9410 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9410 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B9414 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021B9418 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B941C */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 021B941C */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 021B9420 */ Gambit_fn_027E3EF4(cpu);
|
|
/* 021B9424 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B9428 */ _t106 = cpu->r[29] + 0x00000000u;
|
|
/* 021B9428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B942C */ _t107 = cpu->r[1] + 0x00000008u;
|
|
/* 021B942C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 021B9430 */ goto L_021B9440;
|
|
L_021B9434: ; // 0x21b9434
|
|
/* 021B9434 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B9438 */ _t108 = cpu->r[29] + 0x00000000u;
|
|
/* 021B9438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021B943C */ _t109 = cpu->r[1] + 0x00000008u;
|
|
/* 021B943C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
L_021B9440: ; // 0x21b9440
|
|
/* 021B9440 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9440 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B9444 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B9448 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B944C */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B944C */ rbrew_write32(cpu->mem, _t111, cpu->r[10]);
|
|
/* 021B9450 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B9454 */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9454 */ cpu->r[29] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021B9458 */ _t113 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 021B945C */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 021B945C */ cpu->r[30] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021B9460 */ cpu->lr = cpu->r[0];
|
|
/* 021B9464 */ _t115 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B9468 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B946C */ return;
|
|
L_021B9470: ; // 0x21b9470
|
|
/* 021B9470 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFBu;
|
|
/* 021B9474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 021B9478 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9478 */ _t117 = _t116 & 0x00000001u;
|
|
/* 021B9478 */ if (_t117) goto L_021B947C; else goto L_021B94BC;
|
|
L_021B947C: ; // 0x21b947c
|
|
/* 021B947C */ cpu->r[0] = cpu->r[30] ^ 0x00000005u;
|
|
/* 021B9480 */ cpu->r[5] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B9484 */ cpu->r[12] = cpu->r[0] - cpu->r[5];
|
|
/* 021B9488 */ _t118 = cpu->r[1] + 0x00000020u;
|
|
/* 021B9488 */ rbrew_write32(cpu->mem, _t118, cpu->r[12]);
|
|
/* 021B948C */ _t119 = cpu->r[1] + 0x00000020u;
|
|
/* 021B948C */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B9490 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B9494 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9498 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9498 */ rbrew_write32(cpu->mem, _t120, cpu->r[6]);
|
|
/* 021B949C */ Gambit_fn_0203B844(cpu);
|
|
/* 021B94A0 */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 021B94A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B94A4 */ _t122 = cpu->r[1] + 0x00000034u;
|
|
/* 021B94A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021B94A8 */ _t123 = cpu->r[1] + 0x00000028u;
|
|
/* 021B94A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t123);
|
|
/* 021B94AC */ cpu->lr = cpu->r[0];
|
|
/* 021B94B0 */ _t124 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B94B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021B94B4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B94B8 */ return;
|
|
L_021B94BC: ; // 0x21b94bc
|
|
/* 021B94BC */ _t125 = cpu->r[1] + 0x00000024u;
|
|
/* 021B94BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B94C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B94C4 */ _t126 = cpu->r[1] + 0x00000034u;
|
|
/* 021B94C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021B94C8 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
|
|
/* 021B94CC */ _t127 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B94CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021B94D0 */ cpu->lr = cpu->r[0];
|
|
/* 021B94D4 */ _t128 = cpu->r[1] + 0x00000028u;
|
|
/* 021B94D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021B94D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B94DC */ return;
|
|
}
|
|
|
|
// fn_021B9174 @ 0x21b9174
|
|
void Gambit_fn_021B9174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B9174: ; // 0x21b9174
|
|
/* 021B9174 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 021B9174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9174 */ cpu->r[1] = _t0;
|
|
/* 021B9178 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9178 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 021B917C */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B917C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021B9180 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9180 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021B9184 */ cpu->r[31] = 0x101E0000u;
|
|
/* 021B9188 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B918C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021B918C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021B9190 */ _t5 = cpu->r[10] + 0x00000FFCu;
|
|
/* 021B9190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021B9190 */ cpu->r[10] = _t5;
|
|
/* 021B9194 */ cpu->r[30] = cpu->r[4];
|
|
/* 021B9198 */ cpu->r[31] = cpu->r[31] + 0x00000FDCu;
|
|
/* 021B919C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B91A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 021B91A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B91A4 */ if (_t7) goto L_021B91A8; else goto L_021B9340;
|
|
L_021B91A8: ; // 0x21b91a8
|
|
/* 021B91A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B91AC */ cpu->r[6] = 0x000000FFu;
|
|
/* 021B91B0 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 021B91B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B91B4 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 021B91B4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[6]);
|
|
/* 021B91B8 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021B91BC */ _t10 = cpu->r[31] + 0x00000002u;
|
|
/* 021B91BC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[29]);
|
|
/* 021B91C0 */ cpu->r[8] = 0x00000032u;
|
|
/* 021B91C4 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 021B91C4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[29]);
|
|
/* 021B91C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 021B91CC */ _t12 = cpu->r[31] + 0x00000001u;
|
|
/* 021B91CC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 021B91D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B91D0 */ if (_t14) goto L_021B91D4; else goto L_021B91E4;
|
|
L_021B91D4: ; // 0x21b91d4
|
|
/* 021B91D4 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B91D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B91DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B91E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B91E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B91E0 */ if (_t16) goto L_021B91FC; else goto L_021B91E4;
|
|
L_021B91E4: ; // 0x21b91e4
|
|
/* 021B91E4 */ _t17 = cpu->r[3] + 0x00000002u;
|
|
/* 021B91E4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[29]);
|
|
/* 021B91E8 */ cpu->r[9] = 0x000000FFu;
|
|
/* 021B91EC */ _t18 = cpu->r[3] + 0x00000003u;
|
|
/* 021B91EC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
/* 021B91F0 */ cpu->r[7] = 0x000000DCu;
|
|
/* 021B91F4 */ _t19 = cpu->r[3] + 0x00000001u;
|
|
/* 021B91F4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[9]);
|
|
/* 021B91F8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 021B91F8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[7]);
|
|
L_021B91FC: ; // 0x21b91fc
|
|
/* 021B91FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF8u);
|
|
/* 021B9200 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 021B9204 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9204 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B9204 */ if (_t22) goto L_021B9208; else goto L_021B9218;
|
|
L_021B9208: ; // 0x21b9208
|
|
/* 021B9208 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B920C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9214 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9214 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021B9214 */ if (_t24) goto L_021B9230; else goto L_021B9218;
|
|
L_021B9218: ; // 0x21b9218
|
|
/* 021B9218 */ _t25 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9218 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[29]);
|
|
/* 021B921C */ cpu->r[10] = 0x00000064u;
|
|
/* 021B9220 */ cpu->r[12] = 0x00000078u;
|
|
/* 021B9224 */ _t26 = cpu->r[3] + 0x00000001u;
|
|
/* 021B9224 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 021B9228 */ _t27 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9228 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 021B922C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 021B922C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[10]);
|
|
L_021B9230: ; // 0x21b9230
|
|
/* 021B9230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF4u);
|
|
/* 021B9234 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9238 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9238 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B9238 */ if (_t30) goto L_021B923C; else goto L_021B924C;
|
|
L_021B923C: ; // 0x21b923c
|
|
/* 021B923C */ cpu->r[3] = 0x00000004u;
|
|
/* 021B9240 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9248 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9248 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021B9248 */ if (_t32) goto L_021B926C; else goto L_021B924C;
|
|
L_021B924C: ; // 0x21b924c
|
|
/* 021B924C */ cpu->r[0] = 0x000000E6u;
|
|
/* 021B9250 */ cpu->r[5] = 0x00000055u;
|
|
/* 021B9254 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9254 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 021B9258 */ cpu->r[6] = 0x00000032u;
|
|
/* 021B925C */ _t34 = cpu->r[3] + 0x00000001u;
|
|
/* 021B925C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[5]);
|
|
/* 021B9260 */ cpu->r[7] = 0x000000FFu;
|
|
/* 021B9264 */ _t35 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9264 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[6]);
|
|
/* 021B9268 */ _t36 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9268 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[7]);
|
|
L_021B926C: ; // 0x21b926c
|
|
/* 021B926C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFF0u);
|
|
/* 021B9270 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021B9274 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9274 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021B9274 */ if (_t38) goto L_021B9278; else goto L_021B9288;
|
|
L_021B9278: ; // 0x21b9278
|
|
/* 021B9278 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B927C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9284 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9284 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021B9284 */ if (_t40) goto L_021B92A4; else goto L_021B9288;
|
|
L_021B9288: ; // 0x21b9288
|
|
/* 021B9288 */ cpu->r[8] = 0x0000008Cu;
|
|
/* 021B928C */ _t41 = cpu->r[3] + 0x00000002u;
|
|
/* 021B928C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 021B9290 */ cpu->r[9] = 0x000000DCu;
|
|
/* 021B9294 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9294 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[8]);
|
|
/* 021B9298 */ cpu->r[10] = 0x000000FFu;
|
|
/* 021B929C */ _t43 = cpu->r[3] + 0x00000001u;
|
|
/* 021B929C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
/* 021B92A0 */ _t44 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92A0 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[10]);
|
|
L_021B92A4: ; // 0x21b92a4
|
|
/* 021B92A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFECu);
|
|
/* 021B92A8 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 021B92AC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92AC */ _t46 = _t45 & 0x00000001u;
|
|
/* 021B92AC */ if (_t46) goto L_021B92B0; else goto L_021B92C0;
|
|
L_021B92B0: ; // 0x21b92b0
|
|
/* 021B92B0 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B92B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B92B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B92BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 021B92BC */ if (_t48) goto L_021B92D8; else goto L_021B92C0;
|
|
L_021B92C0: ; // 0x21b92c0
|
|
/* 021B92C0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 021B92C0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 021B92C4 */ cpu->r[12] = 0x000000CAu;
|
|
/* 021B92C8 */ _t50 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92C8 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[29]);
|
|
/* 021B92CC */ cpu->r[11] = 0x000000ACu;
|
|
/* 021B92D0 */ _t51 = cpu->r[3] + 0x00000002u;
|
|
/* 021B92D0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[12]);
|
|
/* 021B92D4 */ _t52 = cpu->r[3] + 0x00000001u;
|
|
/* 021B92D4 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[11]);
|
|
L_021B92D8: ; // 0x21b92d8
|
|
/* 021B92D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFE8u);
|
|
/* 021B92DC */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021B92E0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021B92E0 */ if (_t54) goto L_021B92E4; else goto L_021B92F4;
|
|
L_021B92E4: ; // 0x21b92e4
|
|
/* 021B92E4 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B92E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B92EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B92F0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B92F0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021B92F0 */ if (_t56) goto L_021B930C; else goto L_021B92F4;
|
|
L_021B92F4: ; // 0x21b92f4
|
|
/* 021B92F4 */ _t57 = cpu->r[3] + 0x00000002u;
|
|
/* 021B92F4 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[29]);
|
|
/* 021B92F8 */ cpu->r[5] = 0x0000008Cu;
|
|
/* 021B92FC */ _t58 = cpu->r[3] + 0x00000003u;
|
|
/* 021B92FC */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[29]);
|
|
/* 021B9300 */ cpu->r[0] = 0x000000FFu;
|
|
/* 021B9304 */ _t59 = cpu->r[3] + 0x00000001u;
|
|
/* 021B9304 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[5]);
|
|
/* 021B9308 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9308 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]);
|
|
L_021B930C: ; // 0x21b930c
|
|
/* 021B930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFE4u);
|
|
/* 021B9310 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 021B9314 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9314 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B9314 */ if (_t62) goto L_021B9318; else goto L_021B9328;
|
|
L_021B9318: ; // 0x21b9318
|
|
/* 021B9318 */ cpu->r[3] = 0x00000004u;
|
|
/* 021B931C */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9324 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9324 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021B9324 */ if (_t64) goto L_021B9340; else goto L_021B9328;
|
|
L_021B9328: ; // 0x21b9328
|
|
/* 021B9328 */ _t65 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9328 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
|
|
/* 021B932C */ cpu->r[7] = 0x000000FFu;
|
|
/* 021B9330 */ _t66 = cpu->r[3] + 0x00000003u;
|
|
/* 021B9330 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[29]);
|
|
/* 021B9334 */ cpu->r[6] = 0x000000DAu;
|
|
/* 021B9338 */ _t67 = cpu->r[3] + 0x00000002u;
|
|
/* 021B9338 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[7]);
|
|
/* 021B933C */ _t68 = cpu->r[3] + 0x00000001u;
|
|
/* 021B933C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[6]);
|
|
L_021B9340: ; // 0x21b9340
|
|
/* 021B9340 */ cpu->r[29] = 0x101C0000u;
|
|
/* 021B9344 */ _t69 = cpu->r[29] + 0x00001ED4u;
|
|
/* 021B9344 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021B9344 */ cpu->r[29] = _t69;
|
|
/* 021B9348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B934C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B934C */ _t71 = _t70 & 0x00000001u;
|
|
/* 021B934C */ if (_t71) goto L_021B94BC; else goto L_021B9350;
|
|
L_021B9350: ; // 0x21b9350
|
|
/* 021B9350 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFDu;
|
|
/* 021B9354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 021B9358 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9358 */ _t73 = _t72 & 0x00000001u;
|
|
/* 021B9358 */ if (_t73) goto L_021B935C; else goto L_021B9470;
|
|
L_021B935C: ; // 0x21b935c
|
|
/* 021B935C */ cpu->r[11] = 0x101C0000u;
|
|
/* 021B9360 */ _t74 = cpu->r[11] + 0x00006000u;
|
|
/* 021B9360 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B9364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021B9368 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B936C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B936C */ _t76 = _t75 & 0x00000001u;
|
|
/* 021B936C */ if (_t76) goto L_021B937C; else goto L_021B9370;
|
|
L_021B9370: ; // 0x21b9370
|
|
/* 021B9370 */ _t77 = cpu->r[11] + 0x00000268u;
|
|
/* 021B9370 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021B9374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021B9378 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9378 */ _t79 = _t78 & 0x00000001u;
|
|
/* 021B9378 */ if (_t79) goto L_021B937C; else goto L_021B93B0;
|
|
L_021B937C: ; // 0x21b937c
|
|
/* 021B937C */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 021B937C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 021B9380 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021B9384 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B9388 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B938C */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B938C */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 021B9390 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B9394 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021B9398 */ _t84 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B939C */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 021B939C */ cpu->r[30] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B93A0 */ cpu->lr = cpu->r[0];
|
|
/* 021B93A4 */ _t86 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B93A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B93A8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B93AC */ return;
|
|
L_021B93B0: ; // 0x21b93b0
|
|
/* 021B93B0 */ _t87 = cpu->r[9] + 0x000002B0u;
|
|
/* 021B93B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021B93B4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021B93B8 */ Gambit_fn_027E3E54(cpu);
|
|
/* 021B93BC */ _t88 = cpu->r[1] + 0x00000010u;
|
|
/* 021B93BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 021B93C0 */ cpu->r[12] = cpu->r[0];
|
|
/* 021B93C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021B93C4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93C4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021B93C4 */ if (_t90) goto L_021B93D0; else goto L_021B93C8;
|
|
L_021B93C8: ; // 0x21b93c8
|
|
/* 021B93C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 021B93CC */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93CC */ _t92 = _t91 & 0x00000001u;
|
|
/* 021B93CC */ if (_t92) goto L_021B93D0; else goto L_021B9434;
|
|
L_021B93D0: ; // 0x21b93d0
|
|
/* 021B93D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 021B93D4 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 021B93D4 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 021B93D8 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B93D8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021B93D8 */ if (_t95) goto L_021B9410; else goto L_021B93DC;
|
|
L_021B93DC: ; // 0x21b93dc
|
|
/* 021B93DC */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 021B93DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B93E0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B93E4 */ _t97 = cpu->r[29] + 0x00000000u;
|
|
/* 021B93E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B93E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B93EC */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B93EC */ rbrew_write32(cpu->mem, _t98, cpu->r[10]);
|
|
/* 021B93F0 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B93F4 */ _t99 = cpu->r[1] + 0x00000024u;
|
|
/* 021B93F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t99);
|
|
/* 021B93F8 */ _t100 = cpu->r[1] + 0x00000034u;
|
|
/* 021B93F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 021B93FC */ _t101 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B93FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t101);
|
|
/* 021B9400 */ cpu->lr = cpu->r[0];
|
|
/* 021B9404 */ _t102 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9404 */ cpu->r[30] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021B9408 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B940C */ return;
|
|
L_021B9410: ; // 0x21b9410
|
|
/* 021B9410 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9410 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B9414 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021B9418 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021B941C */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 021B941C */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 021B9420 */ Gambit_fn_027E3EF4(cpu);
|
|
/* 021B9424 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B9428 */ _t106 = cpu->r[29] + 0x00000000u;
|
|
/* 021B9428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B942C */ _t107 = cpu->r[1] + 0x00000008u;
|
|
/* 021B942C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 021B9430 */ goto L_021B9440;
|
|
L_021B9434: ; // 0x21b9434
|
|
/* 021B9434 */ cpu->r[0] = 0x00000000u;
|
|
/* 021B9438 */ _t108 = cpu->r[29] + 0x00000000u;
|
|
/* 021B9438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021B943C */ _t109 = cpu->r[1] + 0x00000008u;
|
|
/* 021B943C */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
L_021B9440: ; // 0x21b9440
|
|
/* 021B9440 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9440 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021B9444 */ cpu->r[5] = 0x00000000u;
|
|
/* 021B9448 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B944C */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B944C */ rbrew_write32(cpu->mem, _t111, cpu->r[10]);
|
|
/* 021B9450 */ Gambit_fn_0203B844(cpu);
|
|
/* 021B9454 */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 021B9454 */ cpu->r[29] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021B9458 */ _t113 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 021B945C */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 021B945C */ cpu->r[30] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021B9460 */ cpu->lr = cpu->r[0];
|
|
/* 021B9464 */ _t115 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021B9468 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B946C */ return;
|
|
L_021B9470: ; // 0x21b9470
|
|
/* 021B9470 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFBu;
|
|
/* 021B9474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 021B9478 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9478 */ _t117 = _t116 & 0x00000001u;
|
|
/* 021B9478 */ if (_t117) goto L_021B947C; else goto L_021B94BC;
|
|
L_021B947C: ; // 0x21b947c
|
|
/* 021B947C */ cpu->r[0] = cpu->r[30] ^ 0x00000005u;
|
|
/* 021B9480 */ cpu->r[5] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 021B9484 */ cpu->r[12] = cpu->r[0] - cpu->r[5];
|
|
/* 021B9488 */ _t118 = cpu->r[1] + 0x00000020u;
|
|
/* 021B9488 */ rbrew_write32(cpu->mem, _t118, cpu->r[12]);
|
|
/* 021B948C */ _t119 = cpu->r[1] + 0x00000020u;
|
|
/* 021B948C */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021B9490 */ cpu->r[5] = 0x00000001u;
|
|
/* 021B9494 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9498 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9498 */ rbrew_write32(cpu->mem, _t120, cpu->r[6]);
|
|
/* 021B949C */ Gambit_fn_0203B844(cpu);
|
|
/* 021B94A0 */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 021B94A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021B94A4 */ _t122 = cpu->r[1] + 0x00000034u;
|
|
/* 021B94A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021B94A8 */ _t123 = cpu->r[1] + 0x00000028u;
|
|
/* 021B94A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t123);
|
|
/* 021B94AC */ cpu->lr = cpu->r[0];
|
|
/* 021B94B0 */ _t124 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B94B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021B94B4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B94B8 */ return;
|
|
L_021B94BC: ; // 0x21b94bc
|
|
/* 021B94BC */ _t125 = cpu->r[1] + 0x00000024u;
|
|
/* 021B94BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021B94C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021B94C4 */ _t126 = cpu->r[1] + 0x00000034u;
|
|
/* 021B94C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021B94C8 */ cpu->r[3] = cpu->r[31] + cpu->r[7];
|
|
/* 021B94CC */ _t127 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B94CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021B94D0 */ cpu->lr = cpu->r[0];
|
|
/* 021B94D4 */ _t128 = cpu->r[1] + 0x00000028u;
|
|
/* 021B94D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021B94D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 021B94DC */ return;
|
|
}
|
|
|
|
// fn_021B94E0 @ 0x21b94e0
|
|
void Gambit_fn_021B94E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021B94E0: ; // 0x21b94e0
|
|
/* 021B94E0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B94E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B94E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B94E8 */ cpu->r[3] = 0x0000005Cu;
|
|
/* 021B94EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B94EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B94EC */ cpu->r[1] = _t1;
|
|
/* 021B94F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B94F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B94F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B94F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B94F8 */ if (_t3) goto L_021B9500; else goto L_021B94FC;
|
|
L_021B94FC: ; // 0x21b94fc
|
|
/* 021B94FC */ Gambit_fn_020AF550(cpu);
|
|
L_021B9500: ; // 0x21b9500
|
|
/* 021B9500 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B9504 */ cpu->lr = cpu->r[0];
|
|
/* 021B9508 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B950C */ return;
|
|
}
|
|
|
|
// fn_021B94EC @ 0x21b94ec
|
|
void Gambit_fn_021B94EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B94EC: ; // 0x21b94ec
|
|
/* 021B94EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B94EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B94EC */ cpu->r[1] = _t0;
|
|
/* 021B94F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B94F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B94F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B94F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B94F8 */ if (_t2) goto L_021B9500; else goto L_021B94FC;
|
|
L_021B94FC: ; // 0x21b94fc
|
|
/* 021B94FC */ Gambit_fn_020AF550(cpu);
|
|
L_021B9500: ; // 0x21b9500
|
|
/* 021B9500 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B9504 */ cpu->lr = cpu->r[0];
|
|
/* 021B9508 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B950C */ return;
|
|
}
|
|
|
|
// fn_021B9510 @ 0x21b9510
|
|
void Gambit_fn_021B9510(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_021B9510: ; // 0x21b9510
|
|
/* 021B9510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9514 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9514 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B9514 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B9514 */ goto L_021B9518;
|
|
L_021B9518: ; // 0x21b9518
|
|
/* 021B9518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B9518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B951C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B951C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B951C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B951C */ goto L_021B9520;
|
|
L_021B9520: ; // 0x21b9520
|
|
/* 021B9520 */ 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_021B9524 @ 0x21b9524
|
|
void Gambit_fn_021B9524(CPUState* cpu) {
|
|
L_021B9524: ; // 0x21b9524
|
|
/* 021B9524 */ return;
|
|
}
|
|
|
|
// fn_021B9528 @ 0x21b9528
|
|
void Gambit_fn_021B9528(CPUState* cpu) {
|
|
L_021B9528: ; // 0x21b9528
|
|
/* 021B9528 */ cpu->r[3] = 0x00000002u;
|
|
/* 021B952C */ return;
|
|
}
|
|
|
|
// fn_021B9530 @ 0x21b9530
|
|
void Gambit_fn_021B9530(CPUState* cpu) {
|
|
L_021B9530: ; // 0x21b9530
|
|
/* 021B9530 */ cpu->r[3] = 0x00000002u;
|
|
/* 021B9534 */ return;
|
|
}
|
|
|
|
// fn_021B9538 @ 0x21b9538
|
|
void Gambit_fn_021B9538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021B9538: ; // 0x21b9538
|
|
/* 021B9538 */ cpu->r[0] = cpu->lr;
|
|
/* 021B953C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B953C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B953C */ cpu->r[1] = _t0;
|
|
/* 021B9540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9544 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021B9548 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9548 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B954C */ _t3 = cpu->r[11] + 0xFFFFDF7Cu;
|
|
/* 021B954C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B954C */ cpu->r[11] = _t3;
|
|
/* 021B9550 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B9554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9558 */ cpu->r[31] = cpu->r[31] + 0xFFFFFA6Cu;
|
|
/* 021B955C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B955C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B955C */ if (_t5) goto L_021B9560; else goto L_021B958C;
|
|
L_021B9560: ; // 0x21b9560
|
|
/* 021B9560 */ cpu->r[10] = 0x00000001u;
|
|
/* 021B9564 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9568 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B956C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 021B956C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021B9570 */ cpu->r[12] = cpu->r[12] + 0xFFFFA6DCu;
|
|
/* 021B9574 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B9578 */ cpu->r[0] = cpu->r[0] + 0xFFFFA6F4u;
|
|
/* 021B957C */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B957C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021B9580 */ cpu->r[3] = cpu->r[3] + 0x00004DE4u;
|
|
/* 021B9584 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021B9584 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021B9588 */ Gambit_fn_02C83090(cpu);
|
|
L_021B958C: ; // 0x21b958c
|
|
/* 021B958C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B958C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B9590 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9594 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B9598 */ cpu->lr = cpu->r[0];
|
|
/* 021B959C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B95A0 */ return;
|
|
}
|
|
|
|
// fn_021B953C @ 0x21b953c
|
|
void Gambit_fn_021B953C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021B953C: ; // 0x21b953c
|
|
/* 021B953C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B953C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B953C */ cpu->r[1] = _t0;
|
|
/* 021B9540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9544 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021B9548 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9548 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B954C */ _t3 = cpu->r[11] + 0xFFFFDF7Cu;
|
|
/* 021B954C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B954C */ cpu->r[11] = _t3;
|
|
/* 021B9550 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021B9554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9558 */ cpu->r[31] = cpu->r[31] + 0xFFFFFA6Cu;
|
|
/* 021B955C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B955C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B955C */ if (_t5) goto L_021B9560; else goto L_021B958C;
|
|
L_021B9560: ; // 0x21b9560
|
|
/* 021B9560 */ cpu->r[10] = 0x00000001u;
|
|
/* 021B9564 */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9568 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B956C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 021B956C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021B9570 */ cpu->r[12] = cpu->r[12] + 0xFFFFA6DCu;
|
|
/* 021B9574 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021B9578 */ cpu->r[0] = cpu->r[0] + 0xFFFFA6F4u;
|
|
/* 021B957C */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 021B957C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 021B9580 */ cpu->r[3] = cpu->r[3] + 0x00004DE4u;
|
|
/* 021B9584 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 021B9584 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021B9588 */ Gambit_fn_02C83090(cpu);
|
|
L_021B958C: ; // 0x21b958c
|
|
/* 021B958C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021B958C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021B9590 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9594 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B9598 */ cpu->lr = cpu->r[0];
|
|
/* 021B959C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B95A0 */ return;
|
|
}
|
|
|
|
// fn_021B95A4 @ 0x21b95a4
|
|
void Gambit_fn_021B95A4(CPUState* cpu) {
|
|
L_021B95A4: ; // 0x21b95a4
|
|
/* 021B95A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B95A8 */ return;
|
|
}
|
|
|
|
// fn_021B95AC @ 0x21b95ac
|
|
void Gambit_fn_021B95AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71;
|
|
|
|
L_021B95AC: ; // 0x21b95ac
|
|
/* 021B95AC */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 021B95AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B95AC */ cpu->r[1] = _t0;
|
|
/* 021B95B0 */ cpu->r[0] = cpu->lr;
|
|
/* 021B95B4 */ /* nop */
|
|
/* 021B95B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B95B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B95BC */ _t1 = cpu->r[1] + 0x00000164u;
|
|
/* 021B95BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B95C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B95C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B95C0 */ if (_t3) goto L_021B95C4; else goto L_021B95D4;
|
|
L_021B95C4: ; // 0x21b95c4
|
|
/* 021B95C4 */ cpu->r[3] = 0x0000017Cu;
|
|
/* 021B95C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B95CC */ cpu->r[31] = cpu->r[3];
|
|
/* 021B95CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021B95D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B95D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B95D0 */ if (_t5) goto L_021B97E4; else goto L_021B95D4;
|
|
L_021B95D4: ; // 0x21b95d4
|
|
/* 021B95D4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 021B95D8 */ cpu->r[28] = cpu->r[31] + 0x00000154u;
|
|
/* 021B95DC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B95E0 */ _t6 = cpu->r[31] + 0x00000150u;
|
|
/* 021B95E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 021B95E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B95E8 */ _t7 = cpu->r[31] + 0x00000148u;
|
|
/* 021B95E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 021B95EC */ cpu->r[5] = 0x10030000u;
|
|
/* 021B95F0 */ _t8 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021B95F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 021B95F4 */ cpu->r[5] = cpu->r[5] + 0xFFFFA810u;
|
|
/* 021B95F8 */ cpu->r[4] = 0x00000024u;
|
|
/* 021B95FC */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021B95FC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 021B9600 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 021B9600 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 021B9604 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B9608 */ cpu->r[26] = cpu->r[28];
|
|
/* 021B9608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B960C */ cpu->r[29] = 0x10110000u;
|
|
/* 021B9610 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9610 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B9610 */ if (_t12) goto L_021B9614; else goto L_021B9688;
|
|
L_021B9614: ; // 0x21b9614
|
|
/* 021B9614 */ cpu->r[3] = 0x00000024u;
|
|
/* 021B9618 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B961C */ cpu->r[26] = cpu->r[3];
|
|
/* 021B961C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 021B9620 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9620 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B9620 */ if (_t14) goto L_021B9624; else goto L_021B9688;
|
|
L_021B9624: ; // 0x21b9624
|
|
/* 021B9624 */ cpu->r[7] = 0x10030000u;
|
|
/* 021B9628 */ _t15 = cpu->r[29] + 0x0000739Au;
|
|
/* 021B9628 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 021B962C */ cpu->r[7] = cpu->r[7] + 0xFFFFA7F8u;
|
|
/* 021B9630 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9630 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 021B9634 */ _t17 = cpu->r[31] + 0x00000178u;
|
|
/* 021B9634 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 021B9638 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 021B9638 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021B963C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 021B9640 */ _t19 = cpu->r[8] + 0x00000000u;
|
|
/* 021B9640 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[11]);
|
|
/* 021B9644 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B9648 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9648 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 021B964C */ cpu->r[4] = 0x00000054u;
|
|
/* 021B9650 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 021B9650 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 021B9654 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B9658 */ cpu->r[5] = 0x00000054u;
|
|
/* 021B965C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9660 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 021B9664 */ rbrew_dispatch(cpu, 0x02d0b878u);
|
|
/* 021B9668 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B966C */ cpu->r[4] = 0x00000040u;
|
|
/* 021B9670 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B9674 */ cpu->r[11] = 0x00000008u;
|
|
/* 021B9678 */ cpu->r[9] = cpu->r[1] + 0x00000006u;
|
|
/* 021B967C */ cpu->r[10] = cpu->r[31] + 0x0000005Eu;
|
|
/* 021B9680 */ cpu->ctr = cpu->r[11];
|
|
/* 021B9684 */ goto L_021B9788;
|
|
L_021B9688: ; // 0x21b9688
|
|
/* 021B9688 */ cpu->r[27] = cpu->r[26];
|
|
/* 021B9688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B968C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B968C */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B968C */ if (_t23) goto L_021B9690; else goto L_021B96B4;
|
|
L_021B9690: ; // 0x21b9690
|
|
/* 021B9690 */ cpu->r[3] = 0x00000024u;
|
|
/* 021B9694 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B9698 */ cpu->r[27] = cpu->r[3];
|
|
/* 021B9698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B969C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B969C */ _t25 = _t24 & 0x00000001u;
|
|
/* 021B969C */ if (_t25) goto L_021B96A0; else goto L_021B96B4;
|
|
L_021B96A0: ; // 0x21b96a0
|
|
/* 021B96A0 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B96A4 */ _t26 = cpu->r[29] + 0x0000739Au;
|
|
/* 021B96A4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t26);
|
|
/* 021B96A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA7E0u;
|
|
/* 021B96AC */ _t27 = cpu->r[26] + 0x00000004u;
|
|
/* 021B96AC */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 021B96B0 */ goto L_021B972C;
|
|
L_021B96B4: ; // 0x21b96b4
|
|
/* 021B96B4 */ cpu->r[3] = cpu->r[27];
|
|
/* 021B96B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B96B8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B96B8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021B96B8 */ if (_t29) goto L_021B96BC; else goto L_021B96E8;
|
|
L_021B96BC: ; // 0x21b96bc
|
|
/* 021B96BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021B96C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021B96C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B96C8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B96C8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B96C8 */ if (_t31) goto L_021B96CC; else goto L_021B96E8;
|
|
L_021B96CC: ; // 0x21b96cc
|
|
/* 021B96CC */ cpu->r[0] = 0x10030000u;
|
|
/* 021B96D0 */ _t32 = cpu->r[29] + 0x0000739Au;
|
|
/* 021B96D0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t32);
|
|
/* 021B96D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA7C8u;
|
|
/* 021B96D8 */ _t33 = cpu->r[27] + 0x00000000u;
|
|
/* 021B96D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021B96DC */ _t34 = cpu->r[27] + 0x00000004u;
|
|
/* 021B96DC */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 021B96E0 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 021B96E0 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[11]);
|
|
/* 021B96E4 */ goto L_021B9720;
|
|
L_021B96E8: ; // 0x21b96e8
|
|
/* 021B96E8 */ cpu->r[10] = cpu->r[27] + 0x0000000Cu;
|
|
/* 021B96EC */ cpu->r[12] = 0x0000000Bu;
|
|
/* 021B96F0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B96F4 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 021B96F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 021B96F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA7B0u;
|
|
/* 021B96FC */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 021B96FC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 021B9700 */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 021B9700 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 021B9704 */ _t39 = cpu->r[29] + 0x0000739Au;
|
|
/* 021B9704 */ cpu->r[11] = rbrew_read16(cpu->mem, _t39);
|
|
/* 021B9708 */ cpu->r[0] = 0x10030000u;
|
|
/* 021B970C */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 021B970C */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021B9710 */ cpu->r[0] = cpu->r[0] + 0xFFFFA7C8u;
|
|
/* 021B9714 */ _t41 = cpu->r[27] + 0x00000020u;
|
|
/* 021B9714 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[11]);
|
|
/* 021B9718 */ _t42 = cpu->r[27] + 0x00000004u;
|
|
/* 021B9718 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 021B971C */ _t43 = cpu->r[5] + 0x00000000u;
|
|
/* 021B971C */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[11]);
|
|
L_021B9720: ; // 0x21b9720
|
|
/* 021B9720 */ cpu->r[6] = 0x10030000u;
|
|
/* 021B9724 */ cpu->r[6] = cpu->r[6] + 0xFFFFA7E0u;
|
|
/* 021B9728 */ _t44 = cpu->r[26] + 0x00000004u;
|
|
/* 021B9728 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
L_021B972C: ; // 0x21b972c
|
|
/* 021B972C */ cpu->r[7] = 0x10030000u;
|
|
/* 021B9730 */ cpu->r[7] = cpu->r[7] + 0xFFFFA7F8u;
|
|
/* 021B9734 */ _t45 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9734 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 021B9738 */ _t46 = cpu->r[31] + 0x00000178u;
|
|
/* 021B9738 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[30]);
|
|
/* 021B973C */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 021B973C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B9740 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021B9744 */ _t48 = cpu->r[8] + 0x00000000u;
|
|
/* 021B9744 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[11]);
|
|
/* 021B9748 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 021B974C */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 021B974C */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
/* 021B9750 */ cpu->r[4] = 0x00000054u;
|
|
/* 021B9754 */ _t50 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9754 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 021B9758 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B975C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 021B9760 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9764 */ cpu->r[5] = 0x00000054u;
|
|
/* 021B9768 */ rbrew_dispatch(cpu, 0x02d0b878u);
|
|
/* 021B976C */ cpu->r[4] = 0x00000040u;
|
|
/* 021B9770 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9774 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B9778 */ cpu->r[11] = 0x00000008u;
|
|
/* 021B977C */ cpu->r[9] = cpu->r[1] + 0x00000006u;
|
|
/* 021B9780 */ cpu->ctr = cpu->r[11];
|
|
/* 021B9784 */ cpu->r[10] = cpu->r[31] + 0x0000005Eu;
|
|
L_021B9788: ; // 0x21b9788
|
|
/* 021B9788 */ _t51 = cpu->r[9] + 0x00000002u;
|
|
/* 021B9788 */ cpu->r[12] = rbrew_read16(cpu->mem, _t51);
|
|
/* 021B978C */ _t52 = cpu->r[10] + 0x00000002u;
|
|
/* 021B978C */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[12]);
|
|
/* 021B9790 */ _t53 = cpu->r[9] + 0x00000004u;
|
|
/* 021B9790 */ cpu->r[0] = rbrew_read16(cpu->mem, _t53);
|
|
/* 021B9794 */ _t54 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9794 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[0]);
|
|
/* 021B9798 */ _t55 = cpu->r[9] + 0x00000006u;
|
|
/* 021B9798 */ cpu->r[5] = rbrew_read16(cpu->mem, _t55);
|
|
/* 021B979C */ _t56 = cpu->r[10] + 0x00000006u;
|
|
/* 021B979C */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[5]);
|
|
/* 021B97A0 */ _t57 = cpu->r[9] + 0x00000008u;
|
|
/* 021B97A0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t57);
|
|
/* 021B97A0 */ cpu->r[9] = _t57;
|
|
/* 021B97A4 */ _t58 = cpu->r[10] + 0x00000008u;
|
|
/* 021B97A4 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[6]);
|
|
/* 021B97A4 */ cpu->r[10] = _t58;
|
|
/* 021B97A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B97A8 */ _t59 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B97A8 */ _t60 = _t59 >> (0x00000002u & 31u);
|
|
/* 021B97A8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 021B97A8 */ if (_t61) goto L_021B9788; else goto L_021B97AC;
|
|
L_021B97AC: ; // 0x21b97ac
|
|
/* 021B97AC */ cpu->r[4] = 0x000000A8u;
|
|
/* 021B97B0 */ cpu->r[3] = cpu->r[1] + 0x0000009Cu;
|
|
/* 021B97B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 021B97B8 */ cpu->r[9] = 0x0000000Eu;
|
|
/* 021B97BC */ cpu->r[7] = cpu->r[1] + 0x00000098u;
|
|
/* 021B97C0 */ cpu->ctr = cpu->r[9];
|
|
/* 021B97C4 */ cpu->r[8] = cpu->r[31] + 0x0000009Cu;
|
|
L_021B97C8: ; // 0x21b97c8
|
|
/* 021B97C8 */ _t62 = cpu->r[7] + 0x00000004u;
|
|
/* 021B97C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021B97CC */ _t63 = cpu->r[8] + 0x00000004u;
|
|
/* 021B97CC */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 021B97D0 */ _t64 = cpu->r[7] + 0x00000008u;
|
|
/* 021B97D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B97D4 */ _t65 = cpu->r[8] + 0x00000008u;
|
|
/* 021B97D4 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 021B97D8 */ _t66 = cpu->r[7] + 0x0000000Cu;
|
|
/* 021B97D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B97D8 */ cpu->r[7] = _t66;
|
|
/* 021B97DC */ _t67 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021B97DC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 021B97DC */ cpu->r[8] = _t67;
|
|
/* 021B97E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B97E0 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B97E0 */ _t69 = _t68 >> (0x00000002u & 31u);
|
|
/* 021B97E0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 021B97E0 */ if (_t70) goto L_021B97C8; else goto L_021B97E4;
|
|
L_021B97E4: ; // 0x21b97e4
|
|
/* 021B97E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B97E8 */ /* nop */
|
|
/* 021B97EC */ _t71 = cpu->r[1] + 0x00000164u;
|
|
/* 021B97EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B97F0 */ cpu->lr = cpu->r[0];
|
|
/* 021B97F4 */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 021B97F8 */ return;
|
|
}
|
|
|
|
// fn_021B97FC @ 0x21b97fc
|
|
void Gambit_fn_021B97FC(CPUState* cpu) {
|
|
L_021B97FC: ; // 0x21b97fc
|
|
/* 021B97FC */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 021B9800 */ rbrew_dispatch(cpu, 0x02d0dfb8u); return;
|
|
}
|
|
|
|
// fn_021B9804 @ 0x21b9804
|
|
void Gambit_fn_021B9804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021B9804: ; // 0x21b9804
|
|
/* 021B9804 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021B9804 */ cpu->r[6] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B9808 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B980C */ cpu->r[12] = 0x00000000u;
|
|
/* 021B9810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 021B9814 */ cpu->r[7] = 0x1FF00000u;
|
|
/* 021B9818 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9818 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B9818 */ if (_t2) goto L_021B981C; else goto L_021B9820;
|
|
L_021B981C: ; // 0x21b981c
|
|
/* 021B981C */ cpu->r[7] = 0x07F00000u;
|
|
L_021B9820: ; // 0x21b9820
|
|
/* 021B9820 */ cpu->r[11] = cpu->r[6] & cpu->r[7];
|
|
/* 021B9824 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 021B9828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Bu);
|
|
/* 021B982C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B982C */ _t4 = _t3 & 0x00000001u;
|
|
/* 021B982C */ if (_t4) goto L_021B9830; else goto L_021B9884;
|
|
L_021B9830: ; // 0x21b9830
|
|
/* 021B9830 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B9834 */ cpu->r[10] = 0x00100000u;
|
|
/* 021B9838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B983C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 021B9840 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9840 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B9840 */ if (_t6) goto L_021B9844; else goto L_021B9848;
|
|
L_021B9844: ; // 0x21b9844
|
|
/* 021B9844 */ cpu->r[10] = 0x000003FFu;
|
|
L_021B9848: ; // 0x21b9848
|
|
/* 021B9848 */ cpu->r[9] = 0x00010000u;
|
|
/* 021B984C */ cpu->r[7] = cpu->r[6] & cpu->r[10];
|
|
/* 021B9850 */ cpu->r[9] = cpu->r[9] + 0xFFFFC800u;
|
|
/* 021B9854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]);
|
|
/* 021B9858 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9858 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B9858 */ if (_t8) goto L_021B9884; else goto L_021B985C;
|
|
L_021B985C: ; // 0x21b985c
|
|
/* 021B985C */ cpu->r[0] = 0x000F0000u;
|
|
/* 021B9860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B9864 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 021B9868 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9868 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B9868 */ if (_t10) goto L_021B986C; else goto L_021B9870;
|
|
L_021B986C: ; // 0x21b986c
|
|
/* 021B986C */ cpu->r[0] = 0x000003FFu;
|
|
L_021B9870: ; // 0x21b9870
|
|
/* 021B9870 */ cpu->r[11] = cpu->r[9] + 0x00001900u;
|
|
/* 021B9874 */ cpu->r[9] = cpu->r[6] & cpu->r[0];
|
|
/* 021B9878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 021B987C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B987C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B987C */ if (_t12) goto L_021B9880; else goto L_021B9884;
|
|
L_021B9880: ; // 0x21b9880
|
|
/* 021B9880 */ cpu->r[12] = 0x00000001u;
|
|
L_021B9884: ; // 0x21b9884
|
|
/* 021B9884 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B9888 */ return;
|
|
}
|
|
|
|
// fn_021B988C @ 0x21b988c
|
|
void Gambit_fn_021B988C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_021B988C: ; // 0x21b988c
|
|
/* 021B988C */ cpu->r[0] = cpu->lr;
|
|
/* 021B9890 */ cpu->r[5] = cpu->r[3];
|
|
/* 021B9894 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021B9894 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021B9898 */ cpu->r[4] = 0x00000000u;
|
|
/* 021B989C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B989C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021B989C */ cpu->r[1] = _t1;
|
|
/* 021B98A0 */ Gambit_fn_021B9804(cpu);
|
|
/* 021B98A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B98A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B98A8 */ if (_t3) goto L_021B98AC; else goto L_021B9928;
|
|
L_021B98AC: ; // 0x21b98ac
|
|
/* 021B98AC */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 021B98AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021B98B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B98B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 021B98B8 */ cpu->r[7] = 0x1FF00000u;
|
|
/* 021B98BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 021B98BC */ if (_t6) goto L_021B98C0; else goto L_021B98C4;
|
|
L_021B98C0: ; // 0x21b98c0
|
|
/* 021B98C0 */ cpu->r[7] = 0x07F00000u;
|
|
L_021B98C4: ; // 0x21b98c4
|
|
/* 021B98C4 */ cpu->r[0] = cpu->r[10] & cpu->r[7];
|
|
/* 021B98C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 021B98CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000001Bu);
|
|
/* 021B98D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98D0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B98D0 */ if (_t8) goto L_021B98D4; else goto L_021B9928;
|
|
L_021B98D4: ; // 0x21b98d4
|
|
/* 021B98D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B98D8 */ cpu->r[7] = 0x00100000u;
|
|
/* 021B98DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B98E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B98E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B98E4 */ if (_t10) goto L_021B98E8; else goto L_021B98EC;
|
|
L_021B98E8: ; // 0x21b98e8
|
|
/* 021B98E8 */ cpu->r[7] = 0x000003FFu;
|
|
L_021B98EC: ; // 0x21b98ec
|
|
/* 021B98EC */ cpu->r[12] = 0x00010000u;
|
|
/* 021B98F0 */ cpu->r[9] = cpu->r[10] & cpu->r[7];
|
|
/* 021B98F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA00u;
|
|
/* 021B98F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[12]);
|
|
/* 021B98FC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B98FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B98FC */ if (_t12) goto L_021B9928; else goto L_021B9900;
|
|
L_021B9900: ; // 0x21b9900
|
|
/* 021B9900 */ cpu->r[11] = 0x00100000u;
|
|
/* 021B9904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B9908 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B990C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B990C */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B990C */ if (_t14) goto L_021B9910; else goto L_021B9914;
|
|
L_021B9910: ; // 0x21b9910
|
|
/* 021B9910 */ cpu->r[11] = 0x000003FFu;
|
|
L_021B9914: ; // 0x21b9914
|
|
/* 021B9914 */ cpu->r[10] = cpu->r[10] & cpu->r[11];
|
|
/* 021B9918 */ cpu->r[0] = cpu->r[12] + 0x00000500u;
|
|
/* 021B991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 021B9920 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9920 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B9920 */ if (_t16) goto L_021B9924; else goto L_021B9928;
|
|
L_021B9924: ; // 0x21b9924
|
|
/* 021B9924 */ cpu->r[4] = 0x00000001u;
|
|
L_021B9928: ; // 0x21b9928
|
|
/* 021B9928 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B992C */ cpu->lr = cpu->r[0];
|
|
/* 021B9930 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9934 */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B9938 */ return;
|
|
}
|
|
|
|
// fn_021B989C @ 0x21b989c
|
|
void Gambit_fn_021B989C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_021B989C: ; // 0x21b989c
|
|
/* 021B989C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021B989C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B989C */ cpu->r[1] = _t0;
|
|
/* 021B98A0 */ Gambit_fn_021B9804(cpu);
|
|
/* 021B98A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B98A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021B98A8 */ if (_t2) goto L_021B98AC; else goto L_021B9928;
|
|
L_021B98AC: ; // 0x21b98ac
|
|
/* 021B98AC */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 021B98AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B98B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B98B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 021B98B8 */ cpu->r[7] = 0x1FF00000u;
|
|
/* 021B98BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B98BC */ if (_t5) goto L_021B98C0; else goto L_021B98C4;
|
|
L_021B98C0: ; // 0x21b98c0
|
|
/* 021B98C0 */ cpu->r[7] = 0x07F00000u;
|
|
L_021B98C4: ; // 0x21b98c4
|
|
/* 021B98C4 */ cpu->r[0] = cpu->r[10] & cpu->r[7];
|
|
/* 021B98C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 021B98CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000001Bu);
|
|
/* 021B98D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B98D0 */ if (_t7) goto L_021B98D4; else goto L_021B9928;
|
|
L_021B98D4: ; // 0x21b98d4
|
|
/* 021B98D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B98D8 */ cpu->r[7] = 0x00100000u;
|
|
/* 021B98DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B98E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 021B98E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B98E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021B98E4 */ if (_t9) goto L_021B98E8; else goto L_021B98EC;
|
|
L_021B98E8: ; // 0x21b98e8
|
|
/* 021B98E8 */ cpu->r[7] = 0x000003FFu;
|
|
L_021B98EC: ; // 0x21b98ec
|
|
/* 021B98EC */ cpu->r[12] = 0x00010000u;
|
|
/* 021B98F0 */ cpu->r[9] = cpu->r[10] & cpu->r[7];
|
|
/* 021B98F4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA00u;
|
|
/* 021B98F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[12]);
|
|
/* 021B98FC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B98FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B98FC */ if (_t11) goto L_021B9928; else goto L_021B9900;
|
|
L_021B9900: ; // 0x21b9900
|
|
/* 021B9900 */ cpu->r[11] = 0x00100000u;
|
|
/* 021B9904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 021B9908 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 021B990C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B990C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B990C */ if (_t13) goto L_021B9910; else goto L_021B9914;
|
|
L_021B9910: ; // 0x21b9910
|
|
/* 021B9910 */ cpu->r[11] = 0x000003FFu;
|
|
L_021B9914: ; // 0x21b9914
|
|
/* 021B9914 */ cpu->r[10] = cpu->r[10] & cpu->r[11];
|
|
/* 021B9918 */ cpu->r[0] = cpu->r[12] + 0x00000500u;
|
|
/* 021B991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 021B9920 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9920 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B9920 */ if (_t15) goto L_021B9924; else goto L_021B9928;
|
|
L_021B9924: ; // 0x21b9924
|
|
/* 021B9924 */ cpu->r[4] = 0x00000001u;
|
|
L_021B9928: ; // 0x21b9928
|
|
/* 021B9928 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021B992C */ cpu->lr = cpu->r[0];
|
|
/* 021B9930 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9934 */ cpu->r[3] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B9938 */ return;
|
|
}
|
|
|
|
// fn_021B993C @ 0x21b993c
|
|
void Gambit_fn_021B993C(CPUState* cpu) {
|
|
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_021B993C: ; // 0x21b993c
|
|
/* 021B993C */ cpu->r[0] = cpu->lr;
|
|
/* 021B9940 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B9940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9940 */ cpu->r[1] = _t0;
|
|
/* 021B9944 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9948 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B994C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9950 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9954 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9954 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B9958 */ Gambit_fn_021B988C(cpu);
|
|
/* 021B995C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9960 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9960 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B9960 */ if (_t5) goto L_021B9964; else goto L_021B99E4;
|
|
L_021B9964: ; // 0x21b9964
|
|
/* 021B9964 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9964 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B9968 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B996C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 021B9970 */ cpu->r[10] = 0x1FF00000u;
|
|
/* 021B9974 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9974 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B9974 */ if (_t8) goto L_021B9978; else goto L_021B997C;
|
|
L_021B9978: ; // 0x21b9978
|
|
/* 021B9978 */ cpu->r[10] = 0x07F00000u;
|
|
L_021B997C: ; // 0x21b997c
|
|
/* 021B997C */ cpu->r[11] = cpu->r[9] & cpu->r[10];
|
|
/* 021B9980 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 021B9984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Bu);
|
|
/* 021B9988 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9988 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B9988 */ if (_t10) goto L_021B998C; else goto L_021B99E4;
|
|
L_021B998C: ; // 0x21b998c
|
|
/* 021B998C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B9990 */ cpu->r[0] = 0x000F0000u;
|
|
/* 021B9994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 021B9998 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 021B999C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B999C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B999C */ if (_t12) goto L_021B99A0; else goto L_021B99A4;
|
|
L_021B99A0: ; // 0x21b99a0
|
|
/* 021B99A0 */ cpu->r[0] = 0x000003FFu;
|
|
L_021B99A4: ; // 0x21b99a4
|
|
/* 021B99A4 */ cpu->r[11] = 0x00010000u;
|
|
/* 021B99A8 */ cpu->r[0] = cpu->r[9] & cpu->r[0];
|
|
/* 021B99AC */ cpu->r[11] = cpu->r[11] + 0x00000900u;
|
|
/* 021B99B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 021B99B4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B99B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B99B4 */ if (_t14) goto L_021B99E4; else goto L_021B99B8;
|
|
L_021B99B8: ; // 0x21b99b8
|
|
/* 021B99B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 021B99BC */ cpu->r[12] = 0x00100000u;
|
|
/* 021B99C0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B99C4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B99C4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B99C4 */ if (_t16) goto L_021B99C8; else goto L_021B99CC;
|
|
L_021B99C8: ; // 0x21b99c8
|
|
/* 021B99C8 */ cpu->r[12] = 0x000003FFu;
|
|
L_021B99CC: ; // 0x21b99cc
|
|
/* 021B99CC */ cpu->r[0] = 0x00010000u;
|
|
/* 021B99D0 */ cpu->r[12] = cpu->r[9] & cpu->r[12];
|
|
/* 021B99D4 */ cpu->r[0] = cpu->r[0] | 0x00000E00u;
|
|
/* 021B99D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 021B99DC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B99DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B99DC */ if (_t18) goto L_021B99E0; else goto L_021B99E4;
|
|
L_021B99E0: ; // 0x21b99e0
|
|
/* 021B99E0 */ cpu->r[30] = 0x00000001u;
|
|
L_021B99E4: ; // 0x21b99e4
|
|
/* 021B99E4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 021B99E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B99E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B99EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B99EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B99F0 */ cpu->lr = cpu->r[0];
|
|
/* 021B99F4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B99F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B99F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B99FC */ return;
|
|
}
|
|
|
|
// fn_021B9940 @ 0x21b9940
|
|
void Gambit_fn_021B9940(CPUState* cpu) {
|
|
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_021B9940: ; // 0x21b9940
|
|
/* 021B9940 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021B9940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9940 */ cpu->r[1] = _t0;
|
|
/* 021B9944 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9948 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021B994C */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9950 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9954 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9954 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021B9958 */ Gambit_fn_021B988C(cpu);
|
|
/* 021B995C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9960 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9960 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B9960 */ if (_t5) goto L_021B9964; else goto L_021B99E4;
|
|
L_021B9964: ; // 0x21b9964
|
|
/* 021B9964 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021B9964 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021B9968 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B996C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 021B9970 */ cpu->r[10] = 0x1FF00000u;
|
|
/* 021B9974 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9974 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B9974 */ if (_t8) goto L_021B9978; else goto L_021B997C;
|
|
L_021B9978: ; // 0x21b9978
|
|
/* 021B9978 */ cpu->r[10] = 0x07F00000u;
|
|
L_021B997C: ; // 0x21b997c
|
|
/* 021B997C */ cpu->r[11] = cpu->r[9] & cpu->r[10];
|
|
/* 021B9980 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Fu);
|
|
/* 021B9984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000001Bu);
|
|
/* 021B9988 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9988 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021B9988 */ if (_t10) goto L_021B998C; else goto L_021B99E4;
|
|
L_021B998C: ; // 0x21b998c
|
|
/* 021B998C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000005u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021B9990 */ cpu->r[0] = 0x000F0000u;
|
|
/* 021B9994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 021B9998 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 021B999C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B999C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021B999C */ if (_t12) goto L_021B99A0; else goto L_021B99A4;
|
|
L_021B99A0: ; // 0x21b99a0
|
|
/* 021B99A0 */ cpu->r[0] = 0x000003FFu;
|
|
L_021B99A4: ; // 0x21b99a4
|
|
/* 021B99A4 */ cpu->r[11] = 0x00010000u;
|
|
/* 021B99A8 */ cpu->r[0] = cpu->r[9] & cpu->r[0];
|
|
/* 021B99AC */ cpu->r[11] = cpu->r[11] + 0x00000900u;
|
|
/* 021B99B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 021B99B4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B99B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021B99B4 */ if (_t14) goto L_021B99E4; else goto L_021B99B8;
|
|
L_021B99B8: ; // 0x21b99b8
|
|
/* 021B99B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 021B99BC */ cpu->r[12] = 0x00100000u;
|
|
/* 021B99C0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B99C4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B99C4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021B99C4 */ if (_t16) goto L_021B99C8; else goto L_021B99CC;
|
|
L_021B99C8: ; // 0x21b99c8
|
|
/* 021B99C8 */ cpu->r[12] = 0x000003FFu;
|
|
L_021B99CC: ; // 0x21b99cc
|
|
/* 021B99CC */ cpu->r[0] = 0x00010000u;
|
|
/* 021B99D0 */ cpu->r[12] = cpu->r[9] & cpu->r[12];
|
|
/* 021B99D4 */ cpu->r[0] = cpu->r[0] | 0x00000E00u;
|
|
/* 021B99D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 021B99DC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B99DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021B99DC */ if (_t18) goto L_021B99E0; else goto L_021B99E4;
|
|
L_021B99E0: ; // 0x21b99e0
|
|
/* 021B99E0 */ cpu->r[30] = 0x00000001u;
|
|
L_021B99E4: ; // 0x21b99e4
|
|
/* 021B99E4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 021B99E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B99E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021B99EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 021B99EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021B99F0 */ cpu->lr = cpu->r[0];
|
|
/* 021B99F4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B99F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B99F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021B99FC */ return;
|
|
}
|
|
|
|
// fn_021B9A00 @ 0x21b9a00
|
|
void Gambit_fn_021B9A00(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B9A00: ; // 0x21b9a00
|
|
/* 021B9A00 */ cpu->r[0] = 0x00000001u;
|
|
/* 021B9A04 */ _t0 = cpu->r[3] + 0x00000178u;
|
|
/* 021B9A04 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 021B9A08 */ return;
|
|
}
|
|
|
|
// fn_021B9A0C @ 0x21b9a0c
|
|
void Gambit_fn_021B9A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_021B9A0C: ; // 0x21b9a0c
|
|
/* 021B9A0C */ cpu->r[0] = cpu->lr;
|
|
/* 021B9A10 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 021B9A10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9A10 */ cpu->r[1] = _t0;
|
|
/* 021B9A14 */ _t1 = cpu->r[1] + 0x0000016Cu;
|
|
/* 021B9A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9A18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9A1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A20 */ _t2 = cpu->r[1] + 0x00000174u;
|
|
/* 021B9A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B9A24 */ rbrew_dispatch(cpu, 0x02d0e000u);
|
|
/* 021B9A28 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9A2C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9A30 */ cpu->r[5] = 0x00000054u;
|
|
/* 021B9A34 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 021B9A38 */ cpu->r[12] = 0x00000008u;
|
|
/* 021B9A3C */ cpu->r[10] = cpu->r[31] + 0x0000005Eu;
|
|
/* 021B9A40 */ cpu->ctr = cpu->r[12];
|
|
/* 021B9A44 */ cpu->r[11] = cpu->r[1] + 0x0000010Au;
|
|
L_021B9A48: ; // 0x21b9a48
|
|
/* 021B9A48 */ _t3 = cpu->r[10] + 0x00000002u;
|
|
/* 021B9A48 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 021B9A4C */ _t4 = cpu->r[11] + 0x00000002u;
|
|
/* 021B9A4C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 021B9A50 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9A50 */ cpu->r[7] = rbrew_read16(cpu->mem, _t5);
|
|
/* 021B9A54 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 021B9A54 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[7]);
|
|
/* 021B9A58 */ _t7 = cpu->r[10] + 0x00000006u;
|
|
/* 021B9A58 */ cpu->r[8] = rbrew_read16(cpu->mem, _t7);
|
|
/* 021B9A5C */ _t8 = cpu->r[11] + 0x00000006u;
|
|
/* 021B9A5C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[8]);
|
|
/* 021B9A60 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 021B9A60 */ cpu->r[9] = rbrew_read16(cpu->mem, _t9);
|
|
/* 021B9A60 */ cpu->r[10] = _t9;
|
|
/* 021B9A64 */ _t10 = cpu->r[11] + 0x00000008u;
|
|
/* 021B9A64 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[9]);
|
|
/* 021B9A64 */ cpu->r[11] = _t10;
|
|
/* 021B9A68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B9A68 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B9A68 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 021B9A68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B9A68 */ if (_t13) goto L_021B9A48; else goto L_021B9A6C;
|
|
L_021B9A6C: ; // 0x21b9a6c
|
|
/* 021B9A6C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9A70 */ Gambit_fn_021B988C(cpu);
|
|
/* 021B9A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9A78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9A78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B9A78 */ if (_t15) goto L_021B9AA0; else goto L_021B9A7C;
|
|
L_021B9A7C: ; // 0x21b9a7c
|
|
/* 021B9A7C */ cpu->r[0] = 0x00000000u;
|
|
/* 021B9A80 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B9A84 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 021B9A84 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 021B9A88 */ cpu->r[8] = 0x00000002u;
|
|
/* 021B9A8C */ _t17 = cpu->r[3] + 0xFFFF93ECu;
|
|
/* 021B9A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B9A90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A94 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A94 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 021B9A98 */ Gambit_fn_027C8738(cpu);
|
|
/* 021B9A9C */ goto L_021B9AFC;
|
|
L_021B9AA0: ; // 0x21b9aa0
|
|
/* 021B9AA0 */ _t19 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021B9AA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B9AA4 */ cpu->r[11] = cpu->r[10] ^ 0x00000003u;
|
|
/* 021B9AA8 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 021B9AAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021B9AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9AB0 */ _t20 = cpu->r[1] + 0x00000060u;
|
|
/* 021B9AB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 021B9AB4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9AB4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B9AB4 */ if (_t22) goto L_021B9AE4; else goto L_021B9AB8;
|
|
L_021B9AB8: ; // 0x21b9ab8
|
|
/* 021B9AB8 */ cpu->r[11] = 0x0000000Eu;
|
|
/* 021B9ABC */ cpu->r[9] = cpu->r[31] + 0x0000009Cu;
|
|
/* 021B9AC0 */ cpu->ctr = cpu->r[11];
|
|
/* 021B9AC4 */ cpu->r[10] = cpu->r[1] + 0x00000060u;
|
|
L_021B9AC8: ; // 0x21b9ac8
|
|
/* 021B9AC8 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 021B9AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B9ACC */ _t24 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9ACC */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 021B9AD0 */ _t25 = cpu->r[9] + 0x00000008u;
|
|
/* 021B9AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B9AD4 */ _t26 = cpu->r[10] + 0x00000008u;
|
|
/* 021B9AD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021B9AD8 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021B9AD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B9AD8 */ cpu->r[9] = _t27;
|
|
/* 021B9ADC */ _t28 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021B9ADC */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 021B9ADC */ cpu->r[10] = _t28;
|
|
/* 021B9AE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B9AE0 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B9AE0 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 021B9AE0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B9AE0 */ if (_t31) goto L_021B9AC8; else goto L_021B9AE4;
|
|
L_021B9AE4: ; // 0x21b9ae4
|
|
/* 021B9AE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B9AE8 */ cpu->r[8] = 0x00000000u;
|
|
/* 021B9AEC */ _t32 = cpu->r[3] + 0xFFFF93ECu;
|
|
/* 021B9AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B9AF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9AF4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9AF4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 021B9AF8 */ Gambit_fn_027C8738(cpu);
|
|
L_021B9AFC: ; // 0x21b9afc
|
|
/* 021B9AFC */ _t34 = cpu->r[1] + 0x00000174u;
|
|
/* 021B9AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B9B00 */ _t35 = cpu->r[1] + 0x0000016Cu;
|
|
/* 021B9B00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B9B04 */ cpu->lr = cpu->r[0];
|
|
/* 021B9B08 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 021B9B0C */ return;
|
|
}
|
|
|
|
// fn_021B9A10 @ 0x21b9a10
|
|
void Gambit_fn_021B9A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_021B9A10: ; // 0x21b9a10
|
|
/* 021B9A10 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 021B9A10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9A10 */ cpu->r[1] = _t0;
|
|
/* 021B9A14 */ _t1 = cpu->r[1] + 0x0000016Cu;
|
|
/* 021B9A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021B9A18 */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9A1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A20 */ _t2 = cpu->r[1] + 0x00000174u;
|
|
/* 021B9A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021B9A24 */ rbrew_dispatch(cpu, 0x02d0e000u);
|
|
/* 021B9A28 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 021B9A2C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9A30 */ cpu->r[5] = 0x00000054u;
|
|
/* 021B9A34 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 021B9A38 */ cpu->r[12] = 0x00000008u;
|
|
/* 021B9A3C */ cpu->r[10] = cpu->r[31] + 0x0000005Eu;
|
|
/* 021B9A40 */ cpu->ctr = cpu->r[12];
|
|
/* 021B9A44 */ cpu->r[11] = cpu->r[1] + 0x0000010Au;
|
|
L_021B9A48: ; // 0x21b9a48
|
|
/* 021B9A48 */ _t3 = cpu->r[10] + 0x00000002u;
|
|
/* 021B9A48 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 021B9A4C */ _t4 = cpu->r[11] + 0x00000002u;
|
|
/* 021B9A4C */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 021B9A50 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9A50 */ cpu->r[7] = rbrew_read16(cpu->mem, _t5);
|
|
/* 021B9A54 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 021B9A54 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[7]);
|
|
/* 021B9A58 */ _t7 = cpu->r[10] + 0x00000006u;
|
|
/* 021B9A58 */ cpu->r[8] = rbrew_read16(cpu->mem, _t7);
|
|
/* 021B9A5C */ _t8 = cpu->r[11] + 0x00000006u;
|
|
/* 021B9A5C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[8]);
|
|
/* 021B9A60 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 021B9A60 */ cpu->r[9] = rbrew_read16(cpu->mem, _t9);
|
|
/* 021B9A60 */ cpu->r[10] = _t9;
|
|
/* 021B9A64 */ _t10 = cpu->r[11] + 0x00000008u;
|
|
/* 021B9A64 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[9]);
|
|
/* 021B9A64 */ cpu->r[11] = _t10;
|
|
/* 021B9A68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B9A68 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B9A68 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 021B9A68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B9A68 */ if (_t13) goto L_021B9A48; else goto L_021B9A6C;
|
|
L_021B9A6C: ; // 0x21b9a6c
|
|
/* 021B9A6C */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9A70 */ Gambit_fn_021B988C(cpu);
|
|
/* 021B9A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9A78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9A78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B9A78 */ if (_t15) goto L_021B9AA0; else goto L_021B9A7C;
|
|
L_021B9A7C: ; // 0x21b9a7c
|
|
/* 021B9A7C */ cpu->r[0] = 0x00000000u;
|
|
/* 021B9A80 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B9A84 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 021B9A84 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 021B9A88 */ cpu->r[8] = 0x00000002u;
|
|
/* 021B9A8C */ _t17 = cpu->r[3] + 0xFFFF93ECu;
|
|
/* 021B9A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021B9A90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A94 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9A94 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 021B9A98 */ Gambit_fn_027C8738(cpu);
|
|
/* 021B9A9C */ goto L_021B9AFC;
|
|
L_021B9AA0: ; // 0x21b9aa0
|
|
/* 021B9AA0 */ _t19 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021B9AA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B9AA4 */ cpu->r[11] = cpu->r[10] ^ 0x00000003u;
|
|
/* 021B9AA8 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 021B9AAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021B9AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9AB0 */ _t20 = cpu->r[1] + 0x00000060u;
|
|
/* 021B9AB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 021B9AB4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9AB4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021B9AB4 */ if (_t22) goto L_021B9AE4; else goto L_021B9AB8;
|
|
L_021B9AB8: ; // 0x21b9ab8
|
|
/* 021B9AB8 */ cpu->r[11] = 0x0000000Eu;
|
|
/* 021B9ABC */ cpu->r[9] = cpu->r[31] + 0x0000009Cu;
|
|
/* 021B9AC0 */ cpu->ctr = cpu->r[11];
|
|
/* 021B9AC4 */ cpu->r[10] = cpu->r[1] + 0x00000060u;
|
|
L_021B9AC8: ; // 0x21b9ac8
|
|
/* 021B9AC8 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 021B9AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021B9ACC */ _t24 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9ACC */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 021B9AD0 */ _t25 = cpu->r[9] + 0x00000008u;
|
|
/* 021B9AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B9AD4 */ _t26 = cpu->r[10] + 0x00000008u;
|
|
/* 021B9AD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021B9AD8 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021B9AD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021B9AD8 */ cpu->r[9] = _t27;
|
|
/* 021B9ADC */ _t28 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021B9ADC */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 021B9ADC */ cpu->r[10] = _t28;
|
|
/* 021B9AE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021B9AE0 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021B9AE0 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 021B9AE0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021B9AE0 */ if (_t31) goto L_021B9AC8; else goto L_021B9AE4;
|
|
L_021B9AE4: ; // 0x21b9ae4
|
|
/* 021B9AE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021B9AE8 */ cpu->r[8] = 0x00000000u;
|
|
/* 021B9AEC */ _t32 = cpu->r[3] + 0xFFFF93ECu;
|
|
/* 021B9AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021B9AF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9AF4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9AF4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 021B9AF8 */ Gambit_fn_027C8738(cpu);
|
|
L_021B9AFC: ; // 0x21b9afc
|
|
/* 021B9AFC */ _t34 = cpu->r[1] + 0x00000174u;
|
|
/* 021B9AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021B9B00 */ _t35 = cpu->r[1] + 0x0000016Cu;
|
|
/* 021B9B00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021B9B04 */ cpu->lr = cpu->r[0];
|
|
/* 021B9B08 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 021B9B0C */ return;
|
|
}
|
|
|
|
// fn_021B9B10 @ 0x21b9b10
|
|
void Gambit_fn_021B9B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
|
|
L_021B9B10: ; // 0x21b9b10
|
|
/* 021B9B10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B9B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9B10 */ cpu->r[1] = _t0;
|
|
/* 021B9B14 */ _t1 = cpu->r[3] + 0x00000066u;
|
|
/* 021B9B14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 021B9B18 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 021B9B1C */ _t2 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B1C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 021B9B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000008u);
|
|
/* 021B9B24 */ _t3 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B9B28 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9B28 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021B9B28 */ if (_t5) goto L_021B9B2C; else goto L_021B9B98;
|
|
L_021B9B2C: ; // 0x21b9b2c
|
|
/* 021B9B2C */ _t6 = cpu->r[3] + 0x00000067u;
|
|
/* 021B9B2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021B9B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9B34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9B34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 021B9B34 */ if (_t8) goto L_021B9B38; else goto L_021B9B98;
|
|
L_021B9B38: ; // 0x21b9b38
|
|
/* 021B9B38 */ _t9 = cpu->r[3] + 0x00000068u;
|
|
/* 021B9B38 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021B9B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 021B9B40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9B40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021B9B40 */ if (_t11) goto L_021B9B44; else goto L_021B9B5C;
|
|
L_021B9B44: ; // 0x21b9b44
|
|
/* 021B9B44 */ cpu->r[11] = 0x00000000u;
|
|
/* 021B9B48 */ _t12 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B48 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 021B9B4C */ _t13 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021B9B50 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9B50 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 021B9B54 */ _t15 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021B9B58 */ goto L_021B9B98;
|
|
L_021B9B5C: ; // 0x21b9b5c
|
|
/* 021B9B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 021B9B60 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9B60 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B9B60 */ if (_t17) goto L_021B9B64; else goto L_021B9B7C;
|
|
L_021B9B64: ; // 0x21b9b64
|
|
/* 021B9B64 */ cpu->r[12] = 0x00000001u;
|
|
/* 021B9B68 */ _t18 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B68 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 021B9B6C */ _t19 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021B9B70 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9B70 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 021B9B74 */ _t21 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021B9B78 */ goto L_021B9B98;
|
|
L_021B9B7C: ; // 0x21b9b7c
|
|
/* 021B9B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 021B9B80 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9B80 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B9B80 */ if (_t23) goto L_021B9B84; else goto L_021B9B98;
|
|
L_021B9B84: ; // 0x21b9b84
|
|
/* 021B9B84 */ cpu->r[0] = 0x00000002u;
|
|
/* 021B9B88 */ _t24 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B88 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021B9B8C */ _t25 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021B9B90 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021B9B90 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 021B9B94 */ _t27 = cpu->r[3] + 0x00000150u;
|
|
/* 021B9B94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
L_021B9B98: ; // 0x21b9b98
|
|
/* 021B9B98 */ _t28 = cpu->r[10] | cpu->r[10];
|
|
/* 021B9B98 */ cpu->r[12] = ~_t28;
|
|
/* 021B9B9C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B9BA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B9BA4 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 021B9BA8 */ return;
|
|
}
|
|
|
|
// fn_021B9BAC @ 0x21b9bac
|
|
void Gambit_fn_021B9BAC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B9BAC: ; // 0x21b9bac
|
|
/* 021B9BAC */ _t0 = cpu->r[3] + 0x00000100u;
|
|
/* 021B9BAC */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 021B9BB0 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021B9BB4 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 021B9BB8 */ return;
|
|
}
|
|
|
|
// fn_021B9BBC @ 0x21b9bbc
|
|
void Gambit_fn_021B9BBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B9BBC: ; // 0x21b9bbc
|
|
/* 021B9BBC */ cpu->r[0] = cpu->lr;
|
|
/* 021B9BC0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B9BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9BC0 */ cpu->r[1] = _t0;
|
|
/* 021B9BC4 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B9BC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9BCC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9BCC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B9BD0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9BD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B9BD4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B9BD8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9BD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B9BDC */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9BDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B9BE0 */ _t6 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9BE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 021B9BE4 */ _t7 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B9BE8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B9BEC */ _t8 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9BEC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021B9BF0 */ _t9 = cpu->r[28] + 0x00000150u;
|
|
/* 021B9BF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9BF4 */ _t10 = cpu->r[28] + 0x00000150u;
|
|
/* 021B9BF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B9BF8 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9BFC */ _t11 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9BFC */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B9C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B9C04 */ if (_t13) goto L_021B9C08; else goto L_021B9E70;
|
|
L_021B9C08: ; // 0x21b9c08
|
|
/* 021B9C08 */ rbrew_dispatch(cpu, 0x02d0dff0u);
|
|
/* 021B9C0C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9C10 */ cpu->r[11] = cpu->r[31];
|
|
/* 021B9C14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 021B9C18 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C18 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B9C18 */ if (_t15) goto L_021B9C54; else goto L_021B9C1C;
|
|
L_021B9C1C: ; // 0x21b9c1c
|
|
/* 021B9C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 021B9C20 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9C20 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B9C20 */ if (_t17) goto L_021B9E54; else goto L_021B9C24;
|
|
L_021B9C24: ; // 0x21b9c24
|
|
/* 021B9C24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C24 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B9C24 */ if (_t19) goto L_021B9C68; else goto L_021B9C28;
|
|
L_021B9C28: ; // 0x21b9c28
|
|
/* 021B9C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u);
|
|
/* 021B9C2C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9C2C */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B9C2C */ if (_t21) goto L_021B9C54; else goto L_021B9C30;
|
|
L_021B9C30: ; // 0x21b9c30
|
|
/* 021B9C30 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C30 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B9C30 */ if (_t23) goto L_021B9C94; else goto L_021B9C34;
|
|
L_021B9C34: ; // 0x21b9c34
|
|
/* 021B9C34 */ _t24 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9C34 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 021B9C38 */ cpu->r[4] = 0x00000064u;
|
|
/* 021B9C3C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9C40 */ Gambit_fn_027FCA14(cpu);
|
|
/* 021B9C44 */ _t25 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9C44 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 021B9C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B9C4C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B9C4C */ if (_t27) goto L_021B9C08; else goto L_021B9C50;
|
|
L_021B9C50: ; // 0x21b9c50
|
|
/* 021B9C50 */ goto L_021B9E70;
|
|
L_021B9C54: ; // 0x21b9c54
|
|
/* 021B9C54 */ rbrew_dispatch(cpu, 0x02d0e080u);
|
|
/* 021B9C58 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C5C */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C5C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 021B9C60 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C60 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B9C60 */ if (_t30) goto L_021B9E54; else goto L_021B9C64;
|
|
L_021B9C64: ; // 0x21b9c64
|
|
/* 021B9C64 */ goto L_021B9D0C;
|
|
L_021B9C68: ; // 0x21b9c68
|
|
/* 021B9C68 */ cpu->r[3] = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B9C6C */ rbrew_dispatch(cpu, 0x02d0dff8u);
|
|
/* 021B9C70 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9C70 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 021B9C74 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021B9C78 */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C78 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 021B9C7C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C7C */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B9C7C */ if (_t34) goto L_021B9C80; else goto L_021B9D0C;
|
|
L_021B9C80: ; // 0x21b9c80
|
|
/* 021B9C80 */ rbrew_dispatch(cpu, 0x02d0e030u);
|
|
/* 021B9C84 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C88 */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C88 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 021B9C8C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C8C */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B9C8C */ if (_t37) goto L_021B9E54; else goto L_021B9C90;
|
|
L_021B9C90: ; // 0x21b9c90
|
|
/* 021B9C90 */ goto L_021B9D0C;
|
|
L_021B9C94: ; // 0x21b9c94
|
|
/* 021B9C94 */ cpu->r[3] = cpu->r[28] + 0x00000060u;
|
|
/* 021B9C98 */ rbrew_dispatch(cpu, 0x02d0dfc8u);
|
|
/* 021B9C9C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9C9C */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 021B9CA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9CA4 */ _t39 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9CA4 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 021B9CA8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9CA8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B9CA8 */ if (_t41) goto L_021B9CAC; else goto L_021B9D0C;
|
|
L_021B9CAC: ; // 0x21b9cac
|
|
/* 021B9CAC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B9CB0 */ Gambit_fn_021B9B10(cpu);
|
|
/* 021B9CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9CB8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9CB8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B9CB8 */ if (_t43) goto L_021B9CBC; else goto L_021B9CF4;
|
|
L_021B9CBC: ; // 0x21b9cbc
|
|
/* 021B9CBC */ cpu->r[0] = 0x00000002u;
|
|
/* 021B9CC0 */ _t44 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9CC0 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 021B9CC4 */ _t45 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9CC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B9CC8 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9CC8 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
|
|
/* 021B9CCC */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9CD0 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9CD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B9CD4 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9CD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B9CD8 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B9CDC */ _t50 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9CDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B9CE0 */ cpu->lr = cpu->r[0];
|
|
/* 021B9CE4 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9CE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B9CE8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9CEC */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9CF0 */ return;
|
|
L_021B9CF4: ; // 0x21b9cf4
|
|
/* 021B9CF4 */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 021B9CF8 */ rbrew_dispatch(cpu, 0x02d0dfe0u);
|
|
/* 021B9CFC */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 021B9CFC */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
/* 021B9D00 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9D04 */ _t53 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9D04 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 021B9D08 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9D08 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B9D08 */ if (_t55) goto L_021B9D34; else goto L_021B9D0C;
|
|
L_021B9D0C: ; // 0x21b9d0c
|
|
/* 021B9D0C */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9D10 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9D10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021B9D14 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9D14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021B9D18 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021B9D1C */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B9D20 */ cpu->lr = cpu->r[0];
|
|
/* 021B9D24 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B9D28 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 021B9D30 */ return;
|
|
L_021B9D34: ; // 0x21b9d34
|
|
/* 021B9D34 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B9D38 */ Gambit_fn_021B9BAC(cpu);
|
|
/* 021B9D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9D40 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9D40 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B9D40 */ if (_t62) goto L_021B9D44; else goto L_021B9D7C;
|
|
L_021B9D44: ; // 0x21b9d44
|
|
/* 021B9D44 */ cpu->r[0] = 0x00000003u;
|
|
/* 021B9D48 */ _t63 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9D48 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 021B9D4C */ _t64 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B9D50 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 021B9D50 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 021B9D54 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9D58 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9D58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B9D5C */ _t67 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9D5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021B9D60 */ _t68 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021B9D64 */ _t69 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9D64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021B9D68 */ cpu->lr = cpu->r[0];
|
|
/* 021B9D6C */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9D6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B9D70 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9D74 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9D78 */ return;
|
|
L_021B9D7C: ; // 0x21b9d7c
|
|
/* 021B9D7C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9D80 */ _t71 = cpu->r[28] + 0x00000154u;
|
|
/* 021B9D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B9D84 */ cpu->r[0] = cpu->r[28] + 0x00000100u;
|
|
/* 021B9D88 */ cpu->r[12] = cpu->r[12] + 0xFFFFA798u;
|
|
/* 021B9D8C */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9D8C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 021B9D90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9D94 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 021B9D94 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 021B9D98 */ Gambit_fn_021B9EA8(cpu);
|
|
/* 021B9D9C */ cpu->r[31] = 0x10110000u;
|
|
/* 021B9DA0 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9DA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B9DA4 */ _t75 = cpu->r[31] + 0x0000739Au;
|
|
/* 021B9DA4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t75);
|
|
/* 021B9DA8 */ _t76 = cpu->r[6] + 0x00000000u;
|
|
/* 021B9DA8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t76);
|
|
/* 021B9DAC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B9DB4 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B9DB8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9DB8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 021B9DB8 */ if (_t78) goto L_021B9DE0; else goto L_021B9DBC;
|
|
L_021B9DBC: ; // 0x21b9dbc
|
|
/* 021B9DBC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B9DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B9DC4 */ cpu->r[6] = cpu->r[6] + 0x00000002u;
|
|
/* 021B9DC8 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B9DC8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B9DC8 */ if (_t80) goto L_021B9DDC; else goto L_021B9DCC;
|
|
L_021B9DCC: ; // 0x21b9dcc
|
|
/* 021B9DCC */ _t81 = cpu->r[6] + 0x00000000u;
|
|
/* 021B9DCC */ cpu->r[10] = rbrew_read16(cpu->mem, _t81);
|
|
/* 021B9DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B9DD4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9DD4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 021B9DD4 */ if (_t83) goto L_021B9DD8; else goto L_021B9DBC;
|
|
L_021B9DD8: ; // 0x21b9dd8
|
|
/* 021B9DD8 */ goto L_021B9DE0;
|
|
L_021B9DDC: ; // 0x21b9ddc
|
|
/* 021B9DDC */ cpu->r[30] = 0x00000000u;
|
|
L_021B9DE0: ; // 0x21b9de0
|
|
/* 021B9DE0 */ _t84 = cpu->r[28] + 0x0000015Cu;
|
|
/* 021B9DE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B9DE4 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 021B9DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B9DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B9DEC */ _t86 = cpu->r[12] + 0x00000014u;
|
|
/* 021B9DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B9DF0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9DF0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B9DF0 */ if (_t88) goto L_021B9DF8; else goto L_021B9DF4;
|
|
L_021B9DF4: ; // 0x21b9df4
|
|
/* 021B9DF4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B9DF8: ; // 0x21b9df8
|
|
/* 021B9DF8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B9DFC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9E00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B9E04 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9E04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 021B9E08 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B9E0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 021B9E10 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B9E14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B9E18 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 021B9E1C */ cpu->r[7] = 0x00000004u;
|
|
/* 021B9E20 */ _t90 = cpu->r[6] + cpu->r[29];
|
|
/* 021B9E20 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[31]);
|
|
/* 021B9E24 */ _t91 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E24 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]);
|
|
/* 021B9E28 */ _t92 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021B9E2C */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9E30 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9E30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021B9E34 */ _t94 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9E34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B9E38 */ _t95 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B9E3C */ _t96 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9E3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B9E40 */ cpu->lr = cpu->r[0];
|
|
/* 021B9E44 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B9E48 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9E4C */ cpu->r[3] = 0x00000001u;
|
|
/* 021B9E50 */ return;
|
|
L_021B9E54: ; // 0x21b9e54
|
|
/* 021B9E54 */ _t98 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9E54 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 021B9E58 */ cpu->r[4] = 0x00000064u;
|
|
/* 021B9E5C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9E60 */ Gambit_fn_027FCA14(cpu);
|
|
/* 021B9E64 */ _t99 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9E64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t99);
|
|
/* 021B9E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B9E6C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9E6C */ _t101 = _t100 & 0x00000001u;
|
|
/* 021B9E6C */ if (_t101) goto L_021B9C08; else goto L_021B9E70;
|
|
L_021B9E70: ; // 0x21b9e70
|
|
/* 021B9E70 */ cpu->r[31] = 0x00000001u;
|
|
/* 021B9E74 */ _t102 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E74 */ rbrew_write32(cpu->mem, _t102, cpu->r[31]);
|
|
/* 021B9E78 */ _t103 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B9E7C */ _t104 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9E7C */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[30]);
|
|
/* 021B9E80 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9E84 */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9E84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B9E88 */ _t106 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B9E8C */ _t107 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B9E90 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9E94 */ _t108 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9E94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021B9E98 */ cpu->lr = cpu->r[0];
|
|
/* 021B9E9C */ _t109 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9E9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B9EA0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9EA4 */ return;
|
|
}
|
|
|
|
// fn_021B9BC0 @ 0x21b9bc0
|
|
void Gambit_fn_021B9BC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021B9BC0: ; // 0x21b9bc0
|
|
/* 021B9BC0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021B9BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9BC0 */ cpu->r[1] = _t0;
|
|
/* 021B9BC4 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021B9BC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9BCC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9BCC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 021B9BD0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9BD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 021B9BD4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021B9BD8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9BD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021B9BDC */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9BDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B9BE0 */ _t6 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9BE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 021B9BE4 */ _t7 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021B9BE8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 021B9BEC */ _t8 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9BEC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021B9BF0 */ _t9 = cpu->r[28] + 0x00000150u;
|
|
/* 021B9BF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9BF4 */ _t10 = cpu->r[28] + 0x00000150u;
|
|
/* 021B9BF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021B9BF8 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9BFC */ _t11 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9BFC */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 021B9C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021B9C04 */ if (_t13) goto L_021B9C08; else goto L_021B9E70;
|
|
L_021B9C08: ; // 0x21b9c08
|
|
/* 021B9C08 */ rbrew_dispatch(cpu, 0x02d0dff0u);
|
|
/* 021B9C0C */ cpu->r[31] = cpu->r[3];
|
|
/* 021B9C10 */ cpu->r[11] = cpu->r[31];
|
|
/* 021B9C14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 021B9C18 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C18 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021B9C18 */ if (_t15) goto L_021B9C54; else goto L_021B9C1C;
|
|
L_021B9C1C: ; // 0x21b9c1c
|
|
/* 021B9C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 021B9C20 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9C20 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021B9C20 */ if (_t17) goto L_021B9E54; else goto L_021B9C24;
|
|
L_021B9C24: ; // 0x21b9c24
|
|
/* 021B9C24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C24 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021B9C24 */ if (_t19) goto L_021B9C68; else goto L_021B9C28;
|
|
L_021B9C28: ; // 0x21b9c28
|
|
/* 021B9C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u);
|
|
/* 021B9C2C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9C2C */ _t21 = _t20 & 0x00000001u;
|
|
/* 021B9C2C */ if (_t21) goto L_021B9C54; else goto L_021B9C30;
|
|
L_021B9C30: ; // 0x21b9c30
|
|
/* 021B9C30 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C30 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021B9C30 */ if (_t23) goto L_021B9C94; else goto L_021B9C34;
|
|
L_021B9C34: ; // 0x21b9c34
|
|
/* 021B9C34 */ _t24 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9C34 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 021B9C38 */ cpu->r[4] = 0x00000064u;
|
|
/* 021B9C3C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9C40 */ Gambit_fn_027FCA14(cpu);
|
|
/* 021B9C44 */ _t25 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9C44 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 021B9C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B9C4C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 021B9C4C */ if (_t27) goto L_021B9C08; else goto L_021B9C50;
|
|
L_021B9C50: ; // 0x21b9c50
|
|
/* 021B9C50 */ goto L_021B9E70;
|
|
L_021B9C54: ; // 0x21b9c54
|
|
/* 021B9C54 */ rbrew_dispatch(cpu, 0x02d0e080u);
|
|
/* 021B9C58 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C5C */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C5C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 021B9C60 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C60 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021B9C60 */ if (_t30) goto L_021B9E54; else goto L_021B9C64;
|
|
L_021B9C64: ; // 0x21b9c64
|
|
/* 021B9C64 */ goto L_021B9D0C;
|
|
L_021B9C68: ; // 0x21b9c68
|
|
/* 021B9C68 */ cpu->r[3] = cpu->r[28] + 0x0000000Cu;
|
|
/* 021B9C6C */ rbrew_dispatch(cpu, 0x02d0dff8u);
|
|
/* 021B9C70 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9C70 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 021B9C74 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021B9C78 */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C78 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 021B9C7C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C7C */ _t34 = _t33 & 0x00000001u;
|
|
/* 021B9C7C */ if (_t34) goto L_021B9C80; else goto L_021B9D0C;
|
|
L_021B9C80: ; // 0x21b9c80
|
|
/* 021B9C80 */ rbrew_dispatch(cpu, 0x02d0e030u);
|
|
/* 021B9C84 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9C88 */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9C88 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 021B9C8C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9C8C */ _t37 = _t36 & 0x00000001u;
|
|
/* 021B9C8C */ if (_t37) goto L_021B9E54; else goto L_021B9C90;
|
|
L_021B9C90: ; // 0x21b9c90
|
|
/* 021B9C90 */ goto L_021B9D0C;
|
|
L_021B9C94: ; // 0x21b9c94
|
|
/* 021B9C94 */ cpu->r[3] = cpu->r[28] + 0x00000060u;
|
|
/* 021B9C98 */ rbrew_dispatch(cpu, 0x02d0dfc8u);
|
|
/* 021B9C9C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021B9C9C */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 021B9CA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9CA4 */ _t39 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9CA4 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 021B9CA8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9CA8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021B9CA8 */ if (_t41) goto L_021B9CAC; else goto L_021B9D0C;
|
|
L_021B9CAC: ; // 0x21b9cac
|
|
/* 021B9CAC */ cpu->r[3] = cpu->r[28];
|
|
/* 021B9CB0 */ Gambit_fn_021B9B10(cpu);
|
|
/* 021B9CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9CB8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9CB8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 021B9CB8 */ if (_t43) goto L_021B9CBC; else goto L_021B9CF4;
|
|
L_021B9CBC: ; // 0x21b9cbc
|
|
/* 021B9CBC */ cpu->r[0] = 0x00000002u;
|
|
/* 021B9CC0 */ _t44 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9CC0 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 021B9CC4 */ _t45 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9CC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021B9CC8 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 021B9CC8 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
|
|
/* 021B9CCC */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9CD0 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9CD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021B9CD4 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9CD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021B9CD8 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021B9CDC */ _t50 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9CDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021B9CE0 */ cpu->lr = cpu->r[0];
|
|
/* 021B9CE4 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9CE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021B9CE8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9CEC */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9CF0 */ return;
|
|
L_021B9CF4: ; // 0x21b9cf4
|
|
/* 021B9CF4 */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 021B9CF8 */ rbrew_dispatch(cpu, 0x02d0dfe0u);
|
|
/* 021B9CFC */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 021B9CFC */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
/* 021B9D00 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 021B9D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021B9D04 */ _t53 = cpu->r[28] + 0x00000004u;
|
|
/* 021B9D04 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 021B9D08 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9D08 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021B9D08 */ if (_t55) goto L_021B9D34; else goto L_021B9D0C;
|
|
L_021B9D0C: ; // 0x21b9d0c
|
|
/* 021B9D0C */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9D10 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9D10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021B9D14 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9D14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021B9D18 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021B9D1C */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021B9D20 */ cpu->lr = cpu->r[0];
|
|
/* 021B9D24 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021B9D28 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9D2C */ cpu->r[3] = 0x00000001u;
|
|
/* 021B9D30 */ return;
|
|
L_021B9D34: ; // 0x21b9d34
|
|
/* 021B9D34 */ cpu->r[3] = cpu->r[28];
|
|
/* 021B9D38 */ Gambit_fn_021B9BAC(cpu);
|
|
/* 021B9D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9D40 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9D40 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021B9D40 */ if (_t62) goto L_021B9D44; else goto L_021B9D7C;
|
|
L_021B9D44: ; // 0x21b9d44
|
|
/* 021B9D44 */ cpu->r[0] = 0x00000003u;
|
|
/* 021B9D48 */ _t63 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9D48 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 021B9D4C */ _t64 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021B9D50 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 021B9D50 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 021B9D54 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9D58 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9D58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021B9D5C */ _t67 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9D5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021B9D60 */ _t68 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021B9D64 */ _t69 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9D64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021B9D68 */ cpu->lr = cpu->r[0];
|
|
/* 021B9D6C */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9D6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 021B9D70 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9D74 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9D78 */ return;
|
|
L_021B9D7C: ; // 0x21b9d7c
|
|
/* 021B9D7C */ cpu->r[12] = 0x10030000u;
|
|
/* 021B9D80 */ _t71 = cpu->r[28] + 0x00000154u;
|
|
/* 021B9D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021B9D84 */ cpu->r[0] = cpu->r[28] + 0x00000100u;
|
|
/* 021B9D88 */ cpu->r[12] = cpu->r[12] + 0xFFFFA798u;
|
|
/* 021B9D8C */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9D8C */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 021B9D90 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9D94 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 021B9D94 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 021B9D98 */ Gambit_fn_021B9EA8(cpu);
|
|
/* 021B9D9C */ cpu->r[31] = 0x10110000u;
|
|
/* 021B9DA0 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9DA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 021B9DA4 */ _t75 = cpu->r[31] + 0x0000739Au;
|
|
/* 021B9DA4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t75);
|
|
/* 021B9DA8 */ _t76 = cpu->r[6] + 0x00000000u;
|
|
/* 021B9DA8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t76);
|
|
/* 021B9DAC */ cpu->r[30] = 0x00000000u;
|
|
/* 021B9DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 021B9DB4 */ cpu->r[7] = 0x00080000u;
|
|
/* 021B9DB8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9DB8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 021B9DB8 */ if (_t78) goto L_021B9DE0; else goto L_021B9DBC;
|
|
L_021B9DBC: ; // 0x21b9dbc
|
|
/* 021B9DBC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021B9DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 021B9DC4 */ cpu->r[6] = cpu->r[6] + 0x00000002u;
|
|
/* 021B9DC8 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021B9DC8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021B9DC8 */ if (_t80) goto L_021B9DDC; else goto L_021B9DCC;
|
|
L_021B9DCC: ; // 0x21b9dcc
|
|
/* 021B9DCC */ _t81 = cpu->r[6] + 0x00000000u;
|
|
/* 021B9DCC */ cpu->r[10] = rbrew_read16(cpu->mem, _t81);
|
|
/* 021B9DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 021B9DD4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9DD4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 021B9DD4 */ if (_t83) goto L_021B9DD8; else goto L_021B9DBC;
|
|
L_021B9DD8: ; // 0x21b9dd8
|
|
/* 021B9DD8 */ goto L_021B9DE0;
|
|
L_021B9DDC: ; // 0x21b9ddc
|
|
/* 021B9DDC */ cpu->r[30] = 0x00000000u;
|
|
L_021B9DE0: ; // 0x21b9de0
|
|
/* 021B9DE0 */ _t84 = cpu->r[28] + 0x0000015Cu;
|
|
/* 021B9DE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 021B9DE4 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 021B9DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021B9DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021B9DEC */ _t86 = cpu->r[12] + 0x00000014u;
|
|
/* 021B9DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021B9DF0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021B9DF0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021B9DF0 */ if (_t88) goto L_021B9DF8; else goto L_021B9DF4;
|
|
L_021B9DF4: ; // 0x21b9df4
|
|
/* 021B9DF4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021B9DF8: ; // 0x21b9df8
|
|
/* 021B9DF8 */ cpu->ctr = cpu->r[0];
|
|
/* 021B9DFC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9E00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021B9E04 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9E04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 021B9E08 */ cpu->r[6] = 0x00000000u;
|
|
/* 021B9E0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 021B9E10 */ cpu->r[3] = cpu->r[29];
|
|
/* 021B9E14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021B9E18 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 021B9E1C */ cpu->r[7] = 0x00000004u;
|
|
/* 021B9E20 */ _t90 = cpu->r[6] + cpu->r[29];
|
|
/* 021B9E20 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[31]);
|
|
/* 021B9E24 */ _t91 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E24 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]);
|
|
/* 021B9E28 */ _t92 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021B9E2C */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9E30 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9E30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021B9E34 */ _t94 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9E34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t94);
|
|
/* 021B9E38 */ _t95 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021B9E3C */ _t96 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9E3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021B9E40 */ cpu->lr = cpu->r[0];
|
|
/* 021B9E44 */ _t97 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021B9E48 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9E4C */ cpu->r[3] = 0x00000001u;
|
|
/* 021B9E50 */ return;
|
|
L_021B9E54: ; // 0x21b9e54
|
|
/* 021B9E54 */ _t98 = cpu->r[28] + 0x00000008u;
|
|
/* 021B9E54 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 021B9E58 */ cpu->r[4] = 0x00000064u;
|
|
/* 021B9E5C */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9E60 */ Gambit_fn_027FCA14(cpu);
|
|
/* 021B9E64 */ _t99 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9E64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t99);
|
|
/* 021B9E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021B9E6C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9E6C */ _t101 = _t100 & 0x00000001u;
|
|
/* 021B9E6C */ if (_t101) goto L_021B9C08; else goto L_021B9E70;
|
|
L_021B9E70: ; // 0x21b9e70
|
|
/* 021B9E70 */ cpu->r[31] = 0x00000001u;
|
|
/* 021B9E74 */ _t102 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E74 */ rbrew_write32(cpu->mem, _t102, cpu->r[31]);
|
|
/* 021B9E78 */ _t103 = cpu->r[28] + 0x0000014Cu;
|
|
/* 021B9E78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021B9E7C */ _t104 = cpu->r[28] + 0x00000178u;
|
|
/* 021B9E7C */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[30]);
|
|
/* 021B9E80 */ rbrew_dispatch(cpu, 0x02d0e088u);
|
|
/* 021B9E84 */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 021B9E84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t105);
|
|
/* 021B9E88 */ _t106 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9E88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t106);
|
|
/* 021B9E8C */ _t107 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021B9E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021B9E90 */ cpu->r[3] = cpu->r[31];
|
|
/* 021B9E94 */ _t108 = cpu->r[1] + 0x00000030u;
|
|
/* 021B9E94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t108);
|
|
/* 021B9E98 */ cpu->lr = cpu->r[0];
|
|
/* 021B9E9C */ _t109 = cpu->r[1] + 0x00000034u;
|
|
/* 021B9E9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021B9EA0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021B9EA4 */ return;
|
|
}
|
|
|
|
// fn_021B9EA8 @ 0x21b9ea8
|
|
void Gambit_fn_021B9EA8(CPUState* cpu) {
|
|
L_021B9EA8: ; // 0x21b9ea8
|
|
/* 021B9EA8 */ return;
|
|
}
|
|
|
|
// fn_021B9EAC @ 0x21b9eac
|
|
void Gambit_fn_021B9EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021B9EAC: ; // 0x21b9eac
|
|
/* 021B9EAC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 021B9EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B9EB0 */ cpu->r[9] = 0x10110000u;
|
|
/* 021B9EB4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 021B9EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021B9EB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 021B9EBC */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 021B9EBC */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 021B9EC0 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 021B9EC4 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 021B9EC4 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 021B9EC8 */ return;
|
|
}
|
|
|
|
// fn_021B9ECC @ 0x21b9ecc
|
|
void Gambit_fn_021B9ECC(CPUState* cpu) {
|
|
L_021B9ECC: ; // 0x21b9ecc
|
|
/* 021B9ECC */ return;
|
|
}
|
|
|
|
// fn_021B9ED0 @ 0x21b9ed0
|
|
void Gambit_fn_021B9ED0(CPUState* cpu) {
|
|
L_021B9ED0: ; // 0x21b9ed0
|
|
/* 021B9ED0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9ED4 */ return;
|
|
}
|
|
|
|
// fn_021B9ED8 @ 0x21b9ed8
|
|
void Gambit_fn_021B9ED8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021B9ED8: ; // 0x21b9ed8
|
|
/* 021B9ED8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021B9ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021B9EDC */ return;
|
|
}
|
|
|
|
// fn_021B9EE0 @ 0x21b9ee0
|
|
void Gambit_fn_021B9EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B9EE0: ; // 0x21b9ee0
|
|
/* 021B9EE0 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021B9EE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B9EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9EE4 */ cpu->r[1] = _t0;
|
|
/* 021B9EE8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B9EEC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B9EF0 */ _t1 = cpu->r[10] + 0x00001000u;
|
|
/* 021B9EF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B9EF0 */ cpu->r[10] = _t1;
|
|
/* 021B9EF4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B9EF8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B9EFC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B9F00 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9F04 */ _t3 = cpu->r[7] + 0x00001010u;
|
|
/* 021B9F04 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B9F04 */ cpu->r[7] = _t3;
|
|
/* 021B9F08 */ _t4 = cpu->r[8] + 0x00001008u;
|
|
/* 021B9F08 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B9F08 */ cpu->r[8] = _t4;
|
|
/* 021B9F0C */ cpu->r[0] = 0x00000002u;
|
|
/* 021B9F10 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B9F10 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B9F14 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9F18 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9F18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B9F1C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B9F20 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B9F20 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B9F24 */ _t8 = cpu->r[8] + 0x00001020u;
|
|
/* 021B9F24 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B9F24 */ cpu->r[8] = _t8;
|
|
/* 021B9F28 */ _t9 = cpu->r[12] + 0x00001018u;
|
|
/* 021B9F28 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9F28 */ cpu->r[12] = _t9;
|
|
/* 021B9F2C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B9F2C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B9F30 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B9F34 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B9F34 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B9F38 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B9F3C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9F3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B9F40 */ _t13 = cpu->r[11] + 0x00001028u;
|
|
/* 021B9F40 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B9F44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B9F48 */ return;
|
|
}
|
|
|
|
// fn_021B9EE4 @ 0x21b9ee4
|
|
void Gambit_fn_021B9EE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021B9EE4: ; // 0x21b9ee4
|
|
/* 021B9EE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021B9EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9EE4 */ cpu->r[1] = _t0;
|
|
/* 021B9EE8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021B9EEC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021B9EF0 */ _t1 = cpu->r[10] + 0x00001000u;
|
|
/* 021B9EF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021B9EF0 */ cpu->r[10] = _t1;
|
|
/* 021B9EF4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021B9EF8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021B9EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021B9EFC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021B9F00 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9F04 */ _t3 = cpu->r[7] + 0x00001010u;
|
|
/* 021B9F04 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021B9F04 */ cpu->r[7] = _t3;
|
|
/* 021B9F08 */ _t4 = cpu->r[8] + 0x00001008u;
|
|
/* 021B9F08 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021B9F08 */ cpu->r[8] = _t4;
|
|
/* 021B9F0C */ cpu->r[0] = 0x00000002u;
|
|
/* 021B9F10 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021B9F10 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021B9F14 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021B9F18 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9F18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021B9F1C */ cpu->r[12] = 0x101E0000u;
|
|
/* 021B9F20 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021B9F20 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021B9F24 */ _t8 = cpu->r[8] + 0x00001020u;
|
|
/* 021B9F24 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021B9F24 */ cpu->r[8] = _t8;
|
|
/* 021B9F28 */ _t9 = cpu->r[12] + 0x00001018u;
|
|
/* 021B9F28 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021B9F28 */ cpu->r[12] = _t9;
|
|
/* 021B9F2C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021B9F2C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021B9F30 */ cpu->r[0] = 0x00000004u;
|
|
/* 021B9F34 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021B9F34 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021B9F38 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021B9F3C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9F3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021B9F40 */ _t13 = cpu->r[11] + 0x00001028u;
|
|
/* 021B9F40 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021B9F44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021B9F48 */ return;
|
|
}
|
|
|
|
// fn_021B9F4C @ 0x21b9f4c
|
|
void Gambit_fn_021B9F4C(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_021B9F4C: ; // 0x21b9f4c
|
|
/* 021B9F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9F50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9F50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B9F50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B9F50 */ goto L_021B9F54;
|
|
L_021B9F54: ; // 0x21b9f54
|
|
/* 021B9F54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B9F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9F58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9F58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B9F58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B9F58 */ goto L_021B9F5C;
|
|
L_021B9F5C: ; // 0x21b9f5c
|
|
/* 021B9F5C */ 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_021B9F60 @ 0x21b9f60
|
|
void Gambit_fn_021B9F60(CPUState* cpu) {
|
|
L_021B9F60: ; // 0x21b9f60
|
|
/* 021B9F60 */ return;
|
|
}
|
|
|
|
// fn_021B9F64 @ 0x21b9f64
|
|
void Gambit_fn_021B9F64(CPUState* cpu) {
|
|
L_021B9F64: ; // 0x21b9f64
|
|
/* 021B9F64 */ cpu->r[3] = 0x0C800000u;
|
|
/* 021B9F68 */ return;
|
|
}
|
|
|
|
// fn_021B9F6C @ 0x21b9f6c
|
|
void Gambit_fn_021B9F6C(CPUState* cpu) {
|
|
L_021B9F6C: ; // 0x21b9f6c
|
|
/* 021B9F6C */ cpu->r[3] = 0x08C00000u;
|
|
/* 021B9F70 */ return;
|
|
}
|
|
|
|
// fn_021B9F74 @ 0x21b9f74
|
|
void Gambit_fn_021B9F74(CPUState* cpu) {
|
|
L_021B9F74: ; // 0x21b9f74
|
|
/* 021B9F74 */ cpu->r[3] = 0x00000000u;
|
|
/* 021B9F78 */ return;
|
|
}
|
|
|
|
// fn_021B9F7C @ 0x21b9f7c
|
|
void Gambit_fn_021B9F7C(CPUState* cpu) {
|
|
L_021B9F7C: ; // 0x21b9f7c
|
|
/* 021B9F7C */ cpu->r[3] = 0x18600000u;
|
|
/* 021B9F80 */ return;
|
|
}
|
|
|
|
// fn_021B9F84 @ 0x21b9f84
|
|
void Gambit_fn_021B9F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021B9F84: ; // 0x21b9f84
|
|
/* 021B9F84 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021B9F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021B9F84 */ cpu->r[1] = _t0;
|
|
/* 021B9F88 */ cpu->r[0] = cpu->lr;
|
|
/* 021B9F8C */ /* nop */
|
|
/* 021B9F90 */ cpu->r[27] = 0x00000016u;
|
|
/* 021B9F94 */ cpu->r[31] = 0x101C0000u;
|
|
/* 021B9F98 */ cpu->r[30] = 0x10030000u;
|
|
/* 021B9F9C */ cpu->r[31] = cpu->r[31] + 0x00004DFCu;
|
|
/* 021B9FA0 */ cpu->r[30] = cpu->r[30] + 0xFFFFA8A4u;
|
|
/* 021B9FA4 */ cpu->r[28] = 0x00000000u;
|
|
/* 021B9FA8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021B9FAC */ cpu->r[29] = 0x101D0000u;
|
|
L_021B9FB0: ; // 0x21b9fb0
|
|
/* 021B9FB0 */ _t2 = cpu->r[31] + cpu->r[28];
|
|
/* 021B9FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021B9FB4 */ _t3 = cpu->r[29] + 0xFFFF94E0u;
|
|
/* 021B9FB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021B9FB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021B9FB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 021B9FBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021B9FC0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021B9FC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021B9FC4 */ Gambit_fn_027CFFB8(cpu);
|
|
/* 021B9FC8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 021B9FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021B9FCC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 021B9FD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9FD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021B9FD0 */ if (_t7) goto L_021B9FD4; else goto L_021B9FB0;
|
|
L_021B9FD4: ; // 0x21b9fd4
|
|
/* 021B9FD4 */ /* nop */
|
|
/* 021B9FD8 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021B9FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021B9FDC */ cpu->lr = cpu->r[0];
|
|
/* 021B9FE0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021B9FE4 */ return;
|
|
}
|
|
|
|
// fn_021B9FE8 @ 0x21b9fe8
|
|
void Gambit_fn_021B9FE8(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_021B9FE8: ; // 0x21b9fe8
|
|
/* 021B9FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021B9FEC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9FEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 021B9FEC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B9FEC */ goto L_021B9FF0;
|
|
L_021B9FF0: ; // 0x21b9ff0
|
|
/* 021B9FF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021B9FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021B9FF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021B9FF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021B9FF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021B9FF4 */ goto L_021B9FF8;
|
|
L_021B9FF8: ; // 0x21b9ff8
|
|
/* 021B9FF8 */ 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_021B9FFC @ 0x21b9ffc
|
|
void Gambit_fn_021B9FFC(CPUState* cpu) {
|
|
L_021B9FFC: ; // 0x21b9ffc
|
|
/* 021B9FFC */ return;
|
|
}
|
|
|
|
// fn_021BA000 @ 0x21ba000
|
|
void Gambit_fn_021BA000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BA000: ; // 0x21ba000
|
|
/* 021BA000 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA004 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA004 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA004 */ cpu->r[1] = _t0;
|
|
/* 021BA008 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA008 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA00C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA010 */ cpu->r[4] = 0x00010000u;
|
|
/* 021BA014 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA018 */ cpu->r[4] = cpu->r[4] + 0xFFFFD270u;
|
|
/* 021BA01C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA01C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA020 */ Gambit_fn_02801E30(cpu);
|
|
/* 021BA024 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA024 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 021BA028 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA02C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA02C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA030 */ cpu->lr = cpu->r[0];
|
|
/* 021BA034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA038 */ return;
|
|
}
|
|
|
|
// fn_021BA004 @ 0x21ba004
|
|
void Gambit_fn_021BA004(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BA004: ; // 0x21ba004
|
|
/* 021BA004 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA004 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA004 */ cpu->r[1] = _t0;
|
|
/* 021BA008 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA008 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA00C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA010 */ cpu->r[4] = 0x00010000u;
|
|
/* 021BA014 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA018 */ cpu->r[4] = cpu->r[4] + 0xFFFFD270u;
|
|
/* 021BA01C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA01C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA020 */ Gambit_fn_02801E30(cpu);
|
|
/* 021BA024 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA024 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 021BA028 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA02C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA02C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA030 */ cpu->lr = cpu->r[0];
|
|
/* 021BA034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA038 */ return;
|
|
}
|
|
|
|
// fn_021BA03C @ 0x21ba03c
|
|
void Gambit_fn_021BA03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BA03C: ; // 0x21ba03c
|
|
/* 021BA03C */ cpu->r[0] = cpu->lr;
|
|
/* 021BA040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA040 */ cpu->r[1] = _t0;
|
|
/* 021BA044 */ cpu->r[5] = 0x00010000u;
|
|
/* 021BA048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA04C */ cpu->r[4] = 0x00000000u;
|
|
/* 021BA050 */ cpu->r[5] = cpu->r[5] + 0xFFFFD270u;
|
|
/* 021BA054 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA058 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA058 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA05C */ cpu->r[0] = 0x00000006u;
|
|
/* 021BA060 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA060 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 021BA064 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA068 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 021BA068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BA06C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021BA070 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA074 */ Gambit_fn_0217248C(cpu);
|
|
/* 021BA078 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA07C */ Gambit_fn_021BA000(cpu);
|
|
/* 021BA080 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA084 */ cpu->lr = cpu->r[0];
|
|
/* 021BA088 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA08C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA090 */ return;
|
|
}
|
|
|
|
// fn_021BA040 @ 0x21ba040
|
|
void Gambit_fn_021BA040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BA040: ; // 0x21ba040
|
|
/* 021BA040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA040 */ cpu->r[1] = _t0;
|
|
/* 021BA044 */ cpu->r[5] = 0x00010000u;
|
|
/* 021BA048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA04C */ cpu->r[4] = 0x00000000u;
|
|
/* 021BA050 */ cpu->r[5] = cpu->r[5] + 0xFFFFD270u;
|
|
/* 021BA054 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA058 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA058 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA05C */ cpu->r[0] = 0x00000006u;
|
|
/* 021BA060 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA060 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 021BA064 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA068 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 021BA068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BA06C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 021BA070 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA074 */ Gambit_fn_0217248C(cpu);
|
|
/* 021BA078 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA07C */ Gambit_fn_021BA000(cpu);
|
|
/* 021BA080 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA084 */ cpu->lr = cpu->r[0];
|
|
/* 021BA088 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA08C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA090 */ return;
|
|
}
|
|
|
|
// fn_021BA094 @ 0x21ba094
|
|
void Gambit_fn_021BA094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_021BA094: ; // 0x21ba094
|
|
/* 021BA094 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021BA094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA094 */ cpu->r[1] = _t0;
|
|
/* 021BA098 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA09C */ /* nop */
|
|
/* 021BA0A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BA0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BA0A4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BA0A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021BA0A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA0A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BA0A8 */ if (_t3) goto L_021BA0AC; else goto L_021BA0BC;
|
|
L_021BA0AC: ; // 0x21ba0ac
|
|
/* 021BA0AC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 021BA0B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA0B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BA0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BA0B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA0B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BA0B8 */ if (_t5) goto L_021BA2CC; else goto L_021BA0BC;
|
|
L_021BA0BC: ; // 0x21ba0bc
|
|
/* 021BA0BC */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA0C0 */ cpu->r[27] = 0x00000000u;
|
|
/* 021BA0C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFAB3Cu;
|
|
/* 021BA0C8 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 021BA0C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 021BA0CC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 021BA0D0 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 021BA0D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BA0D4 */ Gambit_fn_02836EBC(cpu);
|
|
/* 021BA0D8 */ cpu->r[26] = 0x00010000u;
|
|
/* 021BA0DC */ cpu->r[26] = cpu->r[26] + 0xFFFF9000u;
|
|
/* 021BA0E0 */ cpu->r[4] = 0x00000200u;
|
|
/* 021BA0E4 */ cpu->r[3] = cpu->r[26] + 0x00004280u;
|
|
/* 021BA0E8 */ Gambit_fn_02801AA0(cpu);
|
|
/* 021BA0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA0F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA0F0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BA0F0 */ if (_t9) goto L_021BA28C; else goto L_021BA0F4;
|
|
L_021BA0F4: ; // 0x21ba0f4
|
|
/* 021BA0F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA0F8 */ cpu->r[28] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021BA0FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA0FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 021BA0FC */ if (_t11) goto L_021BA100; else goto L_021BA110;
|
|
L_021BA100: ; // 0x21ba100
|
|
/* 021BA100 */ cpu->r[3] = cpu->r[26] + 0x00004270u;
|
|
/* 021BA104 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA108 */ cpu->r[28] = cpu->r[3];
|
|
/* 021BA108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021BA10C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA10C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021BA10C */ if (_t13) goto L_021BA240; else goto L_021BA110;
|
|
L_021BA110: ; // 0x21ba110
|
|
/* 021BA110 */ cpu->r[29] = cpu->r[28];
|
|
/* 021BA110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA114 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA114 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BA114 */ if (_t15) goto L_021BA118; else goto L_021BA128;
|
|
L_021BA118: ; // 0x21ba118
|
|
/* 021BA118 */ cpu->r[3] = 0x00000170u;
|
|
/* 021BA11C */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA120 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA124 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA124 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021BA124 */ if (_t17) goto L_021BA16C; else goto L_021BA128;
|
|
L_021BA128: ; // 0x21ba128
|
|
/* 021BA128 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 021BA128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA12C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA12C */ _t19 = _t18 & 0x00000001u;
|
|
/* 021BA12C */ if (_t19) goto L_021BA130; else goto L_021BA140;
|
|
L_021BA130: ; // 0x21ba130
|
|
/* 021BA130 */ cpu->r[3] = 0x00000008u;
|
|
/* 021BA134 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA13C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA13C */ _t21 = _t20 & 0x00000001u;
|
|
/* 021BA13C */ if (_t21) goto L_021BA15C; else goto L_021BA140;
|
|
L_021BA140: ; // 0x21ba140
|
|
/* 021BA140 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BA144 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 021BA144 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[27]);
|
|
/* 021BA148 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BA14C */ _t23 = cpu->r[12] + 0xFFFFAB2Cu;
|
|
/* 021BA14C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021BA150 */ _t24 = cpu->r[3] + 0x00000006u;
|
|
/* 021BA150 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 021BA154 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA154 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 021BA158 */ _t26 = cpu->r[3] + 0x00000005u;
|
|
/* 021BA158 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
L_021BA15C: ; // 0x21ba15c
|
|
/* 021BA15C */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA160 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 021BA164 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA168 */ Gambit_fn_02838654(cpu);
|
|
L_021BA16C: ; // 0x21ba16c
|
|
/* 021BA16C */ cpu->r[29] = cpu->r[28] + 0x00000170u;
|
|
/* 021BA16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA170 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA170 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BA170 */ if (_t28) goto L_021BA174; else goto L_021BA184;
|
|
L_021BA174: ; // 0x21ba174
|
|
/* 021BA174 */ cpu->r[3] = cpu->r[26] + 0x00001538u;
|
|
/* 021BA178 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA17C */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA180 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA180 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021BA180 */ if (_t30) goto L_021BA1B8; else goto L_021BA184;
|
|
L_021BA184: ; // 0x21ba184
|
|
/* 021BA184 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021BA188 */ cpu->r[3] = cpu->r[29] + 0x00000020u;
|
|
/* 021BA18C */ cpu->r[4] = 0x00000300u;
|
|
/* 021BA190 */ cpu->r[6] = cpu->r[6] + 0xFFFFA5A0u;
|
|
/* 021BA194 */ cpu->r[5] = 0x00000030u;
|
|
/* 021BA198 */ Gambit_fn_02C82E00(cpu);
|
|
/* 021BA19C */ cpu->r[6] = 0x021C0000u;
|
|
/* 021BA1A0 */ cpu->r[8] = cpu->r[29] + 0x00000020u;
|
|
/* 021BA1A4 */ cpu->r[4] = 0x00000080u;
|
|
/* 021BA1A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA5F8u;
|
|
/* 021BA1AC */ cpu->r[3] = cpu->r[8] + cpu->r[26];
|
|
/* 021BA1B0 */ cpu->r[5] = 0x00000028u;
|
|
/* 021BA1B4 */ Gambit_fn_02C82E00(cpu);
|
|
L_021BA1B8: ; // 0x21ba1b8
|
|
/* 021BA1B8 */ cpu->r[0] = cpu->r[26] + 0x00001AF0u;
|
|
/* 021BA1BC */ cpu->r[29] = cpu->r[28] + cpu->r[0];
|
|
/* 021BA1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA1C0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA1C0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021BA1C0 */ if (_t32) goto L_021BA1C4; else goto L_021BA1D4;
|
|
L_021BA1C4: ; // 0x21ba1c4
|
|
/* 021BA1C4 */ cpu->r[3] = 0x000007E0u;
|
|
/* 021BA1C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA1CC */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA1D0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA1D0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021BA1D0 */ if (_t34) goto L_021BA1FC; else goto L_021BA1D4;
|
|
L_021BA1D4: ; // 0x21ba1d4
|
|
/* 021BA1D4 */ cpu->r[6] = 0x021C0000u;
|
|
/* 021BA1D8 */ cpu->r[3] = cpu->r[29] + 0x00000600u;
|
|
/* 021BA1DC */ cpu->r[4] = 0x00000003u;
|
|
/* 021BA1E0 */ cpu->r[6] = cpu->r[6] + 0xFFFFA650u;
|
|
/* 021BA1E4 */ cpu->r[5] = 0x00000040u;
|
|
/* 021BA1E8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 021BA1EC */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA1F0 */ cpu->r[3] = cpu->r[29] + 0x000006C0u;
|
|
/* 021BA1F4 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA1F8 */ Gambit_fn_02838654(cpu);
|
|
L_021BA1FC: ; // 0x21ba1fc
|
|
/* 021BA1FC */ cpu->r[0] = cpu->r[26] + 0x000023F0u;
|
|
/* 021BA200 */ cpu->r[29] = cpu->r[28] + cpu->r[0];
|
|
/* 021BA200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA204 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA204 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021BA204 */ if (_t36) goto L_021BA208; else goto L_021BA218;
|
|
L_021BA208: ; // 0x21ba208
|
|
/* 021BA208 */ cpu->r[3] = 0x00001840u;
|
|
/* 021BA20C */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA210 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BA214 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA214 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021BA214 */ if (_t38) goto L_021BA240; else goto L_021BA218;
|
|
L_021BA218: ; // 0x21ba218
|
|
/* 021BA218 */ cpu->r[6] = 0x02170000u;
|
|
/* 021BA21C */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 021BA220 */ cpu->r[4] = 0x00000019u;
|
|
/* 021BA224 */ cpu->r[6] = cpu->r[6] + 0xFFFFEC78u;
|
|
/* 021BA228 */ cpu->r[5] = 0x000000ECu;
|
|
/* 021BA22C */ Gambit_fn_02C82E00(cpu);
|
|
/* 021BA230 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA234 */ cpu->r[3] = cpu->r[29] + 0x00001730u;
|
|
/* 021BA238 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA23C */ Gambit_fn_02838654(cpu);
|
|
L_021BA240: ; // 0x21ba240
|
|
/* 021BA240 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA244 */ Gambit_fn_021BA03C(cpu);
|
|
/* 021BA248 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA24C */ cpu->r[10] = 0x10030000u;
|
|
/* 021BA250 */ _t39 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021BA250 */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 021BA254 */ cpu->r[11] = 0x10030000u;
|
|
/* 021BA258 */ cpu->r[10] = cpu->r[10] + 0xFFFFAAE8u;
|
|
/* 021BA25C */ _t40 = cpu->r[12] + 0xFFFF9234u;
|
|
/* 021BA25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021BA260 */ cpu->r[11] = cpu->r[11] + 0xFFFFAB30u;
|
|
/* 021BA264 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA264 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 021BA268 */ cpu->r[7] = 0x00000000u;
|
|
/* 021BA26C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA270 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA270 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 021BA274 */ _t43 = cpu->r[12] + 0x00000018u;
|
|
/* 021BA274 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BA278 */ cpu->r[6] = 0x00000001u;
|
|
/* 021BA27C */ cpu->r[3] = 0x00040000u;
|
|
/* 021BA280 */ Gambit_fn_02822600(cpu);
|
|
/* 021BA284 */ _t44 = cpu->r[30] + 0x00000004u;
|
|
/* 021BA284 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 021BA288 */ goto L_021BA2CC;
|
|
L_021BA28C: ; // 0x21ba28c
|
|
/* 021BA28C */ cpu->r[10] = 0x10030000u;
|
|
/* 021BA290 */ cpu->r[7] = 0x00000000u;
|
|
/* 021BA294 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA298 */ cpu->r[10] = cpu->r[10] + 0xFFFFAAE8u;
|
|
/* 021BA29C */ _t45 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021BA29C */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 021BA2A0 */ cpu->r[11] = 0x10030000u;
|
|
/* 021BA2A4 */ _t46 = cpu->r[12] + 0xFFFF9234u;
|
|
/* 021BA2A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021BA2A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFAB30u;
|
|
/* 021BA2AC */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA2AC */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
/* 021BA2B0 */ cpu->r[3] = 0x00040000u;
|
|
/* 021BA2B4 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA2B4 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 021BA2B8 */ _t49 = cpu->r[12] + 0x00000018u;
|
|
/* 021BA2B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021BA2BC */ cpu->r[6] = 0x00000001u;
|
|
/* 021BA2C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA2C4 */ Gambit_fn_02822600(cpu);
|
|
/* 021BA2C8 */ _t50 = cpu->r[30] + 0x00000004u;
|
|
/* 021BA2C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
L_021BA2CC: ; // 0x21ba2cc
|
|
/* 021BA2CC */ cpu->r[3] = cpu->r[30];
|
|
/* 021BA2D0 */ /* nop */
|
|
/* 021BA2D4 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BA2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BA2D8 */ cpu->lr = cpu->r[0];
|
|
/* 021BA2DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021BA2E0 */ return;
|
|
}
|
|
|
|
// fn_021BA2E4 @ 0x21ba2e4
|
|
void Gambit_fn_021BA2E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BA2E4: ; // 0x21ba2e4
|
|
/* 021BA2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 021BA2E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA2E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BA2E8 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 021BA2E8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA2E8 */ goto L_021BA2EC;
|
|
L_021BA2EC: ; // 0x21ba2ec
|
|
/* 021BA2EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BA2F0 */ _t3 = cpu->r[12] + 0x00003630u;
|
|
/* 021BA2F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA2F4 */ _t4 = cpu->r[12] + 0x00000078u;
|
|
/* 021BA2F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA2F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BA2FC */ _t5 = cpu->r[12] + 0x00000030u;
|
|
/* 021BA2FC */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 021BA300 */ return;
|
|
}
|
|
|
|
// fn_021BA304 @ 0x21ba304
|
|
void Gambit_fn_021BA304(CPUState* cpu) {
|
|
L_021BA304: ; // 0x21ba304
|
|
/* 021BA304 */ return;
|
|
}
|
|
|
|
// fn_021BA308 @ 0x21ba308
|
|
void Gambit_fn_021BA308(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021BA308: ; // 0x21ba308
|
|
/* 021BA308 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BA308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BA30C */ return;
|
|
}
|
|
|
|
// fn_021BA310 @ 0x21ba310
|
|
void Gambit_fn_021BA310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BA000: ; // 0x21ba000
|
|
/* 021BA000 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA004 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA004 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA004 */ cpu->r[1] = _t0;
|
|
/* 021BA008 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA008 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA00C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA010 */ cpu->r[4] = 0x00010000u;
|
|
/* 021BA014 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA018 */ cpu->r[4] = cpu->r[4] + 0xFFFFD270u;
|
|
/* 021BA01C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA01C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA020 */ Gambit_fn_02801E30(cpu);
|
|
/* 021BA024 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA024 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 021BA028 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA02C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA02C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA030 */ cpu->lr = cpu->r[0];
|
|
/* 021BA034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA038 */ return;
|
|
L_021BA310: ; // 0x21ba310
|
|
/* 021BA310 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BA310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA314 */ goto L_021BA000;
|
|
}
|
|
|
|
// fn_021BA318 @ 0x21ba318
|
|
void Gambit_fn_021BA318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA318: ; // 0x21ba318
|
|
/* 021BA318 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA31C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA31C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA31C */ cpu->r[1] = _t0;
|
|
/* 021BA320 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA324 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA328 */ cpu->r[3] = 0x00010000u;
|
|
/* 021BA32C */ cpu->r[5] = 0x00000004u;
|
|
/* 021BA330 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA330 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA334 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021BA334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA338 */ cpu->r[3] = cpu->r[3] + 0xFFFFD2F0u;
|
|
/* 021BA33C */ Gambit_fn_02801AC8(cpu);
|
|
/* 021BA340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA344 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA344 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BA344 */ if (_t5) goto L_021BA34C; else goto L_021BA348;
|
|
L_021BA348: ; // 0x21ba348
|
|
/* 021BA348 */ Gambit_fn_02172588(cpu);
|
|
L_021BA34C: ; // 0x21ba34c
|
|
/* 021BA34C */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA34C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021BA350 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA354 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA354 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA358 */ cpu->lr = cpu->r[0];
|
|
/* 021BA35C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA360 */ return;
|
|
}
|
|
|
|
// fn_021BA31C @ 0x21ba31c
|
|
void Gambit_fn_021BA31C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA31C: ; // 0x21ba31c
|
|
/* 021BA31C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA31C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA31C */ cpu->r[1] = _t0;
|
|
/* 021BA320 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA324 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA328 */ cpu->r[3] = 0x00010000u;
|
|
/* 021BA32C */ cpu->r[5] = 0x00000004u;
|
|
/* 021BA330 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA330 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA334 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 021BA334 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA338 */ cpu->r[3] = cpu->r[3] + 0xFFFFD2F0u;
|
|
/* 021BA33C */ Gambit_fn_02801AC8(cpu);
|
|
/* 021BA340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA344 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA344 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BA344 */ if (_t5) goto L_021BA34C; else goto L_021BA348;
|
|
L_021BA348: ; // 0x21ba348
|
|
/* 021BA348 */ Gambit_fn_02172588(cpu);
|
|
L_021BA34C: ; // 0x21ba34c
|
|
/* 021BA34C */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA34C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 021BA350 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA354 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA354 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA358 */ cpu->lr = cpu->r[0];
|
|
/* 021BA35C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA360 */ return;
|
|
}
|
|
|
|
// fn_021BA364 @ 0x21ba364
|
|
void Gambit_fn_021BA364(CPUState* cpu) {
|
|
uint32_t _t0, _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_021BA364: ; // 0x21ba364
|
|
/* 021BA364 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BA364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA364 */ cpu->r[1] = _t0;
|
|
/* 021BA368 */ /* nop */
|
|
/* 021BA36C */ cpu->r[0] = cpu->lr;
|
|
/* 021BA370 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 021BA370 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021BA374 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA378 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021BA37C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 021BA380 */ Gambit_fn_02836FFC(cpu);
|
|
/* 021BA384 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021BA388 */ _t2 = cpu->r[31] + 0xFFFF9564u;
|
|
/* 021BA388 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA38C */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA38C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA390 */ _t4 = cpu->r[12] + 0x00000044u;
|
|
/* 021BA390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA394 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA398 */ cpu->ctr = cpu->r[7];
|
|
/* 021BA39C */ _t5 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 021BA39C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA3A0 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021BA3A0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA3A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA3A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA3AC */ cpu->r[28] = 0x00000000u;
|
|
/* 021BA3B0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA3B4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 021BA3B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 021BA3B8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA3BC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA3BC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 021BA3C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFAB00u;
|
|
/* 021BA3C4 */ cpu->r[4] = 0x00000020u;
|
|
/* 021BA3C8 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA3C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BA3CC */ Gambit_fn_02C89380(cpu);
|
|
/* 021BA3D0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA3D4 */ cpu->r[27] = 0x10030000u;
|
|
/* 021BA3D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFAAE8u;
|
|
/* 021BA3DC */ cpu->r[11] = 0x101C0000u;
|
|
/* 021BA3E0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 021BA3E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021BA3E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA3E8 */ _t11 = cpu->r[11] + 0x00004E54u;
|
|
/* 021BA3E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BA3EC */ cpu->r[27] = cpu->r[27] + 0xFFFFAB10u;
|
|
/* 021BA3F0 */ cpu->r[6] = 0x00000001u;
|
|
/* 021BA3F4 */ _t12 = cpu->r[1] + 0x00000040u;
|
|
/* 021BA3F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021BA3F8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA3FC */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA3FC */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 021BA400 */ cpu->r[7] = cpu->r[28];
|
|
/* 021BA404 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA408 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA408 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 021BA40C */ Gambit_fn_0280C9B0(cpu);
|
|
/* 021BA410 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BA414 */ _t16 = cpu->r[10] + 0x00000034u;
|
|
/* 021BA414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BA418 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA41C */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA424 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BA428 */ _t18 = cpu->r[8] + 0x0000003Cu;
|
|
/* 021BA428 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BA42C */ cpu->r[30] = cpu->r[3];
|
|
/* 021BA430 */ cpu->ctr = cpu->r[9];
|
|
/* 021BA434 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA43C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA440 */ cpu->r[7] = cpu->r[3];
|
|
/* 021BA444 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA448 */ cpu->r[6] = cpu->r[30];
|
|
/* 021BA44C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA450 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA450 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 021BA454 */ Gambit_fn_0280CBD8(cpu);
|
|
/* 021BA458 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA45C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA460 */ Gambit_fn_0280C80C(cpu);
|
|
/* 021BA464 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 021BA468 */ Gambit_fn_02837030(cpu);
|
|
/* 021BA46C */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA470 */ Gambit_fn_02812A74(cpu);
|
|
/* 021BA474 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 021BA474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BA478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA47C */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA47C */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 021BA480 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA480 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BA480 */ if (_t23) goto L_021BA48C; else goto L_021BA484;
|
|
L_021BA484: ; // 0x21ba484
|
|
/* 021BA484 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA488 */ Gambit_fn_0280C80C(cpu);
|
|
L_021BA48C: ; // 0x21ba48c
|
|
/* 021BA48C */ /* nop */
|
|
/* 021BA490 */ _t24 = cpu->r[1] + 0x00000064u;
|
|
/* 021BA490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BA494 */ cpu->lr = cpu->r[0];
|
|
/* 021BA498 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BA49C */ return;
|
|
}
|
|
|
|
// fn_021BA4A0 @ 0x21ba4a0
|
|
void Gambit_fn_021BA4A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021BA364: ; // 0x21ba364
|
|
/* 021BA364 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BA364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA364 */ cpu->r[1] = _t0;
|
|
/* 021BA368 */ /* nop */
|
|
/* 021BA36C */ cpu->r[0] = cpu->lr;
|
|
/* 021BA370 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 021BA370 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021BA374 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BA378 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 021BA37C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 021BA380 */ Gambit_fn_02836FFC(cpu);
|
|
/* 021BA384 */ cpu->r[31] = 0x101D0000u;
|
|
/* 021BA388 */ _t2 = cpu->r[31] + 0xFFFF9564u;
|
|
/* 021BA388 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA38C */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA38C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA390 */ _t4 = cpu->r[12] + 0x00000044u;
|
|
/* 021BA390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA394 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA398 */ cpu->ctr = cpu->r[7];
|
|
/* 021BA39C */ _t5 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 021BA39C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA3A0 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021BA3A0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA3A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA3A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA3AC */ cpu->r[28] = 0x00000000u;
|
|
/* 021BA3B0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA3B4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 021BA3B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 021BA3B8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA3BC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA3BC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 021BA3C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFAB00u;
|
|
/* 021BA3C4 */ cpu->r[4] = 0x00000020u;
|
|
/* 021BA3C8 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA3C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BA3CC */ Gambit_fn_02C89380(cpu);
|
|
/* 021BA3D0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA3D4 */ cpu->r[27] = 0x10030000u;
|
|
/* 021BA3D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFAAE8u;
|
|
/* 021BA3DC */ cpu->r[11] = 0x101C0000u;
|
|
/* 021BA3E0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 021BA3E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021BA3E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA3E8 */ _t11 = cpu->r[11] + 0x00004E54u;
|
|
/* 021BA3E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BA3EC */ cpu->r[27] = cpu->r[27] + 0xFFFFAB10u;
|
|
/* 021BA3F0 */ cpu->r[6] = 0x00000001u;
|
|
/* 021BA3F4 */ _t12 = cpu->r[1] + 0x00000040u;
|
|
/* 021BA3F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 021BA3F8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA3FC */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA3FC */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 021BA400 */ cpu->r[7] = cpu->r[28];
|
|
/* 021BA404 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA408 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA408 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 021BA40C */ Gambit_fn_0280C9B0(cpu);
|
|
/* 021BA410 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BA414 */ _t16 = cpu->r[10] + 0x00000034u;
|
|
/* 021BA414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BA418 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA41C */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA420 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA424 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BA428 */ _t18 = cpu->r[8] + 0x0000003Cu;
|
|
/* 021BA428 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BA42C */ cpu->r[30] = cpu->r[3];
|
|
/* 021BA430 */ cpu->ctr = cpu->r[9];
|
|
/* 021BA434 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA43C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA440 */ cpu->r[7] = cpu->r[3];
|
|
/* 021BA444 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA448 */ cpu->r[6] = cpu->r[30];
|
|
/* 021BA44C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA450 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA450 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 021BA454 */ Gambit_fn_0280CBD8(cpu);
|
|
/* 021BA458 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA45C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA460 */ Gambit_fn_0280C80C(cpu);
|
|
/* 021BA464 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 021BA468 */ Gambit_fn_02837030(cpu);
|
|
/* 021BA46C */ cpu->r[3] = cpu->r[26];
|
|
/* 021BA470 */ Gambit_fn_02812A74(cpu);
|
|
/* 021BA474 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 021BA474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BA478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA47C */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BA47C */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 021BA480 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA480 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BA480 */ if (_t23) goto L_021BA48C; else goto L_021BA484;
|
|
L_021BA484: ; // 0x21ba484
|
|
/* 021BA484 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BA488 */ Gambit_fn_0280C80C(cpu);
|
|
L_021BA48C: ; // 0x21ba48c
|
|
/* 021BA48C */ /* nop */
|
|
/* 021BA490 */ _t24 = cpu->r[1] + 0x00000064u;
|
|
/* 021BA490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BA494 */ cpu->lr = cpu->r[0];
|
|
/* 021BA498 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BA49C */ return;
|
|
L_021BA4A0: ; // 0x21ba4a0
|
|
/* 021BA4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000002u);
|
|
/* 021BA4A4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA4A4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BA4A4 */ if (_t26) goto L_021BA4A8; else goto L_021BA4AC;
|
|
L_021BA4A8: ; // 0x21ba4a8
|
|
/* 021BA4A8 */ goto L_021BA364;
|
|
L_021BA4AC: ; // 0x21ba4ac
|
|
/* 021BA4AC */ goto L_027D34E4;
|
|
L_027D320C: ; // 0x27d320c
|
|
/* 027D320C */ _t27 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027D320C */ rbrew_write32(cpu->mem, _t27, cpu->r[1]);
|
|
/* 027D320C */ cpu->r[1] = _t27;
|
|
/* 027D3210 */ /* nop */
|
|
/* 027D3214 */ cpu->r[0] = cpu->lr;
|
|
/* 027D3218 */ _t28 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D3218 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027D321C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D3220 */ _t29 = cpu->r[31] + 0xFFFF9564u;
|
|
/* 027D3220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D3224 */ _t30 = cpu->r[31] + 0x00000000u;
|
|
/* 027D3224 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D3228 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D322C */ _t31 = cpu->r[9] + 0x00000044u;
|
|
/* 027D322C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D3230 */ _t32 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 027D3230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D3234 */ cpu->ctr = cpu->r[0];
|
|
/* 027D3238 */ _t33 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D3238 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D323C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D3240 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D3244 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D3248 */ cpu->r[28] = 0x00000000u;
|
|
/* 027D324C */ cpu->r[0] = cpu->r[0] + 0xFFFFDA0Cu;
|
|
/* 027D3250 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 027D3250 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 027D3254 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 027D3254 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 027D3258 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D325C */ cpu->r[4] = 0x00000020u;
|
|
/* 027D3260 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D3260 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 027D3264 */ Gambit_fn_02C89380(cpu);
|
|
/* 027D3268 */ cpu->r[27] = 0x10110000u;
|
|
/* 027D326C */ _t37 = cpu->r[1] + 0x00000040u;
|
|
/* 027D326C */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
/* 027D3270 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D3274 */ cpu->r[27] = cpu->r[27] + 0xFFFFDA1Cu;
|
|
/* 027D3278 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D327C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D3280 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D3280 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 027D3284 */ cpu->r[0] = cpu->r[0] + 0xFFFFD984u;
|
|
/* 027D3288 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D328C */ _t39 = cpu->r[11] + 0xFFFF956Cu;
|
|
/* 027D328C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D3290 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027D3294 */ cpu->r[7] = cpu->r[28];
|
|
/* 027D3298 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 027D3298 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027D329C */ cpu->r[6] = 0x00000001u;
|
|
/* 027D32A0 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D32A0 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 027D32A4 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027D32A8 */ _t42 = cpu->r[31] + 0x00000000u;
|
|
/* 027D32A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D32AC */ _t43 = cpu->r[12] + 0x00000034u;
|
|
/* 027D32AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027D32B0 */ cpu->ctr = cpu->r[10];
|
|
/* 027D32B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D32B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D32BC */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 027D32BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D32C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D32C4 */ _t45 = cpu->r[12] + 0x0000003Cu;
|
|
/* 027D32C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D32C8 */ cpu->ctr = cpu->r[0];
|
|
/* 027D32CC */ cpu->r[3] = cpu->r[31];
|
|
/* 027D32D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D32D4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027D32D8 */ cpu->r[7] = cpu->r[3];
|
|
/* 027D32DC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D32E0 */ cpu->r[6] = cpu->r[29];
|
|
/* 027D32E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D32E8 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 027D32E8 */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 027D32EC */ Gambit_fn_0280CBD8(cpu);
|
|
/* 027D32F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D32F4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027D32F8 */ Gambit_fn_0280C80C(cpu);
|
|
/* 027D32FC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D3300 */ Gambit_fn_02812A74(cpu);
|
|
/* 027D3304 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 027D3304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D3308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D330C */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D330C */ rbrew_write32(cpu->mem, _t48, cpu->r[27]);
|
|
/* 027D3310 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D3310 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027D3310 */ if (_t50) goto L_027D331C; else goto L_027D3314;
|
|
L_027D3314: ; // 0x27d3314
|
|
/* 027D3314 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027D3318 */ Gambit_fn_0280C80C(cpu);
|
|
L_027D331C: ; // 0x27d331c
|
|
/* 027D331C */ /* nop */
|
|
/* 027D3320 */ _t51 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D3320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D3324 */ cpu->lr = cpu->r[0];
|
|
/* 027D3328 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D332C */ return;
|
|
L_027D3330: ; // 0x27d3330
|
|
/* 027D3330 */ _t52 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 027D3330 */ rbrew_write32(cpu->mem, _t52, cpu->r[1]);
|
|
/* 027D3330 */ cpu->r[1] = _t52;
|
|
/* 027D3334 */ /* nop */
|
|
/* 027D3338 */ cpu->r[0] = cpu->lr;
|
|
/* 027D333C */ _t53 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D333C */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027D3340 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D3344 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D3348 */ _t54 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 027D3348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D334C */ cpu->r[10] = 0x10110000u;
|
|
/* 027D3350 */ _t55 = cpu->r[31] + 0xFFFF9564u;
|
|
/* 027D3350 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D3354 */ cpu->r[10] = cpu->r[10] + 0xFFFFDA0Cu;
|
|
/* 027D3358 */ _t56 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D3358 */ cpu->r[26] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027D335C */ cpu->r[29] = 0x00000000u;
|
|
/* 027D3360 */ _t57 = cpu->r[1] + 0x00000048u;
|
|
/* 027D3360 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 027D3364 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 027D3368 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 027D3368 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]);
|
|
/* 027D336C */ cpu->r[4] = 0x00000020u;
|
|
/* 027D3370 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 027D3370 */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
/* 027D3374 */ Gambit_fn_02C89380(cpu);
|
|
/* 027D3378 */ cpu->r[27] = 0x10110000u;
|
|
/* 027D337C */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027D337C */ rbrew_write32(cpu->mem, _t60, cpu->r[29]);
|
|
/* 027D3380 */ cpu->r[27] = cpu->r[27] + 0xFFFFD984u;
|
|
/* 027D3384 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027D3388 */ cpu->r[28] = 0x10110000u;
|
|
/* 027D338C */ _t61 = cpu->r[1] + 0x00000014u;
|
|
/* 027D338C */ rbrew_write32(cpu->mem, _t61, cpu->r[27]);
|
|
/* 027D3390 */ cpu->r[28] = cpu->r[28] + 0xFFFFDA1Cu;
|
|
/* 027D3394 */ _t62 = cpu->r[30] + 0xFFFF956Cu;
|
|
/* 027D3394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D3394 */ cpu->r[30] = _t62;
|
|
/* 027D3398 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D339C */ _t63 = cpu->r[1] + 0x00000048u;
|
|
/* 027D339C */ rbrew_write32(cpu->mem, _t63, cpu->r[28]);
|
|
/* 027D33A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D33A4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027D33A8 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 027D33A8 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 027D33AC */ Gambit_fn_0280CE64(cpu);
|
|
/* 027D33B0 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 027D33B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 027D33B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D33B8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D33B8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027D33B8 */ if (_t67) goto L_027D3448; else goto L_027D33BC;
|
|
L_027D33BC: ; // 0x27d33bc
|
|
/* 027D33BC */ cpu->r[3] = cpu->r[26];
|
|
/* 027D33C0 */ _t68 = cpu->r[30] + 0x00000000u;
|
|
/* 027D33C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027D33C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D33C8 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 027D33CC */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D33CC */ rbrew_write32(cpu->mem, _t69, cpu->r[27]);
|
|
/* 027D33D0 */ cpu->r[7] = cpu->r[6];
|
|
/* 027D33D4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027D33D8 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 027D33D8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 027D33DC */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027D33E0 */ _t71 = cpu->r[31] + 0x00000000u;
|
|
/* 027D33E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027D33E4 */ _t72 = cpu->r[8] + 0x00000034u;
|
|
/* 027D33E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027D33E8 */ cpu->ctr = cpu->r[9];
|
|
/* 027D33EC */ cpu->r[3] = cpu->r[31];
|
|
/* 027D33F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D33F4 */ _t73 = cpu->r[31] + 0x00000000u;
|
|
/* 027D33F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027D33F8 */ _t74 = cpu->r[12] + 0x0000003Cu;
|
|
/* 027D33F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027D33FC */ cpu->r[30] = cpu->r[3];
|
|
/* 027D3400 */ cpu->ctr = cpu->r[0];
|
|
/* 027D3404 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D3408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D340C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D3410 */ cpu->r[6] = cpu->r[30];
|
|
/* 027D3414 */ cpu->r[7] = cpu->r[3];
|
|
/* 027D3418 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D341C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027D3420 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D3420 */ rbrew_write32(cpu->mem, _t75, cpu->r[29]);
|
|
/* 027D3424 */ Gambit_fn_0280CA6C(cpu);
|
|
/* 027D3428 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D342C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027D3430 */ Gambit_fn_0280C80C(cpu);
|
|
/* 027D3434 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 027D3434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027D3438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D343C */ _t77 = cpu->r[1] + 0x00000048u;
|
|
/* 027D343C */ rbrew_write32(cpu->mem, _t77, cpu->r[28]);
|
|
/* 027D3440 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D3440 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027D3440 */ if (_t79) goto L_027D3444; else goto L_027D345C;
|
|
L_027D3444: ; // 0x27d3444
|
|
/* 027D3444 */ goto L_027D3464;
|
|
L_027D3448: ; // 0x27d3448
|
|
/* 027D3448 */ Gambit_fn_027D320C(cpu);
|
|
/* 027D344C */ _t80 = cpu->r[1] + 0x00000024u;
|
|
/* 027D344C */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027D3450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D3454 */ _t81 = cpu->r[1] + 0x00000048u;
|
|
/* 027D3454 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
/* 027D3458 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D3458 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027D3458 */ if (_t83) goto L_027D3464; else goto L_027D345C;
|
|
L_027D345C: ; // 0x27d345c
|
|
/* 027D345C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027D3460 */ Gambit_fn_0280C80C(cpu);
|
|
L_027D3464: ; // 0x27d3464
|
|
/* 027D3464 */ /* nop */
|
|
/* 027D3468 */ _t84 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D3468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027D346C */ cpu->lr = cpu->r[0];
|
|
/* 027D3470 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 027D3474 */ return;
|
|
L_027D3478: ; // 0x27d3478
|
|
/* 027D3478 */ cpu->r[0] = cpu->lr;
|
|
/* 027D347C */ _t85 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D347C */ rbrew_write32(cpu->mem, _t85, cpu->r[1]);
|
|
/* 027D347C */ cpu->r[1] = _t85;
|
|
/* 027D3480 */ _t86 = cpu->r[1] + 0x00000010u;
|
|
/* 027D3480 */ rbrew_write32(cpu->mem, _t86, cpu->r[30]);
|
|
/* 027D3484 */ _t87 = cpu->r[1] + 0x00000014u;
|
|
/* 027D3484 */ rbrew_write32(cpu->mem, _t87, cpu->r[31]);
|
|
/* 027D3488 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D348C */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D348C */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 027D3490 */ _t89 = cpu->r[11] + 0xFFFF92FCu;
|
|
/* 027D3490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027D3494 */ _t90 = cpu->r[11] + 0x0000001Cu;
|
|
/* 027D3494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027D3498 */ cpu->r[0] = 0x00000008u;
|
|
/* 027D349C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D34A0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D34A4 */ _t91 = cpu->r[31] + 0x00000058u;
|
|
/* 027D34A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027D34A8 */ cpu->r[9] = cpu->r[9] + 0xFFFFD984u;
|
|
/* 027D34AC */ _t92 = cpu->r[31] + 0x00000058u;
|
|
/* 027D34AC */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 027D34B0 */ _t93 = cpu->r[12] + 0xFFFF956Cu;
|
|
/* 027D34B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027D34B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D34B8 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D34B8 */ rbrew_write32(cpu->mem, _t94, cpu->r[9]);
|
|
/* 027D34BC */ cpu->r[3] = cpu->r[31];
|
|
/* 027D34C0 */ _t95 = cpu->r[1] + 0x00000008u;
|
|
/* 027D34C0 */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 027D34C4 */ Gambit_fn_028129EC(cpu);
|
|
/* 027D34C8 */ _t96 = cpu->r[31] + 0x00000058u;
|
|
/* 027D34C8 */ rbrew_write32(cpu->mem, _t96, cpu->r[30]);
|
|
/* 027D34CC */ _t97 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D34CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027D34D0 */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 027D34D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027D34D4 */ cpu->lr = cpu->r[0];
|
|
/* 027D34D8 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 027D34D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027D34DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D34E0 */ return;
|
|
L_027D34E4: ; // 0x27d34e4
|
|
/* 027D34E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 027D34E8 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D34E8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 027D34E8 */ if (_t101) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D34E8 */ goto L_027D34EC;
|
|
L_027D34EC: ; // 0x27d34ec
|
|
/* 027D34EC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D34EC */ _t103 = _t102 & 0x00000001u;
|
|
/* 027D34EC */ if (_t103) goto L_027D3500; else goto L_027D34F0;
|
|
L_027D34F0: ; // 0x27d34f0
|
|
/* 027D34F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 027D34F4 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D34F4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027D34F4 */ if (_t105) goto L_027D3504; else goto L_027D34F8;
|
|
L_027D34F8: ; // 0x27d34f8
|
|
/* 027D34F8 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D34F8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 027D34F8 */ if (_t107) goto L_027D3508; else goto L_027D34FC;
|
|
L_027D34FC: ; // 0x27d34fc
|
|
/* 027D34FC */ return;
|
|
L_027D3500: ; // 0x27d3500
|
|
/* 027D3500 */ goto L_027D320C;
|
|
L_027D3504: ; // 0x27d3504
|
|
/* 027D3504 */ goto L_027D3330;
|
|
L_027D3508: ; // 0x27d3508
|
|
/* 027D3508 */ goto L_027D3478;
|
|
}
|
|
|
|
// fn_021BA4B0 @ 0x21ba4b0
|
|
void Gambit_fn_021BA4B0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021BA4B0: ; // 0x21ba4b0
|
|
/* 021BA4B0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BA4B4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 021BA4B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021BA4BC */ return;
|
|
}
|
|
|
|
// fn_021BA4C0 @ 0x21ba4c0
|
|
void Gambit_fn_021BA4C0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021BA4C0: ; // 0x21ba4c0
|
|
/* 021BA4C0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BA4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BA4C4 */ cpu->r[0] = cpu->r[0] ^ 0x00000006u;
|
|
/* 021BA4C8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 021BA4CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021BA4D0 */ return;
|
|
}
|
|
|
|
// fn_021BA4D4 @ 0x21ba4d4
|
|
void Gambit_fn_021BA4D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BA4D4: ; // 0x21ba4d4
|
|
/* 021BA4D4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA4D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA4D8 */ cpu->r[1] = _t0;
|
|
/* 021BA4DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA4E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA4E4 */ cpu->r[4] = 0x00010000u;
|
|
/* 021BA4E8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA4EC */ cpu->r[4] = cpu->r[4] + 0xFFFFD270u;
|
|
/* 021BA4F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA4F4 */ Gambit_fn_02801E30(cpu);
|
|
/* 021BA4F8 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA4FC */ cpu->r[0] = cpu->r[0] ^ cpu->r[3];
|
|
/* 021BA500 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 021BA504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021BA508 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA50C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA510 */ cpu->lr = cpu->r[0];
|
|
/* 021BA514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA518 */ return;
|
|
}
|
|
|
|
// fn_021BA4D8 @ 0x21ba4d8
|
|
void Gambit_fn_021BA4D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BA4D8: ; // 0x21ba4d8
|
|
/* 021BA4D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA4D8 */ cpu->r[1] = _t0;
|
|
/* 021BA4DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA4E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA4E4 */ cpu->r[4] = 0x00010000u;
|
|
/* 021BA4E8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 021BA4EC */ cpu->r[4] = cpu->r[4] + 0xFFFFD270u;
|
|
/* 021BA4F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA4F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA4F4 */ Gambit_fn_02801E30(cpu);
|
|
/* 021BA4F8 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 021BA4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA4FC */ cpu->r[0] = cpu->r[0] ^ cpu->r[3];
|
|
/* 021BA500 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 021BA504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 021BA508 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA50C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA510 */ cpu->lr = cpu->r[0];
|
|
/* 021BA514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA518 */ return;
|
|
}
|
|
|
|
// fn_021BA51C @ 0x21ba51c
|
|
void Gambit_fn_021BA51C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BA51C: ; // 0x21ba51c
|
|
/* 021BA51C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021BA520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA520 */ cpu->r[1] = _t0;
|
|
/* 021BA524 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021BA528 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021BA52C */ _t1 = cpu->r[10] + 0x0000102Cu;
|
|
/* 021BA52C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021BA52C */ cpu->r[10] = _t1;
|
|
/* 021BA530 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021BA534 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021BA534 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021BA538 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021BA53C */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA540 */ _t3 = cpu->r[7] + 0x0000103Cu;
|
|
/* 021BA540 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021BA540 */ cpu->r[7] = _t3;
|
|
/* 021BA544 */ _t4 = cpu->r[8] + 0x00001034u;
|
|
/* 021BA544 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021BA544 */ cpu->r[8] = _t4;
|
|
/* 021BA548 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BA54C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA54C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BA550 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA554 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA554 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BA558 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BA55C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021BA55C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021BA560 */ _t8 = cpu->r[8] + 0x0000104Cu;
|
|
/* 021BA560 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021BA560 */ cpu->r[8] = _t8;
|
|
/* 021BA564 */ _t9 = cpu->r[12] + 0x00001044u;
|
|
/* 021BA564 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021BA564 */ cpu->r[12] = _t9;
|
|
/* 021BA568 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021BA568 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021BA56C */ cpu->r[0] = 0x00000004u;
|
|
/* 021BA570 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA570 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BA574 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021BA578 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA578 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BA57C */ _t13 = cpu->r[11] + 0x00001054u;
|
|
/* 021BA57C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021BA580 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA584 */ return;
|
|
}
|
|
|
|
// fn_021BA520 @ 0x21ba520
|
|
void Gambit_fn_021BA520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BA520: ; // 0x21ba520
|
|
/* 021BA520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA520 */ cpu->r[1] = _t0;
|
|
/* 021BA524 */ cpu->r[10] = 0x101E0000u;
|
|
/* 021BA528 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021BA52C */ _t1 = cpu->r[10] + 0x0000102Cu;
|
|
/* 021BA52C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021BA52C */ cpu->r[10] = _t1;
|
|
/* 021BA530 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021BA534 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021BA534 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021BA538 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021BA53C */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA540 */ _t3 = cpu->r[7] + 0x0000103Cu;
|
|
/* 021BA540 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021BA540 */ cpu->r[7] = _t3;
|
|
/* 021BA544 */ _t4 = cpu->r[8] + 0x00001034u;
|
|
/* 021BA544 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021BA544 */ cpu->r[8] = _t4;
|
|
/* 021BA548 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BA54C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA54C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BA550 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA554 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA554 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BA558 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BA55C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021BA55C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021BA560 */ _t8 = cpu->r[8] + 0x0000104Cu;
|
|
/* 021BA560 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021BA560 */ cpu->r[8] = _t8;
|
|
/* 021BA564 */ _t9 = cpu->r[12] + 0x00001044u;
|
|
/* 021BA564 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021BA564 */ cpu->r[12] = _t9;
|
|
/* 021BA568 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021BA568 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021BA56C */ cpu->r[0] = 0x00000004u;
|
|
/* 021BA570 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA570 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BA574 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021BA578 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA578 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BA57C */ _t13 = cpu->r[11] + 0x00001054u;
|
|
/* 021BA57C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021BA580 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA584 */ return;
|
|
}
|
|
|
|
// fn_021BA588 @ 0x21ba588
|
|
void Gambit_fn_021BA588(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_021BA588: ; // 0x21ba588
|
|
/* 021BA588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA58C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA58C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BA58C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA58C */ goto L_021BA590;
|
|
L_021BA590: ; // 0x21ba590
|
|
/* 021BA590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BA590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BA594 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA594 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BA594 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA594 */ goto L_021BA598;
|
|
L_021BA598: ; // 0x21ba598
|
|
/* 021BA598 */ 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_021BA59C @ 0x21ba59c
|
|
void Gambit_fn_021BA59C(CPUState* cpu) {
|
|
L_021BA59C: ; // 0x21ba59c
|
|
/* 021BA59C */ return;
|
|
}
|
|
|
|
// fn_021BA5A4 @ 0x21ba5a4
|
|
void Gambit_fn_021BA5A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA5A4: ; // 0x21ba5a4
|
|
/* 021BA5A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA5A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA5A4 */ cpu->r[1] = _t0;
|
|
/* 021BA5A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA5A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA5AC */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA5B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA5B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA5B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA5B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021BA5B4 */ if (_t4) goto L_021BA5B8; else goto L_021BA5C8;
|
|
L_021BA5B8: ; // 0x21ba5b8
|
|
/* 021BA5B8 */ cpu->r[3] = 0x00000030u;
|
|
/* 021BA5BC */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA5C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA5C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA5C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021BA5C4 */ if (_t6) goto L_021BA5E0; else goto L_021BA5C8;
|
|
L_021BA5C8: ; // 0x21ba5c8
|
|
/* 021BA5C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA5CC */ Gambit_fn_02171490(cpu);
|
|
/* 021BA5D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA5D4 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021BA5D8 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA5DC */ Gambit_fn_02838654(cpu);
|
|
L_021BA5E0: ; // 0x21ba5e0
|
|
/* 021BA5E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA5E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA5E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA5EC */ cpu->lr = cpu->r[0];
|
|
/* 021BA5F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA5F4 */ return;
|
|
}
|
|
|
|
// fn_021BA5FC @ 0x21ba5fc
|
|
void Gambit_fn_021BA5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA5FC: ; // 0x21ba5fc
|
|
/* 021BA5FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA5FC */ cpu->r[1] = _t0;
|
|
/* 021BA600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA604 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA608 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA60C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA60C */ _t4 = _t3 & 0x00000001u;
|
|
/* 021BA60C */ if (_t4) goto L_021BA610; else goto L_021BA620;
|
|
L_021BA610: ; // 0x21ba610
|
|
/* 021BA610 */ cpu->r[3] = 0x00000028u;
|
|
/* 021BA614 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA618 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA61C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA61C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021BA61C */ if (_t6) goto L_021BA638; else goto L_021BA620;
|
|
L_021BA620: ; // 0x21ba620
|
|
/* 021BA620 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA624 */ Gambit_fn_02171048(cpu);
|
|
/* 021BA628 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA62C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 021BA630 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA634 */ Gambit_fn_02838654(cpu);
|
|
L_021BA638: ; // 0x21ba638
|
|
/* 021BA638 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA63C */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA640 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA644 */ cpu->lr = cpu->r[0];
|
|
/* 021BA648 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA64C */ return;
|
|
}
|
|
|
|
// fn_021BA654 @ 0x21ba654
|
|
void Gambit_fn_021BA654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021BA654: ; // 0x21ba654
|
|
/* 021BA654 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA654 */ cpu->r[1] = _t0;
|
|
/* 021BA658 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA65C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA65C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA660 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA660 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA664 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA664 */ _t4 = _t3 & 0x00000001u;
|
|
/* 021BA664 */ if (_t4) goto L_021BA668; else goto L_021BA678;
|
|
L_021BA668: ; // 0x21ba668
|
|
/* 021BA668 */ cpu->r[3] = 0x00000040u;
|
|
/* 021BA66C */ Gambit_fn_02801A78(cpu);
|
|
/* 021BA670 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BA670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BA674 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA674 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021BA674 */ if (_t6) goto L_021BA6A8; else goto L_021BA678;
|
|
L_021BA678: ; // 0x21ba678
|
|
/* 021BA678 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021BA67C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 021BA680 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 021BA680 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BA684 */ Gambit_fn_02171490(cpu);
|
|
/* 021BA688 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA68C */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 021BA690 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA694 */ Gambit_fn_02838654(cpu);
|
|
/* 021BA698 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BA69C */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 021BA6A0 */ cpu->r[5] = cpu->r[6];
|
|
/* 021BA6A4 */ Gambit_fn_02838654(cpu);
|
|
L_021BA6A8: ; // 0x21ba6a8
|
|
/* 021BA6A8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA6AC */ cpu->r[3] = cpu->r[31];
|
|
/* 021BA6B0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BA6B4 */ cpu->lr = cpu->r[0];
|
|
/* 021BA6B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA6BC */ return;
|
|
}
|
|
|
|
// fn_021BA6C0 @ 0x21ba6c0
|
|
void Gambit_fn_021BA6C0(CPUState* cpu) {
|
|
L_021BA6C0: ; // 0x21ba6c0
|
|
/* 021BA6C0 */ cpu->r[3] = 0x00010000u;
|
|
/* 021BA6C4 */ cpu->r[3] = cpu->r[3] + 0xFFFFD280u;
|
|
/* 021BA6C8 */ return;
|
|
}
|
|
|
|
// fn_021BA6CC @ 0x21ba6cc
|
|
void Gambit_fn_021BA6CC(CPUState* cpu) {
|
|
L_021BA6CC: ; // 0x21ba6cc
|
|
/* 021BA6CC */ cpu->r[3] = 0x0000002Eu;
|
|
/* 021BA6D0 */ return;
|
|
}
|
|
|
|
// fn_021BA6D4 @ 0x21ba6d4
|
|
void Gambit_fn_021BA6D4(CPUState* cpu) {
|
|
L_021BA6D4: ; // 0x21ba6d4
|
|
/* 021BA6D4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
|
|
/* 021BA6D8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BA6DC */ cpu->r[12] = cpu->r[12] + 0xFFFFADD8u;
|
|
/* 021BA6E0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 021BA6E4 */ return;
|
|
}
|
|
|
|
// fn_021BA6E8 @ 0x21ba6e8
|
|
void Gambit_fn_021BA6E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021BA6E8: ; // 0x21ba6e8
|
|
/* 021BA6E8 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA6EC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BA6EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BA6F0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA6F4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BA6F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BA6F4 */ cpu->r[1] = _t1;
|
|
/* 021BA6F8 */ _t2 = cpu->r[3] + 0x00001358u;
|
|
/* 021BA6F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA6FC */ Gambit_fn_0202E51C(cpu);
|
|
/* 021BA700 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA704 */ _t3 = cpu->r[3] + 0x00003630u;
|
|
/* 021BA704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA708 */ Gambit_fn_020B31DC(cpu);
|
|
/* 021BA70C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA710 */ _t4 = cpu->r[3] + 0x00004364u;
|
|
/* 021BA710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA714 */ Gambit_fn_02160AAC(cpu);
|
|
/* 021BA718 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA71C */ _t5 = cpu->r[3] + 0x000033F4u;
|
|
/* 021BA71C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA720 */ Gambit_fn_02066C38(cpu);
|
|
/* 021BA724 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA728 */ _t6 = cpu->r[3] + 0x0000370Cu;
|
|
/* 021BA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA72C */ Gambit_fn_02105C44(cpu);
|
|
/* 021BA730 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA734 */ _t7 = cpu->r[12] + 0xFFFF97C0u;
|
|
/* 021BA734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA738 */ cpu->r[0] = 0x00000000u;
|
|
/* 021BA73C */ _t8 = cpu->r[12] + 0x0000015Cu;
|
|
/* 021BA73C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021BA740 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BA744 */ cpu->lr = cpu->r[0];
|
|
/* 021BA748 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA74C */ return;
|
|
}
|
|
|
|
// fn_021BA6F4 @ 0x21ba6f4
|
|
void Gambit_fn_021BA6F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA6F4: ; // 0x21ba6f4
|
|
/* 021BA6F4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BA6F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA6F4 */ cpu->r[1] = _t0;
|
|
/* 021BA6F8 */ _t1 = cpu->r[3] + 0x00001358u;
|
|
/* 021BA6F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BA6FC */ Gambit_fn_0202E51C(cpu);
|
|
/* 021BA700 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA704 */ _t2 = cpu->r[3] + 0x00003630u;
|
|
/* 021BA704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA708 */ Gambit_fn_020B31DC(cpu);
|
|
/* 021BA70C */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA710 */ _t3 = cpu->r[3] + 0x00004364u;
|
|
/* 021BA710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA714 */ Gambit_fn_02160AAC(cpu);
|
|
/* 021BA718 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA71C */ _t4 = cpu->r[3] + 0x000033F4u;
|
|
/* 021BA71C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA720 */ Gambit_fn_02066C38(cpu);
|
|
/* 021BA724 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA728 */ _t5 = cpu->r[3] + 0x0000370Cu;
|
|
/* 021BA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA72C */ Gambit_fn_02105C44(cpu);
|
|
/* 021BA730 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021BA734 */ _t6 = cpu->r[12] + 0xFFFF97C0u;
|
|
/* 021BA734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA738 */ cpu->r[0] = 0x00000000u;
|
|
/* 021BA73C */ _t7 = cpu->r[12] + 0x0000015Cu;
|
|
/* 021BA73C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BA740 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA744 */ cpu->lr = cpu->r[0];
|
|
/* 021BA748 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA74C */ return;
|
|
}
|
|
|
|
// fn_021BA750 @ 0x21ba750
|
|
void Gambit_fn_021BA750(CPUState* cpu) {
|
|
uint32_t _t0, _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_0217ADBC: ; // 0x217adbc
|
|
/* 0217ADBC */ _t0 = cpu->r[3] + 0x0000026Cu;
|
|
/* 0217ADBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0217ADC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0217ADC4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0217ADC4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0217ADC4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0217ADC4 */ goto L_0217ADC8;
|
|
L_0217ADC8: ; // 0x217adc8
|
|
/* 0217ADC8 */ goto L_026F099C;
|
|
L_021BA750: ; // 0x21ba750
|
|
/* 021BA750 */ cpu->r[3] = 0x101C0000u;
|
|
/* 021BA754 */ _t3 = cpu->r[3] + 0x000044E4u;
|
|
/* 021BA754 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA75C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA75C */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BA75C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA75C */ goto L_021BA760;
|
|
L_021BA760: ; // 0x21ba760
|
|
/* 021BA760 */ goto L_0217ADBC;
|
|
L_026F099C: ; // 0x26f099c
|
|
/* 026F099C */ cpu->r[0] = cpu->lr;
|
|
/* 026F09A0 */ _t6 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 026F09A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 026F09A0 */ cpu->r[1] = _t6;
|
|
/* 026F09A4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 026F09A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 026F09A8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 026F09A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 026F09AC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 026F09AC */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 026F09B0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 026F09B4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 026F09B4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 026F09B8 */ _t11 = cpu->r[12] + 0xFFFFAEA8u;
|
|
/* 026F09B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 026F09BC */ cpu->r[30] = cpu->r[12] + 0x0000005Cu;
|
|
/* 026F09C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 026F09C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 026F09C8 */ Gambit_fn_02836FFC(cpu);
|
|
/* 026F09CC */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 026F09CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 026F09D0 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 026F09D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 026F09D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 026F09D8 */ cpu->r[29] = cpu->r[31] + cpu->r[0];
|
|
/* 026F09DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 026F09E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026F09E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 026F09E0 */ if (_t15) goto L_026F0A04; else goto L_026F09E4;
|
|
L_026F09E4: ; // 0x26f09e4
|
|
/* 026F09E4 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 026F09E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 026F09E8 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 026F09E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 026F09EC */ _t18 = cpu->r[10] + 0x0000002Cu;
|
|
/* 026F09EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 026F09F0 */ cpu->ctr = cpu->r[0];
|
|
/* 026F09F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026F09F8 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 026F09FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 026F0A00 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026F0A00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 026F0A00 */ if (_t20) goto L_026F0A04; else goto L_026F09E4;
|
|
L_026F0A04: ; // 0x26f0a04
|
|
/* 026F0A04 */ cpu->r[3] = cpu->r[30];
|
|
/* 026F0A08 */ Gambit_fn_02837030(cpu);
|
|
/* 026F0A0C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 026F0A0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 026F0A10 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 026F0A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 026F0A14 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 026F0A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 026F0A18 */ cpu->lr = cpu->r[0];
|
|
/* 026F0A1C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 026F0A1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 026F0A20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 026F0A24 */ return;
|
|
}
|
|
|
|
// fn_021BA764 @ 0x21ba764
|
|
void Gambit_fn_021BA764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021BA764: ; // 0x21ba764
|
|
/* 021BA764 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA768 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BA76C */ cpu->r[12] = cpu->r[12] + 0xFFFFB000u;
|
|
/* 021BA770 */ cpu->r[5] = 0x00000001u;
|
|
/* 021BA774 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BA774 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BA778 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA77C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA77C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BA77C */ cpu->r[1] = _t1;
|
|
/* 021BA780 */ cpu->r[0] = cpu->r[0] + 0xFFFFABF8u;
|
|
/* 021BA784 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA784 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 021BA788 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA78C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA78C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BA790 */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA794 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA798 */ cpu->lr = cpu->r[0];
|
|
/* 021BA79C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA7A0 */ return;
|
|
}
|
|
|
|
// fn_021BA77C @ 0x21ba77c
|
|
void Gambit_fn_021BA77C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021BA77C: ; // 0x21ba77c
|
|
/* 021BA77C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA77C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA77C */ cpu->r[1] = _t0;
|
|
/* 021BA780 */ cpu->r[0] = cpu->r[0] + 0xFFFFABF8u;
|
|
/* 021BA784 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA784 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 021BA788 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA78C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA78C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA790 */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA794 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA798 */ cpu->lr = cpu->r[0];
|
|
/* 021BA79C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA7A0 */ return;
|
|
}
|
|
|
|
// fn_021BA7A4 @ 0x21ba7a4
|
|
void Gambit_fn_021BA7A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021BA7A4: ; // 0x21ba7a4
|
|
/* 021BA7A4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA7A8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BA7A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BA7AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BA7B0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA7B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BA7B0 */ cpu->r[1] = _t1;
|
|
/* 021BA7B4 */ _t2 = cpu->r[12] + 0x00001350u;
|
|
/* 021BA7B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA7B8 */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 021BA7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA7BC */ cpu->r[12] = 0x10030000u;
|
|
/* 021BA7C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 021BA7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BA7C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFABF8u;
|
|
/* 021BA7CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA7CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BA7CC */ if (_t5) goto L_021BA7F8; else goto L_021BA7D0;
|
|
L_021BA7D0: ; // 0x21ba7d0
|
|
/* 021BA7D0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA7D4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA7D4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021BA7D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB010u;
|
|
/* 021BA7DC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA7E0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 021BA7E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BA7E4 */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA7E8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA7EC */ cpu->lr = cpu->r[0];
|
|
/* 021BA7F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA7F4 */ return;
|
|
L_021BA7F8: ; // 0x21ba7f8
|
|
/* 021BA7F8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA7FC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA7FC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021BA800 */ cpu->r[0] = cpu->r[0] + 0xFFFFB008u;
|
|
/* 021BA804 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA808 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA808 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021BA80C */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA810 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BA814 */ cpu->lr = cpu->r[0];
|
|
/* 021BA818 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA81C */ return;
|
|
}
|
|
|
|
// fn_021BA7B0 @ 0x21ba7b0
|
|
void Gambit_fn_021BA7B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021BA7B0: ; // 0x21ba7b0
|
|
/* 021BA7B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA7B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA7B0 */ cpu->r[1] = _t0;
|
|
/* 021BA7B4 */ _t1 = cpu->r[12] + 0x00001350u;
|
|
/* 021BA7B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BA7B8 */ _t2 = cpu->r[12] + 0x00000010u;
|
|
/* 021BA7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BA7BC */ cpu->r[12] = 0x10030000u;
|
|
/* 021BA7C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 021BA7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BA7C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFABF8u;
|
|
/* 021BA7CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA7CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 021BA7CC */ if (_t4) goto L_021BA7F8; else goto L_021BA7D0;
|
|
L_021BA7D0: ; // 0x21ba7d0
|
|
/* 021BA7D0 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA7D4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA7D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 021BA7D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFB010u;
|
|
/* 021BA7DC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA7E0 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 021BA7E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BA7E4 */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA7E8 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA7EC */ cpu->lr = cpu->r[0];
|
|
/* 021BA7F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA7F4 */ return;
|
|
L_021BA7F8: ; // 0x21ba7f8
|
|
/* 021BA7F8 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BA7FC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA7FC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 021BA800 */ cpu->r[0] = cpu->r[0] + 0xFFFFB008u;
|
|
/* 021BA804 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BA808 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA808 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BA80C */ Gambit_fn_027D4FA0(cpu);
|
|
/* 021BA810 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BA810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BA814 */ cpu->lr = cpu->r[0];
|
|
/* 021BA818 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA81C */ return;
|
|
}
|
|
|
|
// fn_021BA820 @ 0x21ba820
|
|
void Gambit_fn_021BA820(CPUState* cpu) {
|
|
L_021BA820: ; // 0x21ba820
|
|
/* 021BA820 */ return;
|
|
}
|
|
|
|
// fn_021BA824 @ 0x21ba824
|
|
void Gambit_fn_021BA824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BA824: ; // 0x21ba824
|
|
/* 021BA824 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 021BA828 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA828 */ cpu->r[1] = _t0;
|
|
/* 021BA82C */ cpu->r[10] = 0x101E0000u;
|
|
/* 021BA830 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021BA834 */ _t1 = cpu->r[10] + 0x00001058u;
|
|
/* 021BA834 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021BA834 */ cpu->r[10] = _t1;
|
|
/* 021BA838 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021BA83C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021BA83C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021BA840 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021BA844 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA848 */ _t3 = cpu->r[7] + 0x00001068u;
|
|
/* 021BA848 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021BA848 */ cpu->r[7] = _t3;
|
|
/* 021BA84C */ _t4 = cpu->r[8] + 0x00001060u;
|
|
/* 021BA84C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021BA84C */ cpu->r[8] = _t4;
|
|
/* 021BA850 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BA854 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA854 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BA858 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA85C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA85C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BA860 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BA864 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021BA864 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021BA868 */ _t8 = cpu->r[8] + 0x00001078u;
|
|
/* 021BA868 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021BA868 */ cpu->r[8] = _t8;
|
|
/* 021BA86C */ _t9 = cpu->r[12] + 0x00001070u;
|
|
/* 021BA86C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021BA86C */ cpu->r[12] = _t9;
|
|
/* 021BA870 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021BA870 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021BA874 */ cpu->r[0] = 0x00000004u;
|
|
/* 021BA878 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA878 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BA87C */ cpu->r[11] = 0x101E0000u;
|
|
/* 021BA880 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BA884 */ _t13 = cpu->r[11] + 0x00001080u;
|
|
/* 021BA884 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021BA888 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA88C */ return;
|
|
}
|
|
|
|
// fn_021BA828 @ 0x21ba828
|
|
void Gambit_fn_021BA828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BA828: ; // 0x21ba828
|
|
/* 021BA828 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BA828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA828 */ cpu->r[1] = _t0;
|
|
/* 021BA82C */ cpu->r[10] = 0x101E0000u;
|
|
/* 021BA830 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 021BA834 */ _t1 = cpu->r[10] + 0x00001058u;
|
|
/* 021BA834 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 021BA834 */ cpu->r[10] = _t1;
|
|
/* 021BA838 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021BA83C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 021BA83C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 021BA840 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 021BA844 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA848 */ _t3 = cpu->r[7] + 0x00001068u;
|
|
/* 021BA848 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 021BA848 */ cpu->r[7] = _t3;
|
|
/* 021BA84C */ _t4 = cpu->r[8] + 0x00001060u;
|
|
/* 021BA84C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 021BA84C */ cpu->r[8] = _t4;
|
|
/* 021BA850 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BA854 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA854 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BA858 */ cpu->r[8] = 0x101E0000u;
|
|
/* 021BA85C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA85C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BA860 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BA864 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 021BA864 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021BA868 */ _t8 = cpu->r[8] + 0x00001078u;
|
|
/* 021BA868 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 021BA868 */ cpu->r[8] = _t8;
|
|
/* 021BA86C */ _t9 = cpu->r[12] + 0x00001070u;
|
|
/* 021BA86C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 021BA86C */ cpu->r[12] = _t9;
|
|
/* 021BA870 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 021BA870 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 021BA874 */ cpu->r[0] = 0x00000004u;
|
|
/* 021BA878 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 021BA878 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BA87C */ cpu->r[11] = 0x101E0000u;
|
|
/* 021BA880 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021BA880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BA884 */ _t13 = cpu->r[11] + 0x00001080u;
|
|
/* 021BA884 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 021BA888 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BA88C */ return;
|
|
}
|
|
|
|
// fn_021BA890 @ 0x21ba890
|
|
void Gambit_fn_021BA890(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_021BA890: ; // 0x21ba890
|
|
/* 021BA890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BA894 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA894 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BA894 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA894 */ goto L_021BA898;
|
|
L_021BA898: ; // 0x21ba898
|
|
/* 021BA898 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BA898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BA89C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BA89C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BA89C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BA89C */ goto L_021BA8A0;
|
|
L_021BA8A0: ; // 0x21ba8a0
|
|
/* 021BA8A0 */ 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_021BA8A4 @ 0x21ba8a4
|
|
void Gambit_fn_021BA8A4(CPUState* cpu) {
|
|
L_021BA8A4: ; // 0x21ba8a4
|
|
/* 021BA8A4 */ return;
|
|
}
|
|
|
|
// fn_021BA8A8 @ 0x21ba8a8
|
|
void Gambit_fn_021BA8A8(CPUState* cpu) {
|
|
L_021BA8A8: ; // 0x21ba8a8
|
|
/* 021BA8A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BA8AC */ return;
|
|
}
|
|
|
|
// fn_021BA8B0 @ 0x21ba8b0
|
|
void Gambit_fn_021BA8B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA8B0: ; // 0x21ba8b0
|
|
/* 021BA8B0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA8B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA8B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA8B4 */ cpu->r[1] = _t0;
|
|
/* 021BA8B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA8B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA8BC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA8C0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA8C4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA8C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA8C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA8CC */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA8D0 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA8D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA8D4 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA8D8 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA8E0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA8E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA8E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA8EC */ Gambit_fn_027052E0(cpu);
|
|
/* 021BA8F0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA8F4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA8F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA8F8 */ cpu->lr = cpu->r[0];
|
|
/* 021BA8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA900 */ return;
|
|
}
|
|
|
|
// fn_021BA8B4 @ 0x21ba8b4
|
|
void Gambit_fn_021BA8B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA8B4: ; // 0x21ba8b4
|
|
/* 021BA8B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA8B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA8B4 */ cpu->r[1] = _t0;
|
|
/* 021BA8B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA8B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA8BC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA8C0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA8C4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA8C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA8C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA8CC */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA8D0 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA8D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA8D4 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA8D8 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA8E0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA8E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA8E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA8EC */ Gambit_fn_027052E0(cpu);
|
|
/* 021BA8F0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA8F4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA8F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA8F8 */ cpu->lr = cpu->r[0];
|
|
/* 021BA8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA900 */ return;
|
|
}
|
|
|
|
// fn_021BA904 @ 0x21ba904
|
|
void Gambit_fn_021BA904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA904: ; // 0x21ba904
|
|
/* 021BA904 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA908 */ cpu->r[1] = _t0;
|
|
/* 021BA90C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA90C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA910 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA914 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA918 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA91C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA91C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA920 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA924 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA924 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA928 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA92C */ cpu->ctr = cpu->r[0];
|
|
/* 021BA930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA934 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA934 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA938 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA93C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA940 */ Gambit_fn_0278B0D0(cpu);
|
|
/* 021BA944 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA948 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA94C */ cpu->lr = cpu->r[0];
|
|
/* 021BA950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA954 */ return;
|
|
}
|
|
|
|
// fn_021BA908 @ 0x21ba908
|
|
void Gambit_fn_021BA908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA908: ; // 0x21ba908
|
|
/* 021BA908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA908 */ cpu->r[1] = _t0;
|
|
/* 021BA90C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA90C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA910 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA914 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA918 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA91C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA91C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA920 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA924 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA924 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA928 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA92C */ cpu->ctr = cpu->r[0];
|
|
/* 021BA930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA934 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA934 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA938 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA93C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA940 */ Gambit_fn_0278B0D0(cpu);
|
|
/* 021BA944 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA948 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA94C */ cpu->lr = cpu->r[0];
|
|
/* 021BA950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA954 */ return;
|
|
}
|
|
|
|
// fn_021BA958 @ 0x21ba958
|
|
void Gambit_fn_021BA958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA958: ; // 0x21ba958
|
|
/* 021BA958 */ cpu->r[0] = cpu->lr;
|
|
/* 021BA95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA95C */ cpu->r[1] = _t0;
|
|
/* 021BA960 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA960 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA964 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA968 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA96C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA970 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA970 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA974 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA978 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA97C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA980 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA984 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA988 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA988 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA98C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA990 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA994 */ Gambit_fn_0274A78C(cpu);
|
|
/* 021BA998 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA99C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA9A0 */ cpu->lr = cpu->r[0];
|
|
/* 021BA9A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA9A8 */ return;
|
|
}
|
|
|
|
// fn_021BA95C @ 0x21ba95c
|
|
void Gambit_fn_021BA95C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA95C: ; // 0x21ba95c
|
|
/* 021BA95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA95C */ cpu->r[1] = _t0;
|
|
/* 021BA960 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA960 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA964 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA968 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA96C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA970 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA970 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA974 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA978 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA97C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA980 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA984 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA988 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA988 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA98C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA990 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA994 */ Gambit_fn_0274A78C(cpu);
|
|
/* 021BA998 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA99C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA99C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA9A0 */ cpu->lr = cpu->r[0];
|
|
/* 021BA9A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA9A8 */ return;
|
|
}
|
|
|
|
// fn_021BA9AC @ 0x21ba9ac
|
|
void Gambit_fn_021BA9AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA9AC: ; // 0x21ba9ac
|
|
/* 021BA9AC */ cpu->r[0] = cpu->lr;
|
|
/* 021BA9B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA9B0 */ cpu->r[1] = _t0;
|
|
/* 021BA9B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA9B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA9B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA9BC */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA9C0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA9C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA9C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA9C8 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA9CC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA9CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA9D0 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA9D4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA9D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA9DC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA9DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA9E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA9E4 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA9E8 */ Gambit_fn_02752BDC(cpu);
|
|
/* 021BA9EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA9F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA9F4 */ cpu->lr = cpu->r[0];
|
|
/* 021BA9F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA9FC */ return;
|
|
}
|
|
|
|
// fn_021BA9B0 @ 0x21ba9b0
|
|
void Gambit_fn_021BA9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BA9B0: ; // 0x21ba9b0
|
|
/* 021BA9B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BA9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BA9B0 */ cpu->r[1] = _t0;
|
|
/* 021BA9B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA9B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BA9B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BA9BC */ cpu->r[4] = cpu->r[3];
|
|
/* 021BA9C0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BA9C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA9C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BA9C8 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BA9C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BA9CC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA9CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BA9D0 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BA9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BA9D4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BA9D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BA9DC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BA9DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BA9E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BA9E4 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BA9E8 */ Gambit_fn_02752BDC(cpu);
|
|
/* 021BA9EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BA9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BA9F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BA9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BA9F4 */ cpu->lr = cpu->r[0];
|
|
/* 021BA9F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BA9FC */ return;
|
|
}
|
|
|
|
// fn_021BAA00 @ 0x21baa00
|
|
void Gambit_fn_021BAA00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAA00: ; // 0x21baa00
|
|
/* 021BAA00 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAA04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAA04 */ cpu->r[1] = _t0;
|
|
/* 021BAA08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAA0C */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAA10 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAA14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAA18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAA1C */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAA20 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAA24 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAA28 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAA2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAA30 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAA34 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAA38 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAA3C */ Gambit_fn_02783A00(cpu);
|
|
/* 021BAA40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAA44 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAA48 */ cpu->lr = cpu->r[0];
|
|
/* 021BAA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAA50 */ return;
|
|
}
|
|
|
|
// fn_021BAA04 @ 0x21baa04
|
|
void Gambit_fn_021BAA04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAA04: ; // 0x21baa04
|
|
/* 021BAA04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAA04 */ cpu->r[1] = _t0;
|
|
/* 021BAA08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAA0C */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAA10 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAA14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAA18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAA1C */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAA20 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAA24 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAA28 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAA2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAA30 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAA34 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAA38 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAA3C */ Gambit_fn_02783A00(cpu);
|
|
/* 021BAA40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAA44 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAA48 */ cpu->lr = cpu->r[0];
|
|
/* 021BAA4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAA50 */ return;
|
|
}
|
|
|
|
// fn_021BAA54 @ 0x21baa54
|
|
void Gambit_fn_021BAA54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAA54: ; // 0x21baa54
|
|
/* 021BAA54 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAA58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAA58 */ cpu->r[1] = _t0;
|
|
/* 021BAA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAA60 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAA64 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAA68 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAA6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAA70 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAA74 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAA78 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAA7C */ cpu->ctr = cpu->r[0];
|
|
/* 021BAA80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAA84 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAA88 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAA8C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAA90 */ Gambit_fn_0277ABC0(cpu);
|
|
/* 021BAA94 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAA98 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAA9C */ cpu->lr = cpu->r[0];
|
|
/* 021BAAA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAAA4 */ return;
|
|
}
|
|
|
|
// fn_021BAA58 @ 0x21baa58
|
|
void Gambit_fn_021BAA58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAA58: ; // 0x21baa58
|
|
/* 021BAA58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAA58 */ cpu->r[1] = _t0;
|
|
/* 021BAA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAA60 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAA64 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAA68 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAA6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAA70 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAA70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAA74 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAA78 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAA7C */ cpu->ctr = cpu->r[0];
|
|
/* 021BAA80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAA84 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAA84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAA88 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAA8C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAA90 */ Gambit_fn_0277ABC0(cpu);
|
|
/* 021BAA94 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAA98 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAA98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAA9C */ cpu->lr = cpu->r[0];
|
|
/* 021BAAA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAAA4 */ return;
|
|
}
|
|
|
|
// fn_021BAAA8 @ 0x21baaa8
|
|
void Gambit_fn_021BAAA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAAA8: ; // 0x21baaa8
|
|
/* 021BAAA8 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAAAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAAAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAAAC */ cpu->r[1] = _t0;
|
|
/* 021BAAB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAAB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAAB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAAB8 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAABC */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAAC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAAC4 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAAC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAAC8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAAC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAACC */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAAD0 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAAD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAAD8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAAD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAADC */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAAE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAAE4 */ Gambit_fn_027152C0(cpu);
|
|
/* 021BAAE8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAAEC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAAF0 */ cpu->lr = cpu->r[0];
|
|
/* 021BAAF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAAF8 */ return;
|
|
}
|
|
|
|
// fn_021BAAAC @ 0x21baaac
|
|
void Gambit_fn_021BAAAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAAAC: ; // 0x21baaac
|
|
/* 021BAAAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAAAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAAAC */ cpu->r[1] = _t0;
|
|
/* 021BAAB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAAB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAAB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAAB8 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAABC */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAAC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAAC4 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAAC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAAC8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAAC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAACC */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAAD0 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAAD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAAD8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAAD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAADC */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAAE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAAE4 */ Gambit_fn_027152C0(cpu);
|
|
/* 021BAAE8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAAEC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAAF0 */ cpu->lr = cpu->r[0];
|
|
/* 021BAAF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAAF8 */ return;
|
|
}
|
|
|
|
// fn_021BAAFC @ 0x21baafc
|
|
void Gambit_fn_021BAAFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAAFC: ; // 0x21baafc
|
|
/* 021BAAFC */ cpu->r[0] = cpu->lr;
|
|
/* 021BAB00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAB00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAB00 */ cpu->r[1] = _t0;
|
|
/* 021BAB04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAB08 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAB0C */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAB10 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAB14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAB18 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAB1C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAB20 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAB24 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAB28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAB2C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAB30 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAB34 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAB38 */ Gambit_fn_02760E74(cpu);
|
|
/* 021BAB3C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAB40 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAB44 */ cpu->lr = cpu->r[0];
|
|
/* 021BAB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAB4C */ return;
|
|
}
|
|
|
|
// fn_021BAB00 @ 0x21bab00
|
|
void Gambit_fn_021BAB00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAB00: ; // 0x21bab00
|
|
/* 021BAB00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAB00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAB00 */ cpu->r[1] = _t0;
|
|
/* 021BAB04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAB08 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAB0C */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAB10 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAB14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAB18 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAB1C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAB20 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAB24 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAB28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAB2C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAB30 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAB34 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAB38 */ Gambit_fn_02760E74(cpu);
|
|
/* 021BAB3C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAB40 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAB44 */ cpu->lr = cpu->r[0];
|
|
/* 021BAB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAB4C */ return;
|
|
}
|
|
|
|
// fn_021BAB50 @ 0x21bab50
|
|
void Gambit_fn_021BAB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAB50: ; // 0x21bab50
|
|
/* 021BAB50 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAB54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAB54 */ cpu->r[1] = _t0;
|
|
/* 021BAB58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAB5C */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAB60 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAB64 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAB68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAB6C */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAB6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAB70 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAB74 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAB78 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAB7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAB80 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAB84 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAB88 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAB8C */ Gambit_fn_027275B4(cpu);
|
|
/* 021BAB90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAB94 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAB98 */ cpu->lr = cpu->r[0];
|
|
/* 021BAB9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BABA0 */ return;
|
|
}
|
|
|
|
// fn_021BAB54 @ 0x21bab54
|
|
void Gambit_fn_021BAB54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAB54: ; // 0x21bab54
|
|
/* 021BAB54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAB54 */ cpu->r[1] = _t0;
|
|
/* 021BAB58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAB5C */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAB60 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAB64 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAB68 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAB6C */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAB6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAB70 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAB74 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAB78 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAB7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAB80 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAB80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAB84 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAB88 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAB8C */ Gambit_fn_027275B4(cpu);
|
|
/* 021BAB90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAB94 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAB94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAB98 */ cpu->lr = cpu->r[0];
|
|
/* 021BAB9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BABA0 */ return;
|
|
}
|
|
|
|
// fn_021BABA4 @ 0x21baba4
|
|
void Gambit_fn_021BABA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BABA4: ; // 0x21baba4
|
|
/* 021BABA4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BABA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BABA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BABA8 */ cpu->r[1] = _t0;
|
|
/* 021BABAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BABAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BABB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BABB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BABB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BABBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BABBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BABC0 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BABC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BABC4 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BABC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BABC8 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BABC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BABCC */ cpu->ctr = cpu->r[0];
|
|
/* 021BABD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BABD4 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BABD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BABD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BABDC */ cpu->r[4] = cpu->r[31];
|
|
/* 021BABE0 */ Gambit_fn_027197FC(cpu);
|
|
/* 021BABE4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BABE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BABE8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BABE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BABEC */ cpu->lr = cpu->r[0];
|
|
/* 021BABF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BABF4 */ return;
|
|
}
|
|
|
|
// fn_021BABA8 @ 0x21baba8
|
|
void Gambit_fn_021BABA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BABA8: ; // 0x21baba8
|
|
/* 021BABA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BABA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BABA8 */ cpu->r[1] = _t0;
|
|
/* 021BABAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BABAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BABB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BABB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BABB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BABBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BABBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BABC0 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BABC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BABC4 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BABC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BABC8 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BABC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BABCC */ cpu->ctr = cpu->r[0];
|
|
/* 021BABD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BABD4 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BABD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BABD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BABDC */ cpu->r[4] = cpu->r[31];
|
|
/* 021BABE0 */ Gambit_fn_027197FC(cpu);
|
|
/* 021BABE4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BABE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BABE8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BABE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BABEC */ cpu->lr = cpu->r[0];
|
|
/* 021BABF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BABF4 */ return;
|
|
}
|
|
|
|
// fn_021BABF8 @ 0x21babf8
|
|
void Gambit_fn_021BABF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BABF8: ; // 0x21babf8
|
|
/* 021BABF8 */ cpu->r[0] = cpu->lr;
|
|
/* 021BABFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BABFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BABFC */ cpu->r[1] = _t0;
|
|
/* 021BAC00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAC04 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAC08 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAC0C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAC10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAC14 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAC14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAC18 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAC1C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAC20 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAC24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAC28 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAC2C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAC30 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAC34 */ Gambit_fn_027356C0(cpu);
|
|
/* 021BAC38 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAC3C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAC40 */ cpu->lr = cpu->r[0];
|
|
/* 021BAC44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAC48 */ return;
|
|
}
|
|
|
|
// fn_021BABFC @ 0x21babfc
|
|
void Gambit_fn_021BABFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BABFC: ; // 0x21babfc
|
|
/* 021BABFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BABFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BABFC */ cpu->r[1] = _t0;
|
|
/* 021BAC00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAC04 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAC08 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAC0C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAC10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAC14 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAC14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAC18 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAC1C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAC20 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAC24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAC28 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAC2C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAC30 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAC34 */ Gambit_fn_027356C0(cpu);
|
|
/* 021BAC38 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAC3C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAC40 */ cpu->lr = cpu->r[0];
|
|
/* 021BAC44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAC48 */ return;
|
|
}
|
|
|
|
// fn_021BAC4C @ 0x21bac4c
|
|
void Gambit_fn_021BAC4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAC4C: ; // 0x21bac4c
|
|
/* 021BAC4C */ cpu->r[0] = cpu->lr;
|
|
/* 021BAC50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAC50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAC50 */ cpu->r[1] = _t0;
|
|
/* 021BAC54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAC58 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAC5C */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAC60 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAC64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAC68 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAC68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAC6C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAC70 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAC74 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAC78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAC7C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAC80 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAC84 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAC88 */ Gambit_fn_027572A4(cpu);
|
|
/* 021BAC8C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAC90 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAC94 */ cpu->lr = cpu->r[0];
|
|
/* 021BAC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAC9C */ return;
|
|
}
|
|
|
|
// fn_021BAC50 @ 0x21bac50
|
|
void Gambit_fn_021BAC50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAC50: ; // 0x21bac50
|
|
/* 021BAC50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAC50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAC50 */ cpu->r[1] = _t0;
|
|
/* 021BAC54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAC58 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAC5C */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAC60 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAC64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAC68 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAC68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAC6C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAC70 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAC74 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAC78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAC7C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAC7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAC80 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAC84 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAC88 */ Gambit_fn_027572A4(cpu);
|
|
/* 021BAC8C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAC90 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAC90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAC94 */ cpu->lr = cpu->r[0];
|
|
/* 021BAC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAC9C */ return;
|
|
}
|
|
|
|
// fn_021BACA0 @ 0x21baca0
|
|
void Gambit_fn_021BACA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BACA0: ; // 0x21baca0
|
|
/* 021BACA0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BACA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BACA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BACA4 */ cpu->r[1] = _t0;
|
|
/* 021BACA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BACAC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BACB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BACB4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BACB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BACBC */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BACBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BACC0 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BACC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BACC4 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BACC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BACC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021BACCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BACD0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BACD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BACD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BACD8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BACDC */ Gambit_fn_0278ABCC(cpu);
|
|
/* 021BACE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BACE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BACE4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BACE8 */ cpu->lr = cpu->r[0];
|
|
/* 021BACEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BACF0 */ return;
|
|
}
|
|
|
|
// fn_021BACA4 @ 0x21baca4
|
|
void Gambit_fn_021BACA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BACA4: ; // 0x21baca4
|
|
/* 021BACA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BACA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BACA4 */ cpu->r[1] = _t0;
|
|
/* 021BACA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BACAC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BACB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BACB4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BACB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BACBC */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BACBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BACC0 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BACC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BACC4 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BACC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BACC8 */ cpu->ctr = cpu->r[0];
|
|
/* 021BACCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BACD0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BACD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BACD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BACD8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BACDC */ Gambit_fn_0278ABCC(cpu);
|
|
/* 021BACE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BACE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BACE4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BACE8 */ cpu->lr = cpu->r[0];
|
|
/* 021BACEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BACF0 */ return;
|
|
}
|
|
|
|
// fn_021BACF4 @ 0x21bacf4
|
|
void Gambit_fn_021BACF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BACF4: ; // 0x21bacf4
|
|
/* 021BACF4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BACF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BACF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BACF8 */ cpu->r[1] = _t0;
|
|
/* 021BACFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAD00 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAD04 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAD08 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAD0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAD10 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAD10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAD14 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAD18 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAD1C */ cpu->ctr = cpu->r[0];
|
|
/* 021BAD20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAD24 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAD28 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAD2C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAD30 */ Gambit_fn_02756B70(cpu);
|
|
/* 021BAD34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAD38 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAD3C */ cpu->lr = cpu->r[0];
|
|
/* 021BAD40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAD44 */ return;
|
|
}
|
|
|
|
// fn_021BACF8 @ 0x21bacf8
|
|
void Gambit_fn_021BACF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BACF8: ; // 0x21bacf8
|
|
/* 021BACF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BACF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BACF8 */ cpu->r[1] = _t0;
|
|
/* 021BACFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BACFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAD00 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAD04 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAD08 */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAD0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAD10 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAD10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAD14 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAD18 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAD1C */ cpu->ctr = cpu->r[0];
|
|
/* 021BAD20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAD24 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAD28 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAD2C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAD30 */ Gambit_fn_02756B70(cpu);
|
|
/* 021BAD34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAD38 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAD3C */ cpu->lr = cpu->r[0];
|
|
/* 021BAD40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAD44 */ return;
|
|
}
|
|
|
|
// fn_021BAD48 @ 0x21bad48
|
|
void Gambit_fn_021BAD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAD48: ; // 0x21bad48
|
|
/* 021BAD48 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAD4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAD4C */ cpu->r[1] = _t0;
|
|
/* 021BAD50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAD54 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAD58 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAD5C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAD60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAD64 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAD64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAD68 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAD6C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAD70 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAD74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAD78 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAD7C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAD80 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAD84 */ Gambit_fn_027869E4(cpu);
|
|
/* 021BAD88 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAD8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAD90 */ cpu->lr = cpu->r[0];
|
|
/* 021BAD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAD98 */ return;
|
|
}
|
|
|
|
// fn_021BAD4C @ 0x21bad4c
|
|
void Gambit_fn_021BAD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_021BAD4C: ; // 0x21bad4c
|
|
/* 021BAD4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAD4C */ cpu->r[1] = _t0;
|
|
/* 021BAD50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAD54 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BAD58 */ cpu->r[4] = cpu->r[3];
|
|
/* 021BAD5C */ cpu->r[3] = 0x101D0000u;
|
|
/* 021BAD60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BAD64 */ _t3 = cpu->r[3] + 0xFFFF9574u;
|
|
/* 021BAD64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BAD68 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BAD6C */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 021BAD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BAD70 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAD74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAD78 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 021BAD78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BAD7C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAD80 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BAD84 */ Gambit_fn_027869E4(cpu);
|
|
/* 021BAD88 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BAD8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAD90 */ cpu->lr = cpu->r[0];
|
|
/* 021BAD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BAD98 */ return;
|
|
}
|
|
|
|
// fn_021BAD9C @ 0x21bad9c
|
|
void Gambit_fn_021BAD9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_021BAD9C: ; // 0x21bad9c
|
|
/* 021BAD9C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021BAD9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAD9C */ cpu->r[1] = _t0;
|
|
/* 021BADA0 */ /* nop */
|
|
/* 021BADA4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BADA8 */ cpu->r[23] = 0x00080000u;
|
|
/* 021BADAC */ cpu->r[25] = 0x101C0000u;
|
|
/* 021BADB0 */ cpu->r[24] = 0x10030000u;
|
|
/* 021BADB4 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BADB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021BADB8 */ cpu->r[26] = cpu->r[4];
|
|
/* 021BADBC */ cpu->r[28] = cpu->r[5];
|
|
/* 021BADC0 */ cpu->r[31] = 0x10110000u;
|
|
/* 021BADC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021BADC8 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 021BADCC */ cpu->r[25] = cpu->r[25] + 0x00004E58u;
|
|
/* 021BADD0 */ cpu->r[24] = cpu->r[24] + 0xFFFFB0A8u;
|
|
/* 021BADD4 */ _t2 = cpu->r[31] + 0x00007399u;
|
|
/* 021BADD4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021BADD8 */ cpu->r[29] = 0x0000000Eu;
|
|
L_021BADDC: ; // 0x21baddc
|
|
/* 021BADDC */ _t3 = cpu->r[26] + 0x00000004u;
|
|
/* 021BADDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BADE0 */ _t4 = cpu->r[25] + cpu->r[30];
|
|
/* 021BADE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BADE4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BADE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[24]);
|
|
/* 021BADE8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 021BADE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BADEC */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 021BADEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BADF0 */ cpu->ctr = cpu->r[0];
|
|
/* 021BADF4 */ cpu->r[3] = cpu->r[26];
|
|
/* 021BADF8 */ cpu->r[27] = cpu->r[25] + cpu->r[30];
|
|
/* 021BADFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAE00 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 021BAE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BAE04 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 021BAE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BAE08 */ cpu->ctr = cpu->r[0];
|
|
/* 021BAE0C */ cpu->r[3] = cpu->r[26];
|
|
/* 021BAE10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAE14 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAE14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BAE18 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 021BAE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BAE1C */ cpu->ctr = cpu->r[0];
|
|
/* 021BAE20 */ _t12 = cpu->r[26] + 0x00000000u;
|
|
/* 021BAE20 */ cpu->r[22] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BAE24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021BAE28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BAE2C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 021BAE2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BAE30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[4]);
|
|
/* 021BAE34 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAE34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BAE34 */ if (_t15) goto L_021BAE6C; else goto L_021BAE38;
|
|
L_021BAE38: ; // 0x21bae38
|
|
/* 021BAE38 */ _t16 = cpu->r[26] + 0x00000000u;
|
|
/* 021BAE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BAE3C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 021BAE3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BAE40 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 021BAE44 */ cpu->ctr = cpu->r[23];
|
|
/* 021BAE48 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_021BAE4C: ; // 0x21bae4c
|
|
/* 021BAE4C */ _t18 = cpu->r[12] + 0x00000001u;
|
|
/* 021BAE4C */ cpu->r[4] = rbrew_read8(cpu->mem, _t18);
|
|
/* 021BAE4C */ cpu->r[12] = _t18;
|
|
/* 021BAE50 */ _t19 = cpu->r[11] + 0x00000001u;
|
|
/* 021BAE50 */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 021BAE50 */ cpu->r[11] = _t19;
|
|
/* 021BAE54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 021BAE58 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAE58 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021BAE58 */ if (_t21) goto L_021BAE5C; else goto L_021BAEAC;
|
|
L_021BAE5C: ; // 0x21bae5c
|
|
/* 021BAE5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 021BAE60 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAE60 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BAE60 */ if (_t23) goto L_021BAE6C; else goto L_021BAE64;
|
|
L_021BAE64: ; // 0x21bae64
|
|
/* 021BAE64 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021BAE64 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021BAE64 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 021BAE64 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BAE64 */ if (_t26) goto L_021BAE4C; else goto L_021BAE68;
|
|
L_021BAE68: ; // 0x21bae68
|
|
/* 021BAE68 */ goto L_021BAEAC;
|
|
L_021BAE6C: ; // 0x21bae6c
|
|
/* 021BAE6C */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 021BAE6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BAE70 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 021BAE70 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 021BAE74 */ _t29 = cpu->r[27] + 0x00000008u;
|
|
/* 021BAE74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BAE78 */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 021BAE78 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 021BAE7C */ _t31 = cpu->r[27] + 0x0000000Cu;
|
|
/* 021BAE7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BAE80 */ _t32 = cpu->r[28] + 0x00000008u;
|
|
/* 021BAE80 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 021BAE84 */ _t33 = cpu->r[27] + 0x00000010u;
|
|
/* 021BAE84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BAE88 */ _t34 = cpu->r[28] + 0x0000000Cu;
|
|
/* 021BAE88 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 021BAE8C */ _t35 = cpu->r[27] + 0x00000014u;
|
|
/* 021BAE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BAE90 */ _t36 = cpu->r[28] + 0x00000010u;
|
|
/* 021BAE90 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BAE94 */ /* nop */
|
|
/* 021BAE98 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BAE98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BAE9C */ cpu->lr = cpu->r[0];
|
|
/* 021BAEA0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BAEA4 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BAEA8 */ return;
|
|
L_021BAEAC: ; // 0x21baeac
|
|
/* 021BAEAC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 021BAEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BAEB0 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 021BAEB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAEB4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 021BAEB4 */ if (_t39) goto L_021BAEB8; else goto L_021BADDC;
|
|
L_021BAEB8: ; // 0x21baeb8
|
|
/* 021BAEB8 */ /* nop */
|
|
/* 021BAEBC */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BAEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021BAEC0 */ cpu->lr = cpu->r[0];
|
|
/* 021BAEC4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BAEC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BAECC */ return;
|
|
}
|
|
|
|
// fn_021BAED0 @ 0x21baed0
|
|
void Gambit_fn_021BAED0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_021BAED0: ; // 0x21baed0
|
|
/* 021BAED0 */ cpu->r[9] = 0x101C0000u;
|
|
/* 021BAED4 */ cpu->r[10] = 0x00000001u;
|
|
/* 021BAED8 */ cpu->r[9] = cpu->r[9] + 0x00004E58u;
|
|
/* 021BAEDC */ _t0 = cpu->r[9] + 0x00000008u;
|
|
/* 021BAEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 021BAEE0 */ _t1 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021BAEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 021BAEE4 */ _t2 = cpu->r[9] + 0x00000020u;
|
|
/* 021BAEE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 021BAEE8 */ cpu->r[12] = 0x00000002u;
|
|
/* 021BAEEC */ _t3 = cpu->r[9] + 0x00000024u;
|
|
/* 021BAEEC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 021BAEF0 */ _t4 = cpu->r[9] + 0x00000038u;
|
|
/* 021BAEF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 021BAEF4 */ _t5 = cpu->r[9] + 0x0000003Cu;
|
|
/* 021BAEF4 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 021BAEF8 */ cpu->r[11] = 0x00000000u;
|
|
/* 021BAEFC */ _t6 = cpu->r[9] + 0x00000050u;
|
|
/* 021BAEFC */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 021BAF00 */ _t7 = cpu->r[9] + 0x00000054u;
|
|
/* 021BAF00 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 021BAF04 */ _t8 = cpu->r[9] + 0x00000068u;
|
|
/* 021BAF04 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021BAF08 */ _t9 = cpu->r[9] + 0x0000006Cu;
|
|
/* 021BAF08 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 021BAF0C */ _t10 = cpu->r[9] + 0x00000080u;
|
|
/* 021BAF0C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 021BAF10 */ _t11 = cpu->r[9] + 0x00000084u;
|
|
/* 021BAF10 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BAF14 */ _t12 = cpu->r[9] + 0x00000098u;
|
|
/* 021BAF14 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 021BAF18 */ _t13 = cpu->r[9] + 0x0000009Cu;
|
|
/* 021BAF18 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 021BAF1C */ _t14 = cpu->r[9] + 0x000000B0u;
|
|
/* 021BAF1C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 021BAF20 */ _t15 = cpu->r[9] + 0x000000B4u;
|
|
/* 021BAF20 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 021BAF24 */ _t16 = cpu->r[9] + 0x000000C8u;
|
|
/* 021BAF24 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 021BAF28 */ _t17 = cpu->r[9] + 0x000000CCu;
|
|
/* 021BAF28 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 021BAF2C */ _t18 = cpu->r[9] + 0x000000E0u;
|
|
/* 021BAF2C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 021BAF30 */ _t19 = cpu->r[9] + 0x000000E4u;
|
|
/* 021BAF30 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 021BAF34 */ _t20 = cpu->r[9] + 0x000000F8u;
|
|
/* 021BAF34 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 021BAF38 */ _t21 = cpu->r[9] + 0x000000FCu;
|
|
/* 021BAF38 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 021BAF3C */ _t22 = cpu->r[9] + 0x00000110u;
|
|
/* 021BAF3C */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 021BAF40 */ _t23 = cpu->r[9] + 0x00000114u;
|
|
/* 021BAF40 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 021BAF44 */ _t24 = cpu->r[9] + 0x00000128u;
|
|
/* 021BAF44 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 021BAF48 */ _t25 = cpu->r[9] + 0x0000012Cu;
|
|
/* 021BAF48 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 021BAF4C */ _t26 = cpu->r[9] + 0x00000140u;
|
|
/* 021BAF4C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 021BAF50 */ _t27 = cpu->r[9] + 0x00000144u;
|
|
/* 021BAF50 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 021BAF54 */ return;
|
|
}
|
|
|
|
// fn_021BAF58 @ 0x21baf58
|
|
void Gambit_fn_021BAF58(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_021BAF58: ; // 0x21baf58
|
|
/* 021BAF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BAF5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BAF5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BAF5C */ goto L_021BAF60;
|
|
L_021BAF60: ; // 0x21baf60
|
|
/* 021BAF60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BAF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BAF64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BAF64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BAF64 */ goto L_021BAF68;
|
|
L_021BAF68: ; // 0x21baf68
|
|
/* 021BAF68 */ 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_021BAF6C @ 0x21baf6c
|
|
void Gambit_fn_021BAF6C(CPUState* cpu) {
|
|
L_021BAF6C: ; // 0x21baf6c
|
|
/* 021BAF6C */ return;
|
|
}
|
|
|
|
// fn_021BAF70 @ 0x21baf70
|
|
void Gambit_fn_021BAF70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021BAF70: ; // 0x21baf70
|
|
/* 021BAF70 */ cpu->r[0] = cpu->lr;
|
|
/* 021BAF74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAF74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAF74 */ cpu->r[1] = _t0;
|
|
/* 021BAF78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAF78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAF7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021BAF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021BAF80 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BAF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BAF84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAF84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BAF88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BAF88 */ if (_t5) goto L_021BAF8C; else goto L_021BAF9C;
|
|
L_021BAF8C: ; // 0x21baf8c
|
|
/* 021BAF8C */ cpu->r[3] = 0x00000084u;
|
|
/* 021BAF90 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BAF94 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BAF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BAF98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BAF98 */ if (_t7) goto L_021BB01C; else goto L_021BAF9C;
|
|
L_021BAF9C: ; // 0x21baf9c
|
|
/* 021BAF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 021BAFA0 */ Gambit_fn_02000020(cpu);
|
|
/* 021BAFA4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BAFA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021BAFAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB2C4u;
|
|
/* 021BAFB0 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 021BAFB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021BAFB4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021BAFB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BAFB8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BAFBC */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 021BAFBC */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 021BAFC0 */ _t11 = cpu->r[31] + 0x00000051u;
|
|
/* 021BAFC0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 021BAFC4 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 021BAFC4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
/* 021BAFC8 */ _t13 = cpu->r[31] + 0x00000066u;
|
|
/* 021BAFC8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 021BAFCC */ _t14 = cpu->r[31] + 0x00000052u;
|
|
/* 021BAFCC */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 021BAFD0 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 021BAFD4 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 021BAFD4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021BAFD8 */ _t16 = cpu->r[31] + 0x00000064u;
|
|
/* 021BAFD8 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[9]);
|
|
/* 021BAFDC */ cpu->r[11] = cpu->r[31] + 0x00000068u;
|
|
/* 021BAFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021BAFE0 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 021BAFE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021BAFE4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAFE4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021BAFE4 */ if (_t19) goto L_021BAFE8; else goto L_021BAFF0;
|
|
L_021BAFE8: ; // 0x21bafe8
|
|
/* 021BAFE8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021BAFEC */ Gambit_fn_02801A78(cpu);
|
|
L_021BAFF0: ; // 0x21baff0
|
|
/* 021BAFF0 */ cpu->r[12] = cpu->r[31] + 0x00000074u;
|
|
/* 021BAFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BAFF4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAFF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021BAFF4 */ if (_t21) goto L_021BAFF8; else goto L_021BB000;
|
|
L_021BAFF8: ; // 0x21baff8
|
|
/* 021BAFF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021BAFFC */ Gambit_fn_02801A78(cpu);
|
|
L_021BB000: ; // 0x21bb000
|
|
/* 021BB000 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 021BB000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BB004 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB004 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BB004 */ if (_t23) goto L_021BB008; else goto L_021BB018;
|
|
L_021BB008: ; // 0x21bb008
|
|
/* 021BB008 */ cpu->r[3] = 0x00000004u;
|
|
/* 021BB00C */ Gambit_fn_02801A78(cpu);
|
|
/* 021BB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BB014 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB014 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021BB014 */ if (_t25) goto L_021BB01C; else goto L_021BB018;
|
|
L_021BB018: ; // 0x21bb018
|
|
/* 021BB018 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 021BB018 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
L_021BB01C: ; // 0x21bb01c
|
|
/* 021BB01C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 021BB01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BB020 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BB024 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BB024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BB028 */ cpu->lr = cpu->r[0];
|
|
/* 021BB02C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 021BB02C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BB030 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BB034 */ return;
|
|
}
|
|
|
|
// fn_021BAF74 @ 0x21baf74
|
|
void Gambit_fn_021BAF74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021BAF74: ; // 0x21baf74
|
|
/* 021BAF74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BAF74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BAF74 */ cpu->r[1] = _t0;
|
|
/* 021BAF78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BAF78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BAF7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 021BAF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021BAF80 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BAF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BAF84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BAF84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BAF88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BAF88 */ if (_t5) goto L_021BAF8C; else goto L_021BAF9C;
|
|
L_021BAF8C: ; // 0x21baf8c
|
|
/* 021BAF8C */ cpu->r[3] = 0x00000084u;
|
|
/* 021BAF90 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BAF94 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BAF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BAF98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAF98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BAF98 */ if (_t7) goto L_021BB01C; else goto L_021BAF9C;
|
|
L_021BAF9C: ; // 0x21baf9c
|
|
/* 021BAF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 021BAFA0 */ Gambit_fn_02000020(cpu);
|
|
/* 021BAFA4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BAFA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021BAFAC */ cpu->r[0] = cpu->r[0] + 0xFFFFB2C4u;
|
|
/* 021BAFB0 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 021BAFB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 021BAFB4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021BAFB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BAFB8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BAFBC */ _t10 = cpu->r[31] + 0x00000058u;
|
|
/* 021BAFBC */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 021BAFC0 */ _t11 = cpu->r[31] + 0x00000051u;
|
|
/* 021BAFC0 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 021BAFC4 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 021BAFC4 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
/* 021BAFC8 */ _t13 = cpu->r[31] + 0x00000066u;
|
|
/* 021BAFC8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 021BAFCC */ _t14 = cpu->r[31] + 0x00000052u;
|
|
/* 021BAFCC */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 021BAFD0 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 021BAFD4 */ _t15 = cpu->r[31] + 0x00000060u;
|
|
/* 021BAFD4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 021BAFD8 */ _t16 = cpu->r[31] + 0x00000064u;
|
|
/* 021BAFD8 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[9]);
|
|
/* 021BAFDC */ cpu->r[11] = cpu->r[31] + 0x00000068u;
|
|
/* 021BAFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021BAFE0 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 021BAFE0 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 021BAFE4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAFE4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021BAFE4 */ if (_t19) goto L_021BAFE8; else goto L_021BAFF0;
|
|
L_021BAFE8: ; // 0x21bafe8
|
|
/* 021BAFE8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021BAFEC */ Gambit_fn_02801A78(cpu);
|
|
L_021BAFF0: ; // 0x21baff0
|
|
/* 021BAFF0 */ cpu->r[12] = cpu->r[31] + 0x00000074u;
|
|
/* 021BAFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BAFF4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BAFF4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 021BAFF4 */ if (_t21) goto L_021BAFF8; else goto L_021BB000;
|
|
L_021BAFF8: ; // 0x21baff8
|
|
/* 021BAFF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021BAFFC */ Gambit_fn_02801A78(cpu);
|
|
L_021BB000: ; // 0x21bb000
|
|
/* 021BB000 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 021BB000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BB004 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB004 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BB004 */ if (_t23) goto L_021BB008; else goto L_021BB018;
|
|
L_021BB008: ; // 0x21bb008
|
|
/* 021BB008 */ cpu->r[3] = 0x00000004u;
|
|
/* 021BB00C */ Gambit_fn_02801A78(cpu);
|
|
/* 021BB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BB014 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB014 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021BB014 */ if (_t25) goto L_021BB01C; else goto L_021BB018;
|
|
L_021BB018: ; // 0x21bb018
|
|
/* 021BB018 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 021BB018 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
L_021BB01C: ; // 0x21bb01c
|
|
/* 021BB01C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 021BB01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BB020 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BB024 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BB024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BB028 */ cpu->lr = cpu->r[0];
|
|
/* 021BB02C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 021BB02C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BB030 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BB034 */ return;
|
|
}
|
|
|
|
// fn_021BB038 @ 0x21bb038
|
|
void Gambit_fn_021BB038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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, _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, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443;
|
|
double _ft43, _ft44, _ft99, _ft100, _ft202, _ft203;
|
|
|
|
L_021BB038: ; // 0x21bb038
|
|
/* 021BB038 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 021BB038 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BB038 */ cpu->r[1] = _t0;
|
|
/* 021BB03C */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021BB03C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BB040 */ cpu->r[0] = cpu->lr;
|
|
/* 021BB044 */ _t2 = cpu->r[1] + 0x00000150u;
|
|
/* 021BB044 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021BB048 */ /* nop */
|
|
/* 021BB04C */ _t3 = cpu->r[1] + 0x00000130u;
|
|
/* 021BB04C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 021BB050 */ /* nop */
|
|
/* 021BB054 */ _t4 = cpu->r[1] + 0x00000158u;
|
|
/* 021BB054 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 021BB058 */ _t5 = cpu->r[1] + 0x00000138u;
|
|
/* 021BB058 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 021BB05C */ _t6 = cpu->r[1] + 0x00000110u;
|
|
/* 021BB05C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[26]);
|
|
/* 021BB060 */ _t7 = cpu->r[1] + 0x00000140u;
|
|
/* 021BB060 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]);
|
|
/* 021BB064 */ /* nop */
|
|
/* 021BB068 */ _t8 = cpu->r[1] + 0x00000174u;
|
|
/* 021BB068 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 021BB06C */ _t9 = cpu->r[1] + 0x00000118u;
|
|
/* 021BB06C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[26]);
|
|
/* 021BB070 */ /* nop */
|
|
/* 021BB074 */ _t10 = cpu->r[1] + 0x00000120u;
|
|
/* 021BB074 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[27]);
|
|
/* 021BB078 */ _t11 = cpu->r[1] + 0x00000148u;
|
|
/* 021BB078 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]);
|
|
/* 021BB07C */ /* nop */
|
|
/* 021BB080 */ _t12 = cpu->r[1] + 0x00000160u;
|
|
/* 021BB080 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[31]);
|
|
/* 021BB084 */ _t13 = cpu->r[1] + 0x00000104u;
|
|
/* 021BB084 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 021BB088 */ /* nop */
|
|
/* 021BB08C */ _t14 = cpu->r[1] + 0x00000108u;
|
|
/* 021BB08C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 021BB090 */ _t15 = cpu->r[1] + 0x00000168u;
|
|
/* 021BB090 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 021BB094 */ cpu->r[30] = cpu->r[4];
|
|
/* 021BB098 */ _t16 = cpu->r[1] + 0x00000128u;
|
|
/* 021BB098 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[27]);
|
|
/* 021BB09C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 021BB09C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BB0A0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BB0A4 */ _t18 = cpu->r[11] + 0x00000314u;
|
|
/* 021BB0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BB0A8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BB0AC */ _t19 = cpu->r[4] + 0xFFFFB21Cu;
|
|
/* 021BB0AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BB0B0 */ cpu->ctr = cpu->r[0];
|
|
/* 021BB0B4 */ _t20 = cpu->r[6] + 0xFFFFB218u;
|
|
/* 021BB0B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021BB0B8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BB0BC */ _t21 = cpu->r[12] + 0xFFFFB210u;
|
|
/* 021BB0BC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021BB0C0 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BB0C4 */ _t22 = cpu->r[9] + 0xFFFFB214u;
|
|
/* 021BB0C4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021BB0C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BB0CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BB0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BB0D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB0D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021BB0D4 */ if (_t24) goto L_021BB0D8; else goto L_021BB558;
|
|
L_021BB0D8: ; // 0x21bb0d8
|
|
/* 021BB0D8 */ _t25 = cpu->r[29] + 0x00000068u;
|
|
/* 021BB0D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 021BB0DC */ cpu->f[1] = -cpu->f[8];
|
|
/* 021BB0E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 021BB0E4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BB0E4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021BB0E4 */ if (_t27) goto L_021BB0E8; else goto L_021BB118;
|
|
L_021BB0E8: ; // 0x21bb0e8
|
|
/* 021BB0E8 */ cpu->f[1] = cpu->f[30];
|
|
/* 021BB0EC */ Gambit_fn_02C8926C(cpu);
|
|
/* 021BB0F0 */ _t28 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB0F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 021BB0F4 */ _t29 = cpu->r[29] + 0x0000006Cu;
|
|
/* 021BB0F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021BB0F8 */ cpu->f[8] = cpu->f[7] * cpu->f[7];
|
|
/* 021BB0FC */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 021BB0FC */ rbrew_write_f32(cpu->mem, _t30, cpu->f[7]);
|
|
/* 021BB100 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 021BB100 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 021BB104 */ cpu->f[13] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 021BB108 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 021BB10C */ cpu->f[27] = cpu->f[1];
|
|
/* 021BB110 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB110 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BB110 */ if (_t33) goto L_021BB114; else goto L_021BB264;
|
|
L_021BB114: ; // 0x21bb114
|
|
/* 021BB114 */ goto L_021BB14C;
|
|
L_021BB118: ; // 0x21bb118
|
|
/* 021BB118 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 021BB11C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB11C */ _t35 = _t34 & 0x00000001u;
|
|
/* 021BB11C */ if (_t35) goto L_021BB120; else goto L_021BB124;
|
|
L_021BB120: ; // 0x21bb120
|
|
/* 021BB120 */ cpu->f[1] = cpu->f[29];
|
|
L_021BB124: ; // 0x21bb124
|
|
/* 021BB124 */ Gambit_fn_02C8926C(cpu);
|
|
/* 021BB128 */ _t36 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB128 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021BB12C */ _t37 = cpu->r[29] + 0x0000006Cu;
|
|
/* 021BB12C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 021BB130 */ cpu->f[8] = cpu->f[7] * cpu->f[7];
|
|
/* 021BB134 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 021BB134 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[7]);
|
|
/* 021BB138 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 021BB138 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 021BB13C */ cpu->f[13] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 021BB140 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 021BB144 */ cpu->f[27] = cpu->f[1];
|
|
/* 021BB148 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB148 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021BB148 */ if (_t41) goto L_021BB14C; else goto L_021BB264;
|
|
L_021BB14C: ; // 0x21bb14c
|
|
/* 021BB14C */ cpu->r[12] = 0x10030000u;
|
|
/* 021BB150 */ _t42 = cpu->r[12] + 0xFFFFB220u;
|
|
/* 021BB150 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021BB154 */ _ft43 = sqrt(cpu->f[13]);
|
|
/* 021BB154 */ _ft44 = (double)(int32_t)0x00000001u;
|
|
/* 021BB154 */ cpu->f[0] = _ft44 / _ft43;
|
|
/* 021BB158 */ cpu->f[6] = cpu->f[0] * cpu->f[0];
|
|
/* 021BB15C */ cpu->f[8] = cpu->f[0] * cpu->f[31];
|
|
/* 021BB160 */ cpu->f[6] = -fma(cpu->f[6], cpu->f[13], -(cpu->f[7]));
|
|
/* 021BB164 */ cpu->f[0] = cpu->f[6] * cpu->f[8];
|
|
/* 021BB168 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 021BB16C */ /* nop */
|
|
/* 021BB170 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 021BB174 */ /* nop */
|
|
/* 021BB178 */ /* nop */
|
|
/* 021BB17C */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB17C */ _t46 = _t45 & 0x00000001u;
|
|
/* 021BB17C */ if (_t46) goto L_021BB180; else goto L_021BB264;
|
|
L_021BB180: ; // 0x21bb180
|
|
/* 021BB180 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021BB180 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 021BB184 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 021BB188 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BB188 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021BB188 */ if (_t49) goto L_021BB18C; else goto L_021BB1F4;
|
|
L_021BB18C: ; // 0x21bb18c
|
|
/* 021BB18C */ cpu->f[1] = cpu->f[30];
|
|
/* 021BB190 */ Gambit_fn_02C892F8(cpu);
|
|
/* 021BB194 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 021BB194 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021BB198 */ _t51 = cpu->r[29] + 0x00000004u;
|
|
/* 021BB198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BB19C */ cpu->f[11] = -cpu->f[0];
|
|
/* 021BB1A0 */ _t52 = cpu->r[10] + 0x0000025Cu;
|
|
/* 021BB1A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021BB1A4 */ /* nop */
|
|
/* 021BB1A8 */ cpu->ctr = cpu->r[4];
|
|
/* 021BB1AC */ cpu->r[3] = cpu->r[29];
|
|
/* 021BB1B0 */ cpu->f[30] = cpu->f[1] * cpu->f[13];
|
|
/* 021BB1B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BB1B8 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 021BB1B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021BB1BC */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB1BC */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 021BB1C0 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 021BB1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021BB1C4 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB1C4 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 021BB1C8 */ _t57 = cpu->r[3] + 0x00000008u;
|
|
/* 021BB1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021BB1CC */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB1CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 021BB1D0 */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB1D0 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 021BB1D4 */ cpu->f[0] = cpu->f[11] * cpu->f[11];
|
|
/* 021BB1D8 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB1D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 021BB1DC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB1DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 021BB1E0 */ cpu->f[10] = fma(cpu->f[13], cpu->f[13], cpu->f[0]);
|
|
/* 021BB1E4 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 021BB1E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB1EC */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB1EC */ _t63 = _t62 & 0x00000001u;
|
|
/* 021BB1EC */ if (_t63) goto L_021BB1F0; else goto L_021BB2C0;
|
|
L_021BB1F0: ; // 0x21bb1f0
|
|
/* 021BB1F0 */ goto L_021BB2F8;
|
|
L_021BB1F4: ; // 0x21bb1f4
|
|
/* 021BB1F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 021BB1F8 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB1F8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021BB1F8 */ if (_t65) goto L_021BB1FC; else goto L_021BB200;
|
|
L_021BB1FC: ; // 0x21bb1fc
|
|
/* 021BB1FC */ cpu->f[1] = cpu->f[29];
|
|
L_021BB200: ; // 0x21bb200
|
|
/* 021BB200 */ Gambit_fn_02C892F8(cpu);
|
|
/* 021BB204 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 021BB204 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021BB208 */ _t67 = cpu->r[29] + 0x00000004u;
|
|
/* 021BB208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021BB20C */ cpu->f[11] = -cpu->f[0];
|
|
/* 021BB210 */ _t68 = cpu->r[10] + 0x0000025Cu;
|
|
/* 021BB210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021BB214 */ /* nop */
|
|
/* 021BB218 */ cpu->ctr = cpu->r[4];
|
|
/* 021BB21C */ cpu->r[3] = cpu->r[29];
|
|
/* 021BB220 */ cpu->f[30] = cpu->f[1] * cpu->f[13];
|
|
/* 021BB224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BB228 */ _t69 = cpu->r[3] + 0x00000000u;
|
|
/* 021BB228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021BB22C */ _t70 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB22C */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 021BB230 */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 021BB230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021BB234 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB234 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 021BB238 */ _t73 = cpu->r[3] + 0x00000008u;
|
|
/* 021BB238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 021BB23C */ _t74 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB23C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 021BB240 */ _t75 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB240 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 021BB244 */ cpu->f[0] = cpu->f[11] * cpu->f[11];
|
|
/* 021BB248 */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB248 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 021BB24C */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB24C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 021BB250 */ cpu->f[10] = fma(cpu->f[13], cpu->f[13], cpu->f[0]);
|
|
/* 021BB254 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 021BB258 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB25C */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB25C */ _t79 = _t78 & 0x00000001u;
|
|
/* 021BB25C */ if (_t79) goto L_021BB260; else goto L_021BB2C0;
|
|
L_021BB260: ; // 0x21bb260
|
|
/* 021BB260 */ goto L_021BB2F8;
|
|
L_021BB264: ; // 0x21bb264
|
|
/* 021BB264 */ _t80 = cpu->r[1] + 0x00000018u;
|
|
/* 021BB264 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 021BB268 */ _t81 = cpu->r[29] + 0x00000004u;
|
|
/* 021BB268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021BB26C */ cpu->f[11] = -cpu->f[0];
|
|
/* 021BB270 */ _t82 = cpu->r[10] + 0x0000025Cu;
|
|
/* 021BB270 */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021BB274 */ /* nop */
|
|
/* 021BB278 */ cpu->ctr = cpu->r[4];
|
|
/* 021BB27C */ cpu->r[3] = cpu->r[29];
|
|
/* 021BB280 */ cpu->f[30] = cpu->f[28] * cpu->f[13];
|
|
/* 021BB284 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BB288 */ _t83 = cpu->r[3] + 0x00000000u;
|
|
/* 021BB288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 021BB28C */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB28C */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 021BB290 */ _t85 = cpu->r[3] + 0x00000004u;
|
|
/* 021BB290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 021BB294 */ _t86 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB294 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 021BB298 */ _t87 = cpu->r[3] + 0x00000008u;
|
|
/* 021BB298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021BB29C */ _t88 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BB29C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 021BB2A0 */ _t89 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB2A0 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 021BB2A4 */ cpu->f[0] = cpu->f[11] * cpu->f[11];
|
|
/* 021BB2A8 */ _t90 = cpu->r[1] + 0x00000028u;
|
|
/* 021BB2A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 021BB2AC */ _t91 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB2AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 021BB2B0 */ cpu->f[10] = fma(cpu->f[13], cpu->f[13], cpu->f[0]);
|
|
/* 021BB2B4 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 021BB2B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB2BC */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB2BC */ _t93 = _t92 & 0x00000001u;
|
|
/* 021BB2BC */ if (_t93) goto L_021BB2F8; else goto L_021BB2C0;
|
|
L_021BB2C0: ; // 0x21bb2c0
|
|
/* 021BB2C0 */ /* nop */
|
|
/* 021BB2C4 */ /* nop */
|
|
/* 021BB2C8 */ /* nop */
|
|
/* 021BB2CC */ _t94 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB2CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 021BB2D0 */ /* nop */
|
|
/* 021BB2D4 */ cpu->f[13] = fma(cpu->f[11], cpu->f[10], cpu->f[12]);
|
|
/* 021BB2D8 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BB2DC */ cpu->f[6] = fabs(cpu->f[13]);
|
|
/* 021BB2E0 */ _t95 = cpu->r[9] + 0xFFFFB224u;
|
|
/* 021BB2E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 021BB2E4 */ cpu->r[31] = 0x101F0000u;
|
|
/* 021BB2E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 021BB2EC */ cpu->r[31] = cpu->r[31] + 0x0000635Cu;
|
|
/* 021BB2F0 */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB2F0 */ _t97 = _t96 & 0x00000001u;
|
|
/* 021BB2F0 */ if (_t97) goto L_021BB2F4; else goto L_021BB414;
|
|
L_021BB2F4: ; // 0x21bb2f4
|
|
/* 021BB2F4 */ goto L_021BB35C;
|
|
L_021BB2F8: ; // 0x21bb2f8
|
|
/* 021BB2F8 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BB2FC */ _t98 = cpu->r[10] + 0xFFFFB220u;
|
|
/* 021BB2FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 021BB300 */ _ft99 = sqrt(cpu->f[8]);
|
|
/* 021BB300 */ _ft100 = (double)(int32_t)0x00000001u;
|
|
/* 021BB300 */ cpu->f[9] = _ft100 / _ft99;
|
|
/* 021BB304 */ cpu->f[11] = cpu->f[9] * cpu->f[9];
|
|
/* 021BB308 */ cpu->f[7] = cpu->f[9] * cpu->f[31];
|
|
/* 021BB30C */ cpu->f[11] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[10]));
|
|
/* 021BB310 */ cpu->f[9] = cpu->f[11] * cpu->f[7];
|
|
/* 021BB314 */ /* nop */
|
|
/* 021BB318 */ _t101 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB318 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021BB31C */ /* nop */
|
|
/* 021BB320 */ /* nop */
|
|
/* 021BB324 */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 021BB328 */ /* nop */
|
|
/* 021BB32C */ /* nop */
|
|
/* 021BB330 */ _t102 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB330 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 021BB334 */ /* nop */
|
|
/* 021BB338 */ cpu->f[13] = fma(cpu->f[11], cpu->f[10], cpu->f[12]);
|
|
/* 021BB33C */ cpu->r[9] = 0x10030000u;
|
|
/* 021BB340 */ cpu->f[6] = fabs(cpu->f[13]);
|
|
/* 021BB344 */ _t103 = cpu->r[9] + 0xFFFFB224u;
|
|
/* 021BB344 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 021BB348 */ cpu->r[31] = 0x101F0000u;
|
|
/* 021BB34C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 021BB350 */ _t104 = cpu->r[1] + 0x00000030u;
|
|
/* 021BB350 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[11]);
|
|
/* 021BB354 */ cpu->r[31] = cpu->r[31] + 0x0000635Cu;
|
|
/* 021BB358 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB358 */ _t106 = _t105 & 0x00000001u;
|
|
/* 021BB358 */ if (_t106) goto L_021BB35C; else goto L_021BB414;
|
|
L_021BB35C: ; // 0x21bb35c
|
|
/* 021BB35C */ _t107 = cpu->r[31] + 0x00000000u;
|
|
/* 021BB35C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 021BB360 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 021BB364 */ _t108 = cpu->r[31] + 0x00000008u;
|
|
/* 021BB364 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 021BB368 */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 021BB368 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 021BB36C */ _t110 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB36C */ rbrew_write_f32(cpu->mem, _t110, cpu->f[10]);
|
|
/* 021BB370 */ cpu->r[3] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB374 */ _t111 = cpu->r[1] + 0x00000024u;
|
|
/* 021BB374 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[6]);
|
|
/* 021BB378 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB37C */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 021BB37C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[13]);
|
|
/* 021BB380 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB384 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BB388 */ cpu->r[4] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB38C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB390 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB394 */ cpu->r[3] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB398 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB39C */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 021BB3A0 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB3A4 */ /* nop */
|
|
/* 021BB3A8 */ cpu->r[5] = cpu->r[1] + 0x000000F8u;
|
|
/* 021BB3AC */ /* nop */
|
|
/* 021BB3B0 */ _t113 = cpu->r[1] + 0x00000050u;
|
|
/* 021BB3B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 021BB3B4 */ /* nop */
|
|
/* 021BB3B8 */ _t114 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BB3B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 021BB3BC */ /* nop */
|
|
/* 021BB3C0 */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 021BB3C4 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021BB3C8 */ cpu->f[31] = fma(cpu->f[10], cpu->f[11], cpu->f[8]);
|
|
/* 021BB3CC */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB3D0 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021BB3D4 */ Gambit_fn_02C69350(cpu);
|
|
/* 021BB3D8 */ cpu->f[2] = cpu->f[31];
|
|
/* 021BB3DC */ Gambit_fn_02C89074(cpu);
|
|
/* 021BB3E0 */ /* nop */
|
|
/* 021BB3E4 */ /* nop */
|
|
/* 021BB3E8 */ _t115 = cpu->r[1] + 0x00000050u;
|
|
/* 021BB3E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 021BB3EC */ /* nop */
|
|
/* 021BB3F0 */ _t116 = cpu->r[1] + 0x00000024u;
|
|
/* 021BB3F0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 021BB3F4 */ /* nop */
|
|
/* 021BB3F8 */ _t117 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB3F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 021BB3FC */ cpu->f[6] = fma(cpu->f[8], cpu->f[9], cpu->f[6]);
|
|
/* 021BB400 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[28]);
|
|
/* 021BB404 */ _t118 = cpu->r[9] + 0x00000148u;
|
|
/* 021BB404 */ cpu->r[8] = rbrew_read32(cpu->mem, _t118);
|
|
/* 021BB408 */ _t119 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021BB40C */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB40C */ _t121 = _t120 & 0x00000001u;
|
|
/* 021BB40C */ if (_t121) goto L_021BB410; else goto L_021BB4C4;
|
|
L_021BB410: ; // 0x21bb410
|
|
/* 021BB410 */ goto L_021BB4C0;
|
|
L_021BB414: ; // 0x21bb414
|
|
/* 021BB414 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 021BB418 */ cpu->r[4] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB41C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB420 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB424 */ cpu->r[3] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB428 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB42C */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 021BB430 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB434 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BB438 */ cpu->r[4] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB43C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB440 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB444 */ cpu->r[3] = cpu->r[29] + 0x00000068u;
|
|
/* 021BB448 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BB44C */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 021BB450 */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB454 */ /* nop */
|
|
/* 021BB458 */ cpu->r[5] = cpu->r[1] + 0x000000F8u;
|
|
/* 021BB45C */ /* nop */
|
|
/* 021BB460 */ _t122 = cpu->r[1] + 0x00000050u;
|
|
/* 021BB460 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 021BB464 */ /* nop */
|
|
/* 021BB468 */ _t123 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BB468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 021BB46C */ /* nop */
|
|
/* 021BB470 */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 021BB474 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 021BB478 */ cpu->f[31] = fma(cpu->f[10], cpu->f[11], cpu->f[8]);
|
|
/* 021BB47C */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BB480 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 021BB484 */ Gambit_fn_02C69350(cpu);
|
|
/* 021BB488 */ cpu->f[2] = cpu->f[31];
|
|
/* 021BB48C */ Gambit_fn_02C89074(cpu);
|
|
/* 021BB490 */ /* nop */
|
|
/* 021BB494 */ /* nop */
|
|
/* 021BB498 */ _t124 = cpu->r[1] + 0x00000050u;
|
|
/* 021BB498 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 021BB49C */ /* nop */
|
|
/* 021BB4A0 */ _t125 = cpu->r[1] + 0x00000024u;
|
|
/* 021BB4A0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 021BB4A4 */ /* nop */
|
|
/* 021BB4A8 */ _t126 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB4A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021BB4AC */ cpu->f[6] = fma(cpu->f[8], cpu->f[9], cpu->f[6]);
|
|
/* 021BB4B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[28]);
|
|
/* 021BB4B4 */ _t127 = cpu->r[9] + 0x00000148u;
|
|
/* 021BB4B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021BB4B8 */ _t128 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021BB4BC */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB4BC */ _t130 = _t129 & 0x00000001u;
|
|
/* 021BB4BC */ if (_t130) goto L_021BB4C0; else goto L_021BB4C4;
|
|
L_021BB4C0: ; // 0x21bb4c0
|
|
/* 021BB4C0 */ cpu->f[1] = -cpu->f[1];
|
|
L_021BB4C4: ; // 0x21bb4c4
|
|
/* 021BB4C4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB4C8 */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 021BB4CC */ _t131 = cpu->r[7] + 0x00000020u;
|
|
/* 021BB4CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 021BB4D0 */ _t132 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BB4D0 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[10]);
|
|
/* 021BB4D4 */ _t133 = cpu->r[7] + 0x00000024u;
|
|
/* 021BB4D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 021BB4D8 */ _t134 = cpu->r[1] + 0x000000ACu;
|
|
/* 021BB4D8 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[7]);
|
|
/* 021BB4DC */ _t135 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BB4DC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 021BB4E0 */ _t136 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BB4E0 */ rbrew_write_f64(cpu->mem, _t136, cpu->f[8]);
|
|
/* 021BB4E4 */ _t137 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BB4E4 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[30]);
|
|
/* 021BB4E8 */ _t138 = cpu->r[1] + 0x00000040u;
|
|
/* 021BB4E8 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[1]);
|
|
/* 021BB4EC */ _t139 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB4EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021BB4F0 */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
/* 021BB4F4 */ _t140 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BB4F4 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 021BB4F8 */ _t141 = cpu->r[11] + 0x00000020u;
|
|
/* 021BB4F8 */ rbrew_write_f64(cpu->mem, _t141, cpu->f[7]);
|
|
/* 021BB4FC */ _t142 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 021BB500 */ _t143 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB500 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021BB504 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB508 */ _t144 = cpu->r[5] + 0x00000144u;
|
|
/* 021BB508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
/* 021BB50C */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 021BB510 */ _t145 = cpu->r[10] + 0x00000028u;
|
|
/* 021BB510 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[27]);
|
|
/* 021BB514 */ _t146 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t146);
|
|
/* 021BB518 */ _t147 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB518 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 021BB51C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x000000B0u);
|
|
/* 021BB520 */ _t148 = cpu->r[5] + 0x00000144u;
|
|
/* 021BB520 */ cpu->r[9] = rbrew_read32(cpu->mem, _t148);
|
|
/* 021BB524 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
|
|
/* 021BB528 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 021BB52C */ cpu->r[3] = cpu->r[8] + 0x00000020u;
|
|
/* 021BB530 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 021BB534 */ _t149 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB534 */ cpu->r[9] = rbrew_read32(cpu->mem, _t149);
|
|
/* 021BB538 */ _t150 = cpu->r[9] + 0x000000FCu;
|
|
/* 021BB538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t150);
|
|
/* 021BB53C */ _t151 = cpu->r[29] + 0x00000074u;
|
|
/* 021BB53C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 021BB540 */ _t152 = cpu->r[11] + 0x00000753u;
|
|
/* 021BB540 */ cpu->r[12] = rbrew_read8(cpu->mem, _t152);
|
|
/* 021BB544 */ _t153 = cpu->r[29] + 0x00000078u;
|
|
/* 021BB544 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 021BB548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BB54C */ _t154 = cpu->r[29] + 0x0000007Cu;
|
|
/* 021BB54C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 021BB550 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB550 */ _t156 = _t155 & 0x00000001u;
|
|
/* 021BB550 */ if (_t156) goto L_021BB554; else goto L_021BB9EC;
|
|
L_021BB554: ; // 0x21bb554
|
|
/* 021BB554 */ goto L_021BB820;
|
|
L_021BB558: ; // 0x21bb558
|
|
/* 021BB558 */ _t157 = cpu->r[29] + 0x00000004u;
|
|
/* 021BB558 */ cpu->r[10] = rbrew_read32(cpu->mem, _t157);
|
|
/* 021BB55C */ _t158 = cpu->r[10] + 0x00000314u;
|
|
/* 021BB55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t158);
|
|
/* 021BB560 */ cpu->ctr = cpu->r[0];
|
|
/* 021BB564 */ cpu->r[3] = cpu->r[29];
|
|
/* 021BB568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BB56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 021BB570 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB570 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021BB570 */ if (_t160) goto L_021BB574; else goto L_021BB800;
|
|
L_021BB574: ; // 0x21bb574
|
|
/* 021BB574 */ _t161 = cpu->r[29] + 0x0000006Cu;
|
|
/* 021BB574 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 021BB578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 021BB57C */ _t162 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BB57C */ _t163 = _t162 & 0x00000001u;
|
|
/* 021BB57C */ if (_t163) goto L_021BB580; else goto L_021BB648;
|
|
L_021BB580: ; // 0x21bb580
|
|
/* 021BB580 */ cpu->f[1] = cpu->f[30];
|
|
/* 021BB584 */ Gambit_fn_02C8926C(cpu);
|
|
/* 021BB588 */ _t164 = cpu->r[29] + 0x00000068u;
|
|
/* 021BB588 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 021BB58C */ _t165 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB58C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 021BB590 */ cpu->f[12] = -cpu->f[6];
|
|
/* 021BB594 */ cpu->f[9] = -cpu->f[7];
|
|
/* 021BB598 */ cpu->f[10] = cpu->f[12] * cpu->f[12];
|
|
/* 021BB59C */ _t166 = cpu->r[1] + 0x00000034u;
|
|
/* 021BB59C */ rbrew_write_f32(cpu->mem, _t166, cpu->f[9]);
|
|
/* 021BB5A0 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 021BB5A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB5A8 */ _t167 = cpu->r[1] + 0x00000038u;
|
|
/* 021BB5A8 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[12]);
|
|
/* 021BB5AC */ cpu->f[27] = cpu->f[1];
|
|
/* 021BB5B0 */ _t168 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB5B0 */ _t169 = _t168 & 0x00000001u;
|
|
/* 021BB5B0 */ if (_t169) goto L_021BB684; else goto L_021BB5B4;
|
|
L_021BB5B4: ; // 0x21bb5b4
|
|
/* 021BB5B4 */ _t170 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t170);
|
|
/* 021BB5B8 */ _t171 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t171);
|
|
/* 021BB5BC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB5C0 */ _t172 = cpu->r[9] + 0x00000148u;
|
|
/* 021BB5C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 021BB5C4 */ _t173 = cpu->r[1] + 0x00000038u;
|
|
/* 021BB5C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 021BB5C8 */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 021BB5CC */ cpu->f[9] = -cpu->f[10];
|
|
/* 021BB5D0 */ _t174 = cpu->r[7] + 0x00000020u;
|
|
/* 021BB5D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 021BB5D4 */ /* nop */
|
|
/* 021BB5D8 */ _t175 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB5D8 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[11]);
|
|
/* 021BB5DC */ _t176 = cpu->r[7] + 0x00000024u;
|
|
/* 021BB5DC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 021BB5E0 */ cpu->f[12] = cpu->f[28] * cpu->f[12];
|
|
/* 021BB5E4 */ _t177 = cpu->r[1] + 0x000000BCu;
|
|
/* 021BB5E4 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[9]);
|
|
/* 021BB5E8 */ _t178 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB5E8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 021BB5EC */ _t179 = cpu->r[7] + 0x00000028u;
|
|
/* 021BB5EC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 021BB5F0 */ _t180 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB5F0 */ rbrew_write_f64(cpu->mem, _t180, cpu->f[11]);
|
|
/* 021BB5F4 */ _t181 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB5F4 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[27]);
|
|
/* 021BB5F8 */ _t182 = cpu->r[1] + 0x00000070u;
|
|
/* 021BB5F8 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[12]);
|
|
/* 021BB5FC */ _t183 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB5FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t183);
|
|
/* 021BB600 */ cpu->r[5] = cpu->r[7] + cpu->r[6];
|
|
/* 021BB604 */ _t184 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB604 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t184);
|
|
/* 021BB608 */ _t185 = cpu->r[5] + 0x00000020u;
|
|
/* 021BB608 */ rbrew_write_f64(cpu->mem, _t185, cpu->f[7]);
|
|
/* 021BB60C */ _t186 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 021BB610 */ _t187 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t187);
|
|
/* 021BB614 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB618 */ _t188 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB618 */ cpu->r[5] = rbrew_read32(cpu->mem, _t188);
|
|
/* 021BB61C */ cpu->r[4] = cpu->r[5] + cpu->r[11];
|
|
/* 021BB620 */ _t189 = cpu->r[4] + 0x00000028u;
|
|
/* 021BB620 */ rbrew_write_f32(cpu->mem, _t189, cpu->f[8]);
|
|
/* 021BB624 */ _t190 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 021BB628 */ _t191 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB628 */ cpu->r[6] = rbrew_read32(cpu->mem, _t191);
|
|
/* 021BB62C */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000000B0u);
|
|
/* 021BB630 */ _t192 = cpu->r[6] + 0x00000144u;
|
|
/* 021BB630 */ cpu->r[10] = rbrew_read32(cpu->mem, _t192);
|
|
/* 021BB634 */ cpu->r[9] = cpu->r[10] + cpu->r[7];
|
|
/* 021BB638 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 021BB63C */ cpu->r[3] = cpu->r[9] + 0x00000020u;
|
|
/* 021BB640 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 021BB644 */ goto L_021BB800;
|
|
L_021BB648: ; // 0x21bb648
|
|
/* 021BB648 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 021BB64C */ _t193 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB64C */ _t194 = _t193 & 0x00000001u;
|
|
/* 021BB64C */ if (_t194) goto L_021BB650; else goto L_021BB654;
|
|
L_021BB650: ; // 0x21bb650
|
|
/* 021BB650 */ cpu->f[1] = cpu->f[29];
|
|
L_021BB654: ; // 0x21bb654
|
|
/* 021BB654 */ Gambit_fn_02C8926C(cpu);
|
|
/* 021BB658 */ _t195 = cpu->r[29] + 0x00000068u;
|
|
/* 021BB658 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t195);
|
|
/* 021BB65C */ _t196 = cpu->r[29] + 0x00000070u;
|
|
/* 021BB65C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 021BB660 */ cpu->f[12] = -cpu->f[6];
|
|
/* 021BB664 */ cpu->f[9] = -cpu->f[7];
|
|
/* 021BB668 */ cpu->f[10] = cpu->f[12] * cpu->f[12];
|
|
/* 021BB66C */ _t197 = cpu->r[1] + 0x00000034u;
|
|
/* 021BB66C */ rbrew_write_f32(cpu->mem, _t197, cpu->f[9]);
|
|
/* 021BB670 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 021BB674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB678 */ _t198 = cpu->r[1] + 0x00000038u;
|
|
/* 021BB678 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[12]);
|
|
/* 021BB67C */ cpu->f[27] = cpu->f[1];
|
|
/* 021BB680 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB680 */ _t200 = _t199 & 0x00000001u;
|
|
/* 021BB680 */ if (_t200) goto L_021BB684; else goto L_021BB5B4;
|
|
L_021BB684: ; // 0x21bb684
|
|
/* 021BB684 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BB688 */ _t201 = cpu->r[6] + 0xFFFFB220u;
|
|
/* 021BB688 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t201);
|
|
/* 021BB68C */ _ft202 = sqrt(cpu->f[8]);
|
|
/* 021BB68C */ _ft203 = (double)(int32_t)0x00000001u;
|
|
/* 021BB68C */ cpu->f[11] = _ft203 / _ft202;
|
|
/* 021BB690 */ cpu->f[0] = cpu->f[11] * cpu->f[11];
|
|
/* 021BB694 */ cpu->f[7] = cpu->f[11] * cpu->f[31];
|
|
/* 021BB698 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[8], -(cpu->f[12]));
|
|
/* 021BB69C */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 021BB6A0 */ cpu->f[8] = cpu->f[8] * cpu->f[11];
|
|
/* 021BB6A4 */ /* nop */
|
|
/* 021BB6A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB6AC */ /* nop */
|
|
/* 021BB6B0 */ /* nop */
|
|
/* 021BB6B4 */ _t204 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB6B4 */ _t205 = _t204 & 0x00000001u;
|
|
/* 021BB6B4 */ if (_t205) goto L_021BB6B8; else goto L_021BB5B4;
|
|
L_021BB6B8: ; // 0x21bb6b8
|
|
/* 021BB6B8 */ _t206 = cpu->r[1] + 0x00000034u;
|
|
/* 021BB6B8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t206);
|
|
/* 021BB6BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 021BB6C0 */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BB6C0 */ _t208 = _t207 & 0x00000001u;
|
|
/* 021BB6C0 */ if (_t208) goto L_021BB6C4; else goto L_021BB760;
|
|
L_021BB6C4: ; // 0x21bb6c4
|
|
/* 021BB6C4 */ cpu->f[1] = cpu->f[30];
|
|
/* 021BB6C8 */ Gambit_fn_02C892F8(cpu);
|
|
/* 021BB6CC */ _t209 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t209);
|
|
/* 021BB6D0 */ _t210 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB6D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t210);
|
|
/* 021BB6D4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB6D8 */ _t211 = cpu->r[9] + 0x00000148u;
|
|
/* 021BB6D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t211);
|
|
/* 021BB6DC */ _t212 = cpu->r[1] + 0x00000038u;
|
|
/* 021BB6DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t212);
|
|
/* 021BB6E0 */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 021BB6E4 */ cpu->f[9] = -cpu->f[10];
|
|
/* 021BB6E8 */ _t213 = cpu->r[7] + 0x00000020u;
|
|
/* 021BB6E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t213);
|
|
/* 021BB6EC */ /* nop */
|
|
/* 021BB6F0 */ _t214 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB6F0 */ rbrew_write_f32(cpu->mem, _t214, cpu->f[11]);
|
|
/* 021BB6F4 */ _t215 = cpu->r[7] + 0x00000024u;
|
|
/* 021BB6F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 021BB6F8 */ cpu->f[12] = cpu->f[1] * cpu->f[12];
|
|
/* 021BB6FC */ _t216 = cpu->r[1] + 0x000000BCu;
|
|
/* 021BB6FC */ rbrew_write_f32(cpu->mem, _t216, cpu->f[9]);
|
|
/* 021BB700 */ _t217 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB700 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t217);
|
|
/* 021BB704 */ _t218 = cpu->r[7] + 0x00000028u;
|
|
/* 021BB704 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t218);
|
|
/* 021BB708 */ _t219 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB708 */ rbrew_write_f64(cpu->mem, _t219, cpu->f[11]);
|
|
/* 021BB70C */ _t220 = cpu->r[1] + 0x00000070u;
|
|
/* 021BB70C */ rbrew_write_f32(cpu->mem, _t220, cpu->f[12]);
|
|
/* 021BB710 */ _t221 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB710 */ rbrew_write_f32(cpu->mem, _t221, cpu->f[27]);
|
|
/* 021BB714 */ _t222 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t222);
|
|
/* 021BB718 */ cpu->r[5] = cpu->r[7] + cpu->r[6];
|
|
/* 021BB71C */ _t223 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB71C */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t223);
|
|
/* 021BB720 */ _t224 = cpu->r[5] + 0x00000020u;
|
|
/* 021BB720 */ rbrew_write_f64(cpu->mem, _t224, cpu->f[7]);
|
|
/* 021BB724 */ _t225 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t225);
|
|
/* 021BB728 */ _t226 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t226);
|
|
/* 021BB72C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB730 */ _t227 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB730 */ cpu->r[5] = rbrew_read32(cpu->mem, _t227);
|
|
/* 021BB734 */ cpu->r[4] = cpu->r[5] + cpu->r[11];
|
|
/* 021BB738 */ _t228 = cpu->r[4] + 0x00000028u;
|
|
/* 021BB738 */ rbrew_write_f32(cpu->mem, _t228, cpu->f[8]);
|
|
/* 021BB73C */ _t229 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB73C */ cpu->r[8] = rbrew_read32(cpu->mem, _t229);
|
|
/* 021BB740 */ _t230 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB740 */ cpu->r[6] = rbrew_read32(cpu->mem, _t230);
|
|
/* 021BB744 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000000B0u);
|
|
/* 021BB748 */ _t231 = cpu->r[6] + 0x00000144u;
|
|
/* 021BB748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t231);
|
|
/* 021BB74C */ cpu->r[9] = cpu->r[10] + cpu->r[7];
|
|
/* 021BB750 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 021BB754 */ cpu->r[3] = cpu->r[9] + 0x00000020u;
|
|
/* 021BB758 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 021BB75C */ goto L_021BB800;
|
|
L_021BB760: ; // 0x21bb760
|
|
/* 021BB760 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 021BB764 */ _t232 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BB764 */ _t233 = _t232 & 0x00000001u;
|
|
/* 021BB764 */ if (_t233) goto L_021BB768; else goto L_021BB76C;
|
|
L_021BB768: ; // 0x21bb768
|
|
/* 021BB768 */ cpu->f[1] = cpu->f[29];
|
|
L_021BB76C: ; // 0x21bb76c
|
|
/* 021BB76C */ Gambit_fn_02C892F8(cpu);
|
|
/* 021BB770 */ _t234 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t234);
|
|
/* 021BB774 */ _t235 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t235);
|
|
/* 021BB778 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB77C */ _t236 = cpu->r[9] + 0x00000148u;
|
|
/* 021BB77C */ cpu->r[8] = rbrew_read32(cpu->mem, _t236);
|
|
/* 021BB780 */ _t237 = cpu->r[1] + 0x00000038u;
|
|
/* 021BB780 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 021BB784 */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 021BB788 */ cpu->f[9] = -cpu->f[10];
|
|
/* 021BB78C */ _t238 = cpu->r[7] + 0x00000020u;
|
|
/* 021BB78C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 021BB790 */ /* nop */
|
|
/* 021BB794 */ _t239 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB794 */ rbrew_write_f32(cpu->mem, _t239, cpu->f[11]);
|
|
/* 021BB798 */ _t240 = cpu->r[7] + 0x00000024u;
|
|
/* 021BB798 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 021BB79C */ cpu->f[12] = cpu->f[1] * cpu->f[12];
|
|
/* 021BB7A0 */ _t241 = cpu->r[1] + 0x000000BCu;
|
|
/* 021BB7A0 */ rbrew_write_f32(cpu->mem, _t241, cpu->f[9]);
|
|
/* 021BB7A4 */ _t242 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BB7A4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t242);
|
|
/* 021BB7A8 */ _t243 = cpu->r[7] + 0x00000028u;
|
|
/* 021BB7A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t243);
|
|
/* 021BB7AC */ _t244 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB7AC */ rbrew_write_f64(cpu->mem, _t244, cpu->f[11]);
|
|
/* 021BB7B0 */ _t245 = cpu->r[1] + 0x00000070u;
|
|
/* 021BB7B0 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[12]);
|
|
/* 021BB7B4 */ _t246 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB7B4 */ rbrew_write_f32(cpu->mem, _t246, cpu->f[27]);
|
|
/* 021BB7B8 */ _t247 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB7B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t247);
|
|
/* 021BB7BC */ cpu->r[5] = cpu->r[7] + cpu->r[6];
|
|
/* 021BB7C0 */ _t248 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BB7C0 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t248);
|
|
/* 021BB7C4 */ _t249 = cpu->r[5] + 0x00000020u;
|
|
/* 021BB7C4 */ rbrew_write_f64(cpu->mem, _t249, cpu->f[7]);
|
|
/* 021BB7C8 */ _t250 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t250);
|
|
/* 021BB7CC */ _t251 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB7CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t251);
|
|
/* 021BB7D0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BB7D4 */ _t252 = cpu->r[9] + 0x00000144u;
|
|
/* 021BB7D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t252);
|
|
/* 021BB7D8 */ cpu->r[4] = cpu->r[5] + cpu->r[11];
|
|
/* 021BB7DC */ _t253 = cpu->r[4] + 0x00000028u;
|
|
/* 021BB7DC */ rbrew_write_f32(cpu->mem, _t253, cpu->f[8]);
|
|
/* 021BB7E0 */ _t254 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB7E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t254);
|
|
/* 021BB7E4 */ _t255 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB7E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t255);
|
|
/* 021BB7E8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000000B0u);
|
|
/* 021BB7EC */ _t256 = cpu->r[6] + 0x00000144u;
|
|
/* 021BB7EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t256);
|
|
/* 021BB7F0 */ cpu->r[9] = cpu->r[10] + cpu->r[7];
|
|
/* 021BB7F4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 021BB7F8 */ cpu->r[3] = cpu->r[9] + 0x00000020u;
|
|
/* 021BB7FC */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
L_021BB800: ; // 0x21bb800
|
|
/* 021BB800 */ _t257 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB800 */ cpu->r[9] = rbrew_read32(cpu->mem, _t257);
|
|
/* 021BB804 */ _t258 = cpu->r[9] + 0x000000FCu;
|
|
/* 021BB804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t258);
|
|
/* 021BB808 */ _t259 = cpu->r[29] + 0x00000074u;
|
|
/* 021BB808 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t259);
|
|
/* 021BB80C */ _t260 = cpu->r[11] + 0x00000753u;
|
|
/* 021BB80C */ cpu->r[12] = rbrew_read8(cpu->mem, _t260);
|
|
/* 021BB810 */ _t261 = cpu->r[29] + 0x00000078u;
|
|
/* 021BB810 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t261);
|
|
/* 021BB814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BB818 */ _t262 = cpu->r[29] + 0x0000007Cu;
|
|
/* 021BB818 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t262);
|
|
/* 021BB81C */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB81C */ _t264 = _t263 & 0x00000001u;
|
|
/* 021BB81C */ if (_t264) goto L_021BB820; else goto L_021BB9EC;
|
|
L_021BB820: ; // 0x21bb820
|
|
/* 021BB820 */ cpu->r[8] = cpu->r[9] + 0x00000218u;
|
|
/* 021BB824 */ cpu->r[0] = cpu->r[1] + 0x000000C8u;
|
|
/* 021BB828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 021BB82C */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB82C */ _t266 = _t265 & 0x00000001u;
|
|
/* 021BB82C */ if (_t266) goto L_021BB864; else goto L_021BB830;
|
|
L_021BB830: ; // 0x21bb830
|
|
/* 021BB830 */ cpu->r[6] = 0x00000003u;
|
|
/* 021BB834 */ cpu->r[4] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 021BB838 */ cpu->ctr = cpu->r[6];
|
|
/* 021BB83C */ cpu->r[5] = cpu->r[1] + 0x000000C4u;
|
|
L_021BB840: ; // 0x21bb840
|
|
/* 021BB840 */ _t267 = cpu->r[4] + 0x00000004u;
|
|
/* 021BB840 */ cpu->r[7] = rbrew_read32(cpu->mem, _t267);
|
|
/* 021BB844 */ _t268 = cpu->r[5] + 0x00000004u;
|
|
/* 021BB844 */ rbrew_write32(cpu->mem, _t268, cpu->r[7]);
|
|
/* 021BB848 */ _t269 = cpu->r[4] + 0x00000008u;
|
|
/* 021BB848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t269);
|
|
/* 021BB84C */ _t270 = cpu->r[5] + 0x00000008u;
|
|
/* 021BB84C */ rbrew_write32(cpu->mem, _t270, cpu->r[8]);
|
|
/* 021BB850 */ _t271 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021BB850 */ cpu->r[10] = rbrew_read32(cpu->mem, _t271);
|
|
/* 021BB854 */ _t272 = cpu->r[5] + 0x0000000Cu;
|
|
/* 021BB854 */ rbrew_write32(cpu->mem, _t272, cpu->r[10]);
|
|
/* 021BB858 */ _t273 = cpu->r[4] + 0x00000010u;
|
|
/* 021BB858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t273);
|
|
/* 021BB858 */ cpu->r[4] = _t273;
|
|
/* 021BB85C */ _t274 = cpu->r[5] + 0x00000010u;
|
|
/* 021BB85C */ rbrew_write32(cpu->mem, _t274, cpu->r[0]);
|
|
/* 021BB85C */ cpu->r[5] = _t274;
|
|
/* 021BB860 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021BB860 */ _t275 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021BB860 */ _t276 = _t275 >> (0x00000002u & 31u);
|
|
/* 021BB860 */ _t277 = _t276 & 0x00000001u;
|
|
/* 021BB860 */ if (_t277) goto L_021BB840; else goto L_021BB864;
|
|
L_021BB864: ; // 0x21bb864
|
|
/* 021BB864 */ cpu->r[4] = cpu->r[1] + 0x000000C8u;
|
|
/* 021BB868 */ /* nop */
|
|
/* 021BB86C */ /* nop */
|
|
/* 021BB870 */ /* nop */
|
|
/* 021BB874 */ /* nop */
|
|
/* 021BB878 */ /* nop */
|
|
/* 021BB87C */ /* nop */
|
|
/* 021BB880 */ /* nop */
|
|
/* 021BB884 */ /* nop */
|
|
/* 021BB888 */ /* nop */
|
|
/* 021BB88C */ /* nop */
|
|
/* 021BB890 */ /* nop */
|
|
/* 021BB894 */ /* nop */
|
|
/* 021BB898 */ /* nop */
|
|
/* 021BB89C */ /* nop */
|
|
/* 021BB8A0 */ /* nop */
|
|
/* 021BB8A4 */ /* nop */
|
|
/* 021BB8A8 */ /* nop */
|
|
/* 021BB8AC */ /* nop */
|
|
/* 021BB8B0 */ /* nop */
|
|
/* 021BB8B4 */ /* nop */
|
|
/* 021BB8B8 */ /* nop */
|
|
/* 021BB8BC */ /* nop */
|
|
/* 021BB8C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 021BB8C4 */ /* nop */
|
|
/* 021BB8C8 */ /* nop */
|
|
/* 021BB8CC */ _t278 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB8CC */ _t279 = _t278 & 0x00000001u;
|
|
/* 021BB8CC */ if (_t279) goto L_021BB8D0; else goto L_021BB8DC;
|
|
L_021BB8D0: ; // 0x21bb8d0
|
|
/* 021BB8D0 */ /* nop */
|
|
/* 021BB8D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[28]);
|
|
/* 021BB8D8 */ _t280 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB8D8 */ _t281 = _t280 & 0x00000001u;
|
|
/* 021BB8D8 */ if (_t281) goto L_021BB954; else goto L_021BB8DC;
|
|
L_021BB8DC: ; // 0x21bb8dc
|
|
/* 021BB8DC */ cpu->f[29] = cpu->f[29] / cpu->f[8];
|
|
/* 021BB8E0 */ _t282 = cpu->r[1] + 0x000000D4u;
|
|
/* 021BB8E0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t282);
|
|
/* 021BB8E4 */ /* nop */
|
|
/* 021BB8E8 */ /* nop */
|
|
/* 021BB8EC */ _t283 = cpu->r[1] + 0x000000E4u;
|
|
/* 021BB8EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t283);
|
|
/* 021BB8F0 */ /* nop */
|
|
/* 021BB8F4 */ /* nop */
|
|
/* 021BB8F8 */ _t284 = cpu->r[1] + 0x000000F4u;
|
|
/* 021BB8F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t284);
|
|
/* 021BB8FC */ /* nop */
|
|
/* 021BB900 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BB904 */ /* nop */
|
|
/* 021BB908 */ /* nop */
|
|
/* 021BB90C */ /* nop */
|
|
/* 021BB910 */ /* nop */
|
|
/* 021BB914 */ /* nop */
|
|
/* 021BB918 */ /* nop */
|
|
/* 021BB91C */ /* nop */
|
|
/* 021BB920 */ /* nop */
|
|
/* 021BB924 */ /* nop */
|
|
/* 021BB928 */ /* nop */
|
|
/* 021BB92C */ /* nop */
|
|
/* 021BB930 */ /* nop */
|
|
/* 021BB934 */ /* nop */
|
|
/* 021BB938 */ /* nop */
|
|
/* 021BB93C */ /* nop */
|
|
/* 021BB940 */ /* nop */
|
|
/* 021BB944 */ /* nop */
|
|
/* 021BB948 */ /* nop */
|
|
/* 021BB94C */ /* nop */
|
|
/* 021BB950 */ _t285 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB950 */ cpu->r[9] = rbrew_read32(cpu->mem, _t285);
|
|
L_021BB954: ; // 0x21bb954
|
|
/* 021BB954 */ _t286 = cpu->r[1] + 0x00000040u;
|
|
/* 021BB954 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t286);
|
|
/* 021BB958 */ _t287 = cpu->r[1] + 0x00000050u;
|
|
/* 021BB958 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t287);
|
|
/* 021BB95C */ cpu->f[10] = cpu->f[12] * cpu->f[3];
|
|
/* 021BB960 */ _t288 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BB960 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t288);
|
|
/* 021BB964 */ _t289 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BB964 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t289);
|
|
/* 021BB968 */ cpu->f[6] = cpu->f[9] * cpu->f[3];
|
|
/* 021BB96C */ _t290 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t290);
|
|
/* 021BB970 */ cpu->f[13] = fma(cpu->f[8], cpu->f[4], cpu->f[10]);
|
|
/* 021BB974 */ _t291 = cpu->r[1] + 0x00000060u;
|
|
/* 021BB974 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t291);
|
|
/* 021BB978 */ cpu->f[10] = fma(cpu->f[0], cpu->f[4], cpu->f[6]);
|
|
/* 021BB97C */ _t292 = cpu->r[1] + 0x00000054u;
|
|
/* 021BB97C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t292);
|
|
/* 021BB980 */ cpu->f[7] = cpu->f[8] * cpu->f[3];
|
|
/* 021BB984 */ _t293 = cpu->r[1] + 0x00000044u;
|
|
/* 021BB984 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t293);
|
|
/* 021BB988 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BB98C */ _t294 = cpu->r[1] + 0x00000058u;
|
|
/* 021BB98C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t294);
|
|
/* 021BB990 */ cpu->f[9] = fma(cpu->f[8], cpu->f[5], cpu->f[13]);
|
|
/* 021BB994 */ _t295 = cpu->r[1] + 0x00000048u;
|
|
/* 021BB994 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t295);
|
|
/* 021BB998 */ cpu->f[12] = fma(cpu->f[11], cpu->f[5], cpu->f[10]);
|
|
/* 021BB99C */ _t296 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BB99C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t296);
|
|
/* 021BB9A0 */ cpu->f[11] = cpu->f[9] + cpu->f[13];
|
|
/* 021BB9A4 */ cpu->f[9] = fma(cpu->f[6], cpu->f[4], cpu->f[7]);
|
|
/* 021BB9A8 */ _t297 = cpu->r[1] + 0x00000064u;
|
|
/* 021BB9A8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t297);
|
|
/* 021BB9AC */ cpu->f[13] = cpu->f[12] + cpu->f[0];
|
|
/* 021BB9B0 */ _t298 = cpu->r[1] + 0x00000008u;
|
|
/* 021BB9B0 */ rbrew_write_f32(cpu->mem, _t298, cpu->f[11]);
|
|
/* 021BB9B4 */ _t299 = cpu->r[1] + 0x00000068u;
|
|
/* 021BB9B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t299);
|
|
/* 021BB9B8 */ cpu->f[11] = fma(cpu->f[10], cpu->f[5], cpu->f[9]);
|
|
/* 021BB9BC */ _t300 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BB9BC */ rbrew_write_f32(cpu->mem, _t300, cpu->f[13]);
|
|
/* 021BB9C0 */ _t301 = cpu->r[1] + 0x00000008u;
|
|
/* 021BB9C0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t301);
|
|
/* 021BB9C4 */ _t302 = cpu->r[9] + 0x00000130u;
|
|
/* 021BB9C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t302);
|
|
/* 021BB9C8 */ _t303 = cpu->r[5] + cpu->r[6];
|
|
/* 021BB9C8 */ rbrew_write8(cpu->mem, _t303, (uint8_t)cpu->r[10]);
|
|
/* 021BB9CC */ _t304 = cpu->r[30] + 0x00000014u;
|
|
/* 021BB9CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t304);
|
|
/* 021BB9D0 */ _t305 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB9D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t305);
|
|
/* 021BB9D4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000030u);
|
|
/* 021BB9D8 */ _t306 = cpu->r[9] + 0x00000130u;
|
|
/* 021BB9D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t306);
|
|
/* 021BB9DC */ cpu->f[7] = cpu->f[11] + cpu->f[0];
|
|
/* 021BB9E0 */ cpu->r[6] = cpu->r[7] + cpu->r[0];
|
|
/* 021BB9E4 */ _t307 = cpu->r[6] + 0x00000008u;
|
|
/* 021BB9E4 */ rbrew_write_f32(cpu->mem, _t307, cpu->f[7]);
|
|
/* 021BB9E8 */ goto L_021BBDF0;
|
|
L_021BB9EC: ; // 0x21bb9ec
|
|
/* 021BB9EC */ _t308 = cpu->r[30] + 0x00000008u;
|
|
/* 021BB9EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t308);
|
|
/* 021BB9F0 */ _t309 = cpu->r[9] + 0x000000FCu;
|
|
/* 021BB9F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t309);
|
|
/* 021BB9F4 */ _t310 = cpu->r[12] + 0x00000753u;
|
|
/* 021BB9F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t310);
|
|
/* 021BB9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 021BB9FC */ _t311 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BB9FC */ _t312 = _t311 & 0x00000001u;
|
|
/* 021BB9FC */ if (_t312) goto L_021BBA00; else goto L_021BBBF8;
|
|
L_021BBA00: ; // 0x21bba00
|
|
/* 021BBA00 */ _t313 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBA00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t313);
|
|
/* 021BBA04 */ _t314 = cpu->r[9] + 0x00000224u;
|
|
/* 021BBA04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t314);
|
|
/* 021BBA08 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BBA0C */ _t315 = cpu->r[9] + 0x00000148u;
|
|
/* 021BBA0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t315);
|
|
/* 021BBA10 */ _t316 = cpu->r[9] + 0x00000234u;
|
|
/* 021BBA10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t316);
|
|
/* 021BBA14 */ cpu->r[5] = cpu->r[5] + cpu->r[6];
|
|
/* 021BBA18 */ _t317 = cpu->r[9] + 0x00000244u;
|
|
/* 021BBA18 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t317);
|
|
/* 021BBA1C */ _t318 = cpu->r[5] + 0x00000054u;
|
|
/* 021BBA1C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t318);
|
|
/* 021BBA20 */ _t319 = cpu->r[5] + 0x00000078u;
|
|
/* 021BBA20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t319);
|
|
/* 021BBA24 */ _t320 = cpu->r[5] + 0x00000068u;
|
|
/* 021BBA24 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t320);
|
|
/* 021BBA28 */ _t321 = cpu->r[5] + 0x00000064u;
|
|
/* 021BBA28 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t321);
|
|
/* 021BBA2C */ _t322 = cpu->r[5] + 0x00000058u;
|
|
/* 021BBA2C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t322);
|
|
/* 021BBA30 */ _t323 = cpu->r[5] + 0x00000070u;
|
|
/* 021BBA30 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t323);
|
|
/* 021BBA34 */ _t324 = cpu->r[5] + 0x00000060u;
|
|
/* 021BBA34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t324);
|
|
/* 021BBA38 */ _t325 = cpu->r[5] + 0x00000050u;
|
|
/* 021BBA38 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t325);
|
|
/* 021BBA3C */ _t326 = cpu->r[5] + 0x00000074u;
|
|
/* 021BBA3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t326);
|
|
/* 021BBA40 */ _t327 = cpu->r[1] + 0x00000064u;
|
|
/* 021BBA40 */ rbrew_write_f32(cpu->mem, _t327, cpu->f[8]);
|
|
/* 021BBA44 */ cpu->r[10] = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BBA48 */ _t328 = cpu->r[1] + 0x00000044u;
|
|
/* 021BBA48 */ rbrew_write_f32(cpu->mem, _t328, cpu->f[2]);
|
|
/* 021BBA4C */ _t329 = cpu->r[1] + 0x00000048u;
|
|
/* 021BBA4C */ rbrew_write_f32(cpu->mem, _t329, cpu->f[12]);
|
|
/* 021BBA50 */ _t330 = cpu->r[1] + 0x00000050u;
|
|
/* 021BBA50 */ rbrew_write_f32(cpu->mem, _t330, cpu->f[7]);
|
|
/* 021BBA54 */ _t331 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BBA54 */ rbrew_write_f32(cpu->mem, _t331, cpu->f[13]);
|
|
/* 021BBA58 */ _t332 = cpu->r[1] + 0x00000058u;
|
|
/* 021BBA58 */ rbrew_write_f32(cpu->mem, _t332, cpu->f[11]);
|
|
/* 021BBA5C */ _t333 = cpu->r[1] + 0x00000040u;
|
|
/* 021BBA5C */ rbrew_write_f32(cpu->mem, _t333, cpu->f[1]);
|
|
/* 021BBA60 */ _t334 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BBA60 */ rbrew_write_f32(cpu->mem, _t334, cpu->f[6]);
|
|
/* 021BBA64 */ _t335 = cpu->r[1] + 0x00000060u;
|
|
/* 021BBA64 */ rbrew_write_f32(cpu->mem, _t335, cpu->f[0]);
|
|
/* 021BBA68 */ _t336 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BBA68 */ rbrew_write_f32(cpu->mem, _t336, cpu->f[31]);
|
|
/* 021BBA6C */ _t337 = cpu->r[1] + 0x00000054u;
|
|
/* 021BBA6C */ rbrew_write_f32(cpu->mem, _t337, cpu->f[10]);
|
|
/* 021BBA70 */ _t338 = cpu->r[1] + 0x00000068u;
|
|
/* 021BBA70 */ rbrew_write_f32(cpu->mem, _t338, cpu->f[9]);
|
|
/* 021BBA74 */ /* nop */
|
|
/* 021BBA78 */ /* nop */
|
|
/* 021BBA7C */ /* nop */
|
|
/* 021BBA80 */ /* nop */
|
|
/* 021BBA84 */ /* nop */
|
|
/* 021BBA88 */ /* nop */
|
|
/* 021BBA8C */ /* nop */
|
|
/* 021BBA90 */ /* nop */
|
|
/* 021BBA94 */ /* nop */
|
|
/* 021BBA98 */ /* nop */
|
|
/* 021BBA9C */ /* nop */
|
|
/* 021BBAA0 */ /* nop */
|
|
/* 021BBAA4 */ /* nop */
|
|
/* 021BBAA8 */ /* nop */
|
|
/* 021BBAAC */ /* nop */
|
|
/* 021BBAB0 */ /* nop */
|
|
/* 021BBAB4 */ /* nop */
|
|
/* 021BBAB8 */ /* nop */
|
|
/* 021BBABC */ /* nop */
|
|
/* 021BBAC0 */ /* nop */
|
|
/* 021BBAC4 */ /* nop */
|
|
/* 021BBAC8 */ /* nop */
|
|
/* 021BBACC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[28]);
|
|
/* 021BBAD0 */ /* nop */
|
|
/* 021BBAD4 */ /* nop */
|
|
/* 021BBAD8 */ _t339 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBAD8 */ _t340 = _t339 & 0x00000001u;
|
|
/* 021BBAD8 */ if (_t340) goto L_021BBADC; else goto L_021BBAE8;
|
|
L_021BBADC: ; // 0x21bbadc
|
|
/* 021BBADC */ /* nop */
|
|
/* 021BBAE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[28]);
|
|
/* 021BBAE4 */ _t341 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBAE4 */ _t342 = _t341 & 0x00000001u;
|
|
/* 021BBAE4 */ if (_t342) goto L_021BBB64; else goto L_021BBAE8;
|
|
L_021BBAE8: ; // 0x21bbae8
|
|
/* 021BBAE8 */ cpu->f[29] = cpu->f[29] / cpu->f[6];
|
|
/* 021BBAEC */ _t343 = cpu->r[1] + 0x00000068u;
|
|
/* 021BBAEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t343);
|
|
/* 021BBAF0 */ /* nop */
|
|
/* 021BBAF4 */ cpu->r[5] = cpu->r[1] + 0x00000078u;
|
|
/* 021BBAF8 */ /* nop */
|
|
/* 021BBAFC */ _t344 = cpu->r[1] + 0x00000048u;
|
|
/* 021BBAFC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t344);
|
|
/* 021BBB00 */ /* nop */
|
|
/* 021BBB04 */ _t345 = cpu->r[1] + 0x00000058u;
|
|
/* 021BBB04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t345);
|
|
/* 021BBB08 */ /* nop */
|
|
/* 021BBB0C */ /* nop */
|
|
/* 021BBB10 */ /* nop */
|
|
/* 021BBB14 */ /* nop */
|
|
/* 021BBB18 */ /* nop */
|
|
/* 021BBB1C */ /* nop */
|
|
/* 021BBB20 */ /* nop */
|
|
/* 021BBB24 */ /* nop */
|
|
/* 021BBB28 */ /* nop */
|
|
/* 021BBB2C */ /* nop */
|
|
/* 021BBB30 */ /* nop */
|
|
/* 021BBB34 */ /* nop */
|
|
/* 021BBB38 */ /* nop */
|
|
/* 021BBB3C */ /* nop */
|
|
/* 021BBB40 */ /* nop */
|
|
/* 021BBB44 */ /* nop */
|
|
/* 021BBB48 */ /* nop */
|
|
/* 021BBB4C */ /* nop */
|
|
/* 021BBB50 */ /* nop */
|
|
/* 021BBB54 */ /* nop */
|
|
/* 021BBB58 */ /* nop */
|
|
/* 021BBB5C */ _t346 = cpu->r[30] + 0x00000008u;
|
|
/* 021BBB5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t346);
|
|
/* 021BBB60 */ _t347 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t347);
|
|
L_021BBB64: ; // 0x21bbb64
|
|
/* 021BBB64 */ _t348 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BBB64 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 021BBB68 */ _t349 = cpu->r[1] + 0x00000090u;
|
|
/* 021BBB68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t349);
|
|
/* 021BBB6C */ cpu->f[9] = cpu->f[10] * cpu->f[3];
|
|
/* 021BBB70 */ _t350 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BBB70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t350);
|
|
/* 021BBB74 */ _t351 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BBB74 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t351);
|
|
/* 021BBB78 */ cpu->f[12] = cpu->f[13] * cpu->f[3];
|
|
/* 021BBB7C */ _t352 = cpu->r[1] + 0x00000078u;
|
|
/* 021BBB7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t352);
|
|
/* 021BBB80 */ cpu->f[13] = cpu->f[6] * cpu->f[3];
|
|
/* 021BBB84 */ _t353 = cpu->r[1] + 0x00000088u;
|
|
/* 021BBB84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t353);
|
|
/* 021BBB88 */ cpu->f[6] = fma(cpu->f[10], cpu->f[4], cpu->f[12]);
|
|
/* 021BBB8C */ _t354 = cpu->r[1] + 0x00000098u;
|
|
/* 021BBB8C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t354);
|
|
/* 021BBB90 */ cpu->f[7] = fma(cpu->f[11], cpu->f[4], cpu->f[13]);
|
|
/* 021BBB94 */ _t355 = cpu->r[1] + 0x00000080u;
|
|
/* 021BBB94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t355);
|
|
/* 021BBB98 */ cpu->f[11] = fma(cpu->f[8], cpu->f[4], cpu->f[9]);
|
|
/* 021BBB9C */ _t356 = cpu->r[1] + 0x00000084u;
|
|
/* 021BBB9C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t356);
|
|
/* 021BBBA0 */ cpu->f[13] = fma(cpu->f[12], cpu->f[5], cpu->f[6]);
|
|
/* 021BBBA4 */ _t357 = cpu->r[1] + 0x00000094u;
|
|
/* 021BBBA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t357);
|
|
/* 021BBBA8 */ cpu->f[7] = fma(cpu->f[0], cpu->f[5], cpu->f[7]);
|
|
/* 021BBBAC */ _t358 = cpu->r[1] + 0x000000A4u;
|
|
/* 021BBBAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t358);
|
|
/* 021BBBB0 */ cpu->f[6] = cpu->f[13] + cpu->f[8];
|
|
/* 021BBBB4 */ _t359 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BBBB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t359);
|
|
/* 021BBBB8 */ cpu->f[9] = cpu->f[7] + cpu->f[12];
|
|
/* 021BBBBC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BBBC0 */ _t360 = cpu->r[1] + 0x00000008u;
|
|
/* 021BBBC0 */ rbrew_write_f32(cpu->mem, _t360, cpu->f[6]);
|
|
/* 021BBBC4 */ _t361 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BBBC4 */ rbrew_write_f32(cpu->mem, _t361, cpu->f[9]);
|
|
/* 021BBBC8 */ _t362 = cpu->r[9] + 0x00000130u;
|
|
/* 021BBBC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t362);
|
|
/* 021BBBCC */ _t363 = cpu->r[1] + 0x00000008u;
|
|
/* 021BBBCC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t363);
|
|
/* 021BBBD0 */ _t364 = cpu->r[5] + cpu->r[6];
|
|
/* 021BBBD0 */ rbrew_write8(cpu->mem, _t364, (uint8_t)cpu->r[10]);
|
|
/* 021BBBD4 */ _t365 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBBD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t365);
|
|
/* 021BBBD8 */ cpu->f[11] = fma(cpu->f[13], cpu->f[5], cpu->f[11]);
|
|
/* 021BBBDC */ _t366 = cpu->r[30] + 0x00000008u;
|
|
/* 021BBBDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t366);
|
|
/* 021BBBE0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000030u);
|
|
/* 021BBBE4 */ _t367 = cpu->r[9] + 0x00000130u;
|
|
/* 021BBBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t367);
|
|
/* 021BBBE8 */ cpu->f[7] = cpu->f[11] + cpu->f[0];
|
|
/* 021BBBEC */ cpu->r[6] = cpu->r[7] + cpu->r[0];
|
|
/* 021BBBF0 */ _t368 = cpu->r[6] + 0x00000008u;
|
|
/* 021BBBF0 */ rbrew_write_f32(cpu->mem, _t368, cpu->f[7]);
|
|
/* 021BBBF4 */ goto L_021BBDF0;
|
|
L_021BBBF8: ; // 0x21bbbf8
|
|
/* 021BBBF8 */ _t369 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t369);
|
|
/* 021BBBFC */ _t370 = cpu->r[30] + 0x00000008u;
|
|
/* 021BBBFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t370);
|
|
/* 021BBC00 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BBC04 */ _t371 = cpu->r[9] + 0x00000148u;
|
|
/* 021BBC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t371);
|
|
/* 021BBC08 */ cpu->r[5] = cpu->r[10] + cpu->r[6];
|
|
/* 021BBC0C */ _t372 = cpu->r[5] + 0x00000064u;
|
|
/* 021BBC0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t372);
|
|
/* 021BBC10 */ _t373 = cpu->r[5] + 0x0000005Cu;
|
|
/* 021BBC10 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t373);
|
|
/* 021BBC14 */ _t374 = cpu->r[5] + 0x00000060u;
|
|
/* 021BBC14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t374);
|
|
/* 021BBC18 */ _t375 = cpu->r[5] + 0x00000074u;
|
|
/* 021BBC18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t375);
|
|
/* 021BBC1C */ _t376 = cpu->r[5] + 0x00000068u;
|
|
/* 021BBC1C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t376);
|
|
/* 021BBC20 */ _t377 = cpu->r[5] + 0x00000070u;
|
|
/* 021BBC20 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t377);
|
|
/* 021BBC24 */ _t378 = cpu->r[5] + 0x00000054u;
|
|
/* 021BBC24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t378);
|
|
/* 021BBC28 */ _t379 = cpu->r[5] + 0x0000006Cu;
|
|
/* 021BBC28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t379);
|
|
/* 021BBC2C */ _t380 = cpu->r[5] + 0x0000007Cu;
|
|
/* 021BBC2C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t380);
|
|
/* 021BBC30 */ _t381 = cpu->r[5] + 0x00000078u;
|
|
/* 021BBC30 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t381);
|
|
/* 021BBC34 */ _t382 = cpu->r[5] + 0x00000050u;
|
|
/* 021BBC34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t382);
|
|
/* 021BBC38 */ _t383 = cpu->r[5] + 0x00000058u;
|
|
/* 021BBC38 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t383);
|
|
/* 021BBC3C */ _t384 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BBC3C */ rbrew_write_f32(cpu->mem, _t384, cpu->f[31]);
|
|
/* 021BBC40 */ _t385 = cpu->r[1] + 0x00000064u;
|
|
/* 021BBC40 */ rbrew_write_f32(cpu->mem, _t385, cpu->f[6]);
|
|
/* 021BBC44 */ _t386 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BBC44 */ rbrew_write_f32(cpu->mem, _t386, cpu->f[12]);
|
|
/* 021BBC48 */ _t387 = cpu->r[1] + 0x00000068u;
|
|
/* 021BBC48 */ rbrew_write_f32(cpu->mem, _t387, cpu->f[9]);
|
|
/* 021BBC4C */ _t388 = cpu->r[1] + 0x00000054u;
|
|
/* 021BBC4C */ rbrew_write_f32(cpu->mem, _t388, cpu->f[7]);
|
|
/* 021BBC50 */ _t389 = cpu->r[1] + 0x00000060u;
|
|
/* 021BBC50 */ rbrew_write_f32(cpu->mem, _t389, cpu->f[13]);
|
|
/* 021BBC54 */ _t390 = cpu->r[1] + 0x00000048u;
|
|
/* 021BBC54 */ rbrew_write_f32(cpu->mem, _t390, cpu->f[10]);
|
|
/* 021BBC58 */ _t391 = cpu->r[1] + 0x00000040u;
|
|
/* 021BBC58 */ rbrew_write_f32(cpu->mem, _t391, cpu->f[1]);
|
|
/* 021BBC5C */ _t392 = cpu->r[1] + 0x00000058u;
|
|
/* 021BBC5C */ rbrew_write_f32(cpu->mem, _t392, cpu->f[8]);
|
|
/* 021BBC60 */ _t393 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BBC60 */ rbrew_write_f32(cpu->mem, _t393, cpu->f[11]);
|
|
/* 021BBC64 */ _t394 = cpu->r[1] + 0x00000044u;
|
|
/* 021BBC64 */ rbrew_write_f32(cpu->mem, _t394, cpu->f[2]);
|
|
/* 021BBC68 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BBC6C */ _t395 = cpu->r[1] + 0x00000050u;
|
|
/* 021BBC6C */ rbrew_write_f32(cpu->mem, _t395, cpu->f[0]);
|
|
/* 021BBC70 */ /* nop */
|
|
/* 021BBC74 */ /* nop */
|
|
/* 021BBC78 */ /* nop */
|
|
/* 021BBC7C */ /* nop */
|
|
/* 021BBC80 */ /* nop */
|
|
/* 021BBC84 */ /* nop */
|
|
/* 021BBC88 */ /* nop */
|
|
/* 021BBC8C */ /* nop */
|
|
/* 021BBC90 */ /* nop */
|
|
/* 021BBC94 */ /* nop */
|
|
/* 021BBC98 */ /* nop */
|
|
/* 021BBC9C */ /* nop */
|
|
/* 021BBCA0 */ /* nop */
|
|
/* 021BBCA4 */ /* nop */
|
|
/* 021BBCA8 */ /* nop */
|
|
/* 021BBCAC */ /* nop */
|
|
/* 021BBCB0 */ /* nop */
|
|
/* 021BBCB4 */ /* nop */
|
|
/* 021BBCB8 */ /* nop */
|
|
/* 021BBCBC */ /* nop */
|
|
/* 021BBCC0 */ /* nop */
|
|
/* 021BBCC4 */ /* nop */
|
|
/* 021BBCC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[28]);
|
|
/* 021BBCCC */ /* nop */
|
|
/* 021BBCD0 */ /* nop */
|
|
/* 021BBCD4 */ _t396 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBCD4 */ _t397 = _t396 & 0x00000001u;
|
|
/* 021BBCD4 */ if (_t397) goto L_021BBCD8; else goto L_021BBCE4;
|
|
L_021BBCD8: ; // 0x21bbcd8
|
|
/* 021BBCD8 */ /* nop */
|
|
/* 021BBCDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[28]);
|
|
/* 021BBCE0 */ _t398 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBCE0 */ _t399 = _t398 & 0x00000001u;
|
|
/* 021BBCE0 */ if (_t399) goto L_021BBD60; else goto L_021BBCE4;
|
|
L_021BBCE4: ; // 0x21bbce4
|
|
/* 021BBCE4 */ cpu->f[29] = cpu->f[29] / cpu->f[0];
|
|
/* 021BBCE8 */ /* nop */
|
|
/* 021BBCEC */ _t400 = cpu->r[1] + 0x00000048u;
|
|
/* 021BBCEC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t400);
|
|
/* 021BBCF0 */ /* nop */
|
|
/* 021BBCF4 */ _t401 = cpu->r[1] + 0x00000058u;
|
|
/* 021BBCF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t401);
|
|
/* 021BBCF8 */ /* nop */
|
|
/* 021BBCFC */ /* nop */
|
|
/* 021BBD00 */ _t402 = cpu->r[1] + 0x00000068u;
|
|
/* 021BBD00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t402);
|
|
/* 021BBD04 */ /* nop */
|
|
/* 021BBD08 */ cpu->r[6] = cpu->r[1] + 0x00000078u;
|
|
/* 021BBD0C */ /* nop */
|
|
/* 021BBD10 */ /* nop */
|
|
/* 021BBD14 */ /* nop */
|
|
/* 021BBD18 */ /* nop */
|
|
/* 021BBD1C */ /* nop */
|
|
/* 021BBD20 */ /* nop */
|
|
/* 021BBD24 */ /* nop */
|
|
/* 021BBD28 */ /* nop */
|
|
/* 021BBD2C */ /* nop */
|
|
/* 021BBD30 */ /* nop */
|
|
/* 021BBD34 */ /* nop */
|
|
/* 021BBD38 */ /* nop */
|
|
/* 021BBD3C */ /* nop */
|
|
/* 021BBD40 */ /* nop */
|
|
/* 021BBD44 */ /* nop */
|
|
/* 021BBD48 */ /* nop */
|
|
/* 021BBD4C */ /* nop */
|
|
/* 021BBD50 */ /* nop */
|
|
/* 021BBD54 */ /* nop */
|
|
/* 021BBD58 */ _t403 = cpu->r[30] + 0x00000008u;
|
|
/* 021BBD58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t403);
|
|
/* 021BBD5C */ _t404 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t404);
|
|
L_021BBD60: ; // 0x21bbd60
|
|
/* 021BBD60 */ _t405 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BBD60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t405);
|
|
/* 021BBD64 */ _t406 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BBD64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t406);
|
|
/* 021BBD68 */ cpu->f[11] = cpu->f[12] * cpu->f[3];
|
|
/* 021BBD6C */ _t407 = cpu->r[1] + 0x00000078u;
|
|
/* 021BBD6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t407);
|
|
/* 021BBD70 */ _t408 = cpu->r[1] + 0x00000088u;
|
|
/* 021BBD70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t408);
|
|
/* 021BBD74 */ cpu->f[13] = fma(cpu->f[9], cpu->f[4], cpu->f[11]);
|
|
/* 021BBD78 */ _t409 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BBD78 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t409);
|
|
/* 021BBD7C */ cpu->f[12] = cpu->f[0] * cpu->f[3];
|
|
/* 021BBD80 */ _t410 = cpu->r[1] + 0x00000080u;
|
|
/* 021BBD80 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t410);
|
|
/* 021BBD84 */ cpu->f[6] = cpu->f[7] * cpu->f[3];
|
|
/* 021BBD88 */ _t411 = cpu->r[1] + 0x00000098u;
|
|
/* 021BBD88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t411);
|
|
/* 021BBD8C */ cpu->f[7] = fma(cpu->f[10], cpu->f[4], cpu->f[12]);
|
|
/* 021BBD90 */ _t412 = cpu->r[1] + 0x00000090u;
|
|
/* 021BBD90 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t412);
|
|
/* 021BBD94 */ cpu->f[8] = fma(cpu->f[0], cpu->f[4], cpu->f[6]);
|
|
/* 021BBD98 */ _t413 = cpu->r[1] + 0x00000084u;
|
|
/* 021BBD98 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t413);
|
|
/* 021BBD9C */ cpu->f[9] = fma(cpu->f[9], cpu->f[5], cpu->f[13]);
|
|
/* 021BBDA0 */ cpu->f[11] = fma(cpu->f[10], cpu->f[5], cpu->f[7]);
|
|
/* 021BBDA4 */ _t414 = cpu->r[1] + 0x00000094u;
|
|
/* 021BBDA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t414);
|
|
/* 021BBDA8 */ cpu->f[10] = cpu->f[9] + cpu->f[6];
|
|
/* 021BBDAC */ _t415 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BBDAC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t415);
|
|
/* 021BBDB0 */ _t416 = cpu->r[1] + 0x000000A4u;
|
|
/* 021BBDB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t416);
|
|
/* 021BBDB4 */ cpu->f[12] = cpu->f[11] + cpu->f[13];
|
|
/* 021BBDB8 */ _t417 = cpu->r[1] + 0x00000008u;
|
|
/* 021BBDB8 */ rbrew_write_f32(cpu->mem, _t417, cpu->f[10]);
|
|
/* 021BBDBC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BBDC0 */ _t418 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BBDC0 */ rbrew_write_f32(cpu->mem, _t418, cpu->f[12]);
|
|
/* 021BBDC4 */ _t419 = cpu->r[1] + 0x00000008u;
|
|
/* 021BBDC4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t419);
|
|
/* 021BBDC8 */ _t420 = cpu->r[9] + 0x00000130u;
|
|
/* 021BBDC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t420);
|
|
/* 021BBDCC */ _t421 = cpu->r[5] + cpu->r[6];
|
|
/* 021BBDCC */ rbrew_write8(cpu->mem, _t421, (uint8_t)cpu->r[10]);
|
|
/* 021BBDD0 */ _t422 = cpu->r[30] + 0x00000014u;
|
|
/* 021BBDD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t422);
|
|
/* 021BBDD4 */ cpu->f[11] = fma(cpu->f[9], cpu->f[5], cpu->f[8]);
|
|
/* 021BBDD8 */ _t423 = cpu->r[30] + 0x00000008u;
|
|
/* 021BBDD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t423);
|
|
/* 021BBDDC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000030u);
|
|
/* 021BBDE0 */ _t424 = cpu->r[9] + 0x00000130u;
|
|
/* 021BBDE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t424);
|
|
/* 021BBDE4 */ cpu->f[7] = cpu->f[11] + cpu->f[0];
|
|
/* 021BBDE8 */ cpu->r[6] = cpu->r[7] + cpu->r[0];
|
|
/* 021BBDEC */ _t425 = cpu->r[6] + 0x00000008u;
|
|
/* 021BBDEC */ rbrew_write_f32(cpu->mem, _t425, cpu->f[7]);
|
|
L_021BBDF0: ; // 0x21bbdf0
|
|
/* 021BBDF0 */ _t426 = cpu->r[1] + 0x00000104u;
|
|
/* 021BBDF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t426);
|
|
/* 021BBDF4 */ _t427 = cpu->r[1] + 0x00000138u;
|
|
/* 021BBDF4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t427);
|
|
/* 021BBDF8 */ _t428 = cpu->r[1] + 0x00000128u;
|
|
/* 021BBDF8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t428);
|
|
/* 021BBDFC */ _t429 = cpu->r[1] + 0x00000130u;
|
|
/* 021BBDFC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t429);
|
|
/* 021BBE00 */ _t430 = cpu->r[1] + 0x00000148u;
|
|
/* 021BBE00 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t430);
|
|
/* 021BBE04 */ _t431 = cpu->r[1] + 0x00000120u;
|
|
/* 021BBE04 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t431);
|
|
/* 021BBE08 */ _t432 = cpu->r[1] + 0x00000140u;
|
|
/* 021BBE08 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t432);
|
|
/* 021BBE0C */ _t433 = cpu->r[1] + 0x00000168u;
|
|
/* 021BBE0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t433);
|
|
/* 021BBE10 */ _t434 = cpu->r[1] + 0x0000010Cu;
|
|
/* 021BBE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t434);
|
|
/* 021BBE14 */ _t435 = cpu->r[1] + 0x00000160u;
|
|
/* 021BBE14 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t435);
|
|
/* 021BBE18 */ _t436 = cpu->r[1] + 0x00000158u;
|
|
/* 021BBE18 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t436);
|
|
/* 021BBE1C */ _t437 = cpu->r[1] + 0x00000118u;
|
|
/* 021BBE1C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t437);
|
|
/* 021BBE20 */ _t438 = cpu->r[1] + 0x00000150u;
|
|
/* 021BBE20 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t438);
|
|
/* 021BBE24 */ _t439 = cpu->r[1] + 0x00000110u;
|
|
/* 021BBE24 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t439);
|
|
/* 021BBE28 */ _t440 = cpu->r[1] + 0x00000108u;
|
|
/* 021BBE28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t440);
|
|
/* 021BBE2C */ _t441 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BBE2C */ _t442 = _t441 & 0x00000001u;
|
|
/* 021BBE2C */ if (_t442) goto L_021BBE30; // else: addr-0 trap, fall-through
|
|
L_021BBE30: ; // 0x21bbe30
|
|
/* 021BBE30 */ _t443 = cpu->r[1] + 0x00000174u;
|
|
/* 021BBE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t443);
|
|
/* 021BBE34 */ cpu->lr = cpu->r[0];
|
|
/* 021BBE38 */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 021BBE3C */ return;
|
|
}
|
|
|
|
// fn_021BBE40 @ 0x21bbe40
|
|
void Gambit_fn_021BBE40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193;
|
|
|
|
L_021BBE40: ; // 0x21bbe40
|
|
/* 021BBE40 */ _t0 = cpu->r[1] + 0xFFFFFF08u;
|
|
/* 021BBE40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BBE40 */ cpu->r[1] = _t0;
|
|
/* 021BBE44 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BBE44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 021BBE48 */ /* nop */
|
|
/* 021BBE4C */ _t2 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BBE4C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021BBE50 */ /* nop */
|
|
/* 021BBE54 */ _t3 = cpu->r[1] + 0x000000C8u;
|
|
/* 021BBE54 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021BBE58 */ _t4 = cpu->r[1] + 0x000000B0u;
|
|
/* 021BBE58 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[27]);
|
|
/* 021BBE5C */ /* nop */
|
|
/* 021BBE60 */ _t5 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BBE60 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021BBE64 */ _t6 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BBE64 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 021BBE68 */ /* nop */
|
|
/* 021BBE6C */ _t7 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BBE6C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 021BBE70 */ _t8 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BBE70 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 021BBE74 */ /* nop */
|
|
/* 021BBE78 */ _t9 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BBE78 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 021BBE7C */ _t10 = cpu->r[1] + 0x000000C0u;
|
|
/* 021BBE7C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[28]);
|
|
/* 021BBE80 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 021BBE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BBE84 */ _t12 = cpu->r[3] + 0x00000078u;
|
|
/* 021BBE84 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 021BBE88 */ _t13 = cpu->r[12] + 0x000000FCu;
|
|
/* 021BBE88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BBE8C */ _t14 = cpu->r[3] + 0x0000007Cu;
|
|
/* 021BBE8C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021BBE90 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BBE94 */ _t15 = cpu->r[10] + 0x00000753u;
|
|
/* 021BBE94 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
|
|
/* 021BBE98 */ cpu->r[7] = 0x10030000u;
|
|
/* 021BBE9C */ _t16 = cpu->r[6] + 0xFFFFB214u;
|
|
/* 021BBE9C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021BBEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021BBEA4 */ _t17 = cpu->r[7] + 0xFFFFB210u;
|
|
/* 021BBEA4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021BBEA8 */ _t18 = cpu->r[3] + 0x00000074u;
|
|
/* 021BBEA8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021BBEAC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBEAC */ _t20 = _t19 & 0x00000001u;
|
|
/* 021BBEAC */ if (_t20) goto L_021BBEB0; else goto L_021BC07C;
|
|
L_021BBEB0: ; // 0x21bbeb0
|
|
/* 021BBEB0 */ cpu->r[11] = cpu->r[12] + 0x00000218u;
|
|
/* 021BBEB4 */ cpu->r[0] = cpu->r[1] + 0x00000074u;
|
|
/* 021BBEB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 021BBEBC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBEBC */ _t22 = _t21 & 0x00000001u;
|
|
/* 021BBEBC */ if (_t22) goto L_021BBEF4; else goto L_021BBEC0;
|
|
L_021BBEC0: ; // 0x21bbec0
|
|
/* 021BBEC0 */ cpu->r[8] = 0x00000003u;
|
|
/* 021BBEC4 */ cpu->r[6] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 021BBEC8 */ cpu->ctr = cpu->r[8];
|
|
/* 021BBECC */ cpu->r[7] = cpu->r[1] + 0x00000070u;
|
|
L_021BBED0: ; // 0x21bbed0
|
|
/* 021BBED0 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 021BBED0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BBED4 */ _t24 = cpu->r[7] + 0x00000004u;
|
|
/* 021BBED4 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 021BBED8 */ _t25 = cpu->r[6] + 0x00000008u;
|
|
/* 021BBED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BBEDC */ _t26 = cpu->r[7] + 0x00000008u;
|
|
/* 021BBEDC */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 021BBEE0 */ _t27 = cpu->r[6] + 0x0000000Cu;
|
|
/* 021BBEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BBEE4 */ _t28 = cpu->r[7] + 0x0000000Cu;
|
|
/* 021BBEE4 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021BBEE8 */ _t29 = cpu->r[6] + 0x00000010u;
|
|
/* 021BBEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BBEE8 */ cpu->r[6] = _t29;
|
|
/* 021BBEEC */ _t30 = cpu->r[7] + 0x00000010u;
|
|
/* 021BBEEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 021BBEEC */ cpu->r[7] = _t30;
|
|
/* 021BBEF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 021BBEF0 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 021BBEF0 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 021BBEF0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BBEF0 */ if (_t33) goto L_021BBED0; else goto L_021BBEF4;
|
|
L_021BBEF4: ; // 0x21bbef4
|
|
/* 021BBEF4 */ cpu->r[8] = cpu->r[1] + 0x00000074u;
|
|
/* 021BBEF8 */ /* nop */
|
|
/* 021BBEFC */ /* nop */
|
|
/* 021BBF00 */ /* nop */
|
|
/* 021BBF04 */ /* nop */
|
|
/* 021BBF08 */ /* nop */
|
|
/* 021BBF0C */ /* nop */
|
|
/* 021BBF10 */ /* nop */
|
|
/* 021BBF14 */ /* nop */
|
|
/* 021BBF18 */ /* nop */
|
|
/* 021BBF1C */ /* nop */
|
|
/* 021BBF20 */ /* nop */
|
|
/* 021BBF24 */ /* nop */
|
|
/* 021BBF28 */ /* nop */
|
|
/* 021BBF2C */ /* nop */
|
|
/* 021BBF30 */ /* nop */
|
|
/* 021BBF34 */ /* nop */
|
|
/* 021BBF38 */ /* nop */
|
|
/* 021BBF3C */ /* nop */
|
|
/* 021BBF40 */ /* nop */
|
|
/* 021BBF44 */ /* nop */
|
|
/* 021BBF48 */ /* nop */
|
|
/* 021BBF4C */ /* nop */
|
|
/* 021BBF50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[7]);
|
|
/* 021BBF54 */ /* nop */
|
|
/* 021BBF58 */ /* nop */
|
|
/* 021BBF5C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBF5C */ _t35 = _t34 & 0x00000001u;
|
|
/* 021BBF5C */ if (_t35) goto L_021BBF60; else goto L_021BBF6C;
|
|
L_021BBF60: ; // 0x21bbf60
|
|
/* 021BBF60 */ /* nop */
|
|
/* 021BBF64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[7]);
|
|
/* 021BBF68 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BBF68 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021BBF68 */ if (_t37) goto L_021BBFE4; else goto L_021BBF6C;
|
|
L_021BBF6C: ; // 0x21bbf6c
|
|
/* 021BBF6C */ cpu->f[29] = cpu->f[6] / cpu->f[8];
|
|
/* 021BBF70 */ _t38 = cpu->r[1] + 0x00000080u;
|
|
/* 021BBF70 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 021BBF74 */ /* nop */
|
|
/* 021BBF78 */ /* nop */
|
|
/* 021BBF7C */ _t39 = cpu->r[1] + 0x00000090u;
|
|
/* 021BBF7C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021BBF80 */ /* nop */
|
|
/* 021BBF84 */ /* nop */
|
|
/* 021BBF88 */ _t40 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BBF88 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 021BBF8C */ /* nop */
|
|
/* 021BBF90 */ /* nop */
|
|
/* 021BBF94 */ /* nop */
|
|
/* 021BBF98 */ /* nop */
|
|
/* 021BBF9C */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 021BBFA0 */ /* nop */
|
|
/* 021BBFA4 */ /* nop */
|
|
/* 021BBFA8 */ /* nop */
|
|
/* 021BBFAC */ /* nop */
|
|
/* 021BBFB0 */ /* nop */
|
|
/* 021BBFB4 */ /* nop */
|
|
/* 021BBFB8 */ /* nop */
|
|
/* 021BBFBC */ /* nop */
|
|
/* 021BBFC0 */ /* nop */
|
|
/* 021BBFC4 */ /* nop */
|
|
/* 021BBFC8 */ /* nop */
|
|
/* 021BBFCC */ /* nop */
|
|
/* 021BBFD0 */ /* nop */
|
|
/* 021BBFD4 */ /* nop */
|
|
/* 021BBFD8 */ /* nop */
|
|
/* 021BBFDC */ /* nop */
|
|
/* 021BBFE0 */ _t41 = cpu->r[4] + 0x00000008u;
|
|
/* 021BBFE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
L_021BBFE4: ; // 0x21bbfe4
|
|
/* 021BBFE4 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 021BBFE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021BBFE8 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BBFE8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021BBFEC */ cpu->f[0] = cpu->f[0] * cpu->f[1];
|
|
/* 021BBFF0 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 021BBFF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021BBFF4 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 021BBFF4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 021BBFF8 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 021BBFFC */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BBFFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 021BC000 */ cpu->f[9] = fma(cpu->f[11], cpu->f[31], cpu->f[0]);
|
|
/* 021BC004 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 021BC004 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 021BC008 */ _t48 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC008 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021BC00C */ cpu->f[12] = fma(cpu->f[11], cpu->f[31], cpu->f[12]);
|
|
/* 021BC010 */ _t49 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC010 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021BC014 */ cpu->f[8] = fma(cpu->f[10], cpu->f[2], cpu->f[9]);
|
|
/* 021BC018 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC018 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021BC01C */ cpu->f[10] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 021BC020 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC020 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 021BC024 */ cpu->f[9] = cpu->f[8] + cpu->f[9];
|
|
/* 021BC028 */ _t52 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021BC02C */ cpu->f[11] = cpu->f[10] + cpu->f[11];
|
|
/* 021BC030 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC030 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021BC034 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
|
|
/* 021BC038 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC038 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]);
|
|
/* 021BC03C */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC03C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[11]);
|
|
/* 021BC040 */ _t56 = cpu->r[12] + 0x00000130u;
|
|
/* 021BC040 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021BC044 */ cpu->f[12] = fma(cpu->f[12], cpu->f[31], cpu->f[0]);
|
|
/* 021BC048 */ _t57 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC048 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 021BC04C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC050 */ cpu->f[13] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 021BC054 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC054 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 021BC058 */ _t59 = cpu->r[11] + cpu->r[5];
|
|
/* 021BC058 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[12]);
|
|
/* 021BC05C */ _t60 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021BC060 */ _t61 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC060 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021BC064 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC068 */ _t62 = cpu->r[8] + 0x00000130u;
|
|
/* 021BC068 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021BC06C */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 021BC070 */ cpu->r[4] = cpu->r[5] + cpu->r[9];
|
|
/* 021BC074 */ _t63 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC074 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 021BC078 */ goto L_021BC480;
|
|
L_021BC07C: ; // 0x21bc07c
|
|
/* 021BC07C */ _t64 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC07C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BC080 */ _t65 = cpu->r[12] + 0x000000FCu;
|
|
/* 021BC080 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BC084 */ _t66 = cpu->r[8] + 0x00000753u;
|
|
/* 021BC084 */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
|
|
/* 021BC088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 021BC08C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC08C */ _t68 = _t67 & 0x00000001u;
|
|
/* 021BC08C */ if (_t68) goto L_021BC090; else goto L_021BC288;
|
|
L_021BC090: ; // 0x21bc090
|
|
/* 021BC090 */ _t69 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021BC094 */ _t70 = cpu->r[12] + 0x00000224u;
|
|
/* 021BC094 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021BC098 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BC09C */ _t71 = cpu->r[12] + 0x00000148u;
|
|
/* 021BC09C */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021BC0A0 */ _t72 = cpu->r[12] + 0x00000234u;
|
|
/* 021BC0A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 021BC0A4 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 021BC0A8 */ _t73 = cpu->r[12] + 0x00000244u;
|
|
/* 021BC0A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 021BC0AC */ _t74 = cpu->r[8] + 0x00000058u;
|
|
/* 021BC0AC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 021BC0B0 */ _t75 = cpu->r[8] + 0x00000078u;
|
|
/* 021BC0B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 021BC0B4 */ _t76 = cpu->r[8] + 0x00000054u;
|
|
/* 021BC0B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 021BC0B8 */ _t77 = cpu->r[8] + 0x00000074u;
|
|
/* 021BC0B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 021BC0BC */ _t78 = cpu->r[8] + 0x00000064u;
|
|
/* 021BC0BC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021BC0C0 */ _t79 = cpu->r[8] + 0x00000060u;
|
|
/* 021BC0C0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 021BC0C4 */ _t80 = cpu->r[8] + 0x00000070u;
|
|
/* 021BC0C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 021BC0C8 */ _t81 = cpu->r[8] + 0x00000050u;
|
|
/* 021BC0C8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 021BC0CC */ _t82 = cpu->r[8] + 0x00000068u;
|
|
/* 021BC0CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 021BC0D0 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC0D0 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 021BC0D4 */ cpu->r[11] = cpu->r[1] + 0x00000014u;
|
|
/* 021BC0D8 */ _t84 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC0D8 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[3]);
|
|
/* 021BC0DC */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC0DC */ rbrew_write_f32(cpu->mem, _t85, cpu->f[4]);
|
|
/* 021BC0E0 */ _t86 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BC0E0 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[9]);
|
|
/* 021BC0E4 */ _t87 = cpu->r[1] + 0x00000028u;
|
|
/* 021BC0E4 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[8]);
|
|
/* 021BC0E8 */ _t88 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC0E8 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[11]);
|
|
/* 021BC0EC */ _t89 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC0EC */ rbrew_write_f32(cpu->mem, _t89, cpu->f[12]);
|
|
/* 021BC0F0 */ _t90 = cpu->r[1] + 0x00000024u;
|
|
/* 021BC0F0 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[5]);
|
|
/* 021BC0F4 */ _t91 = cpu->r[1] + 0x00000018u;
|
|
/* 021BC0F4 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[30]);
|
|
/* 021BC0F8 */ _t92 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC0F8 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[29]);
|
|
/* 021BC0FC */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC0FC */ rbrew_write_f32(cpu->mem, _t93, cpu->f[10]);
|
|
/* 021BC100 */ _t94 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC100 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 021BC104 */ /* nop */
|
|
/* 021BC108 */ /* nop */
|
|
/* 021BC10C */ /* nop */
|
|
/* 021BC110 */ /* nop */
|
|
/* 021BC114 */ /* nop */
|
|
/* 021BC118 */ /* nop */
|
|
/* 021BC11C */ /* nop */
|
|
/* 021BC120 */ /* nop */
|
|
/* 021BC124 */ /* nop */
|
|
/* 021BC128 */ /* nop */
|
|
/* 021BC12C */ /* nop */
|
|
/* 021BC130 */ /* nop */
|
|
/* 021BC134 */ /* nop */
|
|
/* 021BC138 */ /* nop */
|
|
/* 021BC13C */ /* nop */
|
|
/* 021BC140 */ /* nop */
|
|
/* 021BC144 */ /* nop */
|
|
/* 021BC148 */ /* nop */
|
|
/* 021BC14C */ /* nop */
|
|
/* 021BC150 */ /* nop */
|
|
/* 021BC154 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[7]);
|
|
/* 021BC158 */ /* nop */
|
|
/* 021BC15C */ /* nop */
|
|
/* 021BC160 */ /* nop */
|
|
/* 021BC164 */ /* nop */
|
|
/* 021BC168 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC168 */ _t96 = _t95 & 0x00000001u;
|
|
/* 021BC168 */ if (_t96) goto L_021BC16C; else goto L_021BC178;
|
|
L_021BC16C: ; // 0x21bc16c
|
|
/* 021BC16C */ /* nop */
|
|
/* 021BC170 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[7]);
|
|
/* 021BC174 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC174 */ _t98 = _t97 & 0x00000001u;
|
|
/* 021BC174 */ if (_t98) goto L_021BC1F4; else goto L_021BC178;
|
|
L_021BC178: ; // 0x21bc178
|
|
/* 021BC178 */ cpu->f[29] = cpu->f[6] / cpu->f[3];
|
|
/* 021BC17C */ _t99 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC17C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021BC180 */ /* nop */
|
|
/* 021BC184 */ _t100 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC184 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 021BC188 */ /* nop */
|
|
/* 021BC18C */ /* nop */
|
|
/* 021BC190 */ /* nop */
|
|
/* 021BC194 */ _t101 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC194 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021BC198 */ /* nop */
|
|
/* 021BC19C */ /* nop */
|
|
/* 021BC1A0 */ /* nop */
|
|
/* 021BC1A4 */ /* nop */
|
|
/* 021BC1A8 */ cpu->r[7] = cpu->r[1] + 0x00000044u;
|
|
/* 021BC1AC */ /* nop */
|
|
/* 021BC1B0 */ /* nop */
|
|
/* 021BC1B4 */ /* nop */
|
|
/* 021BC1B8 */ /* nop */
|
|
/* 021BC1BC */ /* nop */
|
|
/* 021BC1C0 */ /* nop */
|
|
/* 021BC1C4 */ /* nop */
|
|
/* 021BC1C8 */ /* nop */
|
|
/* 021BC1CC */ /* nop */
|
|
/* 021BC1D0 */ /* nop */
|
|
/* 021BC1D4 */ /* nop */
|
|
/* 021BC1D8 */ /* nop */
|
|
/* 021BC1DC */ /* nop */
|
|
/* 021BC1E0 */ /* nop */
|
|
/* 021BC1E4 */ /* nop */
|
|
/* 021BC1E8 */ /* nop */
|
|
/* 021BC1EC */ _t102 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC1EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021BC1F0 */ _t103 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
L_021BC1F4: ; // 0x21bc1f4
|
|
/* 021BC1F4 */ _t104 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC1F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 021BC1F8 */ _t105 = cpu->r[1] + 0x00000068u;
|
|
/* 021BC1F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 021BC1FC */ cpu->f[10] = cpu->f[13] * cpu->f[1];
|
|
/* 021BC200 */ _t106 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC200 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 021BC204 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
|
|
/* 021BC208 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 021BC208 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 021BC20C */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 021BC210 */ _t108 = cpu->r[1] + 0x00000054u;
|
|
/* 021BC210 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 021BC214 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC218 */ cpu->f[9] = fma(cpu->f[9], cpu->f[31], cpu->f[10]);
|
|
/* 021BC21C */ _t109 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC21C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 021BC220 */ cpu->f[11] = fma(cpu->f[11], cpu->f[31], cpu->f[12]);
|
|
/* 021BC224 */ _t110 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BC224 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 021BC228 */ cpu->f[12] = fma(cpu->f[13], cpu->f[31], cpu->f[0]);
|
|
/* 021BC22C */ _t111 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BC22C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 021BC230 */ cpu->f[10] = fma(cpu->f[10], cpu->f[2], cpu->f[9]);
|
|
/* 021BC234 */ _t112 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC234 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 021BC238 */ cpu->f[11] = fma(cpu->f[0], cpu->f[2], cpu->f[11]);
|
|
/* 021BC23C */ _t113 = cpu->r[1] + 0x00000060u;
|
|
/* 021BC23C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 021BC240 */ cpu->f[10] = cpu->f[10] + cpu->f[13];
|
|
/* 021BC244 */ _t114 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BC244 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 021BC248 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 021BC24C */ _t115 = cpu->r[1] + 0x00000070u;
|
|
/* 021BC24C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 021BC250 */ cpu->f[13] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 021BC254 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC254 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[10]);
|
|
/* 021BC258 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC258 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[11]);
|
|
/* 021BC25C */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC25C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 021BC260 */ _t119 = cpu->r[12] + 0x00000130u;
|
|
/* 021BC260 */ cpu->r[5] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021BC264 */ _t120 = cpu->r[11] + cpu->r[5];
|
|
/* 021BC264 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[12]);
|
|
/* 021BC268 */ _t121 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021BC26C */ _t122 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC26C */ cpu->r[8] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021BC270 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC274 */ _t123 = cpu->r[8] + 0x00000130u;
|
|
/* 021BC274 */ cpu->r[5] = rbrew_read32(cpu->mem, _t123);
|
|
/* 021BC278 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 021BC27C */ cpu->r[4] = cpu->r[5] + cpu->r[9];
|
|
/* 021BC280 */ _t124 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC280 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[0]);
|
|
/* 021BC284 */ goto L_021BC480;
|
|
L_021BC288: ; // 0x21bc288
|
|
/* 021BC288 */ _t125 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021BC28C */ _t126 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC28C */ cpu->r[12] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021BC290 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 021BC294 */ _t127 = cpu->r[12] + 0x00000148u;
|
|
/* 021BC294 */ cpu->r[9] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021BC298 */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 021BC29C */ _t128 = cpu->r[8] + 0x00000064u;
|
|
/* 021BC29C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 021BC2A0 */ _t129 = cpu->r[8] + 0x0000005Cu;
|
|
/* 021BC2A0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 021BC2A4 */ _t130 = cpu->r[8] + 0x00000060u;
|
|
/* 021BC2A4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 021BC2A8 */ _t131 = cpu->r[8] + 0x00000074u;
|
|
/* 021BC2A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 021BC2AC */ _t132 = cpu->r[8] + 0x00000068u;
|
|
/* 021BC2AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 021BC2B0 */ _t133 = cpu->r[8] + 0x00000070u;
|
|
/* 021BC2B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 021BC2B4 */ _t134 = cpu->r[8] + 0x00000054u;
|
|
/* 021BC2B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 021BC2B8 */ _t135 = cpu->r[8] + 0x0000006Cu;
|
|
/* 021BC2B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 021BC2BC */ _t136 = cpu->r[8] + 0x0000007Cu;
|
|
/* 021BC2BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 021BC2C0 */ _t137 = cpu->r[8] + 0x00000058u;
|
|
/* 021BC2C0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 021BC2C4 */ _t138 = cpu->r[8] + 0x00000050u;
|
|
/* 021BC2C4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 021BC2C8 */ _t139 = cpu->r[8] + 0x00000078u;
|
|
/* 021BC2C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 021BC2CC */ _t140 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC2CC */ rbrew_write_f32(cpu->mem, _t140, cpu->f[29]);
|
|
/* 021BC2D0 */ _t141 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC2D0 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[3]);
|
|
/* 021BC2D4 */ _t142 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC2D4 */ rbrew_write_f32(cpu->mem, _t142, cpu->f[11]);
|
|
/* 021BC2D8 */ _t143 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC2D8 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[13]);
|
|
/* 021BC2DC */ _t144 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC2DC */ rbrew_write_f32(cpu->mem, _t144, cpu->f[10]);
|
|
/* 021BC2E0 */ _t145 = cpu->r[1] + 0x00000024u;
|
|
/* 021BC2E0 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[5]);
|
|
/* 021BC2E4 */ _t146 = cpu->r[1] + 0x00000018u;
|
|
/* 021BC2E4 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[30]);
|
|
/* 021BC2E8 */ _t147 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC2E8 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[0]);
|
|
/* 021BC2EC */ _t148 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC2EC */ rbrew_write_f32(cpu->mem, _t148, cpu->f[4]);
|
|
/* 021BC2F0 */ _t149 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BC2F0 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[9]);
|
|
/* 021BC2F4 */ _t150 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC2F4 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[12]);
|
|
/* 021BC2F8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 021BC2FC */ _t151 = cpu->r[1] + 0x00000028u;
|
|
/* 021BC2FC */ rbrew_write_f32(cpu->mem, _t151, cpu->f[8]);
|
|
/* 021BC300 */ /* nop */
|
|
/* 021BC304 */ /* nop */
|
|
/* 021BC308 */ /* nop */
|
|
/* 021BC30C */ /* nop */
|
|
/* 021BC310 */ /* nop */
|
|
/* 021BC314 */ /* nop */
|
|
/* 021BC318 */ /* nop */
|
|
/* 021BC31C */ /* nop */
|
|
/* 021BC320 */ /* nop */
|
|
/* 021BC324 */ /* nop */
|
|
/* 021BC328 */ /* nop */
|
|
/* 021BC32C */ /* nop */
|
|
/* 021BC330 */ /* nop */
|
|
/* 021BC334 */ /* nop */
|
|
/* 021BC338 */ /* nop */
|
|
/* 021BC33C */ /* nop */
|
|
/* 021BC340 */ /* nop */
|
|
/* 021BC344 */ /* nop */
|
|
/* 021BC348 */ /* nop */
|
|
/* 021BC34C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[7]);
|
|
/* 021BC350 */ /* nop */
|
|
/* 021BC354 */ /* nop */
|
|
/* 021BC358 */ /* nop */
|
|
/* 021BC35C */ /* nop */
|
|
/* 021BC360 */ /* nop */
|
|
/* 021BC364 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC364 */ _t153 = _t152 & 0x00000001u;
|
|
/* 021BC364 */ if (_t153) goto L_021BC368; else goto L_021BC374;
|
|
L_021BC368: ; // 0x21bc368
|
|
/* 021BC368 */ /* nop */
|
|
/* 021BC36C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[7]);
|
|
/* 021BC370 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC370 */ _t155 = _t154 & 0x00000001u;
|
|
/* 021BC370 */ if (_t155) goto L_021BC3F0; else goto L_021BC374;
|
|
L_021BC374: ; // 0x21bc374
|
|
/* 021BC374 */ cpu->f[29] = cpu->f[6] / cpu->f[11];
|
|
/* 021BC378 */ _t156 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC378 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 021BC37C */ /* nop */
|
|
/* 021BC380 */ cpu->r[5] = cpu->r[1] + 0x00000044u;
|
|
/* 021BC384 */ /* nop */
|
|
/* 021BC388 */ _t157 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC388 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 021BC38C */ /* nop */
|
|
/* 021BC390 */ _t158 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC390 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 021BC394 */ /* nop */
|
|
/* 021BC398 */ /* nop */
|
|
/* 021BC39C */ /* nop */
|
|
/* 021BC3A0 */ /* nop */
|
|
/* 021BC3A4 */ /* nop */
|
|
/* 021BC3A8 */ /* nop */
|
|
/* 021BC3AC */ /* nop */
|
|
/* 021BC3B0 */ /* nop */
|
|
/* 021BC3B4 */ /* nop */
|
|
/* 021BC3B8 */ /* nop */
|
|
/* 021BC3BC */ /* nop */
|
|
/* 021BC3C0 */ /* nop */
|
|
/* 021BC3C4 */ /* nop */
|
|
/* 021BC3C8 */ /* nop */
|
|
/* 021BC3CC */ /* nop */
|
|
/* 021BC3D0 */ /* nop */
|
|
/* 021BC3D4 */ /* nop */
|
|
/* 021BC3D8 */ /* nop */
|
|
/* 021BC3DC */ /* nop */
|
|
/* 021BC3E0 */ /* nop */
|
|
/* 021BC3E4 */ /* nop */
|
|
/* 021BC3E8 */ _t159 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC3E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t159);
|
|
/* 021BC3EC */ _t160 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
L_021BC3F0: ; // 0x21bc3f0
|
|
/* 021BC3F0 */ _t161 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC3F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 021BC3F4 */ _t162 = cpu->r[1] + 0x00000068u;
|
|
/* 021BC3F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 021BC3F8 */ cpu->f[10] = cpu->f[13] * cpu->f[1];
|
|
/* 021BC3FC */ _t163 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC3FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 021BC400 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
|
|
/* 021BC404 */ _t164 = cpu->r[1] + 0x00000044u;
|
|
/* 021BC404 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 021BC408 */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 021BC40C */ _t165 = cpu->r[1] + 0x00000054u;
|
|
/* 021BC40C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 021BC410 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC414 */ cpu->f[9] = fma(cpu->f[9], cpu->f[31], cpu->f[10]);
|
|
/* 021BC418 */ _t166 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC418 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 021BC41C */ cpu->f[11] = fma(cpu->f[11], cpu->f[31], cpu->f[12]);
|
|
/* 021BC420 */ _t167 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BC420 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 021BC424 */ cpu->f[12] = fma(cpu->f[13], cpu->f[31], cpu->f[0]);
|
|
/* 021BC428 */ _t168 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BC428 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 021BC42C */ cpu->f[10] = fma(cpu->f[10], cpu->f[2], cpu->f[9]);
|
|
/* 021BC430 */ _t169 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 021BC434 */ cpu->f[11] = fma(cpu->f[0], cpu->f[2], cpu->f[11]);
|
|
/* 021BC438 */ _t170 = cpu->r[1] + 0x00000060u;
|
|
/* 021BC438 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 021BC43C */ cpu->f[10] = cpu->f[10] + cpu->f[13];
|
|
/* 021BC440 */ _t171 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BC440 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 021BC444 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
|
|
/* 021BC448 */ _t172 = cpu->r[1] + 0x00000070u;
|
|
/* 021BC448 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 021BC44C */ cpu->f[13] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 021BC450 */ _t173 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC450 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[10]);
|
|
/* 021BC454 */ _t174 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC454 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[11]);
|
|
/* 021BC458 */ _t175 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC458 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t175);
|
|
/* 021BC45C */ _t176 = cpu->r[12] + 0x00000130u;
|
|
/* 021BC45C */ cpu->r[5] = rbrew_read32(cpu->mem, _t176);
|
|
/* 021BC460 */ _t177 = cpu->r[11] + cpu->r[5];
|
|
/* 021BC460 */ rbrew_write8(cpu->mem, _t177, (uint8_t)cpu->r[12]);
|
|
/* 021BC464 */ _t178 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 021BC468 */ _t179 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t179);
|
|
/* 021BC46C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 021BC470 */ _t180 = cpu->r[8] + 0x00000130u;
|
|
/* 021BC470 */ cpu->r[5] = rbrew_read32(cpu->mem, _t180);
|
|
/* 021BC474 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 021BC478 */ cpu->r[4] = cpu->r[5] + cpu->r[9];
|
|
/* 021BC47C */ _t181 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC47C */ rbrew_write_f32(cpu->mem, _t181, cpu->f[0]);
|
|
L_021BC480: ; // 0x21bc480
|
|
/* 021BC480 */ _t182 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BC480 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 021BC484 */ _t183 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BC484 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 021BC488 */ _t184 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BC488 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t184);
|
|
/* 021BC48C */ _t185 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BC48C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t185);
|
|
/* 021BC490 */ _t186 = cpu->r[1] + 0x000000C8u;
|
|
/* 021BC490 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t186);
|
|
/* 021BC494 */ _t187 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BC494 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t187);
|
|
/* 021BC498 */ _t188 = cpu->r[1] + 0x000000C0u;
|
|
/* 021BC498 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t188);
|
|
/* 021BC49C */ _t189 = cpu->r[1] + 0x000000B0u;
|
|
/* 021BC49C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t189);
|
|
/* 021BC4A0 */ _t190 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BC4A0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t190);
|
|
/* 021BC4A4 */ _t191 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BC4A4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t191);
|
|
/* 021BC4A8 */ _t192 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC4A8 */ _t193 = _t192 & 0x00000001u;
|
|
/* 021BC4A8 */ if (_t193) goto L_021BC4AC; // else: addr-0 trap, fall-through
|
|
L_021BC4AC: ; // 0x21bc4ac
|
|
/* 021BC4AC */ cpu->r[1] = cpu->r[1] + 0x000000F8u;
|
|
/* 021BC4B0 */ return;
|
|
}
|
|
|
|
// fn_021BC4B4 @ 0x21bc4b4
|
|
void Gambit_fn_021BC4B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_021BC4B4: ; // 0x21bc4b4
|
|
/* 021BC4B4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BC4B8 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BC4B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC4B8 */ cpu->r[1] = _t0;
|
|
/* 021BC4BC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC4BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021BC4C0 */ /* nop */
|
|
/* 021BC4C4 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC4C4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021BC4C8 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC4C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021BC4CC */ /* nop */
|
|
/* 021BC4D0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC4D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BC4D4 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC4D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021BC4D8 */ _t6 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC4D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BC4DC */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC4DC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021BC4E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BC4E4 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 021BC4E8 */ _t9 = cpu->r[30] + 0x00000066u;
|
|
/* 021BC4E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021BC4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021BC4F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BC4F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC4F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021BC4F4 */ if (_t11) goto L_021BC4F8; else goto L_021BC6A8;
|
|
L_021BC4F8: ; // 0x21bc4f8
|
|
/* 021BC4F8 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 021BC4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BC4FC */ _t13 = cpu->r[12] + 0x00000254u;
|
|
/* 021BC4FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BC500 */ cpu->ctr = cpu->r[10];
|
|
/* 021BC504 */ _t14 = cpu->r[31] + 0x000007F0u;
|
|
/* 021BC504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BC508 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BC50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC510 */ _t15 = cpu->r[29] + 0x000000B4u;
|
|
/* 021BC510 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 021BC514 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 021BC514 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021BC518 */ /* nop */
|
|
/* 021BC51C */ cpu->f[10] = cpu->f[10] - cpu->f[11];
|
|
/* 021BC520 */ /* nop */
|
|
/* 021BC524 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BC524 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 021BC528 */ /* nop */
|
|
/* 021BC52C */ /* nop */
|
|
/* 021BC530 */ /* nop */
|
|
/* 021BC534 */ /* nop */
|
|
/* 021BC538 */ /* nop */
|
|
/* 021BC53C */ _t18 = cpu->r[29] + 0x00000090u;
|
|
/* 021BC53C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021BC540 */ /* nop */
|
|
/* 021BC544 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BC548 */ cpu->f[13] = fma(cpu->f[9], cpu->f[10], cpu->f[0]);
|
|
/* 021BC54C */ _t19 = cpu->r[12] + 0xFFFFB210u;
|
|
/* 021BC54C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BC550 */ /* nop */
|
|
/* 021BC554 */ _t20 = cpu->r[29] + 0x000000A8u;
|
|
/* 021BC554 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021BC558 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021BC55C */ cpu->r[29] = 0x00000000u;
|
|
/* 021BC560 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], cpu->f[0]);
|
|
/* 021BC564 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 021BC564 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 021BC568 */ /* nop */
|
|
/* 021BC56C */ _t22 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BC570 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 021BC574 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC574 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 021BC578 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BC57C */ cpu->r[0] = 0x10030000u;
|
|
/* 021BC580 */ /* nop */
|
|
/* 021BC584 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 021BC588 */ cpu->r[0] = cpu->r[0] + 0xFFFFB1F0u;
|
|
/* 021BC58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BC590 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC590 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021BC594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BC598 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC598 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BC598 */ if (_t26) goto L_021BC5CC; else goto L_021BC59C;
|
|
L_021BC59C: ; // 0x21bc59c
|
|
/* 021BC59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC5A0 */ cpu->r[0] = 0x00000003u;
|
|
/* 021BC5A4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5A4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BC5A4 */ if (_t28) goto L_021BC5DC; else goto L_021BC5A8;
|
|
L_021BC5A8: ; // 0x21bc5a8
|
|
/* 021BC5A8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BC5AC */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC5AC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021BC5B0 */ _t30 = cpu->r[3] + 0x000000E0u;
|
|
/* 021BC5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BC5B4 */ _t31 = cpu->r[11] + 0x00000074u;
|
|
/* 021BC5B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BC5B8 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC5BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC5C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BC5C4 */ if (_t33) goto L_021BC5F8; else goto L_021BC5C8;
|
|
L_021BC5C8: ; // 0x21bc5c8
|
|
/* 021BC5C8 */ goto L_021BC608;
|
|
L_021BC5CC: ; // 0x21bc5cc
|
|
/* 021BC5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC5D0 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BC5D4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5D4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021BC5D4 */ if (_t35) goto L_021BC5DC; else goto L_021BC5D8;
|
|
L_021BC5D8: ; // 0x21bc5d8
|
|
/* 021BC5D8 */ cpu->r[0] = 0x00000000u;
|
|
L_021BC5DC: ; // 0x21bc5dc
|
|
/* 021BC5DC */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC5DC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BC5E0 */ _t37 = cpu->r[3] + 0x000000E0u;
|
|
/* 021BC5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BC5E4 */ _t38 = cpu->r[11] + 0x00000074u;
|
|
/* 021BC5E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BC5E8 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC5EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC5F4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5F4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BC5F4 */ if (_t40) goto L_021BC5F8; else goto L_021BC608;
|
|
L_021BC5F8: ; // 0x21bc5f8
|
|
/* 021BC5F8 */ _t41 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021BC5FC */ cpu->r[4] = 0x00000001u;
|
|
/* 021BC600 */ _t42 = cpu->r[30] + 0x00000050u;
|
|
/* 021BC600 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[4]);
|
|
/* 021BC604 */ Gambit_fn_027B9B00(cpu);
|
|
L_021BC608: ; // 0x21bc608
|
|
/* 021BC608 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BC60C */ _t43 = cpu->r[10] + 0xFFFFB214u;
|
|
/* 021BC60C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021BC610 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BC614 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021BC618 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BC61C */ cpu->f[1] = cpu->f[30];
|
|
/* 021BC620 */ _t45 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021BC624 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC628 */ cpu->r[5] = cpu->r[5] + 0xFFFFB228u;
|
|
/* 021BC62C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC62C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 021BC630 */ Gambit_fn_027B7C88(cpu);
|
|
/* 021BC634 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC638 */ Gambit_fn_02019890(cpu);
|
|
/* 021BC63C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 021BC63C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021BC640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000006u);
|
|
/* 021BC644 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC644 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021BC644 */ if (_t49) goto L_021BC648; else goto L_021BC6A0;
|
|
L_021BC648: ; // 0x21bc648
|
|
/* 021BC648 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BC64C */ _t50 = cpu->r[12] + 0x00006000u;
|
|
/* 021BC64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021BC650 */ _t51 = cpu->r[12] + 0x00000268u;
|
|
/* 021BC650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BC654 */ cpu->r[4] = 0x00000000u;
|
|
/* 021BC658 */ Gambit_fn_0261F744(cpu);
|
|
/* 021BC65C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 021BC660 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC660 */ _t53 = _t52 & 0x00000001u;
|
|
/* 021BC660 */ if (_t53) goto L_021BC6A0; else goto L_021BC664;
|
|
L_021BC664: ; // 0x21bc664
|
|
/* 021BC664 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021BC668 */ Gambit_fn_028B3134(cpu);
|
|
/* 021BC66C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BC66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BC670 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC670 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021BC670 */ if (_t55) goto L_021BC6A0; else goto L_021BC674;
|
|
L_021BC674: ; // 0x21bc674
|
|
/* 021BC674 */ cpu->f[1] = cpu->f[31];
|
|
/* 021BC678 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC678 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 021BC67C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC680 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BC684 */ Gambit_fn_028BC0E8(cpu);
|
|
/* 021BC688 */ cpu->f[1] = cpu->f[30];
|
|
/* 021BC68C */ cpu->r[10] = 0x00000001u;
|
|
/* 021BC690 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BC694 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC698 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC698 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 021BC69C */ Gambit_fn_028BC0E8(cpu);
|
|
L_021BC6A0: ; // 0x21bc6a0
|
|
/* 021BC6A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BC6A4 */ _t58 = cpu->r[30] + 0x00000066u;
|
|
/* 021BC6A4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
L_021BC6A8: ; // 0x21bc6a8
|
|
/* 021BC6A8 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC6A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BC6AC */ _t60 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC6AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 021BC6B0 */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC6B0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 021BC6B4 */ _t62 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC6B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 021BC6B8 */ _t63 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC6B8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 021BC6BC */ _t64 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC6BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BC6C0 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC6C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BC6C4 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC6C4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 021BC6C4 */ if (_t67) goto L_021BC6C8; // else: addr-0 trap, fall-through
|
|
L_021BC6C8: ; // 0x21bc6c8
|
|
/* 021BC6C8 */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021BC6CC */ cpu->lr = cpu->r[0];
|
|
/* 021BC6D0 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BC6D4 */ return;
|
|
}
|
|
|
|
// fn_021BC4B8 @ 0x21bc4b8
|
|
void Gambit_fn_021BC4B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_021BC4B8: ; // 0x21bc4b8
|
|
/* 021BC4B8 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BC4B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC4B8 */ cpu->r[1] = _t0;
|
|
/* 021BC4BC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC4BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021BC4C0 */ /* nop */
|
|
/* 021BC4C4 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC4C4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021BC4C8 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC4C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021BC4CC */ /* nop */
|
|
/* 021BC4D0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC4D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BC4D4 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC4D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 021BC4D8 */ _t6 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC4D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 021BC4DC */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC4DC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021BC4E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BC4E4 */ _t8 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 021BC4E8 */ _t9 = cpu->r[30] + 0x00000066u;
|
|
/* 021BC4E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021BC4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021BC4F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 021BC4F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC4F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021BC4F4 */ if (_t11) goto L_021BC4F8; else goto L_021BC6A8;
|
|
L_021BC4F8: ; // 0x21bc4f8
|
|
/* 021BC4F8 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 021BC4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BC4FC */ _t13 = cpu->r[12] + 0x00000254u;
|
|
/* 021BC4FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BC500 */ cpu->ctr = cpu->r[10];
|
|
/* 021BC504 */ _t14 = cpu->r[31] + 0x000007F0u;
|
|
/* 021BC504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BC508 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BC50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC510 */ _t15 = cpu->r[29] + 0x000000B4u;
|
|
/* 021BC510 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 021BC514 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 021BC514 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021BC518 */ /* nop */
|
|
/* 021BC51C */ cpu->f[10] = cpu->f[10] - cpu->f[11];
|
|
/* 021BC520 */ /* nop */
|
|
/* 021BC524 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BC524 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 021BC528 */ /* nop */
|
|
/* 021BC52C */ /* nop */
|
|
/* 021BC530 */ /* nop */
|
|
/* 021BC534 */ /* nop */
|
|
/* 021BC538 */ /* nop */
|
|
/* 021BC53C */ _t18 = cpu->r[29] + 0x00000090u;
|
|
/* 021BC53C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021BC540 */ /* nop */
|
|
/* 021BC544 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BC548 */ cpu->f[13] = fma(cpu->f[9], cpu->f[10], cpu->f[0]);
|
|
/* 021BC54C */ _t19 = cpu->r[12] + 0xFFFFB210u;
|
|
/* 021BC54C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BC550 */ /* nop */
|
|
/* 021BC554 */ _t20 = cpu->r[29] + 0x000000A8u;
|
|
/* 021BC554 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021BC558 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021BC55C */ cpu->r[29] = 0x00000000u;
|
|
/* 021BC560 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], cpu->f[0]);
|
|
/* 021BC564 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 021BC564 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 021BC568 */ /* nop */
|
|
/* 021BC56C */ _t22 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BC570 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]);
|
|
/* 021BC574 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC574 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 021BC578 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BC57C */ cpu->r[0] = 0x10030000u;
|
|
/* 021BC580 */ /* nop */
|
|
/* 021BC584 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 021BC588 */ cpu->r[0] = cpu->r[0] + 0xFFFFB1F0u;
|
|
/* 021BC58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BC590 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC590 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021BC594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BC598 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC598 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BC598 */ if (_t26) goto L_021BC5CC; else goto L_021BC59C;
|
|
L_021BC59C: ; // 0x21bc59c
|
|
/* 021BC59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC5A0 */ cpu->r[0] = 0x00000003u;
|
|
/* 021BC5A4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5A4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BC5A4 */ if (_t28) goto L_021BC5DC; else goto L_021BC5A8;
|
|
L_021BC5A8: ; // 0x21bc5a8
|
|
/* 021BC5A8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BC5AC */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC5AC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021BC5B0 */ _t30 = cpu->r[3] + 0x000000E0u;
|
|
/* 021BC5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BC5B4 */ _t31 = cpu->r[11] + 0x00000074u;
|
|
/* 021BC5B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BC5B8 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC5BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC5C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BC5C4 */ if (_t33) goto L_021BC5F8; else goto L_021BC5C8;
|
|
L_021BC5C8: ; // 0x21bc5c8
|
|
/* 021BC5C8 */ goto L_021BC608;
|
|
L_021BC5CC: ; // 0x21bc5cc
|
|
/* 021BC5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC5D0 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BC5D4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5D4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021BC5D4 */ if (_t35) goto L_021BC5DC; else goto L_021BC5D8;
|
|
L_021BC5D8: ; // 0x21bc5d8
|
|
/* 021BC5D8 */ cpu->r[0] = 0x00000000u;
|
|
L_021BC5DC: ; // 0x21bc5dc
|
|
/* 021BC5DC */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC5DC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BC5E0 */ _t37 = cpu->r[3] + 0x000000E0u;
|
|
/* 021BC5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BC5E4 */ _t38 = cpu->r[11] + 0x00000074u;
|
|
/* 021BC5E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BC5E8 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC5EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC5F4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC5F4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BC5F4 */ if (_t40) goto L_021BC5F8; else goto L_021BC608;
|
|
L_021BC5F8: ; // 0x21bc5f8
|
|
/* 021BC5F8 */ _t41 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021BC5FC */ cpu->r[4] = 0x00000001u;
|
|
/* 021BC600 */ _t42 = cpu->r[30] + 0x00000050u;
|
|
/* 021BC600 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[4]);
|
|
/* 021BC604 */ Gambit_fn_027B9B00(cpu);
|
|
L_021BC608: ; // 0x21bc608
|
|
/* 021BC608 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BC60C */ _t43 = cpu->r[10] + 0xFFFFB214u;
|
|
/* 021BC60C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021BC610 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BC614 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021BC618 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BC61C */ cpu->f[1] = cpu->f[30];
|
|
/* 021BC620 */ _t45 = cpu->r[30] + 0x00000030u;
|
|
/* 021BC620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021BC624 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC628 */ cpu->r[5] = cpu->r[5] + 0xFFFFB228u;
|
|
/* 021BC62C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC62C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 021BC630 */ Gambit_fn_027B7C88(cpu);
|
|
/* 021BC634 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC638 */ Gambit_fn_02019890(cpu);
|
|
/* 021BC63C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 021BC63C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021BC640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000006u);
|
|
/* 021BC644 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC644 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021BC644 */ if (_t49) goto L_021BC648; else goto L_021BC6A0;
|
|
L_021BC648: ; // 0x21bc648
|
|
/* 021BC648 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BC64C */ _t50 = cpu->r[12] + 0x00006000u;
|
|
/* 021BC64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021BC650 */ _t51 = cpu->r[12] + 0x00000268u;
|
|
/* 021BC650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BC654 */ cpu->r[4] = 0x00000000u;
|
|
/* 021BC658 */ Gambit_fn_0261F744(cpu);
|
|
/* 021BC65C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 021BC660 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC660 */ _t53 = _t52 & 0x00000001u;
|
|
/* 021BC660 */ if (_t53) goto L_021BC6A0; else goto L_021BC664;
|
|
L_021BC664: ; // 0x21bc664
|
|
/* 021BC664 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 021BC668 */ Gambit_fn_028B3134(cpu);
|
|
/* 021BC66C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BC66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BC670 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC670 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021BC670 */ if (_t55) goto L_021BC6A0; else goto L_021BC674;
|
|
L_021BC674: ; // 0x21bc674
|
|
/* 021BC674 */ cpu->f[1] = cpu->f[31];
|
|
/* 021BC678 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC678 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 021BC67C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC680 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BC684 */ Gambit_fn_028BC0E8(cpu);
|
|
/* 021BC688 */ cpu->f[1] = cpu->f[30];
|
|
/* 021BC68C */ cpu->r[10] = 0x00000001u;
|
|
/* 021BC690 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BC694 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC698 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC698 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 021BC69C */ Gambit_fn_028BC0E8(cpu);
|
|
L_021BC6A0: ; // 0x21bc6a0
|
|
/* 021BC6A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BC6A4 */ _t58 = cpu->r[30] + 0x00000066u;
|
|
/* 021BC6A4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
L_021BC6A8: ; // 0x21bc6a8
|
|
/* 021BC6A8 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC6A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BC6AC */ _t60 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC6AC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 021BC6B0 */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC6B0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 021BC6B4 */ _t62 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC6B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 021BC6B8 */ _t63 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC6B8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 021BC6BC */ _t64 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BC6BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BC6C0 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC6C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BC6C4 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC6C4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 021BC6C4 */ if (_t67) goto L_021BC6C8; // else: addr-0 trap, fall-through
|
|
L_021BC6C8: ; // 0x21bc6c8
|
|
/* 021BC6C8 */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021BC6CC */ cpu->lr = cpu->r[0];
|
|
/* 021BC6D0 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BC6D4 */ return;
|
|
}
|
|
|
|
// fn_021BC6D8 @ 0x21bc6d8
|
|
void Gambit_fn_021BC6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165;
|
|
|
|
L_020552F4: ; // 0x20552f4
|
|
/* 020552F4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 020552F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020552F4 */ cpu->r[1] = _t0;
|
|
/* 020552F8 */ /* nop */
|
|
/* 020552FC */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 020552FC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02055300 */ /* nop */
|
|
/* 02055304 */ cpu->r[0] = cpu->lr;
|
|
/* 02055308 */ _t2 = cpu->r[1] + 0x00000064u;
|
|
/* 02055308 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0205530C */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 0205530C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02055310 */ cpu->r[29] = cpu->r[3];
|
|
/* 02055314 */ Gambit_fn_02062AF0(cpu);
|
|
/* 02055318 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0205531C */ _t4 = cpu->r[12] + 0xFFFFA640u;
|
|
/* 0205531C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02055320 */ cpu->r[28] = cpu->r[3];
|
|
/* 02055324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02055328 */ cpu->r[27] = 0x00000000u;
|
|
/* 0205532C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205532C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0205532C */ if (_t6) goto L_02055348; else goto L_02055330;
|
|
L_02055330: ; // 0x2055330
|
|
/* 02055330 */ cpu->r[31] = 0x101E0000u;
|
|
/* 02055334 */ cpu->r[31] = cpu->r[31] + 0xFFFF9D7Cu;
|
|
/* 02055338 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 02055338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0205533C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055340 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055340 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02055340 */ if (_t9) goto L_02055344; else goto L_020553D0;
|
|
L_02055344: ; // 0x2055344
|
|
/* 02055344 */ goto L_020553A8;
|
|
L_02055348: ; // 0x2055348
|
|
/* 02055348 */ cpu->r[4] = 0x10000000u;
|
|
/* 0205534C */ cpu->r[0] = 0x00000001u;
|
|
/* 02055350 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02055354 */ cpu->r[31] = 0x101E0000u;
|
|
/* 02055358 */ cpu->r[4] = cpu->r[4] + 0x00006118u;
|
|
/* 0205535C */ cpu->r[5] = 0x00000002u;
|
|
/* 02055360 */ cpu->r[31] = cpu->r[31] + 0xFFFF9D7Cu;
|
|
/* 02055364 */ _t10 = cpu->r[7] + 0xFFFFA640u;
|
|
/* 02055364 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02055368 */ cpu->r[7] = 0x00000000u;
|
|
/* 0205536C */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 02055370 */ cpu->r[3] = cpu->r[31];
|
|
/* 02055374 */ Gambit_fn_028A6750(cpu);
|
|
/* 02055378 */ cpu->r[6] = 0x02050000u;
|
|
/* 0205537C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02055380 */ cpu->r[4] = 0x00000002u;
|
|
/* 02055384 */ cpu->r[6] = cpu->r[6] + 0x0000710Cu;
|
|
/* 02055388 */ cpu->r[5] = 0x00000008u;
|
|
/* 0205538C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02055390 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02055394 */ cpu->r[3] = cpu->r[3] + 0x000023FCu;
|
|
/* 02055398 */ Gambit_fn_02C83090(cpu);
|
|
/* 0205539C */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 0205539C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020553A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020553A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020553A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 020553A4 */ if (_t13) goto L_020553A8; else goto L_020553D0;
|
|
L_020553A8: ; // 0x20553a8
|
|
/* 020553A8 */ cpu->r[5] = 0x10000000u;
|
|
/* 020553AC */ cpu->r[4] = 0x00000000u;
|
|
/* 020553B0 */ cpu->r[5] = cpu->r[5] + 0x00006100u;
|
|
/* 020553B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020553B8 */ Gambit_fn_028A6634(cpu);
|
|
/* 020553BC */ cpu->r[5] = 0x10000000u;
|
|
/* 020553C0 */ cpu->r[4] = 0x00000001u;
|
|
/* 020553C4 */ cpu->r[5] = cpu->r[5] + 0x000060F8u;
|
|
/* 020553C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020553CC */ Gambit_fn_028A6634(cpu);
|
|
L_020553D0: ; // 0x20553d0
|
|
/* 020553D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 020553D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 020553D8 */ Gambit_fn_027B81E4(cpu);
|
|
/* 020553DC */ cpu->r[9] = 0x101E0000u;
|
|
/* 020553E0 */ _t14 = cpu->r[9] + 0xFFFFA644u;
|
|
/* 020553E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 020553E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 020553E8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020553EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020553EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 020553EC */ if (_t16) goto L_02055408; else goto L_020553F0;
|
|
L_020553F0: ; // 0x20553f0
|
|
/* 020553F0 */ cpu->r[25] = 0x101E0000u;
|
|
/* 020553F4 */ cpu->r[25] = cpu->r[25] + 0xFFFF9DECu;
|
|
/* 020553F8 */ _t17 = cpu->r[25] + 0x00000054u;
|
|
/* 020553F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020553FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055400 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055400 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02055400 */ if (_t19) goto L_02055404; else goto L_0205555C;
|
|
L_02055404: ; // 0x2055404
|
|
/* 02055404 */ goto L_02055468;
|
|
L_02055408: ; // 0x2055408
|
|
/* 02055408 */ cpu->r[25] = 0x101E0000u;
|
|
/* 0205540C */ cpu->r[4] = 0x10000000u;
|
|
/* 02055410 */ cpu->r[10] = 0x00000001u;
|
|
/* 02055414 */ cpu->r[25] = cpu->r[25] + 0xFFFF9DECu;
|
|
/* 02055418 */ cpu->r[4] = cpu->r[4] + 0x0000612Cu;
|
|
/* 0205541C */ cpu->r[6] = 0x101E0000u;
|
|
/* 02055420 */ cpu->r[3] = cpu->r[25];
|
|
/* 02055424 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02055428 */ _t20 = cpu->r[6] + 0xFFFFA644u;
|
|
/* 02055428 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0205542C */ cpu->r[6] = cpu->r[25] + 0x00000060u;
|
|
/* 02055430 */ cpu->r[7] = 0x00000000u;
|
|
/* 02055434 */ Gambit_fn_028A6750(cpu);
|
|
/* 02055438 */ cpu->r[6] = 0x02050000u;
|
|
/* 0205543C */ cpu->r[3] = cpu->r[25] + 0x00000060u;
|
|
/* 02055440 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02055444 */ cpu->r[6] = cpu->r[6] + 0x0000710Cu;
|
|
/* 02055448 */ cpu->r[5] = 0x00000008u;
|
|
/* 0205544C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02055450 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02055454 */ cpu->r[3] = cpu->r[3] + 0x00002408u;
|
|
/* 02055458 */ Gambit_fn_02C83090(cpu);
|
|
/* 0205545C */ _t21 = cpu->r[25] + 0x00000054u;
|
|
/* 0205545C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02055460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055464 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055464 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02055464 */ if (_t23) goto L_02055468; else goto L_0205555C;
|
|
L_02055468: ; // 0x2055468
|
|
/* 02055468 */ cpu->r[23] = 0x101D0000u;
|
|
/* 0205546C */ cpu->r[30] = 0x00000000u;
|
|
/* 02055470 */ cpu->r[18] = 0x101D0000u;
|
|
/* 02055474 */ cpu->r[19] = 0x101D0000u;
|
|
/* 02055478 */ cpu->r[20] = 0x00000001u;
|
|
/* 0205547C */ cpu->r[24] = cpu->r[30];
|
|
/* 02055480 */ cpu->r[22] = 0x101D0000u;
|
|
/* 02055484 */ cpu->r[23] = cpu->r[23] + 0xFFFFE45Cu;
|
|
/* 02055488 */ cpu->r[21] = 0x101D0000u;
|
|
L_0205548C: ; // 0x205548c
|
|
/* 0205548C */ _t24 = cpu->r[21] + 0xFFFFD9F4u;
|
|
/* 0205548C */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02055490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02055494 */ cpu->r[31] = cpu->r[30];
|
|
/* 02055498 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055498 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02055498 */ if (_t26) goto L_0205549C; else goto L_020554B4;
|
|
L_0205549C: ; // 0x205549c
|
|
/* 0205549C */ cpu->r[4] = 0x101C0000u;
|
|
/* 020554A0 */ cpu->r[3] = cpu->r[22] + 0x000031E1u;
|
|
/* 020554A4 */ cpu->r[5] = 0x00000057u;
|
|
/* 020554A8 */ cpu->r[4] = cpu->r[4] + 0x000023A4u;
|
|
/* 020554AC */ _t27 = cpu->r[21] + 0xFFFFD9F4u;
|
|
/* 020554AC */ rbrew_write32(cpu->mem, _t27, cpu->r[20]);
|
|
/* 020554B0 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_020554B4: ; // 0x20554b4
|
|
/* 020554B4 */ _t28 = cpu->r[19] + 0xFFFFD9F0u;
|
|
/* 020554B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 020554B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 020554BC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020554BC */ _t30 = _t29 & 0x00000001u;
|
|
/* 020554BC */ if (_t30) goto L_020554C0; else goto L_020554C8;
|
|
L_020554C0: ; // 0x20554c0
|
|
/* 020554C0 */ _t31 = cpu->r[18] + 0xFFFFE484u;
|
|
/* 020554C0 */ rbrew_write32(cpu->mem, _t31, cpu->r[24]);
|
|
/* 020554C4 */ _t32 = cpu->r[19] + 0xFFFFD9F0u;
|
|
/* 020554C4 */ rbrew_write32(cpu->mem, _t32, cpu->r[20]);
|
|
L_020554C8: ; // 0x20554c8
|
|
/* 020554C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000000Au);
|
|
/* 020554CC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020554CC */ _t34 = _t33 & 0x00000001u;
|
|
/* 020554CC */ if (_t34) goto L_020554F4; else goto L_020554D0;
|
|
L_020554D0: ; // 0x20554d0
|
|
/* 020554D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 020554D4 */ cpu->r[3] = cpu->r[25];
|
|
/* 020554D8 */ cpu->r[5] = 0x00000000u;
|
|
/* 020554DC */ Gambit_fn_028A6634(cpu);
|
|
/* 020554E0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 020554E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Au);
|
|
/* 020554E8 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020554E8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 020554E8 */ if (_t36) goto L_0205555C; else goto L_020554EC;
|
|
L_020554EC: ; // 0x20554ec
|
|
/* 020554EC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020554EC */ _t38 = _t37 & 0x00000001u;
|
|
/* 020554EC */ if (_t38) goto L_0205548C; else goto L_020554F0;
|
|
L_020554F0: ; // 0x20554f0
|
|
/* 020554F0 */ goto L_0205555C;
|
|
L_020554F4: ; // 0x20554f4
|
|
/* 020554F4 */ _t39 = cpu->r[18] + 0xFFFFE484u;
|
|
/* 020554F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 020554F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 020554FC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020554FC */ _t41 = _t40 & 0x00000001u;
|
|
/* 020554FC */ if (_t41) goto L_02055500; else goto L_02055538;
|
|
L_02055500: ; // 0x2055500
|
|
/* 02055500 */ Gambit_fn_0282A450(cpu);
|
|
/* 02055504 */ cpu->r[26] = cpu->r[3];
|
|
/* 02055508 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0205550C */ _t42 = cpu->r[18] + 0xFFFFE484u;
|
|
/* 0205550C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02055510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055514 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055514 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02055514 */ if (_t44) goto L_02055518; else goto L_0205552C;
|
|
L_02055518: ; // 0x2055518
|
|
/* 02055518 */ cpu->r[5] = 0x0000000Au;
|
|
/* 0205551C */ cpu->r[4] = cpu->r[22] + 0x000031E1u;
|
|
/* 02055520 */ cpu->r[3] = cpu->r[23];
|
|
/* 02055524 */ Gambit_fn_0282A374(cpu);
|
|
/* 02055528 */ _t45 = cpu->r[18] + 0xFFFFE484u;
|
|
/* 02055528 */ rbrew_write32(cpu->mem, _t45, cpu->r[23]);
|
|
L_0205552C: ; // 0x205552c
|
|
/* 0205552C */ cpu->r[3] = cpu->r[26];
|
|
/* 02055530 */ Gambit_fn_02837030(cpu);
|
|
/* 02055534 */ _t46 = cpu->r[18] + 0xFFFFE484u;
|
|
/* 02055534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
L_02055538: ; // 0x2055538
|
|
/* 02055538 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0205553C */ cpu->r[3] = cpu->r[25];
|
|
/* 02055540 */ _t47 = cpu->r[9] + cpu->r[4];
|
|
/* 02055540 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02055544 */ cpu->r[4] = cpu->r[31];
|
|
/* 02055548 */ Gambit_fn_028A6634(cpu);
|
|
/* 0205554C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02055550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000000Au);
|
|
/* 02055554 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02055554 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02055554 */ if (_t49) goto L_0205555C; else goto L_02055558;
|
|
L_02055558: ; // 0x2055558
|
|
/* 02055558 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02055558 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02055558 */ if (_t51) goto L_0205548C; else goto L_0205555C;
|
|
L_0205555C: ; // 0x205555c
|
|
/* 0205555C */ cpu->r[4] = cpu->r[25];
|
|
/* 02055560 */ cpu->r[3] = cpu->r[29];
|
|
/* 02055564 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02055568 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0205556C */ cpu->r[26] = 0x10000000u;
|
|
/* 02055570 */ cpu->r[5] = 0x10000000u;
|
|
/* 02055574 */ _t52 = cpu->r[11] + 0xFFFFA648u;
|
|
/* 02055574 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02055578 */ cpu->r[25] = 0x10000000u;
|
|
/* 0205557C */ cpu->r[26] = cpu->r[26] + 0x000060D4u;
|
|
/* 02055580 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02055584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02055588 */ cpu->r[25] = cpu->r[25] + 0x000060BCu;
|
|
/* 0205558C */ _t53 = cpu->r[5] + 0x000060ECu;
|
|
/* 0205558C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02055590 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055590 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02055590 */ if (_t55) goto L_020555BC; else goto L_02055594;
|
|
L_02055594: ; // 0x2055594
|
|
/* 02055594 */ cpu->r[4] = 0x101E0000u;
|
|
/* 02055598 */ cpu->r[3] = cpu->r[29];
|
|
/* 0205559C */ cpu->r[4] = cpu->r[4] + 0xFFFF9E9Cu;
|
|
/* 020555A0 */ Gambit_fn_027B81E4(cpu);
|
|
/* 020555A4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 020555A8 */ _t56 = cpu->r[10] + 0xFFFFA64Cu;
|
|
/* 020555A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 020555AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 020555B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020555B4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020555B4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 020555B4 */ if (_t58) goto L_020555B8; else goto L_020556D4;
|
|
L_020555B8: ; // 0x20555b8
|
|
/* 020555B8 */ goto L_02055704;
|
|
L_020555BC: ; // 0x20555bc
|
|
/* 020555BC */ cpu->r[12] = 0x101E0000u;
|
|
/* 020555C0 */ cpu->r[10] = 0x00000001u;
|
|
/* 020555C4 */ cpu->r[30] = 0x10110000u;
|
|
/* 020555C8 */ cpu->r[7] = 0x10000000u;
|
|
/* 020555CC */ _t59 = cpu->r[12] + 0xFFFFA648u;
|
|
/* 020555CC */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 020555D0 */ cpu->r[23] = 0x101E0000u;
|
|
/* 020555D4 */ cpu->r[7] = cpu->r[7] + 0x0000608Cu;
|
|
/* 020555D8 */ _t60 = cpu->r[30] + 0x00007399u;
|
|
/* 020555D8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t60);
|
|
/* 020555DC */ cpu->r[23] = cpu->r[23] + 0xFFFF9E9Cu;
|
|
/* 020555E0 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020555E0 */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
/* 020555E4 */ cpu->r[0] = 0x00000040u;
|
|
/* 020555E8 */ _t62 = cpu->r[23] + 0x00000004u;
|
|
/* 020555E8 */ rbrew_write32(cpu->mem, _t62, cpu->r[25]);
|
|
/* 020555EC */ cpu->r[24] = cpu->r[23] + 0x0000000Cu;
|
|
/* 020555F0 */ _t63 = cpu->r[23] + 0x00000008u;
|
|
/* 020555F0 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 020555F4 */ cpu->r[11] = 0x10000000u;
|
|
/* 020555F8 */ _t64 = cpu->r[23] + 0x0000004Bu;
|
|
/* 020555F8 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[30]);
|
|
/* 020555FC */ cpu->r[11] = cpu->r[11] + 0x00006140u;
|
|
/* 02055600 */ _t65 = cpu->r[23] + 0x00000000u;
|
|
/* 02055600 */ rbrew_write32(cpu->mem, _t65, cpu->r[24]);
|
|
/* 02055604 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02055608 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02055608 */ rbrew_write32(cpu->mem, _t66, cpu->r[11]);
|
|
/* 0205560C */ Gambit_fn_0205709C(cpu);
|
|
/* 02055610 */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02055610 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02055614 */ _t68 = cpu->r[5] + 0x00000000u;
|
|
/* 02055614 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02055618 */ cpu->r[31] = 0x00000000u;
|
|
/* 0205561C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02055620 */ cpu->r[6] = 0x00080000u;
|
|
/* 02055624 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055624 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02055624 */ if (_t70) goto L_0205564C; else goto L_02055628;
|
|
L_02055628: ; // 0x2055628
|
|
/* 02055628 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0205562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02055630 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02055634 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02055634 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02055634 */ if (_t72) goto L_02055648; else goto L_02055638;
|
|
L_02055638: ; // 0x2055638
|
|
/* 02055638 */ _t73 = cpu->r[5] + 0x00000000u;
|
|
/* 02055638 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 0205563C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02055640 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055640 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02055640 */ if (_t75) goto L_02055644; else goto L_02055628;
|
|
L_02055644: ; // 0x2055644
|
|
/* 02055644 */ goto L_0205564C;
|
|
L_02055648: ; // 0x2055648
|
|
/* 02055648 */ cpu->r[31] = 0x00000000u;
|
|
L_0205564C: ; // 0x205564c
|
|
/* 0205564C */ _t76 = cpu->r[23] + 0x00000008u;
|
|
/* 0205564C */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02055650 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02055650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02055654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02055658 */ _t78 = cpu->r[5] + 0x00000014u;
|
|
/* 02055658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0205565C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0205565C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0205565C */ if (_t80) goto L_02055664; else goto L_02055660;
|
|
L_02055660: ; // 0x2055660
|
|
/* 02055660 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02055664: ; // 0x2055664
|
|
/* 02055664 */ cpu->ctr = cpu->r[7];
|
|
/* 02055668 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0205566C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02055670 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 02055670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02055674 */ cpu->r[3] = cpu->r[24];
|
|
/* 02055678 */ cpu->r[5] = cpu->r[31];
|
|
/* 0205567C */ cpu->r[6] = 0x00000000u;
|
|
/* 02055680 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02055684 */ _t82 = cpu->r[24] + cpu->r[31];
|
|
/* 02055684 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[30]);
|
|
/* 02055688 */ cpu->r[10] = 0x10000000u;
|
|
/* 0205568C */ _t83 = cpu->r[23] + 0x00000004u;
|
|
/* 0205568C */ rbrew_write32(cpu->mem, _t83, cpu->r[26]);
|
|
/* 02055690 */ cpu->r[0] = 0x00000002u;
|
|
/* 02055694 */ _t84 = cpu->r[10] + 0x000060F0u;
|
|
/* 02055694 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02055698 */ _t85 = cpu->r[23] + 0x0000004Cu;
|
|
/* 02055698 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 0205569C */ _t86 = cpu->r[23] + 0x00000054u;
|
|
/* 0205569C */ rbrew_write_f32(cpu->mem, _t86, cpu->f[31]);
|
|
/* 020556A0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 020556A4 */ _t87 = cpu->r[23] + 0x00000058u;
|
|
/* 020556A4 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[13]);
|
|
/* 020556A8 */ cpu->r[3] = cpu->r[3] + 0x00002414u;
|
|
/* 020556AC */ _t88 = cpu->r[23] + 0x00000050u;
|
|
/* 020556AC */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[27]);
|
|
/* 020556B0 */ Gambit_fn_02C83090(cpu);
|
|
/* 020556B4 */ cpu->r[4] = cpu->r[23];
|
|
/* 020556B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 020556BC */ Gambit_fn_027B81E4(cpu);
|
|
/* 020556C0 */ cpu->r[10] = 0x101E0000u;
|
|
/* 020556C4 */ _t89 = cpu->r[10] + 0xFFFFA64Cu;
|
|
/* 020556C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 020556C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 020556CC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020556D0 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020556D0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 020556D0 */ if (_t91) goto L_02055704; else goto L_020556D4;
|
|
L_020556D4: ; // 0x20556d4
|
|
/* 020556D4 */ cpu->r[4] = 0x101E0000u;
|
|
/* 020556D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 020556DC */ cpu->r[4] = cpu->r[4] + 0xFFFF9EF8u;
|
|
/* 020556E0 */ Gambit_fn_027B81E4(cpu);
|
|
/* 020556E4 */ cpu->r[5] = 0x101E0000u;
|
|
/* 020556E8 */ cpu->r[31] = 0x101E0000u;
|
|
/* 020556EC */ _t92 = cpu->r[5] + 0xFFFFA650u;
|
|
/* 020556EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 020556EC */ cpu->r[5] = _t92;
|
|
/* 020556F0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9F54u;
|
|
/* 020556F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 020556F8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 020556FC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020556FC */ _t94 = _t93 & 0x00000001u;
|
|
/* 020556FC */ if (_t94) goto L_02055824; else goto L_02055700;
|
|
L_02055700: ; // 0x2055700
|
|
/* 02055700 */ goto L_0205586C;
|
|
L_02055704: ; // 0x2055704
|
|
/* 02055704 */ cpu->r[9] = 0x101E0000u;
|
|
/* 02055708 */ cpu->r[10] = 0x00000001u;
|
|
/* 0205570C */ cpu->r[30] = 0x10110000u;
|
|
/* 02055710 */ cpu->r[7] = 0x10000000u;
|
|
/* 02055714 */ _t95 = cpu->r[9] + 0xFFFFA64Cu;
|
|
/* 02055714 */ rbrew_write32(cpu->mem, _t95, cpu->r[10]);
|
|
/* 02055718 */ cpu->r[24] = 0x101E0000u;
|
|
/* 0205571C */ cpu->r[7] = cpu->r[7] + 0x0000608Cu;
|
|
/* 02055720 */ _t96 = cpu->r[30] + 0x00007399u;
|
|
/* 02055720 */ cpu->r[30] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02055724 */ cpu->r[24] = cpu->r[24] + 0xFFFF9EF8u;
|
|
/* 02055728 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 02055728 */ rbrew_write32(cpu->mem, _t97, cpu->r[7]);
|
|
/* 0205572C */ cpu->r[12] = 0x00000040u;
|
|
/* 02055730 */ _t98 = cpu->r[24] + 0x00000004u;
|
|
/* 02055730 */ rbrew_write32(cpu->mem, _t98, cpu->r[25]);
|
|
/* 02055734 */ cpu->r[25] = cpu->r[24] + 0x0000000Cu;
|
|
/* 02055738 */ _t99 = cpu->r[24] + 0x00000008u;
|
|
/* 02055738 */ rbrew_write32(cpu->mem, _t99, cpu->r[12]);
|
|
/* 0205573C */ cpu->r[0] = 0x10000000u;
|
|
/* 02055740 */ _t100 = cpu->r[24] + 0x0000004Bu;
|
|
/* 02055740 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[30]);
|
|
/* 02055744 */ cpu->r[0] = cpu->r[0] + 0x00006150u;
|
|
/* 02055748 */ _t101 = cpu->r[24] + 0x00000000u;
|
|
/* 02055748 */ rbrew_write32(cpu->mem, _t101, cpu->r[25]);
|
|
/* 0205574C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02055750 */ _t102 = cpu->r[1] + 0x00000010u;
|
|
/* 02055750 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 02055754 */ Gambit_fn_0205709C(cpu);
|
|
/* 02055758 */ _t103 = cpu->r[1] + 0x00000010u;
|
|
/* 02055758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0205575C */ _t104 = cpu->r[11] + 0x00000000u;
|
|
/* 0205575C */ cpu->r[0] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02055760 */ cpu->r[31] = 0x00000000u;
|
|
/* 02055764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02055768 */ cpu->r[12] = 0x00080000u;
|
|
/* 0205576C */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205576C */ _t106 = _t105 & 0x00000001u;
|
|
/* 0205576C */ if (_t106) goto L_02055794; else goto L_02055770;
|
|
L_02055770: ; // 0x2055770
|
|
/* 02055770 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02055774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02055778 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0205577C */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0205577C */ _t108 = _t107 & 0x00000001u;
|
|
/* 0205577C */ if (_t108) goto L_02055790; else goto L_02055780;
|
|
L_02055780: ; // 0x2055780
|
|
/* 02055780 */ _t109 = cpu->r[11] + 0x00000000u;
|
|
/* 02055780 */ cpu->r[0] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02055784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02055788 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055788 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02055788 */ if (_t111) goto L_0205578C; else goto L_02055770;
|
|
L_0205578C: ; // 0x205578c
|
|
/* 0205578C */ goto L_02055794;
|
|
L_02055790: ; // 0x2055790
|
|
/* 02055790 */ cpu->r[31] = 0x00000000u;
|
|
L_02055794: ; // 0x2055794
|
|
/* 02055794 */ _t112 = cpu->r[24] + 0x00000008u;
|
|
/* 02055794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02055798 */ _t113 = cpu->r[1] + 0x00000014u;
|
|
/* 02055798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0205579C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 020557A0 */ _t114 = cpu->r[6] + 0x00000014u;
|
|
/* 020557A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 020557A4 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020557A4 */ _t116 = _t115 & 0x00000001u;
|
|
/* 020557A4 */ if (_t116) goto L_020557AC; else goto L_020557A8;
|
|
L_020557A8: ; // 0x20557a8
|
|
/* 020557A8 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_020557AC: ; // 0x20557ac
|
|
/* 020557AC */ cpu->ctr = cpu->r[0];
|
|
/* 020557B0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 020557B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 020557B8 */ _t117 = cpu->r[1] + 0x00000010u;
|
|
/* 020557B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 020557BC */ cpu->r[3] = cpu->r[25];
|
|
/* 020557C0 */ cpu->r[5] = cpu->r[31];
|
|
/* 020557C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 020557C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 020557CC */ _t118 = cpu->r[25] + cpu->r[31];
|
|
/* 020557CC */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[30]);
|
|
/* 020557D0 */ cpu->r[4] = 0x10000000u;
|
|
/* 020557D4 */ _t119 = cpu->r[24] + 0x00000004u;
|
|
/* 020557D4 */ rbrew_write32(cpu->mem, _t119, cpu->r[26]);
|
|
/* 020557D8 */ cpu->r[9] = 0x00000002u;
|
|
/* 020557DC */ _t120 = cpu->r[4] + 0x000060F4u;
|
|
/* 020557DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 020557E0 */ _t121 = cpu->r[24] + 0x0000004Cu;
|
|
/* 020557E0 */ rbrew_write32(cpu->mem, _t121, cpu->r[9]);
|
|
/* 020557E4 */ _t122 = cpu->r[24] + 0x00000054u;
|
|
/* 020557E4 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[31]);
|
|
/* 020557E8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 020557EC */ _t123 = cpu->r[24] + 0x00000058u;
|
|
/* 020557EC */ rbrew_write_f32(cpu->mem, _t123, cpu->f[0]);
|
|
/* 020557F0 */ cpu->r[3] = cpu->r[3] + 0x00002420u;
|
|
/* 020557F4 */ _t124 = cpu->r[24] + 0x00000050u;
|
|
/* 020557F4 */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[27]);
|
|
/* 020557F8 */ Gambit_fn_02C83090(cpu);
|
|
/* 020557FC */ cpu->r[4] = cpu->r[24];
|
|
/* 02055800 */ cpu->r[3] = cpu->r[29];
|
|
/* 02055804 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02055808 */ cpu->r[5] = 0x101E0000u;
|
|
/* 0205580C */ cpu->r[31] = 0x101E0000u;
|
|
/* 02055810 */ _t125 = cpu->r[5] + 0xFFFFA650u;
|
|
/* 02055810 */ cpu->r[11] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02055810 */ cpu->r[5] = _t125;
|
|
/* 02055814 */ cpu->r[31] = cpu->r[31] + 0xFFFF9F54u;
|
|
/* 02055818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0205581C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02055820 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055820 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02055820 */ if (_t127) goto L_02055824; else goto L_0205586C;
|
|
L_02055824: ; // 0x2055824
|
|
/* 02055824 */ cpu->r[4] = 0x10000000u;
|
|
/* 02055828 */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 0205582C */ cpu->r[12] = 0x00000001u;
|
|
/* 02055830 */ cpu->r[4] = cpu->r[4] + 0x00006108u;
|
|
/* 02055834 */ cpu->r[7] = 0x00000000u;
|
|
/* 02055838 */ _t128 = cpu->r[5] + 0x00000000u;
|
|
/* 02055838 */ rbrew_write32(cpu->mem, _t128, cpu->r[12]);
|
|
/* 0205583C */ cpu->r[3] = cpu->r[31];
|
|
/* 02055840 */ cpu->r[5] = 0x00000002u;
|
|
/* 02055844 */ Gambit_fn_028A6750(cpu);
|
|
/* 02055848 */ cpu->r[6] = 0x02050000u;
|
|
/* 0205584C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02055850 */ cpu->r[4] = 0x00000002u;
|
|
/* 02055854 */ cpu->r[6] = cpu->r[6] + 0x0000710Cu;
|
|
/* 02055858 */ cpu->r[5] = 0x00000008u;
|
|
/* 0205585C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02055860 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02055864 */ cpu->r[3] = cpu->r[3] + 0x0000242Cu;
|
|
/* 02055868 */ Gambit_fn_02C83090(cpu);
|
|
L_0205586C: ; // 0x205586c
|
|
/* 0205586C */ _t129 = cpu->r[31] + 0x00000054u;
|
|
/* 0205586C */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02055870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055874 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055874 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02055874 */ if (_t131) goto L_02055878; else goto L_0205596C;
|
|
L_02055878: ; // 0x2055878
|
|
/* 02055878 */ cpu->r[20] = 0x101D0000u;
|
|
/* 0205587C */ cpu->r[30] = 0x00000000u;
|
|
/* 02055880 */ cpu->r[22] = 0x101D0000u;
|
|
/* 02055884 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02055888 */ cpu->r[24] = 0x00000001u;
|
|
/* 0205588C */ cpu->r[21] = cpu->r[30];
|
|
/* 02055890 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02055894 */ cpu->r[20] = cpu->r[20] + 0xFFFFE488u;
|
|
/* 02055898 */ cpu->r[25] = 0x101D0000u;
|
|
L_0205589C: ; // 0x205589c
|
|
/* 0205589C */ _t132 = cpu->r[25] + 0xFFFFD9FCu;
|
|
/* 0205589C */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 020558A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 020558A4 */ cpu->r[27] = cpu->r[30];
|
|
/* 020558A8 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020558A8 */ _t134 = _t133 & 0x00000001u;
|
|
/* 020558A8 */ if (_t134) goto L_020558AC; else goto L_020558C4;
|
|
L_020558AC: ; // 0x20558ac
|
|
/* 020558AC */ cpu->r[4] = 0x101C0000u;
|
|
/* 020558B0 */ cpu->r[3] = cpu->r[26] + 0x00003238u;
|
|
/* 020558B4 */ cpu->r[5] = 0x0000000Fu;
|
|
/* 020558B8 */ cpu->r[4] = cpu->r[4] + 0x0000232Cu;
|
|
/* 020558BC */ _t135 = cpu->r[25] + 0xFFFFD9FCu;
|
|
/* 020558BC */ rbrew_write32(cpu->mem, _t135, cpu->r[24]);
|
|
/* 020558C0 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_020558C4: ; // 0x20558c4
|
|
/* 020558C4 */ _t136 = cpu->r[23] + 0xFFFFD9F8u;
|
|
/* 020558C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 020558C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020558CC */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020558CC */ _t138 = _t137 & 0x00000001u;
|
|
/* 020558CC */ if (_t138) goto L_020558D0; else goto L_020558D8;
|
|
L_020558D0: ; // 0x20558d0
|
|
/* 020558D0 */ _t139 = cpu->r[22] + 0xFFFFE490u;
|
|
/* 020558D0 */ rbrew_write32(cpu->mem, _t139, cpu->r[21]);
|
|
/* 020558D4 */ _t140 = cpu->r[23] + 0xFFFFD9F8u;
|
|
/* 020558D4 */ rbrew_write32(cpu->mem, _t140, cpu->r[24]);
|
|
L_020558D8: ; // 0x20558d8
|
|
/* 020558D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000002u);
|
|
/* 020558DC */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020558DC */ _t142 = _t141 & 0x00000001u;
|
|
/* 020558DC */ if (_t142) goto L_02055904; else goto L_020558E0;
|
|
L_020558E0: ; // 0x20558e0
|
|
/* 020558E0 */ cpu->r[4] = cpu->r[27];
|
|
/* 020558E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 020558E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 020558EC */ Gambit_fn_028A6634(cpu);
|
|
/* 020558F0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 020558F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 020558F8 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 020558F8 */ _t144 = _t143 & 0x00000001u;
|
|
/* 020558F8 */ if (_t144) goto L_0205596C; else goto L_020558FC;
|
|
L_020558FC: ; // 0x20558fc
|
|
/* 020558FC */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 020558FC */ _t146 = _t145 & 0x00000001u;
|
|
/* 020558FC */ if (_t146) goto L_0205589C; else goto L_02055900;
|
|
L_02055900: ; // 0x2055900
|
|
/* 02055900 */ goto L_0205596C;
|
|
L_02055904: ; // 0x2055904
|
|
/* 02055904 */ _t147 = cpu->r[22] + 0xFFFFE490u;
|
|
/* 02055904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02055908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0205590C */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0205590C */ _t149 = _t148 & 0x00000001u;
|
|
/* 0205590C */ if (_t149) goto L_02055910; else goto L_02055948;
|
|
L_02055910: ; // 0x2055910
|
|
/* 02055910 */ Gambit_fn_0282A450(cpu);
|
|
/* 02055914 */ cpu->r[19] = cpu->r[3];
|
|
/* 02055918 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0205591C */ _t150 = cpu->r[22] + 0xFFFFE490u;
|
|
/* 0205591C */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02055920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02055924 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02055924 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02055924 */ if (_t152) goto L_02055928; else goto L_0205593C;
|
|
L_02055928: ; // 0x2055928
|
|
/* 02055928 */ cpu->r[5] = 0x00000002u;
|
|
/* 0205592C */ cpu->r[4] = cpu->r[26] + 0x00003238u;
|
|
/* 02055930 */ cpu->r[3] = cpu->r[20];
|
|
/* 02055934 */ Gambit_fn_0282A374(cpu);
|
|
/* 02055938 */ _t153 = cpu->r[22] + 0xFFFFE490u;
|
|
/* 02055938 */ rbrew_write32(cpu->mem, _t153, cpu->r[20]);
|
|
L_0205593C: ; // 0x205593c
|
|
/* 0205593C */ cpu->r[3] = cpu->r[19];
|
|
/* 02055940 */ Gambit_fn_02837030(cpu);
|
|
/* 02055944 */ _t154 = cpu->r[22] + 0xFFFFE490u;
|
|
/* 02055944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
L_02055948: ; // 0x2055948
|
|
/* 02055948 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0205594C */ cpu->r[3] = cpu->r[31];
|
|
/* 02055950 */ _t155 = cpu->r[11] + cpu->r[0];
|
|
/* 02055950 */ cpu->r[5] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02055954 */ cpu->r[4] = cpu->r[27];
|
|
/* 02055958 */ Gambit_fn_028A6634(cpu);
|
|
/* 0205595C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02055960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000002u);
|
|
/* 02055964 */ _t156 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02055964 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02055964 */ if (_t157) goto L_0205596C; else goto L_02055968;
|
|
L_02055968: ; // 0x2055968
|
|
/* 02055968 */ _t158 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02055968 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02055968 */ if (_t159) goto L_0205589C; else goto L_0205596C;
|
|
L_0205596C: ; // 0x205596c
|
|
/* 0205596C */ cpu->r[3] = cpu->r[29];
|
|
/* 02055970 */ cpu->r[4] = cpu->r[31];
|
|
/* 02055974 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02055978 */ cpu->r[3] = cpu->r[28] + 0x00000001u;
|
|
/* 0205597C */ /* nop */
|
|
/* 02055980 */ _t160 = cpu->r[1] + 0x00000058u;
|
|
/* 02055980 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02055984 */ _t161 = cpu->r[1] + 0x00000050u;
|
|
/* 02055984 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 02055988 */ _t162 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02055988 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02055988 */ if (_t163) goto L_0205598C; // else: addr-0 trap, fall-through
|
|
L_0205598C: ; // 0x205598c
|
|
/* 0205598C */ _t164 = cpu->r[1] + 0x00000064u;
|
|
/* 0205598C */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02055990 */ cpu->lr = cpu->r[0];
|
|
/* 02055994 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02055998 */ return;
|
|
L_021BC6D8: ; // 0x21bc6d8
|
|
/* 021BC6D8 */ _t165 = cpu->r[3] + 0x00000030u;
|
|
/* 021BC6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t165);
|
|
/* 021BC6DC */ cpu->r[4] = 0x00000000u;
|
|
/* 021BC6E0 */ goto L_020552F4;
|
|
}
|
|
|
|
// fn_021BC6E4 @ 0x21bc6e4
|
|
void Gambit_fn_021BC6E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_021BC6E4: ; // 0x21bc6e4
|
|
/* 021BC6E4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BC6E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BC6E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC6E8 */ cpu->r[1] = _t0;
|
|
/* 021BC6EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC6EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BC6F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC6F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BC6F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC6F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BC6F8 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 021BC6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BC6FC */ _t5 = cpu->r[3] + 0x0000002Cu;
|
|
/* 021BC6FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BC700 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 021BC700 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021BC704 */ _t7 = cpu->r[3] + 0x00000051u;
|
|
/* 021BC704 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]);
|
|
/* 021BC708 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BC70C */ _t9 = cpu->r[3] + 0x00000054u;
|
|
/* 021BC70C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 021BC710 */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021BC710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BC714 */ _t11 = cpu->r[3] + 0x00000058u;
|
|
/* 021BC714 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BC718 */ _t12 = cpu->r[4] + 0x00000010u;
|
|
/* 021BC718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BC71C */ _t13 = cpu->r[3] + 0x0000005Cu;
|
|
/* 021BC71C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 021BC720 */ _t14 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BC724 */ _t15 = cpu->r[3] + 0x00000060u;
|
|
/* 021BC724 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021BC728 */ _t16 = cpu->r[4] + 0x00000018u;
|
|
/* 021BC728 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16);
|
|
/* 021BC72C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC72C */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BC730 */ cpu->r[30] = 0x00000000u;
|
|
/* 021BC734 */ _t18 = cpu->r[3] + 0x00000052u;
|
|
/* 021BC734 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[30]);
|
|
/* 021BC738 */ _t19 = cpu->r[3] + 0x00000064u;
|
|
/* 021BC738 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 021BC73C */ _t20 = cpu->r[7] + 0x000001FCu;
|
|
/* 021BC73C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BC740 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC744 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BC748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC74C */ cpu->r[10] = cpu->r[3] ^ 0x00000001u;
|
|
/* 021BC750 */ _t21 = cpu->r[31] + 0x00000050u;
|
|
/* 021BC750 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 021BC754 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021BC758 */ _t22 = cpu->r[31] + 0x00000066u;
|
|
/* 021BC758 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[10]);
|
|
/* 021BC75C */ _t23 = cpu->r[30] + 0x00006000u;
|
|
/* 021BC75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BC75C */ cpu->r[30] = _t23;
|
|
/* 021BC760 */ _t24 = cpu->r[8] + 0x000002B0u;
|
|
/* 021BC760 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BC764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC768 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC768 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BC768 */ if (_t26) goto L_021BC778; else goto L_021BC76C;
|
|
L_021BC76C: ; // 0x21bc76c
|
|
/* 021BC76C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BC770 */ Gambit_fn_0266980C(cpu);
|
|
/* 021BC774 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 021BC774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
L_021BC778: ; // 0x21bc778
|
|
/* 021BC778 */ _t28 = cpu->r[8] + 0x00000268u;
|
|
/* 021BC778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BC77C */ _t29 = cpu->r[31] + 0x00000054u;
|
|
/* 021BC77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BC780 */ _t30 = cpu->r[9] + 0x000002B0u;
|
|
/* 021BC780 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BC784 */ cpu->r[11] = 0x00000009u;
|
|
/* 021BC788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 021BC78C */ _t31 = cpu->r[31] + 0x00000030u;
|
|
/* 021BC78C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BC790 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC790 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BC790 */ if (_t33) goto L_021BC794; else goto L_021BC798;
|
|
L_021BC794: ; // 0x21bc794
|
|
/* 021BC794 */ cpu->r[11] = 0x00000008u;
|
|
L_021BC798: ; // 0x21bc798
|
|
/* 021BC798 */ cpu->r[5] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 021BC79C */ cpu->r[4] = 0x00000003u;
|
|
/* 021BC7A0 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BC7A4 */ _t34 = cpu->r[31] + 0x00000030u;
|
|
/* 021BC7A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021BC7A8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021BC7AC */ cpu->r[5] = 0x0000000Bu;
|
|
/* 021BC7B0 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BC7B4 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BC7B8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC7B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021BC7BC */ cpu->lr = cpu->r[0];
|
|
/* 021BC7C0 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BC7C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC7C8 */ return;
|
|
}
|
|
|
|
// fn_021BC6E8 @ 0x21bc6e8
|
|
void Gambit_fn_021BC6E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_021BC6E8: ; // 0x21bc6e8
|
|
/* 021BC6E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BC6E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC6E8 */ cpu->r[1] = _t0;
|
|
/* 021BC6EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC6EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BC6F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC6F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BC6F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC6F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BC6F8 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 021BC6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BC6FC */ _t5 = cpu->r[3] + 0x0000002Cu;
|
|
/* 021BC6FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BC700 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 021BC700 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021BC704 */ _t7 = cpu->r[3] + 0x00000051u;
|
|
/* 021BC704 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]);
|
|
/* 021BC708 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 021BC708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BC70C */ _t9 = cpu->r[3] + 0x00000054u;
|
|
/* 021BC70C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 021BC710 */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021BC710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BC714 */ _t11 = cpu->r[3] + 0x00000058u;
|
|
/* 021BC714 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 021BC718 */ _t12 = cpu->r[4] + 0x00000010u;
|
|
/* 021BC718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BC71C */ _t13 = cpu->r[3] + 0x0000005Cu;
|
|
/* 021BC71C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 021BC720 */ _t14 = cpu->r[4] + 0x00000014u;
|
|
/* 021BC720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BC724 */ _t15 = cpu->r[3] + 0x00000060u;
|
|
/* 021BC724 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021BC728 */ _t16 = cpu->r[4] + 0x00000018u;
|
|
/* 021BC728 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16);
|
|
/* 021BC72C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC72C */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BC730 */ cpu->r[30] = 0x00000000u;
|
|
/* 021BC734 */ _t18 = cpu->r[3] + 0x00000052u;
|
|
/* 021BC734 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[30]);
|
|
/* 021BC738 */ _t19 = cpu->r[3] + 0x00000064u;
|
|
/* 021BC738 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 021BC73C */ _t20 = cpu->r[7] + 0x000001FCu;
|
|
/* 021BC73C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BC740 */ cpu->ctr = cpu->r[8];
|
|
/* 021BC744 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BC748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC74C */ cpu->r[10] = cpu->r[3] ^ 0x00000001u;
|
|
/* 021BC750 */ _t21 = cpu->r[31] + 0x00000050u;
|
|
/* 021BC750 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 021BC754 */ cpu->r[30] = 0x101C0000u;
|
|
/* 021BC758 */ _t22 = cpu->r[31] + 0x00000066u;
|
|
/* 021BC758 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[10]);
|
|
/* 021BC75C */ _t23 = cpu->r[30] + 0x00006000u;
|
|
/* 021BC75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BC75C */ cpu->r[30] = _t23;
|
|
/* 021BC760 */ _t24 = cpu->r[8] + 0x000002B0u;
|
|
/* 021BC760 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BC764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC768 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC768 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BC768 */ if (_t26) goto L_021BC778; else goto L_021BC76C;
|
|
L_021BC76C: ; // 0x21bc76c
|
|
/* 021BC76C */ cpu->r[4] = cpu->r[31];
|
|
/* 021BC770 */ Gambit_fn_0266980C(cpu);
|
|
/* 021BC774 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 021BC774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
L_021BC778: ; // 0x21bc778
|
|
/* 021BC778 */ _t28 = cpu->r[8] + 0x00000268u;
|
|
/* 021BC778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BC77C */ _t29 = cpu->r[31] + 0x00000054u;
|
|
/* 021BC77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BC780 */ _t30 = cpu->r[9] + 0x000002B0u;
|
|
/* 021BC780 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BC784 */ cpu->r[11] = 0x00000009u;
|
|
/* 021BC788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 021BC78C */ _t31 = cpu->r[31] + 0x00000030u;
|
|
/* 021BC78C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BC790 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC790 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BC790 */ if (_t33) goto L_021BC794; else goto L_021BC798;
|
|
L_021BC794: ; // 0x21bc794
|
|
/* 021BC794 */ cpu->r[11] = 0x00000008u;
|
|
L_021BC798: ; // 0x21bc798
|
|
/* 021BC798 */ cpu->r[5] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 021BC79C */ cpu->r[4] = 0x00000003u;
|
|
/* 021BC7A0 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BC7A4 */ _t34 = cpu->r[31] + 0x00000030u;
|
|
/* 021BC7A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021BC7A8 */ cpu->r[4] = 0x00000002u;
|
|
/* 021BC7AC */ cpu->r[5] = 0x0000000Bu;
|
|
/* 021BC7B0 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BC7B4 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BC7B8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC7B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021BC7BC */ cpu->lr = cpu->r[0];
|
|
/* 021BC7C0 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BC7C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC7C8 */ return;
|
|
}
|
|
|
|
// fn_021BC7CC @ 0x21bc7cc
|
|
void Gambit_fn_021BC7CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021BC7CC: ; // 0x21bc7cc
|
|
/* 021BC7CC */ cpu->r[0] = 0x00000001u;
|
|
/* 021BC7D0 */ _t0 = cpu->r[3] + 0x00000039u;
|
|
/* 021BC7D0 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 021BC7D4 */ return;
|
|
}
|
|
|
|
// fn_021BC7D8 @ 0x21bc7d8
|
|
void Gambit_fn_021BC7D8(CPUState* cpu) {
|
|
uint32_t _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_021BC7D8: ; // 0x21bc7d8
|
|
/* 021BC7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 021BC7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BC7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC7DC */ cpu->r[1] = _t0;
|
|
/* 021BC7E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BC7E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BC7E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC7E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BC7EC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC7EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BC7F0 */ _t5 = cpu->r[10] + 0x000002FCu;
|
|
/* 021BC7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BC7F4 */ cpu->ctr = cpu->r[11];
|
|
/* 021BC7F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BC7FC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BC800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BC808 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC808 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BC808 */ if (_t7) goto L_021BC850; else goto L_021BC80C;
|
|
L_021BC80C: ; // 0x21bc80c
|
|
/* 021BC80C */ _t8 = cpu->r[30] + 0x00000060u;
|
|
/* 021BC80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BC810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC814 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC814 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021BC814 */ if (_t10) goto L_021BC850; else goto L_021BC818;
|
|
L_021BC818: ; // 0x21bc818
|
|
/* 021BC818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 021BC81C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC81C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021BC81C */ if (_t12) goto L_021BC820; else goto L_021BC850;
|
|
L_021BC820: ; // 0x21bc820
|
|
/* 021BC820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC824 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC824 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021BC824 */ if (_t14) goto L_021BC834; else goto L_021BC828;
|
|
L_021BC828: ; // 0x21bc828
|
|
/* 021BC828 */ _t15 = cpu->r[30] + 0x00000052u;
|
|
/* 021BC828 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 021BC82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 021BC830 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC830 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021BC830 */ if (_t17) goto L_021BC834; else goto L_021BC850;
|
|
L_021BC834: ; // 0x21bc834
|
|
/* 021BC834 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BC838 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BC83C */ cpu->lr = cpu->r[0];
|
|
/* 021BC840 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC840 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BC844 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC848 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BC84C */ return;
|
|
L_021BC850: ; // 0x21bc850
|
|
/* 021BC850 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BC854 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BC858 */ cpu->lr = cpu->r[0];
|
|
/* 021BC85C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BC860 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC864 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BC868 */ return;
|
|
}
|
|
|
|
// fn_021BC7DC @ 0x21bc7dc
|
|
void Gambit_fn_021BC7DC(CPUState* cpu) {
|
|
uint32_t _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_021BC7DC: ; // 0x21bc7dc
|
|
/* 021BC7DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BC7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC7DC */ cpu->r[1] = _t0;
|
|
/* 021BC7E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BC7E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC7E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BC7E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC7E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BC7EC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC7EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BC7F0 */ _t5 = cpu->r[10] + 0x000002FCu;
|
|
/* 021BC7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BC7F4 */ cpu->ctr = cpu->r[11];
|
|
/* 021BC7F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BC7FC */ cpu->r[31] = cpu->r[4];
|
|
/* 021BC800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BC804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BC808 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC808 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BC808 */ if (_t7) goto L_021BC850; else goto L_021BC80C;
|
|
L_021BC80C: ; // 0x21bc80c
|
|
/* 021BC80C */ _t8 = cpu->r[30] + 0x00000060u;
|
|
/* 021BC80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BC810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BC814 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC814 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021BC814 */ if (_t10) goto L_021BC850; else goto L_021BC818;
|
|
L_021BC818: ; // 0x21bc818
|
|
/* 021BC818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 021BC81C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC81C */ _t12 = _t11 & 0x00000001u;
|
|
/* 021BC81C */ if (_t12) goto L_021BC820; else goto L_021BC850;
|
|
L_021BC820: ; // 0x21bc820
|
|
/* 021BC820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC824 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC824 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021BC824 */ if (_t14) goto L_021BC834; else goto L_021BC828;
|
|
L_021BC828: ; // 0x21bc828
|
|
/* 021BC828 */ _t15 = cpu->r[30] + 0x00000052u;
|
|
/* 021BC828 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 021BC82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 021BC830 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC830 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021BC830 */ if (_t17) goto L_021BC834; else goto L_021BC850;
|
|
L_021BC834: ; // 0x21bc834
|
|
/* 021BC834 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BC838 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BC83C */ cpu->lr = cpu->r[0];
|
|
/* 021BC840 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC840 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BC844 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC848 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BC84C */ return;
|
|
L_021BC850: ; // 0x21bc850
|
|
/* 021BC850 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BC854 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BC858 */ cpu->lr = cpu->r[0];
|
|
/* 021BC85C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC85C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BC860 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BC864 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BC868 */ return;
|
|
}
|
|
|
|
// fn_021BC86C @ 0x21bc86c
|
|
void Gambit_fn_021BC86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BC86C: ; // 0x21bc86c
|
|
/* 021BC86C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BC870 */ _t1 = cpu->r[12] + 0x0000029Cu;
|
|
/* 021BC870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BC874 */ cpu->ctr = cpu->r[0];
|
|
/* 021BC878 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BC87C @ 0x21bc87c
|
|
void Gambit_fn_021BC87C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BC87C: ; // 0x21bc87c
|
|
/* 021BC87C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC87C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BC880 */ _t1 = cpu->r[12] + 0x000002A4u;
|
|
/* 021BC880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BC884 */ cpu->ctr = cpu->r[0];
|
|
/* 021BC888 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BC88C @ 0x21bc88c
|
|
void Gambit_fn_021BC88C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BC88C: ; // 0x21bc88c
|
|
/* 021BC88C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BC88C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BC890 */ _t1 = cpu->r[12] + 0x000002ACu;
|
|
/* 021BC890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BC894 */ cpu->ctr = cpu->r[0];
|
|
/* 021BC898 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BC89C @ 0x21bc89c
|
|
void Gambit_fn_021BC89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_021BC89C: ; // 0x21bc89c
|
|
/* 021BC89C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BC89C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BC89C */ cpu->r[1] = _t0;
|
|
/* 021BC8A0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BC8A4 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC8A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021BC8A8 */ /* nop */
|
|
/* 021BC8AC */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC8AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021BC8B0 */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC8B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021BC8B4 */ cpu->r[30] = cpu->r[5];
|
|
/* 021BC8B8 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BC8B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021BC8BC */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC8BC */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
/* 021BC8C0 */ cpu->r[31] = cpu->r[6];
|
|
/* 021BC8C4 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 021BC8C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 021BC8C8 */ _t7 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC8C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BC8CC */ cpu->r[29] = cpu->r[3];
|
|
/* 021BC8D0 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BC8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC8D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC8D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BC8D8 */ if (_t9) goto L_021BC8DC; else goto L_021BC9E8;
|
|
L_021BC8DC: ; // 0x21bc8dc
|
|
/* 021BC8DC */ cpu->r[5] = 0x10030000u;
|
|
/* 021BC8E0 */ cpu->r[28] = 0x101F0000u;
|
|
/* 021BC8E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 021BC8E8 */ _t10 = cpu->r[5] + 0xFFFFB210u;
|
|
/* 021BC8E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021BC8EC */ cpu->r[28] = cpu->r[28] + 0x00003840u;
|
|
/* 021BC8F0 */ Gambit_fn_021BC86C(cpu);
|
|
/* 021BC8F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 021BC8F8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC8F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021BC8F8 */ if (_t12) goto L_021BC908; else goto L_021BC8FC;
|
|
L_021BC8FC: ; // 0x21bc8fc
|
|
/* 021BC8FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC8FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 021BC8FC */ if (_t14) goto L_021BC95C; else goto L_021BC900;
|
|
L_021BC900: ; // 0x21bc900
|
|
/* 021BC900 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BC904 */ goto L_021BC9EC;
|
|
L_021BC908: ; // 0x21bc908
|
|
/* 021BC908 */ _t15 = cpu->r[28] + 0x00000008u;
|
|
/* 021BC908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BC90C */ cpu->r[8] = 0x10110000u;
|
|
/* 021BC910 */ _t16 = cpu->r[28] + 0x00000000u;
|
|
/* 021BC910 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BC914 */ cpu->r[8] = cpu->r[8] + 0xFFFFEF4Cu;
|
|
/* 021BC918 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021BC918 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 021BC91C */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 021BC920 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021BC920 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 021BC924 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 021BC924 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
|
|
/* 021BC928 */ _t20 = cpu->r[28] + 0x00000004u;
|
|
/* 021BC928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BC92C */ cpu->r[3] = cpu->r[29];
|
|
/* 021BC930 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BC930 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 021BC934 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC938 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 021BC938 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 021BC93C */ Gambit_fn_021BC87C(cpu);
|
|
/* 021BC940 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BC944 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BC948 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BC94C */ Gambit_fn_027DE170(cpu);
|
|
/* 021BC950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC954 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC954 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021BC954 */ if (_t24) goto L_021BC9E8; else goto L_021BC958;
|
|
L_021BC958: ; // 0x21bc958
|
|
/* 021BC958 */ goto L_021BC9B8;
|
|
L_021BC95C: ; // 0x21bc95c
|
|
/* 021BC95C */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 021BC95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BC960 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 021BC960 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 021BC964 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 021BC964 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 021BC968 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BC968 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021BC96C */ cpu->r[0] = 0x10110000u;
|
|
/* 021BC970 */ _t29 = cpu->r[28] + 0x00000008u;
|
|
/* 021BC970 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BC974 */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 021BC974 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BC978 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 021BC97C */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 021BC97C */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 021BC980 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC980 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 021BC984 */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 021BC988 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 021BC988 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 021BC98C */ cpu->r[3] = cpu->r[29];
|
|
/* 021BC990 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 021BC990 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 021BC994 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC998 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 021BC998 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
/* 021BC99C */ Gambit_fn_021BC88C(cpu);
|
|
/* 021BC9A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BC9A4 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BC9A8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BC9AC */ Gambit_fn_027DE3CC(cpu);
|
|
/* 021BC9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BC9B4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BC9B4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021BC9B4 */ if (_t37) goto L_021BC9E8; else goto L_021BC9B8;
|
|
L_021BC9B8: ; // 0x21bc9b8
|
|
/* 021BC9B8 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC9B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BC9BC */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 021BC9BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021BC9C0 */ _t40 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC9C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 021BC9C4 */ _t41 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC9C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021BC9C8 */ _t42 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC9C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t42);
|
|
/* 021BC9CC */ _t43 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BC9CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BC9D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BC9D4 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BC9D4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 021BC9D4 */ if (_t45) goto L_021BC9D8; // else: addr-0 trap, fall-through
|
|
L_021BC9D8: ; // 0x21bc9d8
|
|
/* 021BC9D8 */ _t46 = cpu->r[1] + 0x00000064u;
|
|
/* 021BC9D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021BC9DC */ cpu->lr = cpu->r[0];
|
|
/* 021BC9E0 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BC9E4 */ return;
|
|
L_021BC9E8: ; // 0x21bc9e8
|
|
/* 021BC9E8 */ cpu->r[3] = 0x00000000u;
|
|
L_021BC9EC: ; // 0x21bc9ec
|
|
/* 021BC9EC */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 021BC9EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021BC9F0 */ _t48 = cpu->r[1] + 0x00000044u;
|
|
/* 021BC9F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BC9F4 */ _t49 = cpu->r[1] + 0x00000058u;
|
|
/* 021BC9F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021BC9F8 */ _t50 = cpu->r[1] + 0x00000048u;
|
|
/* 021BC9F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021BC9FC */ _t51 = cpu->r[1] + 0x00000050u;
|
|
/* 021BC9FC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 021BCA00 */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCA00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021BCA04 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCA04 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021BCA04 */ if (_t54) goto L_021BCA08; // else: addr-0 trap, fall-through
|
|
L_021BCA08: ; // 0x21bca08
|
|
/* 021BCA08 */ _t55 = cpu->r[1] + 0x00000064u;
|
|
/* 021BCA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021BCA0C */ cpu->lr = cpu->r[0];
|
|
/* 021BCA10 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BCA14 */ return;
|
|
}
|
|
|
|
// fn_021BCA18 @ 0x21bca18
|
|
void Gambit_fn_021BCA18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021BCA18: ; // 0x21bca18
|
|
/* 021BCA18 */ cpu->r[0] = cpu->lr;
|
|
/* 021BCA1C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 021BCA1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCA1C */ cpu->r[1] = _t0;
|
|
/* 021BCA20 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCA20 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCA24 */ _t2 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCA28 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCA28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCA2C */ cpu->r[30] = cpu->r[3];
|
|
/* 021BCA30 */ cpu->r[28] = cpu->r[4];
|
|
/* 021BCA34 */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCA38 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCA38 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCA3C */ _t5 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCA3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCA40 */ cpu->r[29] = cpu->r[6];
|
|
/* 021BCA44 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCA4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCA4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCA4C */ if (_t7) goto L_021BCA74; else goto L_021BCA50;
|
|
L_021BCA50: ; // 0x21bca50
|
|
/* 021BCA50 */ _t8 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCA50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCA54 */ _t9 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCA54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCA58 */ _t10 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCA5C */ _t11 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCA5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCA60 */ cpu->lr = cpu->r[0];
|
|
/* 021BCA64 */ _t12 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCA64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCA68 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 021BCA6C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCA70 */ return;
|
|
L_021BCA74: ; // 0x21bca74
|
|
/* 021BCA74 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCA74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCA78 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCA7C */ _t14 = cpu->r[9] + 0x0000021Cu;
|
|
/* 021BCA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BCA80 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BCA88 */ cpu->r[4] = cpu->r[28];
|
|
/* 021BCA8C */ cpu->ctr = cpu->r[0];
|
|
/* 021BCA90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCA90 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BCA90 */ if (_t16) goto L_021BCB30; else goto L_021BCA94;
|
|
L_021BCA94: ; // 0x21bca94
|
|
/* 021BCA94 */ cpu->r[6] = cpu->r[29];
|
|
/* 021BCA98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCA9C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCAA0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCAA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCAA0 */ if (_t18) goto L_021BCBC4; else goto L_021BCAA4;
|
|
L_021BCAA4: ; // 0x21bcaa4
|
|
/* 021BCAA4 */ _t19 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021BCAA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BCAA8 */ /* nop */
|
|
/* 021BCAAC */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 021BCAAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021BCAB0 */ /* nop */
|
|
/* 021BCAB4 */ /* nop */
|
|
/* 021BCAB8 */ /* nop */
|
|
/* 021BCABC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BCABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BCAC0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021BCAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BCAC4 */ cpu->f[12] = cpu->f[13] * cpu->f[9];
|
|
/* 021BCAC8 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCAC8 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 021BCACC */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 021BCACC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021BCAD0 */ /* nop */
|
|
/* 021BCAD4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCAD4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 021BCAD8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCADC */ /* nop */
|
|
/* 021BCAE0 */ _t27 = cpu->r[29] + 0x00000018u;
|
|
/* 021BCAE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 021BCAE4 */ /* nop */
|
|
/* 021BCAE8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 021BCAE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCAEC */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCAEC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021BCAF0 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCAF0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021BCAF4 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCAF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BCAF8 */ cpu->f[13] = cpu->f[0] + cpu->f[8];
|
|
/* 021BCAFC */ _t32 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCAFC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021BCB00 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 021BCB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BCB04 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BCB04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 021BCB08 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BCB08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BCB0C */ _t36 = cpu->r[1] + 0x00000070u;
|
|
/* 021BCB0C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BCB10 */ _t37 = cpu->r[1] + 0x00000074u;
|
|
/* 021BCB10 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 021BCB14 */ _t38 = cpu->r[12] + 0x0000027Cu;
|
|
/* 021BCB14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BCB18 */ cpu->ctr = cpu->r[7];
|
|
/* 021BCB1C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCB20 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCB24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCB28 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCB2C */ goto L_021BCBC8;
|
|
L_021BCB30: ; // 0x21bcb30
|
|
/* 021BCB30 */ cpu->r[6] = cpu->r[1] + 0x00000050u;
|
|
/* 021BCB34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCB38 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCB3C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCB3C */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BCB3C */ if (_t40) goto L_021BCBC4; else goto L_021BCB40;
|
|
L_021BCB40: ; // 0x21bcb40
|
|
/* 021BCB40 */ _t41 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BCB40 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021BCB44 */ /* nop */
|
|
/* 021BCB48 */ _t42 = cpu->r[1] + 0x00000058u;
|
|
/* 021BCB48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021BCB4C */ /* nop */
|
|
/* 021BCB50 */ /* nop */
|
|
/* 021BCB54 */ /* nop */
|
|
/* 021BCB58 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 021BCB58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BCB5C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 021BCB5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021BCB60 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 021BCB64 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 021BCB64 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 021BCB68 */ _t46 = cpu->r[1] + 0x00000048u;
|
|
/* 021BCB68 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 021BCB6C */ /* nop */
|
|
/* 021BCB70 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCB70 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 021BCB74 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BCB78 */ /* nop */
|
|
/* 021BCB7C */ _t49 = cpu->r[1] + 0x00000068u;
|
|
/* 021BCB7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021BCB80 */ /* nop */
|
|
/* 021BCB84 */ _t50 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCB84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021BCB88 */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCB88 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 021BCB8C */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCB8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021BCB90 */ _t53 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BCB90 */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 021BCB94 */ cpu->f[11] = cpu->f[12] + cpu->f[0];
|
|
/* 021BCB98 */ _t54 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCB98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021BCB9C */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCB9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021BCBA0 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCBA0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[11]);
|
|
/* 021BCBA4 */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCBA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021BCBA8 */ _t58 = cpu->r[1] + 0x00000078u;
|
|
/* 021BCBA8 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 021BCBAC */ _t59 = cpu->r[1] + 0x00000080u;
|
|
/* 021BCBAC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 021BCBB0 */ _t60 = cpu->r[10] + 0x0000027Cu;
|
|
/* 021BCBB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021BCBB4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCBB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCBBC */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 021BCBC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCBC4: ; // 0x21bcbc4
|
|
/* 021BCBC4 */ cpu->r[3] = cpu->r[31];
|
|
L_021BCBC8: ; // 0x21bcbc8
|
|
/* 021BCBC8 */ _t61 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCBC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021BCBCC */ _t62 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCBCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021BCBD0 */ _t63 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021BCBD4 */ _t64 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BCBD8 */ cpu->lr = cpu->r[0];
|
|
/* 021BCBDC */ _t65 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BCBE0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 021BCBE4 */ return;
|
|
}
|
|
|
|
// fn_021BCA1C @ 0x21bca1c
|
|
void Gambit_fn_021BCA1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021BCA1C: ; // 0x21bca1c
|
|
/* 021BCA1C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 021BCA1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCA1C */ cpu->r[1] = _t0;
|
|
/* 021BCA20 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCA20 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCA24 */ _t2 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCA28 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCA28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCA2C */ cpu->r[30] = cpu->r[3];
|
|
/* 021BCA30 */ cpu->r[28] = cpu->r[4];
|
|
/* 021BCA34 */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCA38 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCA38 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCA3C */ _t5 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCA3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCA40 */ cpu->r[29] = cpu->r[6];
|
|
/* 021BCA44 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCA4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCA4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCA4C */ if (_t7) goto L_021BCA74; else goto L_021BCA50;
|
|
L_021BCA50: ; // 0x21bca50
|
|
/* 021BCA50 */ _t8 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCA50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCA54 */ _t9 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCA54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCA58 */ _t10 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCA5C */ _t11 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCA5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCA60 */ cpu->lr = cpu->r[0];
|
|
/* 021BCA64 */ _t12 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCA64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCA68 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 021BCA6C */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCA70 */ return;
|
|
L_021BCA74: ; // 0x21bca74
|
|
/* 021BCA74 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCA74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCA78 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCA7C */ _t14 = cpu->r[9] + 0x0000021Cu;
|
|
/* 021BCA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BCA80 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BCA88 */ cpu->r[4] = cpu->r[28];
|
|
/* 021BCA8C */ cpu->ctr = cpu->r[0];
|
|
/* 021BCA90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCA90 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BCA90 */ if (_t16) goto L_021BCB30; else goto L_021BCA94;
|
|
L_021BCA94: ; // 0x21bca94
|
|
/* 021BCA94 */ cpu->r[6] = cpu->r[29];
|
|
/* 021BCA98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCA9C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCAA0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCAA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCAA0 */ if (_t18) goto L_021BCBC4; else goto L_021BCAA4;
|
|
L_021BCAA4: ; // 0x21bcaa4
|
|
/* 021BCAA4 */ _t19 = cpu->r[29] + 0x0000000Cu;
|
|
/* 021BCAA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BCAA8 */ /* nop */
|
|
/* 021BCAAC */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 021BCAAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021BCAB0 */ /* nop */
|
|
/* 021BCAB4 */ /* nop */
|
|
/* 021BCAB8 */ /* nop */
|
|
/* 021BCABC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BCABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BCAC0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021BCAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BCAC4 */ cpu->f[12] = cpu->f[13] * cpu->f[9];
|
|
/* 021BCAC8 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCAC8 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 021BCACC */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 021BCACC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021BCAD0 */ /* nop */
|
|
/* 021BCAD4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCAD4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[12]);
|
|
/* 021BCAD8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCADC */ /* nop */
|
|
/* 021BCAE0 */ _t27 = cpu->r[29] + 0x00000018u;
|
|
/* 021BCAE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 021BCAE4 */ /* nop */
|
|
/* 021BCAE8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 021BCAE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCAEC */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCAEC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021BCAF0 */ _t30 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCAF0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021BCAF4 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCAF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BCAF8 */ cpu->f[13] = cpu->f[0] + cpu->f[8];
|
|
/* 021BCAFC */ _t32 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCAFC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 021BCB00 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 021BCB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BCB04 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BCB04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 021BCB08 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BCB08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BCB0C */ _t36 = cpu->r[1] + 0x00000070u;
|
|
/* 021BCB0C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BCB10 */ _t37 = cpu->r[1] + 0x00000074u;
|
|
/* 021BCB10 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 021BCB14 */ _t38 = cpu->r[12] + 0x0000027Cu;
|
|
/* 021BCB14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BCB18 */ cpu->ctr = cpu->r[7];
|
|
/* 021BCB1C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCB20 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCB24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCB28 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCB2C */ goto L_021BCBC8;
|
|
L_021BCB30: ; // 0x21bcb30
|
|
/* 021BCB30 */ cpu->r[6] = cpu->r[1] + 0x00000050u;
|
|
/* 021BCB34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCB38 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCB3C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCB3C */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BCB3C */ if (_t40) goto L_021BCBC4; else goto L_021BCB40;
|
|
L_021BCB40: ; // 0x21bcb40
|
|
/* 021BCB40 */ _t41 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BCB40 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021BCB44 */ /* nop */
|
|
/* 021BCB48 */ _t42 = cpu->r[1] + 0x00000058u;
|
|
/* 021BCB48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021BCB4C */ /* nop */
|
|
/* 021BCB50 */ /* nop */
|
|
/* 021BCB54 */ /* nop */
|
|
/* 021BCB58 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 021BCB58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BCB5C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 021BCB5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021BCB60 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 021BCB64 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 021BCB64 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 021BCB68 */ _t46 = cpu->r[1] + 0x00000048u;
|
|
/* 021BCB68 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 021BCB6C */ /* nop */
|
|
/* 021BCB70 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCB70 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 021BCB74 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BCB78 */ /* nop */
|
|
/* 021BCB7C */ _t49 = cpu->r[1] + 0x00000068u;
|
|
/* 021BCB7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021BCB80 */ /* nop */
|
|
/* 021BCB84 */ _t50 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCB84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021BCB88 */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCB88 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 021BCB8C */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCB8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021BCB90 */ _t53 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BCB90 */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 021BCB94 */ cpu->f[11] = cpu->f[12] + cpu->f[0];
|
|
/* 021BCB98 */ _t54 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCB98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021BCB9C */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCB9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021BCBA0 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCBA0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[11]);
|
|
/* 021BCBA4 */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCBA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021BCBA8 */ _t58 = cpu->r[1] + 0x00000078u;
|
|
/* 021BCBA8 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 021BCBAC */ _t59 = cpu->r[1] + 0x00000080u;
|
|
/* 021BCBAC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 021BCBB0 */ _t60 = cpu->r[10] + 0x0000027Cu;
|
|
/* 021BCBB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021BCBB4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCBB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCBBC */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 021BCBC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCBC4: ; // 0x21bcbc4
|
|
/* 021BCBC4 */ cpu->r[3] = cpu->r[31];
|
|
L_021BCBC8: ; // 0x21bcbc8
|
|
/* 021BCBC8 */ _t61 = cpu->r[1] + 0x00000088u;
|
|
/* 021BCBC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021BCBCC */ _t62 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BCBCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021BCBD0 */ _t63 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BCBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021BCBD4 */ _t64 = cpu->r[1] + 0x00000090u;
|
|
/* 021BCBD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BCBD8 */ cpu->lr = cpu->r[0];
|
|
/* 021BCBDC */ _t65 = cpu->r[1] + 0x00000094u;
|
|
/* 021BCBDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BCBE0 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 021BCBE4 */ return;
|
|
}
|
|
|
|
// fn_021BCBE8 @ 0x21bcbe8
|
|
void Gambit_fn_021BCBE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_021BCBE8: ; // 0x21bcbe8
|
|
/* 021BCBE8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 021BCBE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCBE8 */ cpu->r[1] = _t0;
|
|
/* 021BCBEC */ cpu->r[0] = cpu->lr;
|
|
/* 021BCBF0 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 021BCBF0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021BCBF4 */ /* nop */
|
|
/* 021BCBF8 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021BCBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021BCBFC */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 021BCBFC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021BCC00 */ cpu->r[30] = cpu->r[5];
|
|
/* 021BCC04 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 021BCC04 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 021BCC08 */ _t5 = cpu->r[1] + 0x00000048u;
|
|
/* 021BCC08 */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
/* 021BCC0C */ cpu->r[31] = cpu->r[6];
|
|
/* 021BCC10 */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCC10 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 021BCC14 */ _t7 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCC14 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021BCC18 */ cpu->r[29] = cpu->r[3];
|
|
/* 021BCC1C */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCC24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCC24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BCC24 */ if (_t9) goto L_021BCC28; else goto L_021BCD7C;
|
|
L_021BCC28: ; // 0x21bcc28
|
|
/* 021BCC28 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 021BCC28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCC2C */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 021BCC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCC30 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCC30 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 021BCC34 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCC34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021BCC38 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 021BCC38 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 021BCC3C */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 021BCC3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BCC40 */ _t16 = cpu->r[30] + 0x00000018u;
|
|
/* 021BCC40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021BCC44 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BCC48 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BCC48 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 021BCC4C */ /* nop */
|
|
/* 021BCC50 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 021BCC54 */ /* nop */
|
|
/* 021BCC58 */ _t18 = cpu->r[5] + 0xFFFFB21Cu;
|
|
/* 021BCC58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021BCC5C */ /* nop */
|
|
/* 021BCC60 */ cpu->r[11] = 0x10030000u;
|
|
/* 021BCC64 */ /* nop */
|
|
/* 021BCC68 */ _t19 = cpu->r[11] + 0xFFFFB210u;
|
|
/* 021BCC68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 021BCC6C */ cpu->r[28] = 0x101F0000u;
|
|
/* 021BCC70 */ cpu->f[12] = cpu->f[11] * cpu->f[0];
|
|
/* 021BCC74 */ /* nop */
|
|
/* 021BCC78 */ cpu->r[28] = cpu->r[28] + 0x00003840u;
|
|
/* 021BCC7C */ cpu->r[3] = cpu->r[29];
|
|
/* 021BCC80 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021BCC80 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 021BCC84 */ Gambit_fn_021BC86C(cpu);
|
|
/* 021BCC88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 021BCC8C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCC8C */ _t22 = _t21 & 0x00000001u;
|
|
/* 021BCC8C */ if (_t22) goto L_021BCC9C; else goto L_021BCC90;
|
|
L_021BCC90: ; // 0x21bcc90
|
|
/* 021BCC90 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCC90 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021BCC90 */ if (_t24) goto L_021BCCF0; else goto L_021BCC94;
|
|
L_021BCC94: ; // 0x21bcc94
|
|
/* 021BCC94 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCC98 */ goto L_021BCD80;
|
|
L_021BCC9C: ; // 0x21bcc9c
|
|
/* 021BCC9C */ _t25 = cpu->r[28] + 0x00000008u;
|
|
/* 021BCC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BCCA0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021BCCA4 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 021BCCA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCCA8 */ _t27 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCCA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BCCAC */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 021BCCAC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 021BCCB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 021BCCB4 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BCCB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 021BCCB8 */ cpu->r[0] = 0x10110000u;
|
|
/* 021BCCBC */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 021BCCBC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 021BCCC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF4Cu;
|
|
/* 021BCCC4 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 021BCCC4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 021BCCC8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCCCC */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 021BCCCC */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 021BCCD0 */ Gambit_fn_021BC87C(cpu);
|
|
/* 021BCCD4 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCCD8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021BCCDC */ cpu->r[4] = cpu->r[30];
|
|
/* 021BCCE0 */ Gambit_fn_027DE3CC(cpu);
|
|
/* 021BCCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCCE8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCCE8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021BCCE8 */ if (_t34) goto L_021BCD7C; else goto L_021BCCEC;
|
|
L_021BCCEC: ; // 0x21bccec
|
|
/* 021BCCEC */ goto L_021BCD4C;
|
|
L_021BCCF0: ; // 0x21bccf0
|
|
/* 021BCCF0 */ _t35 = cpu->r[28] + 0x00000000u;
|
|
/* 021BCCF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BCCF4 */ _t36 = cpu->r[28] + 0x00000008u;
|
|
/* 021BCCF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021BCCF8 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCCF8 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 021BCCFC */ _t38 = cpu->r[1] + 0x00000044u;
|
|
/* 021BCCFC */ rbrew_write_f32(cpu->mem, _t38, cpu->f[31]);
|
|
/* 021BCD00 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 021BCD04 */ _t39 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCD04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021BCD08 */ cpu->r[0] = 0x10110000u;
|
|
/* 021BCD0C */ _t40 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCD0C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 021BCD10 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF7Cu;
|
|
/* 021BCD14 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCD14 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 021BCD18 */ cpu->r[3] = cpu->r[29];
|
|
/* 021BCD1C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCD1C */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 021BCD20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCD24 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCD24 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 021BCD28 */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 021BCD28 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 021BCD2C */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCD2C */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 021BCD30 */ Gambit_fn_021BC88C(cpu);
|
|
/* 021BCD34 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BCD38 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCD3C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 021BCD40 */ Gambit_fn_027DF038(cpu);
|
|
/* 021BCD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCD48 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCD48 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021BCD48 */ if (_t47) goto L_021BCD7C; else goto L_021BCD4C;
|
|
L_021BCD4C: ; // 0x21bcd4c
|
|
/* 021BCD4C */ _t48 = cpu->r[1] + 0x00000048u;
|
|
/* 021BCD4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BCD50 */ _t49 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCD50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021BCD54 */ _t50 = cpu->r[1] + 0x00000060u;
|
|
/* 021BCD54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021BCD58 */ _t51 = cpu->r[1] + 0x00000050u;
|
|
/* 021BCD58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BCD5C */ _t52 = cpu->r[1] + 0x00000058u;
|
|
/* 021BCD5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 021BCD60 */ _t53 = cpu->r[1] + 0x00000054u;
|
|
/* 021BCD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021BCD64 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BCD68 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCD68 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021BCD68 */ if (_t55) goto L_021BCD6C; // else: addr-0 trap, fall-through
|
|
L_021BCD6C: ; // 0x21bcd6c
|
|
/* 021BCD6C */ _t56 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021BCD70 */ cpu->lr = cpu->r[0];
|
|
/* 021BCD74 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 021BCD78 */ return;
|
|
L_021BCD7C: ; // 0x21bcd7c
|
|
/* 021BCD7C */ cpu->r[3] = 0x00000000u;
|
|
L_021BCD80: ; // 0x21bcd80
|
|
/* 021BCD80 */ _t57 = cpu->r[1] + 0x00000048u;
|
|
/* 021BCD80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t57);
|
|
/* 021BCD84 */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BCD84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021BCD88 */ _t59 = cpu->r[1] + 0x00000060u;
|
|
/* 021BCD88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 021BCD8C */ _t60 = cpu->r[1] + 0x00000050u;
|
|
/* 021BCD8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021BCD90 */ _t61 = cpu->r[1] + 0x00000058u;
|
|
/* 021BCD90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 021BCD94 */ _t62 = cpu->r[1] + 0x00000054u;
|
|
/* 021BCD94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021BCD98 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCD98 */ _t64 = _t63 & 0x00000001u;
|
|
/* 021BCD98 */ if (_t64) goto L_021BCD9C; // else: addr-0 trap, fall-through
|
|
L_021BCD9C: ; // 0x21bcd9c
|
|
/* 021BCD9C */ _t65 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BCD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BCDA0 */ cpu->lr = cpu->r[0];
|
|
/* 021BCDA4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 021BCDA8 */ return;
|
|
}
|
|
|
|
// fn_021BCDAC @ 0x21bcdac
|
|
void Gambit_fn_021BCDAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021BCDAC: ; // 0x21bcdac
|
|
/* 021BCDAC */ cpu->r[0] = cpu->lr;
|
|
/* 021BCDB0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021BCDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCDB0 */ cpu->r[1] = _t0;
|
|
/* 021BCDB4 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCDB8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCDBC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCDBC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCDC0 */ cpu->r[30] = cpu->r[6];
|
|
/* 021BCDC4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021BCDC8 */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCDCC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCDCC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCDD0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCDD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCDD4 */ cpu->r[29] = cpu->r[4];
|
|
/* 021BCDD8 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCDDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCDE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCDE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCDE0 */ if (_t7) goto L_021BCE08; else goto L_021BCDE4;
|
|
L_021BCDE4: ; // 0x21bcde4
|
|
/* 021BCDE4 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCDE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCDE8 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCDE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCDEC */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCDF0 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCDF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCDF4 */ cpu->lr = cpu->r[0];
|
|
/* 021BCDF8 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCDFC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCE00 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCE04 */ return;
|
|
L_021BCE08: ; // 0x21bce08
|
|
/* 021BCE08 */ _t13 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCE0C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE10 */ _t14 = cpu->r[11] + 0x0000022Cu;
|
|
/* 021BCE10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BCE14 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BCE1C */ cpu->r[4] = cpu->r[29];
|
|
/* 021BCE20 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE24 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE24 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BCE24 */ if (_t16) goto L_021BCE54; else goto L_021BCE28;
|
|
L_021BCE28: ; // 0x21bce28
|
|
/* 021BCE28 */ cpu->r[6] = cpu->r[30];
|
|
/* 021BCE2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE30 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCE34 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE34 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCE34 */ if (_t18) goto L_021BCE7C; else goto L_021BCE38;
|
|
L_021BCE38: ; // 0x21bce38
|
|
/* 021BCE38 */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BCE3C */ _t20 = cpu->r[9] + 0x0000027Cu;
|
|
/* 021BCE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BCE40 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE44 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE48 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 021BCE4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE50 */ goto L_021BCE7C;
|
|
L_021BCE54: ; // 0x21bce54
|
|
/* 021BCE54 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCE60 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021BCE60 */ if (_t22) goto L_021BCE7C; else goto L_021BCE64;
|
|
L_021BCE64: ; // 0x21bce64
|
|
/* 021BCE64 */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BCE68 */ _t24 = cpu->r[12] + 0x0000027Cu;
|
|
/* 021BCE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BCE6C */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE70 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE74 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BCE78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCE7C: ; // 0x21bce7c
|
|
/* 021BCE7C */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCE7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BCE80 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCE80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCE84 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BCE88 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCE8C */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCE8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCE90 */ cpu->lr = cpu->r[0];
|
|
/* 021BCE94 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCE94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BCE98 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCE9C */ return;
|
|
}
|
|
|
|
// fn_021BCDB0 @ 0x21bcdb0
|
|
void Gambit_fn_021BCDB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_021BCDB0: ; // 0x21bcdb0
|
|
/* 021BCDB0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021BCDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCDB0 */ cpu->r[1] = _t0;
|
|
/* 021BCDB4 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCDB8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCDBC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCDBC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCDC0 */ cpu->r[30] = cpu->r[6];
|
|
/* 021BCDC4 */ cpu->r[28] = cpu->r[3];
|
|
/* 021BCDC8 */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCDCC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCDCC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCDD0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCDD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCDD4 */ cpu->r[29] = cpu->r[4];
|
|
/* 021BCDD8 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCDDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCDE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCDE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCDE0 */ if (_t7) goto L_021BCE08; else goto L_021BCDE4;
|
|
L_021BCDE4: ; // 0x21bcde4
|
|
/* 021BCDE4 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCDE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCDE8 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCDE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCDEC */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCDF0 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCDF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCDF4 */ cpu->lr = cpu->r[0];
|
|
/* 021BCDF8 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCDFC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCE00 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCE04 */ return;
|
|
L_021BCE08: ; // 0x21bce08
|
|
/* 021BCE08 */ _t13 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCE0C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE10 */ _t14 = cpu->r[11] + 0x0000022Cu;
|
|
/* 021BCE10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BCE14 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BCE1C */ cpu->r[4] = cpu->r[29];
|
|
/* 021BCE20 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE24 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE24 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BCE24 */ if (_t16) goto L_021BCE54; else goto L_021BCE28;
|
|
L_021BCE28: ; // 0x21bce28
|
|
/* 021BCE28 */ cpu->r[6] = cpu->r[30];
|
|
/* 021BCE2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE30 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCE34 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE34 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCE34 */ if (_t18) goto L_021BCE7C; else goto L_021BCE38;
|
|
L_021BCE38: ; // 0x21bce38
|
|
/* 021BCE38 */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BCE3C */ _t20 = cpu->r[9] + 0x0000027Cu;
|
|
/* 021BCE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BCE40 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE44 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE48 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 021BCE4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE50 */ goto L_021BCE7C;
|
|
L_021BCE54: ; // 0x21bce54
|
|
/* 021BCE54 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCE5C */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCE60 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCE60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021BCE60 */ if (_t22) goto L_021BCE7C; else goto L_021BCE64;
|
|
L_021BCE64: ; // 0x21bce64
|
|
/* 021BCE64 */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BCE68 */ _t24 = cpu->r[12] + 0x0000027Cu;
|
|
/* 021BCE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BCE6C */ cpu->ctr = cpu->r[0];
|
|
/* 021BCE70 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCE74 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BCE78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCE7C: ; // 0x21bce7c
|
|
/* 021BCE7C */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCE7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BCE80 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCE80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCE84 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BCE88 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCE8C */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCE8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCE90 */ cpu->lr = cpu->r[0];
|
|
/* 021BCE94 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCE94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BCE98 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCE9C */ return;
|
|
}
|
|
|
|
// fn_021BCEA0 @ 0x21bcea0
|
|
void Gambit_fn_021BCEA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_021BCEA0: ; // 0x21bcea0
|
|
/* 021BCEA0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BCEA4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021BCEA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCEA4 */ cpu->r[1] = _t0;
|
|
/* 021BCEA8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCEA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCEAC */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCEAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCEB0 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCEB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCEB4 */ cpu->r[30] = cpu->r[6];
|
|
/* 021BCEB8 */ cpu->r[28] = cpu->r[3];
|
|
/* 021BCEBC */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCEC0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCEC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCEC4 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCEC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCEC8 */ cpu->r[29] = cpu->r[4];
|
|
/* 021BCECC */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCED4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCED4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCED4 */ if (_t7) goto L_021BCEFC; else goto L_021BCED8;
|
|
L_021BCED8: ; // 0x21bced8
|
|
/* 021BCED8 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCEDC */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCEDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCEE0 */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCEE4 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCEE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCEE8 */ cpu->lr = cpu->r[0];
|
|
/* 021BCEEC */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCEEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCEF0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCEF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCEF8 */ return;
|
|
L_021BCEFC: ; // 0x21bcefc
|
|
/* 021BCEFC */ _t13 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCF00 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BCF08 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCF0C */ cpu->r[4] = cpu->r[29];
|
|
/* 021BCF10 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF10 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BCF10 */ if (_t15) goto L_021BCF48; else goto L_021BCF14;
|
|
L_021BCF14: ; // 0x21bcf14
|
|
/* 021BCF14 */ _t16 = cpu->r[10] + 0x0000021Cu;
|
|
/* 021BCF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BCF18 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF1C */ cpu->r[6] = cpu->r[30];
|
|
/* 021BCF20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF24 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCF28 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF28 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCF28 */ if (_t18) goto L_021BCF78; else goto L_021BCF2C;
|
|
L_021BCF2C: ; // 0x21bcf2c
|
|
/* 021BCF2C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BCF30 */ _t20 = cpu->r[12] + 0x00000284u;
|
|
/* 021BCF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BCF34 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF38 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF3C */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 021BCF40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF44 */ goto L_021BCF78;
|
|
L_021BCF48: ; // 0x21bcf48
|
|
/* 021BCF48 */ _t21 = cpu->r[10] + 0x0000023Cu;
|
|
/* 021BCF48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BCF4C */ cpu->ctr = cpu->r[11];
|
|
/* 021BCF50 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF58 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCF5C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF5C */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BCF5C */ if (_t23) goto L_021BCF78; else goto L_021BCF60;
|
|
L_021BCF60: ; // 0x21bcf60
|
|
/* 021BCF60 */ _t24 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BCF64 */ _t25 = cpu->r[12] + 0x00000284u;
|
|
/* 021BCF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BCF68 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF6C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF70 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BCF74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCF78: ; // 0x21bcf78
|
|
/* 021BCF78 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCF78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCF7C */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCF7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BCF80 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCF88 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCF88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BCF8C */ cpu->lr = cpu->r[0];
|
|
/* 021BCF90 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCF90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BCF94 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCF98 */ return;
|
|
}
|
|
|
|
// fn_021BCEA4 @ 0x21bcea4
|
|
void Gambit_fn_021BCEA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_021BCEA4: ; // 0x21bcea4
|
|
/* 021BCEA4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 021BCEA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCEA4 */ cpu->r[1] = _t0;
|
|
/* 021BCEA8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCEA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 021BCEAC */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCEAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BCEB0 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCEB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 021BCEB4 */ cpu->r[30] = cpu->r[6];
|
|
/* 021BCEB8 */ cpu->r[28] = cpu->r[3];
|
|
/* 021BCEBC */ cpu->r[31] = cpu->r[5];
|
|
/* 021BCEC0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCEC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 021BCEC4 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCEC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BCEC8 */ cpu->r[29] = cpu->r[4];
|
|
/* 021BCECC */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BCED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BCED4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCED4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCED4 */ if (_t7) goto L_021BCEFC; else goto L_021BCED8;
|
|
L_021BCED8: ; // 0x21bced8
|
|
/* 021BCED8 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BCEDC */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCEDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BCEE0 */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BCEE4 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCEE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BCEE8 */ cpu->lr = cpu->r[0];
|
|
/* 021BCEEC */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCEEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BCEF0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCEF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCEF8 */ return;
|
|
L_021BCEFC: ; // 0x21bcefc
|
|
/* 021BCEFC */ _t13 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCEFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BCF00 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BCF08 */ cpu->r[5] = cpu->r[31];
|
|
/* 021BCF0C */ cpu->r[4] = cpu->r[29];
|
|
/* 021BCF10 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF10 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BCF10 */ if (_t15) goto L_021BCF48; else goto L_021BCF14;
|
|
L_021BCF14: ; // 0x21bcf14
|
|
/* 021BCF14 */ _t16 = cpu->r[10] + 0x0000021Cu;
|
|
/* 021BCF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BCF18 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF1C */ cpu->r[6] = cpu->r[30];
|
|
/* 021BCF20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF24 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCF28 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF28 */ _t18 = _t17 & 0x00000001u;
|
|
/* 021BCF28 */ if (_t18) goto L_021BCF78; else goto L_021BCF2C;
|
|
L_021BCF2C: ; // 0x21bcf2c
|
|
/* 021BCF2C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BCF30 */ _t20 = cpu->r[12] + 0x00000284u;
|
|
/* 021BCF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BCF34 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF38 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF3C */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 021BCF40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF44 */ goto L_021BCF78;
|
|
L_021BCF48: ; // 0x21bcf48
|
|
/* 021BCF48 */ _t21 = cpu->r[10] + 0x0000023Cu;
|
|
/* 021BCF48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BCF4C */ cpu->ctr = cpu->r[11];
|
|
/* 021BCF50 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 021BCF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BCF58 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BCF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BCF5C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCF5C */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BCF5C */ if (_t23) goto L_021BCF78; else goto L_021BCF60;
|
|
L_021BCF60: ; // 0x21bcf60
|
|
/* 021BCF60 */ _t24 = cpu->r[28] + 0x00000004u;
|
|
/* 021BCF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BCF64 */ _t25 = cpu->r[12] + 0x00000284u;
|
|
/* 021BCF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021BCF68 */ cpu->ctr = cpu->r[0];
|
|
/* 021BCF6C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BCF70 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 021BCF74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021BCF78: ; // 0x21bcf78
|
|
/* 021BCF78 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 021BCF78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BCF7C */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BCF7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BCF80 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BCF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021BCF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BCF88 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 021BCF88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BCF8C */ cpu->lr = cpu->r[0];
|
|
/* 021BCF90 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 021BCF90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BCF94 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 021BCF98 */ return;
|
|
}
|
|
|
|
// fn_021BCF9C @ 0x21bcf9c
|
|
void Gambit_fn_021BCF9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021BCF9C: ; // 0x21bcf9c
|
|
/* 021BCF9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 021BCFA0 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCFA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BCFA0 */ if (_t1) goto L_021BCFB4; else goto L_021BCFA4;
|
|
L_021BCFA4: ; // 0x21bcfa4
|
|
/* 021BCFA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u);
|
|
/* 021BCFA8 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BCFA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BCFA8 */ if (_t3) goto L_021BCFB4; else goto L_021BCFAC;
|
|
L_021BCFAC: ; // 0x21bcfac
|
|
/* 021BCFAC */ cpu->r[3] = 0x00000001u;
|
|
/* 021BCFB0 */ return;
|
|
L_021BCFB4: ; // 0x21bcfb4
|
|
/* 021BCFB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCFB8 */ return;
|
|
}
|
|
|
|
// fn_021BCFBC @ 0x21bcfbc
|
|
void Gambit_fn_021BCFBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_021BCFBC: ; // 0x21bcfbc
|
|
/* 021BCFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 021BCFC0 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCFC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BCFC0 */ if (_t1) goto L_021BCFEC; else goto L_021BCFC4;
|
|
L_021BCFC4: ; // 0x21bcfc4
|
|
/* 021BCFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000009u);
|
|
/* 021BCFC8 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BCFC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BCFC8 */ if (_t3) goto L_021BCFCC; else goto L_021BCFE4;
|
|
L_021BCFCC: ; // 0x21bcfcc
|
|
/* 021BCFCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Cu);
|
|
/* 021BCFD0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BCFD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BCFD0 */ if (_t5) goto L_021BCFEC; else goto L_021BCFD4;
|
|
L_021BCFD4: ; // 0x21bcfd4
|
|
/* 021BCFD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Du);
|
|
/* 021BCFD8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BCFD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BCFD8 */ if (_t7) goto L_021BCFDC; else goto L_021BCFE4;
|
|
L_021BCFDC: ; // 0x21bcfdc
|
|
/* 021BCFDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Fu);
|
|
/* 021BCFE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BCFE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BCFE0 */ if (_t9) goto L_021BCFE4; else goto L_021BCFEC;
|
|
L_021BCFE4: ; // 0x21bcfe4
|
|
/* 021BCFE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 021BCFE8 */ return;
|
|
L_021BCFEC: ; // 0x21bcfec
|
|
/* 021BCFEC */ cpu->r[3] = 0x00000000u;
|
|
/* 021BCFF0 */ return;
|
|
}
|
|
|
|
// fn_021BCFF4 @ 0x21bcff4
|
|
void Gambit_fn_021BCFF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021BCFF4: ; // 0x21bcff4
|
|
/* 021BCFF4 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BCFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BCFF4 */ cpu->r[1] = _t0;
|
|
/* 021BCFF8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021BCFF8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021BCFFC */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021BCFFC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021BD000 */ /* nop */
|
|
/* 021BD004 */ cpu->r[31] = cpu->r[10];
|
|
/* 021BD008 */ cpu->r[25] = cpu->r[5];
|
|
/* 021BD00C */ cpu->r[27] = cpu->r[7];
|
|
/* 021BD010 */ /* nop */
|
|
/* 021BD014 */ cpu->r[21] = cpu->r[4];
|
|
/* 021BD018 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD01C */ /* nop */
|
|
/* 021BD020 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD020 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021BD024 */ cpu->r[26] = cpu->r[6];
|
|
/* 021BD028 */ _t4 = cpu->r[1] + 0x00000064u;
|
|
/* 021BD028 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BD02C */ cpu->r[28] = cpu->r[8];
|
|
/* 021BD030 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD030 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 021BD034 */ _t6 = cpu->r[1] + 0x0000006Bu;
|
|
/* 021BD034 */ cpu->r[22] = rbrew_read8(cpu->mem, _t6);
|
|
/* 021BD038 */ cpu->r[29] = cpu->r[9];
|
|
/* 021BD03C */ cpu->r[24] = cpu->r[3];
|
|
/* 021BD040 */ _t7 = cpu->r[1] + 0x0000006Fu;
|
|
/* 021BD040 */ cpu->r[23] = rbrew_read8(cpu->mem, _t7);
|
|
/* 021BD044 */ Gambit_fn_021BC7D8(cpu);
|
|
/* 021BD048 */ cpu->r[7] = 0x10030000u;
|
|
/* 021BD04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD050 */ _t8 = cpu->r[7] + 0xFFFFB210u;
|
|
/* 021BD050 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021BD054 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD054 */ _t10 = _t9 & 0x00000001u;
|
|
/* 021BD054 */ if (_t10) goto L_021BD058; else goto L_021BD120;
|
|
L_021BD058: ; // 0x21bd058
|
|
/* 021BD058 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021BD05C */ _t11 = cpu->r[11] + 0xFFFFD9C8u;
|
|
/* 021BD05C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BD060 */ cpu->r[4] = 0x101D0000u;
|
|
/* 021BD064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021BD068 */ cpu->r[4] = cpu->r[4] + 0xFFFFE310u;
|
|
/* 021BD06C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD06C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021BD06C */ if (_t13) goto L_021BD070; else goto L_021BD088;
|
|
L_021BD070: ; // 0x21bd070
|
|
/* 021BD070 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BD074 */ cpu->r[8] = 0x00000001u;
|
|
/* 021BD078 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021BD07C */ cpu->r[0] = cpu->r[0] + 0xFFFFB1C0u;
|
|
/* 021BD080 */ _t14 = cpu->r[11] + 0xFFFFD9C8u;
|
|
/* 021BD080 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 021BD084 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 021BD084 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_021BD088: ; // 0x21bd088
|
|
/* 021BD088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 021BD08C */ cpu->r[30] = 0x101C0000u;
|
|
/* 021BD090 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD090 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021BD090 */ if (_t17) goto L_021BD0B0; else goto L_021BD094;
|
|
L_021BD094: ; // 0x21bd094
|
|
/* 021BD094 */ _t18 = cpu->r[21] + 0x00000004u;
|
|
/* 021BD094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BD098 */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 021BD098 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BD09C */ cpu->ctr = cpu->r[6];
|
|
/* 021BD0A0 */ cpu->r[3] = cpu->r[21];
|
|
/* 021BD0A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD0AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD0AC */ _t21 = _t20 & 0x00000001u;
|
|
/* 021BD0AC */ if (_t21) goto L_021BD0B0; else goto L_021BD0C8;
|
|
L_021BD0B0: ; // 0x21bd0b0
|
|
/* 021BD0B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 021BD0B4 */ cpu->r[20] = 0x00000000u;
|
|
/* 021BD0B8 */ Gambit_fn_021BCF9C(cpu);
|
|
/* 021BD0BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD0C0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD0C0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021BD0C0 */ if (_t23) goto L_021BD13C; else goto L_021BD0C4;
|
|
L_021BD0C4: ; // 0x21bd0c4
|
|
/* 021BD0C4 */ goto L_021BD174;
|
|
L_021BD0C8: ; // 0x21bd0c8
|
|
/* 021BD0C8 */ cpu->r[20] = cpu->r[21];
|
|
/* 021BD0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 021BD0CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD0CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 021BD0CC */ if (_t25) goto L_021BD12C; else goto L_021BD0D0;
|
|
L_021BD0D0: ; // 0x21bd0d0
|
|
/* 021BD0D0 */ _t26 = cpu->r[20] + 0x0000065Cu;
|
|
/* 021BD0D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BD0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 021BD0D8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD0D8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BD0D8 */ if (_t28) goto L_021BD120; else goto L_021BD0DC;
|
|
L_021BD0DC: ; // 0x21bd0dc
|
|
/* 021BD0DC */ _t29 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD0DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BD0E0 */ _t30 = cpu->r[6] + 0x0000030Cu;
|
|
/* 021BD0E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BD0E4 */ cpu->ctr = cpu->r[7];
|
|
/* 021BD0E8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD0EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD0F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD0F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 021BD0F4 */ if (_t32) goto L_021BD12C; else goto L_021BD0F8;
|
|
L_021BD0F8: ; // 0x21bd0f8
|
|
/* 021BD0F8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BD0FC */ _t33 = cpu->r[12] + 0x00005BA0u;
|
|
/* 021BD0FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BD100 */ _t34 = cpu->r[12] + 0x00000044u;
|
|
/* 021BD100 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 021BD104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BD108 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD108 */ _t36 = _t35 & 0x00000001u;
|
|
/* 021BD108 */ if (_t36) goto L_021BD10C; else goto L_021BD12C;
|
|
L_021BD10C: ; // 0x21bd10c
|
|
/* 021BD10C */ _t37 = cpu->r[30] + 0x00006000u;
|
|
/* 021BD10C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021BD110 */ _t38 = cpu->r[9] + 0x00000268u;
|
|
/* 021BD110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BD114 */ Gambit_fn_0261F73C(cpu);
|
|
/* 021BD118 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[3]);
|
|
/* 021BD11C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD11C */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BD11C */ if (_t40) goto L_021BD12C; else goto L_021BD120;
|
|
L_021BD120: ; // 0x21bd120
|
|
/* 021BD120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BD124 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD124 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021BD124 */ if (_t42) goto L_021BD3B4; else goto L_021BD128;
|
|
L_021BD128: ; // 0x21bd128
|
|
/* 021BD128 */ goto L_021BD3B0;
|
|
L_021BD12C: ; // 0x21bd12c
|
|
/* 021BD12C */ cpu->r[3] = cpu->r[27];
|
|
/* 021BD130 */ Gambit_fn_021BCF9C(cpu);
|
|
/* 021BD134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD138 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD138 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021BD138 */ if (_t44) goto L_021BD13C; else goto L_021BD174;
|
|
L_021BD13C: ; // 0x21bd13c
|
|
/* 021BD13C */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 021BD13C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021BD140 */ _t46 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD140 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021BD144 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD144 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
/* 021BD148 */ _t48 = cpu->r[11] + 0x000002BCu;
|
|
/* 021BD148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BD14C */ cpu->ctr = cpu->r[0];
|
|
/* 021BD150 */ cpu->r[4] = cpu->r[27];
|
|
/* 021BD154 */ cpu->r[6] = cpu->r[26];
|
|
/* 021BD158 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD15C */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 021BD168 */ cpu->f[30] = cpu->f[1];
|
|
/* 021BD16C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD16C */ _t50 = _t49 & 0x00000001u;
|
|
/* 021BD16C */ if (_t50) goto L_021BD18C; else goto L_021BD170;
|
|
L_021BD170: ; // 0x21bd170
|
|
/* 021BD170 */ goto L_021BD180;
|
|
L_021BD174: ; // 0x21bd174
|
|
/* 021BD174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 021BD178 */ cpu->f[30] = cpu->f[31];
|
|
/* 021BD17C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD17C */ _t52 = _t51 & 0x00000001u;
|
|
/* 021BD17C */ if (_t52) goto L_021BD18C; else goto L_021BD180;
|
|
L_021BD180: ; // 0x21bd180
|
|
/* 021BD180 */ _t53 = cpu->r[20] + 0x00000725u;
|
|
/* 021BD180 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53);
|
|
/* 021BD184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021BD188 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD188 */ _t55 = _t54 & 0x00000001u;
|
|
/* 021BD188 */ if (_t55) goto L_021BD18C; else goto L_021BD1B4;
|
|
L_021BD18C: ; // 0x21bd18c
|
|
/* 021BD18C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 021BD190 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD190 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021BD190 */ if (_t57) goto L_021BD194; else goto L_021BD1B8;
|
|
L_021BD194: ; // 0x21bd194
|
|
/* 021BD194 */ _t58 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD194 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021BD198 */ _t59 = cpu->r[8] + 0x00000264u;
|
|
/* 021BD198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BD19C */ cpu->ctr = cpu->r[9];
|
|
/* 021BD1A0 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD1A4 */ cpu->r[4] = cpu->r[21];
|
|
/* 021BD1A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD1B0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD1B0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 021BD1B0 */ if (_t61) goto L_021BD1B8; else goto L_021BD1B4;
|
|
L_021BD1B4: ; // 0x21bd1b4
|
|
/* 021BD1B4 */ cpu->f[30] = cpu->f[31];
|
|
L_021BD1B8: ; // 0x21bd1b8
|
|
/* 021BD1B8 */ _t62 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD1B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021BD1BC */ _t63 = cpu->r[10] + 0x000002D4u;
|
|
/* 021BD1BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021BD1C0 */ cpu->ctr = cpu->r[11];
|
|
/* 021BD1C4 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD1C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD1D0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD1D0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 021BD1D0 */ if (_t65) goto L_021BD250; else goto L_021BD1D4;
|
|
L_021BD1D4: ; // 0x21bd1d4
|
|
/* 021BD1D4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021BD1D8 */ _t66 = cpu->r[30] + 0x00006000u;
|
|
/* 021BD1D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021BD1DC */ _t67 = cpu->r[8] + 0xFFFFDD64u;
|
|
/* 021BD1DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021BD1DC */ cpu->r[8] = _t67;
|
|
/* 021BD1E0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 021BD1E4 */ _t68 = cpu->r[10] + 0x000002A4u;
|
|
/* 021BD1E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021BD1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BD1EC */ cpu->r[4] = cpu->r[4] + 0xFFFFDD68u;
|
|
/* 021BD1F0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD1F0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 021BD1F0 */ if (_t70) goto L_021BD1F4; else goto L_021BD208;
|
|
L_021BD1F4: ; // 0x21bd1f4
|
|
/* 021BD1F4 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BD1F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021BD1FC */ cpu->r[5] = cpu->r[5] + 0xFFFFB200u;
|
|
/* 021BD200 */ _t71 = cpu->r[8] + 0x00000000u;
|
|
/* 021BD200 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 021BD204 */ _t72 = cpu->r[4] + 0x00000000u;
|
|
/* 021BD204 */ rbrew_write32(cpu->mem, _t72, cpu->r[5]);
|
|
L_021BD208: ; // 0x21bd208
|
|
/* 021BD208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021BD20C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD20C */ _t74 = _t73 & 0x00000001u;
|
|
/* 021BD20C */ if (_t74) goto L_021BD250; else goto L_021BD210;
|
|
L_021BD210: ; // 0x21bd210
|
|
/* 021BD210 */ _t75 = cpu->r[30] + 0x00000004u;
|
|
/* 021BD210 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021BD214 */ _t76 = cpu->r[6] + 0x00000014u;
|
|
/* 021BD214 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021BD218 */ cpu->ctr = cpu->r[7];
|
|
/* 021BD21C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BD220 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD228 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD228 */ _t78 = _t77 & 0x00000001u;
|
|
/* 021BD228 */ if (_t78) goto L_021BD250; else goto L_021BD22C;
|
|
L_021BD22C: ; // 0x21bd22c
|
|
/* 021BD22C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BD22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD230 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD230 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021BD230 */ if (_t80) goto L_021BD250; else goto L_021BD234;
|
|
L_021BD234: ; // 0x21bd234
|
|
/* 021BD234 */ Gambit_fn_026A97E8(cpu);
|
|
/* 021BD238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD23C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD23C */ _t82 = _t81 & 0x00000001u;
|
|
/* 021BD23C */ if (_t82) goto L_021BD250; else goto L_021BD240;
|
|
L_021BD240: ; // 0x21bd240
|
|
/* 021BD240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021BD244 */ cpu->f[30] = cpu->f[31];
|
|
/* 021BD248 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD248 */ _t84 = _t83 & 0x00000001u;
|
|
/* 021BD248 */ if (_t84) goto L_021BD31C; else goto L_021BD24C;
|
|
L_021BD24C: ; // 0x21bd24c
|
|
/* 021BD24C */ goto L_021BD260;
|
|
L_021BD250: ; // 0x21bd250
|
|
/* 021BD250 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 021BD254 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD254 */ _t86 = _t85 & 0x00000001u;
|
|
/* 021BD254 */ if (_t86) goto L_021BD260; else goto L_021BD258;
|
|
L_021BD258: ; // 0x21bd258
|
|
/* 021BD258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 021BD25C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD25C */ _t88 = _t87 & 0x00000001u;
|
|
/* 021BD25C */ if (_t88) goto L_021BD31C; else goto L_021BD260;
|
|
L_021BD260: ; // 0x21bd260
|
|
/* 021BD260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 021BD264 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD264 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021BD264 */ if (_t90) goto L_021BD31C; else goto L_021BD268;
|
|
L_021BD268: ; // 0x21bd268
|
|
/* 021BD268 */ _t91 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD268 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021BD26C */ _t92 = cpu->r[9] + 0x000002F4u;
|
|
/* 021BD26C */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021BD270 */ cpu->ctr = cpu->r[10];
|
|
/* 021BD274 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD278 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD280 */ _t93 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021BD284 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD284 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021BD284 */ if (_t95) goto L_021BD2CC; else goto L_021BD288;
|
|
L_021BD288: ; // 0x21bd288
|
|
/* 021BD288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BD28C */ cpu->r[9] = cpu->r[12] + 0x000002C0u;
|
|
/* 021BD290 */ _t96 = cpu->r[12] + 0x000002C4u;
|
|
/* 021BD290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021BD294 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD294 */ _t98 = _t97 & 0x00000001u;
|
|
/* 021BD294 */ if (_t98) goto L_021BD298; else goto L_021BD29C;
|
|
L_021BD298: ; // 0x21bd298
|
|
/* 021BD298 */ cpu->r[31] = cpu->r[26];
|
|
L_021BD29C: ; // 0x21bd29c
|
|
/* 021BD29C */ cpu->ctr = cpu->r[0];
|
|
/* 021BD2A0 */ cpu->r[5] = cpu->r[23];
|
|
/* 021BD2A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BD2A8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD2AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD2B4 */ _t99 = cpu->r[29] + 0x00000000u;
|
|
/* 021BD2B4 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[3]);
|
|
/* 021BD2B8 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD2B8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 021BD2B8 */ if (_t101) goto L_021BD31C; else goto L_021BD2BC;
|
|
L_021BD2BC: ; // 0x21bd2bc
|
|
/* 021BD2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BD2C0 */ cpu->f[30] = cpu->f[31];
|
|
/* 021BD2C4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD2C4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 021BD2C4 */ if (_t103) goto L_021BD328; else goto L_021BD2C8;
|
|
L_021BD2C8: ; // 0x21bd2c8
|
|
/* 021BD2C8 */ goto L_021BD324;
|
|
L_021BD2CC: ; // 0x21bd2cc
|
|
/* 021BD2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BD2D0 */ cpu->r[11] = cpu->r[12] + 0x000002E8u;
|
|
/* 021BD2D4 */ _t104 = cpu->r[12] + 0x000002ECu;
|
|
/* 021BD2D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 021BD2D8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD2D8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 021BD2D8 */ if (_t106) goto L_021BD2DC; else goto L_021BD2E0;
|
|
L_021BD2DC: ; // 0x21bd2dc
|
|
/* 021BD2DC */ cpu->r[31] = cpu->r[26];
|
|
L_021BD2E0: ; // 0x21bd2e0
|
|
/* 021BD2E0 */ cpu->ctr = cpu->r[5];
|
|
/* 021BD2E4 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD2E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 021BD2EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD2F4 */ _t107 = cpu->r[29] + 0x00000000u;
|
|
/* 021BD2F4 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[3]);
|
|
/* 021BD2F8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD2F8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 021BD2F8 */ if (_t109) goto L_021BD31C; else goto L_021BD2FC;
|
|
L_021BD2FC: ; // 0x21bd2fc
|
|
/* 021BD2FC */ _t110 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD2FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021BD300 */ _t111 = cpu->r[6] + 0x0000031Cu;
|
|
/* 021BD300 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021BD304 */ cpu->ctr = cpu->r[7];
|
|
/* 021BD308 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD30C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BD314 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD314 */ _t113 = _t112 & 0x00000001u;
|
|
/* 021BD314 */ if (_t113) goto L_021BD3B4; else goto L_021BD318;
|
|
L_021BD318: ; // 0x21bd318
|
|
/* 021BD318 */ goto L_021BD3B0;
|
|
L_021BD31C: ; // 0x21bd31c
|
|
/* 021BD31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BD320 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD320 */ _t115 = _t114 & 0x00000001u;
|
|
/* 021BD320 */ if (_t115) goto L_021BD328; else goto L_021BD324;
|
|
L_021BD324: ; // 0x21bd324
|
|
/* 021BD324 */ _t116 = cpu->r[25] + 0x00000000u;
|
|
/* 021BD324 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[30]);
|
|
L_021BD328: ; // 0x21bd328
|
|
/* 021BD328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x0000000Fu);
|
|
/* 021BD32C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD32C */ _t118 = _t117 & 0x00000001u;
|
|
/* 021BD32C */ if (_t118) goto L_021BD3B4; else goto L_021BD330;
|
|
L_021BD330: ; // 0x21bd330
|
|
/* 021BD330 */ _t119 = cpu->r[28] + 0x00000000u;
|
|
/* 021BD330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119);
|
|
/* 021BD334 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 021BD338 */ _t120 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD338 */ cpu->r[8] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021BD33C */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD33C */ rbrew_write32(cpu->mem, _t121, cpu->r[9]);
|
|
/* 021BD340 */ _t122 = cpu->r[8] + 0x000002B4u;
|
|
/* 021BD340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021BD344 */ /* nop */
|
|
/* 021BD348 */ cpu->ctr = cpu->r[12];
|
|
/* 021BD34C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BD350 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD354 */ cpu->r[4] = cpu->r[26];
|
|
/* 021BD358 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD35C */ cpu->r[5] = cpu->r[27];
|
|
/* 021BD360 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD364 */ _t123 = cpu->r[28] + 0x00000000u;
|
|
/* 021BD364 */ cpu->r[10] = rbrew_read32(cpu->mem, _t123);
|
|
/* 021BD368 */ _t124 = cpu->r[24] + 0x00000004u;
|
|
/* 021BD368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021BD36C */ _t125 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD36C */ rbrew_write32(cpu->mem, _t125, cpu->r[10]);
|
|
/* 021BD370 */ _t126 = cpu->r[8] + 0x000002CCu;
|
|
/* 021BD370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021BD374 */ cpu->ctr = cpu->r[0];
|
|
/* 021BD378 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD37C */ cpu->r[4] = cpu->r[27];
|
|
/* 021BD380 */ cpu->r[3] = cpu->r[24];
|
|
/* 021BD384 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD388 */ /* nop */
|
|
/* 021BD38C */ _t127 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD38C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 021BD390 */ _t128 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD390 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 021BD394 */ _t129 = cpu->r[1] + 0x00000040u;
|
|
/* 021BD394 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 021BD398 */ _t130 = cpu->r[1] + 0x00000050u;
|
|
/* 021BD398 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 021BD39C */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BD39C */ _t132 = _t131 & 0x00000001u;
|
|
/* 021BD39C */ if (_t132) goto L_021BD3A0; // else: addr-0 trap, fall-through
|
|
L_021BD3A0: ; // 0x21bd3a0
|
|
/* 021BD3A0 */ _t133 = cpu->r[1] + 0x00000064u;
|
|
/* 021BD3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 021BD3A4 */ cpu->lr = cpu->r[0];
|
|
/* 021BD3A8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BD3AC */ return;
|
|
L_021BD3B0: ; // 0x21bd3b0
|
|
/* 021BD3B0 */ _t134 = cpu->r[25] + 0x00000000u;
|
|
/* 021BD3B0 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[31]);
|
|
L_021BD3B4: ; // 0x21bd3b4
|
|
/* 021BD3B4 */ /* nop */
|
|
/* 021BD3B8 */ _t135 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD3B8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 021BD3BC */ _t136 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD3BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 021BD3C0 */ _t137 = cpu->r[1] + 0x00000040u;
|
|
/* 021BD3C0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t137);
|
|
/* 021BD3C4 */ _t138 = cpu->r[1] + 0x00000050u;
|
|
/* 021BD3C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 021BD3C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BD3CC */ _t139 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BD3CC */ _t140 = _t139 & 0x00000001u;
|
|
/* 021BD3CC */ if (_t140) goto L_021BD3D0; // else: addr-0 trap, fall-through
|
|
L_021BD3D0: ; // 0x21bd3d0
|
|
/* 021BD3D0 */ _t141 = cpu->r[1] + 0x00000064u;
|
|
/* 021BD3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 021BD3D4 */ cpu->lr = cpu->r[0];
|
|
/* 021BD3D8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BD3DC */ return;
|
|
}
|
|
|
|
// fn_021BD3E0 @ 0x21bd3e0
|
|
void Gambit_fn_021BD3E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021BD3E0: ; // 0x21bd3e0
|
|
/* 021BD3E0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD3E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BD3E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BD3E8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BD3E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BD3E8 */ cpu->r[1] = _t1;
|
|
/* 021BD3EC */ _t2 = cpu->r[8] + 0x00000000u;
|
|
/* 021BD3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD3F0 */ _t3 = cpu->r[1] + 0x00000023u;
|
|
/* 021BD3F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021BD3F4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD3F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BD3F8 */ cpu->r[12] = 0x00000000u;
|
|
/* 021BD3FC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD3FC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BD400 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD404 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD404 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021BD408 */ Gambit_fn_021BCFF4(cpu);
|
|
/* 021BD40C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BD40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BD410 */ cpu->lr = cpu->r[0];
|
|
/* 021BD414 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BD418 */ return;
|
|
}
|
|
|
|
// fn_021BD3E8 @ 0x21bd3e8
|
|
void Gambit_fn_021BD3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BD3E8: ; // 0x21bd3e8
|
|
/* 021BD3E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BD3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD3E8 */ cpu->r[1] = _t0;
|
|
/* 021BD3EC */ _t1 = cpu->r[8] + 0x00000000u;
|
|
/* 021BD3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD3F0 */ _t2 = cpu->r[1] + 0x00000023u;
|
|
/* 021BD3F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021BD3F4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BD3F8 */ cpu->r[12] = 0x00000000u;
|
|
/* 021BD3FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD3FC */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 021BD400 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD404 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD404 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 021BD408 */ Gambit_fn_021BCFF4(cpu);
|
|
/* 021BD40C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BD40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BD410 */ cpu->lr = cpu->r[0];
|
|
/* 021BD414 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BD418 */ return;
|
|
}
|
|
|
|
// fn_021BD41C @ 0x21bd41c
|
|
void Gambit_fn_021BD41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021BD41C: ; // 0x21bd41c
|
|
/* 021BD41C */ cpu->r[0] = cpu->lr;
|
|
/* 021BD420 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BD420 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BD424 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BD424 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BD424 */ cpu->r[1] = _t1;
|
|
/* 021BD428 */ _t2 = cpu->r[8] + 0x00000000u;
|
|
/* 021BD428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD42C */ _t3 = cpu->r[1] + 0x00000023u;
|
|
/* 021BD42C */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021BD430 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD430 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BD434 */ cpu->r[12] = 0x00000001u;
|
|
/* 021BD438 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD438 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 021BD43C */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD440 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD440 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 021BD444 */ Gambit_fn_021BCFF4(cpu);
|
|
/* 021BD448 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BD448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BD44C */ cpu->lr = cpu->r[0];
|
|
/* 021BD450 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BD454 */ return;
|
|
}
|
|
|
|
// fn_021BD424 @ 0x21bd424
|
|
void Gambit_fn_021BD424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BD424: ; // 0x21bd424
|
|
/* 021BD424 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BD424 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD424 */ cpu->r[1] = _t0;
|
|
/* 021BD428 */ _t1 = cpu->r[8] + 0x00000000u;
|
|
/* 021BD428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD42C */ _t2 = cpu->r[1] + 0x00000023u;
|
|
/* 021BD42C */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 021BD430 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD430 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BD434 */ cpu->r[12] = 0x00000001u;
|
|
/* 021BD438 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD438 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 021BD43C */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD440 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD440 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 021BD444 */ Gambit_fn_021BCFF4(cpu);
|
|
/* 021BD448 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BD448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BD44C */ cpu->lr = cpu->r[0];
|
|
/* 021BD450 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BD454 */ return;
|
|
}
|
|
|
|
// fn_021BD458 @ 0x21bd458
|
|
void Gambit_fn_021BD458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021BD458: ; // 0x21bd458
|
|
/* 021BD458 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD45C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BD45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD45C */ cpu->r[1] = _t0;
|
|
/* 021BD460 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD460 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BD464 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD464 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BD468 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD468 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BD46C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BD470 */ _t5 = cpu->r[11] + 0x000002D4u;
|
|
/* 021BD470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BD474 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BD478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021BD47C */ cpu->ctr = cpu->r[0];
|
|
/* 021BD480 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD480 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BD480 */ if (_t7) goto L_021BD4A8; else goto L_021BD484;
|
|
L_021BD484: ; // 0x21bd484
|
|
/* 021BD484 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD488 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BD48C */ cpu->r[31] = cpu->r[3] ^ 0x00000001u;
|
|
/* 021BD490 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BD494 */ cpu->lr = cpu->r[0];
|
|
/* 021BD498 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021BD49C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BD4A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD4A4 */ return;
|
|
L_021BD4A8: ; // 0x21bd4a8
|
|
/* 021BD4A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021BD4AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD4B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD4B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021BD4B4 */ if (_t12) goto L_021BD4C8; else goto L_021BD4B8;
|
|
L_021BD4B8: ; // 0x21bd4b8
|
|
/* 021BD4B8 */ _t13 = cpu->r[30] + 0x00000051u;
|
|
/* 021BD4B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 021BD4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BD4C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD4C0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BD4C0 */ if (_t15) goto L_021BD4C8; else goto L_021BD4C4;
|
|
L_021BD4C4: ; // 0x21bd4c4
|
|
/* 021BD4C4 */ cpu->r[31] = 0x00000001u;
|
|
L_021BD4C8: ; // 0x21bd4c8
|
|
/* 021BD4C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BD4CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021BD4D0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD4D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BD4D4 */ cpu->lr = cpu->r[0];
|
|
/* 021BD4D8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD4D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BD4DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD4E0 */ return;
|
|
}
|
|
|
|
// fn_021BD45C @ 0x21bd45c
|
|
void Gambit_fn_021BD45C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_021BD45C: ; // 0x21bd45c
|
|
/* 021BD45C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BD45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD45C */ cpu->r[1] = _t0;
|
|
/* 021BD460 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD460 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BD464 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD464 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BD468 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD468 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BD46C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BD470 */ _t5 = cpu->r[11] + 0x000002D4u;
|
|
/* 021BD470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BD474 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BD478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 021BD47C */ cpu->ctr = cpu->r[0];
|
|
/* 021BD480 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD480 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021BD480 */ if (_t7) goto L_021BD4A8; else goto L_021BD484;
|
|
L_021BD484: ; // 0x21bd484
|
|
/* 021BD484 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD488 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BD48C */ cpu->r[31] = cpu->r[3] ^ 0x00000001u;
|
|
/* 021BD490 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BD494 */ cpu->lr = cpu->r[0];
|
|
/* 021BD498 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021BD49C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BD4A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD4A4 */ return;
|
|
L_021BD4A8: ; // 0x21bd4a8
|
|
/* 021BD4A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 021BD4AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BD4B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD4B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021BD4B4 */ if (_t12) goto L_021BD4C8; else goto L_021BD4B8;
|
|
L_021BD4B8: ; // 0x21bd4b8
|
|
/* 021BD4B8 */ _t13 = cpu->r[30] + 0x00000051u;
|
|
/* 021BD4B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 021BD4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BD4C0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD4C0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 021BD4C0 */ if (_t15) goto L_021BD4C8; else goto L_021BD4C4;
|
|
L_021BD4C4: ; // 0x21bd4c4
|
|
/* 021BD4C4 */ cpu->r[31] = 0x00000001u;
|
|
L_021BD4C8: ; // 0x21bd4c8
|
|
/* 021BD4C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021BD4CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021BD4D0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD4D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BD4D4 */ cpu->lr = cpu->r[0];
|
|
/* 021BD4D8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD4D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BD4DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD4E0 */ return;
|
|
}
|
|
|
|
// fn_021BD4E4 @ 0x21bd4e4
|
|
void Gambit_fn_021BD4E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BD4E4: ; // 0x21bd4e4
|
|
/* 021BD4E4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD4E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BD4E8 */ _t1 = cpu->r[12] + 0x000002DCu;
|
|
/* 021BD4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD4EC */ cpu->ctr = cpu->r[0];
|
|
/* 021BD4F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BD4F4 @ 0x21bd4f4
|
|
void Gambit_fn_021BD4F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021BD4F4: ; // 0x21bd4f4
|
|
/* 021BD4F4 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD4F8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BD4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BD4FC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BD4FC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BD4FC */ cpu->r[1] = _t1;
|
|
/* 021BD500 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD504 */ _t3 = cpu->r[12] + 0x000002E4u;
|
|
/* 021BD504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD508 */ cpu->ctr = cpu->r[0];
|
|
/* 021BD50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD510 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BD514 */ cpu->lr = cpu->r[0];
|
|
/* 021BD518 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD51C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BD520 */ return;
|
|
}
|
|
|
|
// fn_021BD4FC @ 0x21bd4fc
|
|
void Gambit_fn_021BD4FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021BD4FC: ; // 0x21bd4fc
|
|
/* 021BD4FC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BD4FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD4FC */ cpu->r[1] = _t0;
|
|
/* 021BD500 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD504 */ _t2 = cpu->r[12] + 0x000002E4u;
|
|
/* 021BD504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD508 */ cpu->ctr = cpu->r[0];
|
|
/* 021BD50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD510 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD514 */ cpu->lr = cpu->r[0];
|
|
/* 021BD518 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD51C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BD520 */ return;
|
|
}
|
|
|
|
// fn_021BD524 @ 0x21bd524
|
|
void Gambit_fn_021BD524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021BD524: ; // 0x21bd524
|
|
/* 021BD524 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD528 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BD528 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BD52C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BD52C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BD52C */ cpu->r[1] = _t1;
|
|
/* 021BD530 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD534 */ _t3 = cpu->r[12] + 0x000002E4u;
|
|
/* 021BD534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD538 */ cpu->ctr = cpu->r[0];
|
|
/* 021BD53C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD540 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BD544 */ cpu->lr = cpu->r[0];
|
|
/* 021BD548 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD54C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BD550 */ return;
|
|
}
|
|
|
|
// fn_021BD52C @ 0x21bd52c
|
|
void Gambit_fn_021BD52C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_021BD52C: ; // 0x21bd52c
|
|
/* 021BD52C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 021BD52C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD52C */ cpu->r[1] = _t0;
|
|
/* 021BD530 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 021BD530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD534 */ _t2 = cpu->r[12] + 0x000002E4u;
|
|
/* 021BD534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD538 */ cpu->ctr = cpu->r[0];
|
|
/* 021BD53C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BD540 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD544 */ cpu->lr = cpu->r[0];
|
|
/* 021BD548 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD54C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BD550 */ return;
|
|
}
|
|
|
|
// fn_021BD554 @ 0x21bd554
|
|
void Gambit_fn_021BD554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021BD554: ; // 0x21bd554
|
|
/* 021BD554 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD558 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 021BD558 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 021BD55C */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BD560 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BD560 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 021BD560 */ cpu->r[1] = _t1;
|
|
/* 021BD564 */ _t2 = cpu->r[12] + 0x00001344u;
|
|
/* 021BD564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD568 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 021BD568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD56C */ cpu->r[5] = cpu->r[4];
|
|
/* 021BD570 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021BD570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BD574 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD578 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD578 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021BD57C */ Gambit_fn_02022278(cpu);
|
|
/* 021BD580 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BD584 */ _t7 = cpu->r[3] + 0x00000002u;
|
|
/* 021BD584 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 021BD588 */ cpu->lr = cpu->r[0];
|
|
/* 021BD58C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD590 */ return;
|
|
}
|
|
|
|
// fn_021BD560 @ 0x21bd560
|
|
void Gambit_fn_021BD560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_021BD560: ; // 0x21bd560
|
|
/* 021BD560 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BD560 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD560 */ cpu->r[1] = _t0;
|
|
/* 021BD564 */ _t1 = cpu->r[12] + 0x00001344u;
|
|
/* 021BD564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BD568 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 021BD568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021BD56C */ cpu->r[5] = cpu->r[4];
|
|
/* 021BD570 */ _t3 = cpu->r[12] + 0x0000001Cu;
|
|
/* 021BD570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BD574 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BD578 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD578 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BD57C */ Gambit_fn_02022278(cpu);
|
|
/* 021BD580 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BD584 */ _t6 = cpu->r[3] + 0x00000002u;
|
|
/* 021BD584 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 021BD588 */ cpu->lr = cpu->r[0];
|
|
/* 021BD58C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BD590 */ return;
|
|
}
|
|
|
|
// fn_021BD594 @ 0x21bd594
|
|
void Gambit_fn_021BD594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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, _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, _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;
|
|
double _ft42, _ft43, _ft100, _ft101;
|
|
|
|
L_021BD594: ; // 0x21bd594
|
|
/* 021BD594 */ _t0 = cpu->r[1] + 0xFFFFFF18u;
|
|
/* 021BD594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD594 */ cpu->r[1] = _t0;
|
|
/* 021BD598 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BD598 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 021BD59C */ /* nop */
|
|
/* 021BD5A0 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD5A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]);
|
|
/* 021BD5A4 */ _t3 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BD5A4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021BD5A8 */ /* nop */
|
|
/* 021BD5AC */ _t4 = cpu->r[1] + 0x000000C8u;
|
|
/* 021BD5AC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 021BD5B0 */ /* nop */
|
|
/* 021BD5B4 */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 021BD5B4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[23]);
|
|
/* 021BD5B8 */ /* nop */
|
|
/* 021BD5BC */ _t6 = cpu->r[1] + 0x00000068u;
|
|
/* 021BD5BC */ rbrew_write_f64(cpu->mem, _t6, cpu->f[24]);
|
|
/* 021BD5C0 */ _t7 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BD5C0 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]);
|
|
/* 021BD5C4 */ /* nop */
|
|
/* 021BD5C8 */ _t8 = cpu->r[1] + 0x000000B0u;
|
|
/* 021BD5C8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 021BD5CC */ /* nop */
|
|
/* 021BD5D0 */ _t9 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BD5D0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 021BD5D4 */ _t10 = cpu->r[1] + 0x00000070u;
|
|
/* 021BD5D4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[24]);
|
|
/* 021BD5D8 */ _t11 = cpu->r[1] + 0x00000078u;
|
|
/* 021BD5D8 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[25]);
|
|
/* 021BD5DC */ _t12 = cpu->r[1] + 0x00000098u;
|
|
/* 021BD5DC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[27]);
|
|
/* 021BD5E0 */ /* nop */
|
|
/* 021BD5E4 */ _t13 = cpu->r[1] + 0x000000C0u;
|
|
/* 021BD5E4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[29]);
|
|
/* 021BD5E8 */ /* nop */
|
|
/* 021BD5EC */ _t14 = cpu->r[1] + 0x00000080u;
|
|
/* 021BD5EC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]);
|
|
/* 021BD5F0 */ _t15 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BD5F0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[27]);
|
|
/* 021BD5F4 */ _t16 = cpu->r[1] + 0x00000088u;
|
|
/* 021BD5F4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[26]);
|
|
/* 021BD5F8 */ _t17 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD5F8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[22]);
|
|
/* 021BD5FC */ /* nop */
|
|
/* 021BD600 */ _t18 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BD600 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[30]);
|
|
/* 021BD604 */ /* nop */
|
|
/* 021BD608 */ _t19 = cpu->r[1] + 0x00000090u;
|
|
/* 021BD608 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[26]);
|
|
/* 021BD60C */ cpu->r[0] = cpu->lr;
|
|
/* 021BD610 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 021BD610 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[22]);
|
|
/* 021BD614 */ _t21 = cpu->r[1] + 0x000000ECu;
|
|
/* 021BD614 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 021BD618 */ _t22 = cpu->r[1] + 0x00000044u;
|
|
/* 021BD618 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 021BD61C */ cpu->f[28] = cpu->f[4];
|
|
/* 021BD620 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BD624 */ cpu->f[26] = cpu->f[1];
|
|
/* 021BD628 */ cpu->f[24] = cpu->f[2];
|
|
/* 021BD62C */ _t23 = cpu->r[5] + 0x00000008u;
|
|
/* 021BD62C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021BD630 */ _t24 = cpu->r[4] + 0x00000008u;
|
|
/* 021BD630 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021BD634 */ /* nop */
|
|
/* 021BD638 */ cpu->f[7] = cpu->f[9] - cpu->f[10];
|
|
/* 021BD63C */ /* nop */
|
|
/* 021BD640 */ /* nop */
|
|
/* 021BD644 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 021BD644 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[7]);
|
|
/* 021BD648 */ /* nop */
|
|
/* 021BD64C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BD64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BD650 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 021BD650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021BD654 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD654 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 021BD658 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BD65C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 021BD65C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 021BD660 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 021BD660 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021BD664 */ _t31 = cpu->r[9] + 0xFFFFB210u;
|
|
/* 021BD664 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 021BD668 */ cpu->f[7] = cpu->f[12] * cpu->f[12];
|
|
/* 021BD66C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD66C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021BD670 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 021BD670 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BD674 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BD678 */ cpu->f[11] = fma(cpu->f[8], cpu->f[8], cpu->f[7]);
|
|
/* 021BD67C */ _t34 = cpu->r[12] + 0xFFFFB220u;
|
|
/* 021BD67C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 021BD680 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[27]);
|
|
/* 021BD684 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD684 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 021BD688 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BD68C */ _t36 = cpu->r[12] + 0xFFFFB21Cu;
|
|
/* 021BD68C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021BD690 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD690 */ _t38 = _t37 & 0x00000001u;
|
|
/* 021BD690 */ if (_t38) goto L_021BD6B0; else goto L_021BD694;
|
|
L_021BD694: ; // 0x21bd694
|
|
/* 021BD694 */ cpu->f[23] = cpu->f[27] * cpu->f[11];
|
|
/* 021BD698 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BD69C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[27]);
|
|
/* 021BD6A0 */ _t39 = cpu->r[10] + 0xFFFFB214u;
|
|
/* 021BD6A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021BD6A4 */ cpu->f[29] = cpu->f[23] / cpu->f[26];
|
|
/* 021BD6A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD6A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 021BD6A8 */ if (_t41) goto L_021BD6AC; else goto L_021BD6DC;
|
|
L_021BD6AC: ; // 0x21bd6ac
|
|
/* 021BD6AC */ goto L_021BD7D0;
|
|
L_021BD6B0: ; // 0x21bd6b0
|
|
/* 021BD6B0 */ _ft42 = sqrt(cpu->f[11]);
|
|
/* 021BD6B0 */ _ft43 = (double)(int32_t)0x00000001u;
|
|
/* 021BD6B0 */ cpu->f[13] = _ft43 / _ft42;
|
|
/* 021BD6B4 */ cpu->f[12] = cpu->f[13] * cpu->f[13];
|
|
/* 021BD6B8 */ cpu->f[0] = cpu->f[13] * cpu->f[31];
|
|
/* 021BD6BC */ cpu->f[12] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[25]));
|
|
/* 021BD6C0 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 021BD6C4 */ cpu->f[23] = cpu->f[13] * cpu->f[11];
|
|
/* 021BD6C8 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BD6CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[27]);
|
|
/* 021BD6D0 */ _t44 = cpu->r[10] + 0xFFFFB214u;
|
|
/* 021BD6D0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021BD6D4 */ cpu->f[29] = cpu->f[23] / cpu->f[26];
|
|
/* 021BD6D8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD6D8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 021BD6D8 */ if (_t46) goto L_021BD7D0; else goto L_021BD6DC;
|
|
L_021BD6DC: ; // 0x21bd6dc
|
|
/* 021BD6DC */ cpu->f[1] = cpu->f[30] - cpu->f[3];
|
|
/* 021BD6E0 */ Gambit_fn_02C88B08(cpu);
|
|
/* 021BD6E4 */ cpu->f[29] = cpu->f[1];
|
|
/* 021BD6E8 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BD6EC */ _t47 = cpu->r[9] + 0xFFFFB230u;
|
|
/* 021BD6EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 021BD6F0 */ cpu->f[9] = fabs(cpu->f[29]);
|
|
/* 021BD6F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 021BD6F8 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD6F8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 021BD6F8 */ if (_t49) goto L_021BD7BC; else goto L_021BD6FC;
|
|
L_021BD6FC: ; // 0x21bd6fc
|
|
/* 021BD6FC */ cpu->r[11] = 0x101F0000u;
|
|
/* 021BD700 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BD704 */ cpu->r[11] = cpu->r[11] + 0x00006350u;
|
|
/* 021BD708 */ _t50 = cpu->r[12] + 0xFFFFB218u;
|
|
/* 021BD708 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021BD70C */ /* nop */
|
|
/* 021BD710 */ /* nop */
|
|
/* 021BD714 */ /* nop */
|
|
/* 021BD718 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BD718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BD71C */ _t52 = cpu->r[11] + 0x00000008u;
|
|
/* 021BD71C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 021BD720 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 021BD720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021BD724 */ cpu->f[12] = -cpu->f[13];
|
|
/* 021BD728 */ _t54 = cpu->r[1] + 0x00000038u;
|
|
/* 021BD728 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 021BD72C */ _t55 = cpu->r[1] + 0x00000038u;
|
|
/* 021BD72C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 021BD730 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 021BD730 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 021BD734 */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 021BD734 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 021BD738 */ _t58 = cpu->r[1] + 0x00000030u;
|
|
/* 021BD738 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 021BD73C */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 021BD73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BD740 */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BD740 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 021BD744 */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BD744 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 021BD748 */ _t62 = cpu->r[31] + 0x00000004u;
|
|
/* 021BD748 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[10]);
|
|
/* 021BD74C */ _t63 = cpu->r[31] + 0x00000008u;
|
|
/* 021BD74C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[12]);
|
|
/* 021BD750 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 021BD750 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[8]);
|
|
/* 021BD754 */ _t65 = cpu->r[1] + 0x00000090u;
|
|
/* 021BD754 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 021BD758 */ _t66 = cpu->r[1] + 0x00000070u;
|
|
/* 021BD758 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021BD75C */ _t67 = cpu->r[1] + 0x00000088u;
|
|
/* 021BD75C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 021BD760 */ _t68 = cpu->r[1] + 0x00000068u;
|
|
/* 021BD760 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021BD764 */ _t69 = cpu->r[1] + 0x00000044u;
|
|
/* 021BD764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021BD768 */ _t70 = cpu->r[1] + 0x000000B0u;
|
|
/* 021BD768 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021BD76C */ _t71 = cpu->r[1] + 0x00000080u;
|
|
/* 021BD76C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 021BD770 */ _t72 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BD770 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 021BD774 */ _t73 = cpu->r[1] + 0x00000078u;
|
|
/* 021BD774 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t73);
|
|
/* 021BD778 */ _t74 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BD778 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 021BD77C */ _t75 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BD77C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 021BD780 */ _t76 = cpu->r[1] + 0x000000C8u;
|
|
/* 021BD780 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 021BD784 */ _t77 = cpu->r[1] + 0x00000098u;
|
|
/* 021BD784 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 021BD788 */ _t78 = cpu->r[1] + 0x00000050u;
|
|
/* 021BD788 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021BD78C */ _t79 = cpu->r[1] + 0x000000C0u;
|
|
/* 021BD78C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 021BD790 */ _t80 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD790 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 021BD794 */ _t81 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BD794 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 021BD798 */ _t82 = cpu->r[1] + 0x00000060u;
|
|
/* 021BD798 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 021BD79C */ _t83 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BD79C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 021BD7A0 */ _t84 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD7A0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 021BD7A4 */ _t85 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BD7A4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 021BD7A8 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BD7A8 */ _t87 = _t86 & 0x00000001u;
|
|
/* 021BD7A8 */ if (_t87) goto L_021BD7AC; // else: addr-0 trap, fall-through
|
|
L_021BD7AC: ; // 0x21bd7ac
|
|
/* 021BD7AC */ _t88 = cpu->r[1] + 0x000000ECu;
|
|
/* 021BD7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 021BD7B0 */ cpu->lr = cpu->r[0];
|
|
/* 021BD7B4 */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 021BD7B8 */ return;
|
|
L_021BD7BC: ; // 0x21bd7bc
|
|
/* 021BD7BC */ cpu->f[0] = cpu->f[23] * cpu->f[29];
|
|
/* 021BD7C0 */ cpu->f[8] = cpu->f[0] / cpu->f[26];
|
|
/* 021BD7C4 */ cpu->f[1] = cpu->f[8] + cpu->f[30];
|
|
/* 021BD7C8 */ Gambit_fn_02C88B08(cpu);
|
|
/* 021BD7CC */ cpu->f[29] = cpu->f[1] / cpu->f[29];
|
|
L_021BD7D0: ; // 0x21bd7d0
|
|
/* 021BD7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BD7D4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD7D4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021BD7D4 */ if (_t90) goto L_021BD8F0; else goto L_021BD7D8;
|
|
L_021BD7D8: ; // 0x21bd7d8
|
|
/* 021BD7D8 */ cpu->f[22] = cpu->f[30] - cpu->f[28];
|
|
/* 021BD7DC */ cpu->f[28] = cpu->f[29];
|
|
/* 021BD7E0 */ cpu->f[1] = cpu->f[22];
|
|
/* 021BD7E4 */ cpu->f[2] = cpu->f[28];
|
|
/* 021BD7E8 */ cpu->f[24] = -cpu->f[24];
|
|
/* 021BD7EC */ Gambit_fn_02C88860(cpu);
|
|
/* 021BD7F0 */ cpu->f[23] = cpu->f[1];
|
|
/* 021BD7F4 */ cpu->f[1] = cpu->f[22];
|
|
/* 021BD7F8 */ Gambit_fn_02C88B08(cpu);
|
|
/* 021BD7FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[22], cpu->f[30]);
|
|
/* 021BD800 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD800 */ _t92 = _t91 & 0x00000001u;
|
|
/* 021BD800 */ if (_t92) goto L_021BD89C; else goto L_021BD804;
|
|
L_021BD804: ; // 0x21bd804
|
|
/* 021BD804 */ cpu->f[12] = cpu->f[23] - cpu->f[30];
|
|
/* 021BD808 */ cpu->f[9] = cpu->f[22] * cpu->f[24];
|
|
/* 021BD80C */ cpu->f[0] = cpu->f[30] - cpu->f[22];
|
|
/* 021BD810 */ cpu->f[10] = cpu->f[9] * cpu->f[28];
|
|
/* 021BD814 */ cpu->f[13] = cpu->f[0] * cpu->f[1];
|
|
/* 021BD818 */ cpu->f[11] = cpu->f[10] / cpu->f[0];
|
|
/* 021BD81C */ cpu->f[0] = cpu->f[12] / cpu->f[13];
|
|
/* 021BD820 */ cpu->f[8] = -fma(cpu->f[0], cpu->f[24], -(cpu->f[11]));
|
|
/* 021BD824 */ cpu->f[7] = cpu->f[30] - cpu->f[23];
|
|
/* 021BD828 */ cpu->f[13] = cpu->f[30] / cpu->f[1];
|
|
/* 021BD82C */ cpu->f[9] = fma(cpu->f[28], cpu->f[24], cpu->f[8]);
|
|
/* 021BD830 */ cpu->f[28] = cpu->f[13] * cpu->f[7];
|
|
/* 021BD834 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 021BD834 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 021BD838 */ _t94 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD838 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 021BD83C */ cpu->f[13] = cpu->f[7] * cpu->f[7];
|
|
/* 021BD840 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD840 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 021BD844 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 021BD848 */ cpu->f[9] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 021BD84C */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD84C */ rbrew_write_f32(cpu->mem, _t96, cpu->f[0]);
|
|
/* 021BD850 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[27]);
|
|
/* 021BD854 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD854 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[7]);
|
|
/* 021BD858 */ cpu->f[8] = cpu->f[10] / cpu->f[28];
|
|
/* 021BD85C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD85C */ _t99 = _t98 & 0x00000001u;
|
|
/* 021BD85C */ if (_t99) goto L_021BD860; else goto L_021BD8D0;
|
|
L_021BD860: ; // 0x21bd860
|
|
/* 021BD860 */ _ft100 = sqrt(cpu->f[9]);
|
|
/* 021BD860 */ _ft101 = (double)(int32_t)0x00000001u;
|
|
/* 021BD860 */ cpu->f[11] = _ft101 / _ft100;
|
|
/* 021BD864 */ cpu->f[13] = cpu->f[11] * cpu->f[11];
|
|
/* 021BD868 */ cpu->f[7] = cpu->f[11] * cpu->f[31];
|
|
/* 021BD86C */ cpu->f[13] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[25]));
|
|
/* 021BD870 */ cpu->f[11] = cpu->f[13] * cpu->f[7];
|
|
/* 021BD874 */ /* nop */
|
|
/* 021BD878 */ /* nop */
|
|
/* 021BD87C */ _t102 = cpu->r[31] + 0x00000004u;
|
|
/* 021BD87C */ rbrew_write_f32(cpu->mem, _t102, cpu->f[8]);
|
|
/* 021BD880 */ /* nop */
|
|
/* 021BD884 */ /* nop */
|
|
/* 021BD888 */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD888 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 021BD88C */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD88C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 021BD890 */ _t105 = cpu->r[31] + 0x00000008u;
|
|
/* 021BD890 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[12]);
|
|
/* 021BD894 */ _t106 = cpu->r[31] + 0x00000000u;
|
|
/* 021BD894 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[10]);
|
|
/* 021BD898 */ goto L_021BD8F0;
|
|
L_021BD89C: ; // 0x21bd89c
|
|
/* 021BD89C */ cpu->f[9] = cpu->f[28] * cpu->f[28];
|
|
/* 021BD8A0 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 021BD8A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 021BD8A4 */ cpu->f[13] = cpu->f[7] * cpu->f[7];
|
|
/* 021BD8A8 */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 021BD8A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 021BD8AC */ cpu->f[10] = cpu->f[9] * cpu->f[24];
|
|
/* 021BD8B0 */ _t109 = cpu->r[1] + 0x00000014u;
|
|
/* 021BD8B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 021BD8B4 */ cpu->f[9] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 021BD8B8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[31], -(cpu->f[11]));
|
|
/* 021BD8BC */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD8BC */ rbrew_write_f32(cpu->mem, _t110, cpu->f[7]);
|
|
/* 021BD8C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[27]);
|
|
/* 021BD8C4 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD8C4 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[0]);
|
|
/* 021BD8C8 */ cpu->f[8] = cpu->f[10] / cpu->f[28];
|
|
/* 021BD8CC */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BD8CC */ _t113 = _t112 & 0x00000001u;
|
|
/* 021BD8CC */ if (_t113) goto L_021BD860; else goto L_021BD8D0;
|
|
L_021BD8D0: ; // 0x21bd8d0
|
|
/* 021BD8D0 */ /* nop */
|
|
/* 021BD8D4 */ _t114 = cpu->r[31] + 0x00000004u;
|
|
/* 021BD8D4 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]);
|
|
/* 021BD8D8 */ /* nop */
|
|
/* 021BD8DC */ /* nop */
|
|
/* 021BD8E0 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BD8E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 021BD8E4 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 021BD8E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 021BD8E8 */ _t117 = cpu->r[31] + 0x00000008u;
|
|
/* 021BD8E8 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[12]);
|
|
/* 021BD8EC */ _t118 = cpu->r[31] + 0x00000000u;
|
|
/* 021BD8EC */ rbrew_write_f32(cpu->mem, _t118, cpu->f[10]);
|
|
L_021BD8F0: ; // 0x21bd8f0
|
|
/* 021BD8F0 */ _t119 = cpu->r[1] + 0x00000080u;
|
|
/* 021BD8F0 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 021BD8F4 */ cpu->f[1] = cpu->f[29];
|
|
/* 021BD8F8 */ _t120 = cpu->r[1] + 0x00000070u;
|
|
/* 021BD8F8 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 021BD8FC */ _t121 = cpu->r[1] + 0x00000078u;
|
|
/* 021BD8FC */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 021BD900 */ _t122 = cpu->r[1] + 0x00000068u;
|
|
/* 021BD900 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 021BD904 */ _t123 = cpu->r[1] + 0x00000050u;
|
|
/* 021BD904 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 021BD908 */ _t124 = cpu->r[1] + 0x000000C0u;
|
|
/* 021BD908 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 021BD90C */ _t125 = cpu->r[1] + 0x00000090u;
|
|
/* 021BD90C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 021BD910 */ _t126 = cpu->r[1] + 0x000000B8u;
|
|
/* 021BD910 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 021BD914 */ _t127 = cpu->r[1] + 0x00000088u;
|
|
/* 021BD914 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t127);
|
|
/* 021BD918 */ _t128 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BD918 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 021BD91C */ _t129 = cpu->r[1] + 0x00000044u;
|
|
/* 021BD91C */ cpu->r[31] = rbrew_read32(cpu->mem, _t129);
|
|
/* 021BD920 */ _t130 = cpu->r[1] + 0x000000C8u;
|
|
/* 021BD920 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 021BD924 */ _t131 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BD924 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 021BD928 */ _t132 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BD928 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 021BD92C */ _t133 = cpu->r[1] + 0x00000098u;
|
|
/* 021BD92C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 021BD930 */ _t134 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BD930 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 021BD934 */ _t135 = cpu->r[1] + 0x000000B0u;
|
|
/* 021BD934 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 021BD938 */ _t136 = cpu->r[1] + 0x00000060u;
|
|
/* 021BD938 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 021BD93C */ _t137 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BD93C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t137);
|
|
/* 021BD940 */ _t138 = cpu->r[1] + 0x00000058u;
|
|
/* 021BD940 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 021BD944 */ _t139 = cpu->r[1] + 0x00000048u;
|
|
/* 021BD944 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 021BD948 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BD948 */ _t141 = _t140 & 0x00000001u;
|
|
/* 021BD948 */ if (_t141) goto L_021BD94C; // else: addr-0 trap, fall-through
|
|
L_021BD94C: ; // 0x21bd94c
|
|
/* 021BD94C */ _t142 = cpu->r[1] + 0x000000ECu;
|
|
/* 021BD94C */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 021BD950 */ cpu->lr = cpu->r[0];
|
|
/* 021BD954 */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 021BD958 */ return;
|
|
}
|
|
|
|
// fn_021BD95C @ 0x21bd95c
|
|
void Gambit_fn_021BD95C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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, _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, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531;
|
|
double _ft46, _ft47, _ft123, _ft124, _ft166, _ft167;
|
|
|
|
L_021BD95C: ; // 0x21bd95c
|
|
/* 021BD95C */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 021BD95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BD95C */ cpu->r[1] = _t0;
|
|
/* 021BD960 */ /* nop */
|
|
/* 021BD964 */ cpu->r[0] = cpu->lr;
|
|
/* 021BD968 */ _t1 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BD968 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 021BD96C */ _t2 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BD96C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021BD970 */ _t3 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BD970 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021BD974 */ /* nop */
|
|
/* 021BD978 */ _t4 = cpu->r[1] + 0x00000104u;
|
|
/* 021BD978 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BD97C */ /* nop */
|
|
/* 021BD980 */ /* nop */
|
|
/* 021BD984 */ _t5 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BD984 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 021BD988 */ _t6 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BD988 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 021BD98C */ _t7 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BD98C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021BD990 */ cpu->r[24] = cpu->r[4];
|
|
/* 021BD994 */ cpu->r[30] = cpu->r[3];
|
|
/* 021BD998 */ cpu->r[26] = 0x101C0000u;
|
|
/* 021BD99C */ _t8 = cpu->r[26] + 0x00006000u;
|
|
/* 021BD99C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BD99C */ cpu->r[26] = _t8;
|
|
/* 021BD9A0 */ cpu->r[4] = cpu->r[30];
|
|
/* 021BD9A4 */ _t9 = cpu->r[10] + 0x00000274u;
|
|
/* 021BD9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BD9A8 */ cpu->r[31] = cpu->r[7];
|
|
/* 021BD9AC */ cpu->r[25] = cpu->r[6];
|
|
/* 021BD9B0 */ cpu->r[27] = cpu->r[5];
|
|
/* 021BD9B4 */ Gambit_fn_021F4CA8(cpu);
|
|
/* 021BD9B8 */ cpu->r[8] = 0x10030000u;
|
|
/* 021BD9BC */ cpu->r[7] = 0x10030000u;
|
|
/* 021BD9C0 */ _t10 = cpu->r[8] + 0xFFFFB234u;
|
|
/* 021BD9C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021BD9C4 */ _t11 = cpu->r[7] + 0xFFFFB238u;
|
|
/* 021BD9C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021BD9C8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 021BD9CC */ cpu->f[31] = fma(cpu->f[11], cpu->f[1], cpu->f[13]);
|
|
/* 021BD9D0 */ Gambit_fn_02019890(cpu);
|
|
/* 021BD9D4 */ _t12 = cpu->r[1] + 0x00000044u;
|
|
/* 021BD9D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BD9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000000u);
|
|
/* 021BD9DC */ cpu->r[29] = 0x00000000u;
|
|
/* 021BD9E0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD9E0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021BD9E0 */ if (_t14) goto L_021BD9EC; else goto L_021BD9E4;
|
|
L_021BD9E4: ; // 0x21bd9e4
|
|
/* 021BD9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Eu);
|
|
/* 021BD9E8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BD9E8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BD9E8 */ if (_t16) goto L_021BD9EC; else goto L_021BDA48;
|
|
L_021BD9EC: ; // 0x21bd9ec
|
|
/* 021BD9EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BD9F0 */ _t17 = cpu->r[12] + 0x00004604u;
|
|
/* 021BD9F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BD9F4 */ cpu->r[4] = cpu->r[24];
|
|
/* 021BD9F8 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 021BD9FC */ Gambit_fn_02C69328(cpu);
|
|
/* 021BDA00 */ cpu->f[13] = cpu->f[31] * cpu->f[31];
|
|
/* 021BDA04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 021BDA08 */ /* nop */
|
|
/* 021BDA0C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BDA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021BDA10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDA10 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021BDA10 */ if (_t19) goto L_021BDA48; else goto L_021BDA14;
|
|
L_021BDA14: ; // 0x21bda14
|
|
/* 021BDA14 */ _t20 = cpu->r[30] + 0x00000039u;
|
|
/* 021BDA14 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 021BDA18 */ /* nop */
|
|
/* 021BDA1C */ _t21 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BDA1C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021BDA20 */ _t22 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BDA20 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 021BDA24 */ _t23 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BDA24 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 021BDA28 */ _t24 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BDA28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021BDA2C */ _t25 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BDA2C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 021BDA30 */ _t26 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BDA30 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 021BDA34 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BDA34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BDA34 */ if (_t28) goto L_021BDA38; // else: addr-0 trap, fall-through
|
|
L_021BDA38: ; // 0x21bda38
|
|
/* 021BDA38 */ _t29 = cpu->r[1] + 0x00000104u;
|
|
/* 021BDA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BDA3C */ cpu->lr = cpu->r[0];
|
|
/* 021BDA40 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BDA44 */ return;
|
|
L_021BDA48: ; // 0x21bda48
|
|
/* 021BDA48 */ _t30 = cpu->r[30] + 0x00000030u;
|
|
/* 021BDA48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021BDA4C */ cpu->r[4] = 0x00000001u;
|
|
/* 021BDA50 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BDA54 */ Gambit_fn_027B9B00(cpu);
|
|
/* 021BDA58 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BDA5C */ _t31 = cpu->r[30] + 0x00000050u;
|
|
/* 021BDA5C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 021BDA60 */ _t32 = cpu->r[27] + 0x00000008u;
|
|
/* 021BDA60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021BDA64 */ _t33 = cpu->r[27] + 0x00000000u;
|
|
/* 021BDA64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BDA68 */ _t34 = cpu->r[27] + 0x00000004u;
|
|
/* 021BDA68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021BDA6C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 021BDA6C */ rbrew_write32(cpu->mem, _t35, cpu->r[5]);
|
|
/* 021BDA70 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BDA70 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 021BDA74 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BDA74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 021BDA78 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDA78 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 021BDA7C */ cpu->f[0] = cpu->f[13] * cpu->f[13];
|
|
/* 021BDA80 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 021BDA80 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021BDA84 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDA84 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 021BDA88 */ cpu->f[8] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 021BDA8C */ cpu->r[6] = 0x10030000u;
|
|
/* 021BDA90 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[8]);
|
|
/* 021BDA94 */ _t41 = cpu->r[6] + 0xFFFFB210u;
|
|
/* 021BDA94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021BDA98 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BDA9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021BDAA0 */ _t42 = cpu->r[5] + 0xFFFFB21Cu;
|
|
/* 021BDAA0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021BDAA4 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BDAA4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 021BDAA4 */ if (_t44) goto L_021BDAA8; else goto L_021BDAE0;
|
|
L_021BDAA8: ; // 0x21bdaa8
|
|
/* 021BDAA8 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BDAAC */ _t45 = cpu->r[12] + 0xFFFFB220u;
|
|
/* 021BDAAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 021BDAB0 */ _ft46 = sqrt(cpu->f[6]);
|
|
/* 021BDAB0 */ _ft47 = (double)(int32_t)0x00000001u;
|
|
/* 021BDAB0 */ cpu->f[8] = _ft47 / _ft46;
|
|
/* 021BDAB4 */ cpu->f[11] = cpu->f[8] * cpu->f[8];
|
|
/* 021BDAB8 */ cpu->f[12] = cpu->f[8] * cpu->f[30];
|
|
/* 021BDABC */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[0]));
|
|
/* 021BDAC0 */ cpu->f[8] = cpu->f[11] * cpu->f[12];
|
|
/* 021BDAC4 */ /* nop */
|
|
/* 021BDAC8 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDAC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021BDACC */ /* nop */
|
|
/* 021BDAD0 */ cpu->f[11] = cpu->f[11] * cpu->f[8];
|
|
/* 021BDAD4 */ /* nop */
|
|
/* 021BDAD8 */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 021BDADC */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDADC */ rbrew_write_f32(cpu->mem, _t49, cpu->f[11]);
|
|
L_021BDAE0: ; // 0x21bdae0
|
|
/* 021BDAE0 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BDAE4 */ _t50 = cpu->r[9] + 0xFFFFB23Cu;
|
|
/* 021BDAE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 021BDAE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[6]);
|
|
/* 021BDAEC */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BDAEC */ _t52 = _t51 & 0x00000001u;
|
|
/* 021BDAEC */ if (_t52) goto L_021BDB50; else goto L_021BDAF0;
|
|
L_021BDAF0: ; // 0x21bdaf0
|
|
/* 021BDAF0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[30]);
|
|
/* 021BDAF4 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BDAF4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021BDAF4 */ if (_t54) goto L_021BDB50; else goto L_021BDAF8;
|
|
L_021BDAF8: ; // 0x21bdaf8
|
|
/* 021BDAF8 */ cpu->r[5] = 0x101F0000u;
|
|
/* 021BDAFC */ _t55 = cpu->r[5] + 0x00006350u;
|
|
/* 021BDAFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 021BDAFC */ cpu->r[5] = _t55;
|
|
/* 021BDB00 */ _t56 = cpu->r[5] + 0x00000004u;
|
|
/* 021BDB00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 021BDB04 */ cpu->f[12] = -cpu->f[0];
|
|
/* 021BDB08 */ _t57 = cpu->r[5] + 0x00000008u;
|
|
/* 021BDB08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 021BDB0C */ cpu->f[6] = -cpu->f[7];
|
|
/* 021BDB10 */ _t58 = cpu->r[1] + 0x00000050u;
|
|
/* 021BDB10 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[12]);
|
|
/* 021BDB14 */ _t59 = cpu->r[1] + 0x00000050u;
|
|
/* 021BDB14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BDB18 */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 021BDB18 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[6]);
|
|
/* 021BDB1C */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 021BDB1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021BDB20 */ cpu->f[8] = -cpu->f[13];
|
|
/* 021BDB24 */ _t62 = cpu->r[1] + 0x00000098u;
|
|
/* 021BDB24 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 021BDB28 */ _t63 = cpu->r[1] + 0x00000098u;
|
|
/* 021BDB28 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 021BDB2C */ _t64 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BDB2C */ rbrew_write32(cpu->mem, _t64, cpu->r[5]);
|
|
/* 021BDB30 */ _t65 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BDB30 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 021BDB34 */ _t66 = cpu->r[1] + 0x00000058u;
|
|
/* 021BDB34 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 021BDB38 */ _t67 = cpu->r[1] + 0x00000058u;
|
|
/* 021BDB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021BDB3C */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 021BDB3C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[9]);
|
|
/* 021BDB40 */ _t69 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BDB40 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 021BDB44 */ _t70 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BDB44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021BDB48 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BDB48 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 021BDB4C */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDB4C */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
L_021BDB50: ; // 0x21bdb50
|
|
/* 021BDB50 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDB50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 021BDB54 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 021BDB54 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 021BDB58 */ _t75 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDB58 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[12]);
|
|
/* 021BDB5C */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BDB5C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[10]);
|
|
/* 021BDB60 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BDB60 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 021BDB64 */ _t78 = cpu->r[24] + 0x00000008u;
|
|
/* 021BDB64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021BDB68 */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 021BDB68 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[11]);
|
|
/* 021BDB6C */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 021BDB6C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[9]);
|
|
/* 021BDB70 */ _t81 = cpu->r[24] + 0x00000004u;
|
|
/* 021BDB70 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 021BDB74 */ _t82 = cpu->r[24] + 0x00000000u;
|
|
/* 021BDB74 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 021BDB78 */ cpu->r[4] = cpu->r[25];
|
|
/* 021BDB7C */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BDB7C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[8]);
|
|
/* 021BDB80 */ cpu->r[5] = cpu->r[1] + 0x000000A4u;
|
|
/* 021BDB84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 021BDB88 */ _t84 = cpu->r[1] + 0x00000038u;
|
|
/* 021BDB88 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[7]);
|
|
/* 021BDB8C */ Gambit_fn_02C692EC(cpu);
|
|
/* 021BDB90 */ _t85 = cpu->r[1] + 0x000000A4u;
|
|
/* 021BDB90 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 021BDB94 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BDB98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 021BDB9C */ _t86 = cpu->r[5] + 0xFFFFB214u;
|
|
/* 021BDB9C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 021BDBA0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDBA0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 021BDBA0 */ if (_t88) goto L_021BDBA4; else goto L_021BDBBC;
|
|
L_021BDBA4: ; // 0x21bdba4
|
|
/* 021BDBA4 */ _t89 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BDBA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 021BDBA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 021BDBAC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDBAC */ _t91 = _t90 & 0x00000001u;
|
|
/* 021BDBAC */ if (_t91) goto L_021BDBB0; else goto L_021BDBBC;
|
|
L_021BDBB0: ; // 0x21bdbb0
|
|
/* 021BDBB0 */ _t92 = cpu->r[1] + 0x000000ACu;
|
|
/* 021BDBB0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 021BDBB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 021BDBB8 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDBB8 */ _t94 = _t93 & 0x00000001u;
|
|
/* 021BDBB8 */ if (_t94) goto L_021BDC20; else goto L_021BDBBC;
|
|
L_021BDBBC: ; // 0x21bdbbc
|
|
/* 021BDBBC */ _t95 = cpu->r[25] + 0x00000000u;
|
|
/* 021BDBBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 021BDBC0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021BDBC4 */ _t96 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDBC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 021BDBC8 */ _t97 = cpu->r[7] + 0x00006344u;
|
|
/* 021BDBC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 021BDBC8 */ cpu->r[7] = _t97;
|
|
/* 021BDBCC */ _t98 = cpu->r[1] + 0x00000028u;
|
|
/* 021BDBCC */ rbrew_write_f32(cpu->mem, _t98, cpu->f[12]);
|
|
/* 021BDBD0 */ _t99 = cpu->r[7] + 0x00000008u;
|
|
/* 021BDBD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021BDBD4 */ _t100 = cpu->r[7] + 0x00000004u;
|
|
/* 021BDBD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 021BDBD8 */ _t101 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BDBD8 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[13]);
|
|
/* 021BDBDC */ _t102 = cpu->r[1] + 0x00000018u;
|
|
/* 021BDBDC */ rbrew_write_f32(cpu->mem, _t102, cpu->f[12]);
|
|
/* 021BDBE0 */ cpu->r[5] = 0x000001A4u;
|
|
/* 021BDBE4 */ _t103 = cpu->r[1] + 0x00000020u;
|
|
/* 021BDBE4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[9]);
|
|
/* 021BDBE8 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BDBEC */ _t104 = cpu->r[25] + 0x00000004u;
|
|
/* 021BDBEC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 021BDBF0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021BDBF4 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 021BDBF4 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[11]);
|
|
/* 021BDBF8 */ cpu->r[4] = cpu->r[4] + 0xFFFFB25Cu;
|
|
/* 021BDBFC */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 021BDBFC */ rbrew_write_f32(cpu->mem, _t106, cpu->f[10]);
|
|
/* 021BDC00 */ Gambit_fn_0204D380(cpu);
|
|
/* 021BDC04 */ cpu->r[27] = 0x10030000u;
|
|
/* 021BDC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BDC0C */ _t107 = cpu->r[30] + 0x00000004u;
|
|
/* 021BDC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
|
|
/* 021BDC10 */ cpu->r[27] = cpu->r[27] + 0xFFFFB1E0u;
|
|
/* 021BDC14 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BDC18 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDC18 */ _t109 = _t108 & 0x00000001u;
|
|
/* 021BDC18 */ if (_t109) goto L_021BDF3C; else goto L_021BDC1C;
|
|
L_021BDC1C: ; // 0x21bdc1c
|
|
/* 021BDC1C */ goto L_021BDE14;
|
|
L_021BDC20: ; // 0x21bdc20
|
|
/* 021BDC20 */ _t110 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDC20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 021BDC24 */ cpu->r[6] = 0x101F0000u;
|
|
/* 021BDC28 */ _t111 = cpu->r[6] + 0x0000635Cu;
|
|
/* 021BDC28 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 021BDC28 */ cpu->r[6] = _t111;
|
|
/* 021BDC2C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[29]);
|
|
/* 021BDC30 */ _t112 = cpu->r[6] + 0x00000008u;
|
|
/* 021BDC30 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 021BDC34 */ _t113 = cpu->r[6] + 0x00000004u;
|
|
/* 021BDC34 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 021BDC38 */ _t114 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDC38 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[7]);
|
|
/* 021BDC3C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDC3C */ _t116 = _t115 & 0x00000001u;
|
|
/* 021BDC3C */ if (_t116) goto L_021BDC40; else goto L_021BDCF4;
|
|
L_021BDC40: ; // 0x21bdc40
|
|
/* 021BDC40 */ _t117 = cpu->r[1] + 0x00000030u;
|
|
/* 021BDC40 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[31]);
|
|
/* 021BDC44 */ cpu->r[11] = 0x10030000u;
|
|
/* 021BDC48 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BDC4C */ _t118 = cpu->r[11] + 0xFFFFB220u;
|
|
/* 021BDC4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 021BDC50 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BDC54 */ _t119 = cpu->r[4] + 0xFFFFB218u;
|
|
/* 021BDC54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 021BDC58 */ _t120 = cpu->r[9] + 0xFFFFB240u;
|
|
/* 021BDC58 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 021BDC5C */ _t121 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BDC5C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[7]);
|
|
/* 021BDC60 */ _t122 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDC60 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[7]);
|
|
/* 021BDC64 */ _ft123 = sqrt(cpu->f[12]);
|
|
/* 021BDC64 */ _ft124 = (double)(int32_t)0x00000001u;
|
|
/* 021BDC64 */ cpu->f[9] = _ft124 / _ft123;
|
|
/* 021BDC68 */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 021BDC6C */ cpu->f[6] = cpu->f[9] * cpu->f[30];
|
|
/* 021BDC70 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[12], -(cpu->f[8]));
|
|
/* 021BDC74 */ cpu->f[9] = cpu->f[0] * cpu->f[6];
|
|
/* 021BDC78 */ _t125 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDC78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 021BDC7C */ _t126 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDC7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 021BDC80 */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 021BDC84 */ /* nop */
|
|
/* 021BDC88 */ _t127 = cpu->r[1] + 0x00000028u;
|
|
/* 021BDC88 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[12]);
|
|
/* 021BDC8C */ cpu->r[7] = 0x101F0000u;
|
|
/* 021BDC90 */ _t128 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDC90 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[11]);
|
|
/* 021BDC94 */ /* nop */
|
|
/* 021BDC98 */ _t129 = cpu->r[7] + 0x00006344u;
|
|
/* 021BDC98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 021BDC98 */ cpu->r[7] = _t129;
|
|
/* 021BDC9C */ /* nop */
|
|
/* 021BDCA0 */ _t130 = cpu->r[25] + 0x00000000u;
|
|
/* 021BDCA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 021BDCA4 */ _t131 = cpu->r[1] + 0x00000014u;
|
|
/* 021BDCA4 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[11]);
|
|
/* 021BDCA8 */ _t132 = cpu->r[1] + 0x00000020u;
|
|
/* 021BDCA8 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[9]);
|
|
/* 021BDCAC */ cpu->r[4] = 0x10030000u;
|
|
/* 021BDCB0 */ _t133 = cpu->r[7] + 0x00000004u;
|
|
/* 021BDCB0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 021BDCB4 */ _t134 = cpu->r[25] + 0x00000004u;
|
|
/* 021BDCB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 021BDCB8 */ _t135 = cpu->r[1] + 0x00000018u;
|
|
/* 021BDCB8 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[12]);
|
|
/* 021BDCBC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021BDCC0 */ _t136 = cpu->r[7] + 0x00000008u;
|
|
/* 021BDCC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 021BDCC4 */ cpu->r[4] = cpu->r[4] + 0xFFFFB25Cu;
|
|
/* 021BDCC8 */ _t137 = cpu->r[1] + 0x00000024u;
|
|
/* 021BDCC8 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[10]);
|
|
/* 021BDCCC */ cpu->r[5] = 0x000001A4u;
|
|
/* 021BDCD0 */ _t138 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BDCD0 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[13]);
|
|
/* 021BDCD4 */ Gambit_fn_0204D380(cpu);
|
|
/* 021BDCD8 */ cpu->r[27] = 0x10030000u;
|
|
/* 021BDCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BDCE0 */ _t139 = cpu->r[30] + 0x00000004u;
|
|
/* 021BDCE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021BDCE4 */ cpu->r[27] = cpu->r[27] + 0xFFFFB1E0u;
|
|
/* 021BDCE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BDCEC */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDCEC */ _t141 = _t140 & 0x00000001u;
|
|
/* 021BDCEC */ if (_t141) goto L_021BDF3C; else goto L_021BDCF0;
|
|
L_021BDCF0: ; // 0x21bdcf0
|
|
/* 021BDCF0 */ goto L_021BDE14;
|
|
L_021BDCF4: ; // 0x21bdcf4
|
|
/* 021BDCF4 */ cpu->r[7] = 0x10030000u;
|
|
/* 021BDCF8 */ _t142 = cpu->r[7] + 0xFFFFB218u;
|
|
/* 021BDCF8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 021BDCFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
|
|
/* 021BDD00 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDD00 */ _t144 = _t143 & 0x00000001u;
|
|
/* 021BDD00 */ if (_t144) goto L_021BDD6C; else goto L_021BDD04;
|
|
L_021BDD04: ; // 0x21bdd04
|
|
/* 021BDD04 */ _t145 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BDD04 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[10]);
|
|
/* 021BDD08 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021BDD0C */ _t146 = cpu->r[25] + 0x00000000u;
|
|
/* 021BDD0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 021BDD10 */ _t147 = cpu->r[7] + 0x00006344u;
|
|
/* 021BDD10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 021BDD10 */ cpu->r[7] = _t147;
|
|
/* 021BDD14 */ _t148 = cpu->r[1] + 0x00000028u;
|
|
/* 021BDD14 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[12]);
|
|
/* 021BDD18 */ _t149 = cpu->r[7] + 0x00000004u;
|
|
/* 021BDD18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 021BDD1C */ _t150 = cpu->r[25] + 0x00000004u;
|
|
/* 021BDD1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 021BDD20 */ _t151 = cpu->r[1] + 0x00000018u;
|
|
/* 021BDD20 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[12]);
|
|
/* 021BDD24 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BDD28 */ _t152 = cpu->r[1] + 0x00000024u;
|
|
/* 021BDD28 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[10]);
|
|
/* 021BDD2C */ _t153 = cpu->r[1] + 0x00000030u;
|
|
/* 021BDD2C */ rbrew_write_f32(cpu->mem, _t153, cpu->f[8]);
|
|
/* 021BDD30 */ _t154 = cpu->r[7] + 0x00000008u;
|
|
/* 021BDD30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 021BDD34 */ cpu->r[4] = cpu->r[4] + 0xFFFFB25Cu;
|
|
/* 021BDD38 */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 021BDD38 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[9]);
|
|
/* 021BDD3C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021BDD40 */ _t156 = cpu->r[1] + 0x00000014u;
|
|
/* 021BDD40 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[11]);
|
|
/* 021BDD44 */ cpu->r[5] = 0x000001A4u;
|
|
/* 021BDD48 */ _t157 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BDD48 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[13]);
|
|
/* 021BDD4C */ Gambit_fn_0204D380(cpu);
|
|
/* 021BDD50 */ cpu->r[27] = 0x10030000u;
|
|
/* 021BDD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BDD58 */ _t158 = cpu->r[30] + 0x00000004u;
|
|
/* 021BDD58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t158);
|
|
/* 021BDD5C */ cpu->r[27] = cpu->r[27] + 0xFFFFB1E0u;
|
|
/* 021BDD60 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BDD64 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDD64 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021BDD64 */ if (_t160) goto L_021BDF3C; else goto L_021BDD68;
|
|
L_021BDD68: ; // 0x21bdd68
|
|
/* 021BDD68 */ goto L_021BDE14;
|
|
L_021BDD6C: ; // 0x21bdd6c
|
|
/* 021BDD6C */ _t161 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BDD6C */ rbrew_write_f32(cpu->mem, _t161, cpu->f[29]);
|
|
/* 021BDD70 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BDD74 */ _t162 = cpu->r[1] + 0x00000030u;
|
|
/* 021BDD74 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[31]);
|
|
/* 021BDD78 */ cpu->r[11] = 0x10030000u;
|
|
/* 021BDD7C */ _t163 = cpu->r[12] + 0xFFFFB240u;
|
|
/* 021BDD7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 021BDD80 */ _t164 = cpu->r[11] + 0xFFFFB220u;
|
|
/* 021BDD80 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 021BDD84 */ _t165 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDD84 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[29]);
|
|
/* 021BDD88 */ _ft166 = sqrt(cpu->f[10]);
|
|
/* 021BDD88 */ _ft167 = (double)(int32_t)0x00000001u;
|
|
/* 021BDD88 */ cpu->f[11] = _ft167 / _ft166;
|
|
/* 021BDD8C */ cpu->f[0] = cpu->f[11] * cpu->f[11];
|
|
/* 021BDD90 */ cpu->f[6] = cpu->f[11] * cpu->f[30];
|
|
/* 021BDD94 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[9]));
|
|
/* 021BDD98 */ cpu->f[11] = cpu->f[0] * cpu->f[6];
|
|
/* 021BDD9C */ _t168 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDD9C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 021BDDA0 */ _t169 = cpu->r[25] + 0x00000000u;
|
|
/* 021BDDA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 021BDDA4 */ _t170 = cpu->r[25] + 0x00000004u;
|
|
/* 021BDDA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 021BDDA8 */ _t171 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDDA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 021BDDAC */ cpu->f[8] = cpu->f[8] * cpu->f[11];
|
|
/* 021BDDB0 */ /* nop */
|
|
/* 021BDDB4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021BDDB8 */ _t172 = cpu->r[1] + 0x00000028u;
|
|
/* 021BDDB8 */ rbrew_write_f32(cpu->mem, _t172, cpu->f[12]);
|
|
/* 021BDDBC */ /* nop */
|
|
/* 021BDDC0 */ _t173 = cpu->r[7] + 0x00006344u;
|
|
/* 021BDDC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 021BDDC0 */ cpu->r[7] = _t173;
|
|
/* 021BDDC4 */ _t174 = cpu->r[7] + 0x00000004u;
|
|
/* 021BDDC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 021BDDC8 */ _t175 = cpu->r[1] + 0x00000024u;
|
|
/* 021BDDC8 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[10]);
|
|
/* 021BDDCC */ _t176 = cpu->r[1] + 0x00000018u;
|
|
/* 021BDDCC */ rbrew_write_f32(cpu->mem, _t176, cpu->f[12]);
|
|
/* 021BDDD0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BDDD4 */ /* nop */
|
|
/* 021BDDD8 */ cpu->r[4] = cpu->r[4] + 0xFFFFB25Cu;
|
|
/* 021BDDDC */ _t177 = cpu->r[7] + 0x00000008u;
|
|
/* 021BDDDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 021BDDE0 */ _t178 = cpu->r[1] + 0x00000014u;
|
|
/* 021BDDE0 */ rbrew_write_f32(cpu->mem, _t178, cpu->f[11]);
|
|
/* 021BDDE4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 021BDDE8 */ _t179 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDDE8 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[8]);
|
|
/* 021BDDEC */ _t180 = cpu->r[1] + 0x00000020u;
|
|
/* 021BDDEC */ rbrew_write_f32(cpu->mem, _t180, cpu->f[9]);
|
|
/* 021BDDF0 */ cpu->r[5] = 0x000001A4u;
|
|
/* 021BDDF4 */ _t181 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BDDF4 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[13]);
|
|
/* 021BDDF8 */ Gambit_fn_0204D380(cpu);
|
|
/* 021BDDFC */ cpu->r[27] = 0x10030000u;
|
|
/* 021BDE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BDE04 */ _t182 = cpu->r[30] + 0x00000004u;
|
|
/* 021BDE04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t182);
|
|
/* 021BDE08 */ cpu->r[27] = cpu->r[27] + 0xFFFFB1E0u;
|
|
/* 021BDE0C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BDE10 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDE10 */ _t184 = _t183 & 0x00000001u;
|
|
/* 021BDE10 */ if (_t184) goto L_021BDF3C; else goto L_021BDE14;
|
|
L_021BDE14: ; // 0x21bde14
|
|
/* 021BDE14 */ _t185 = cpu->r[12] + 0x00000304u;
|
|
/* 021BDE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t185);
|
|
/* 021BDE18 */ cpu->ctr = cpu->r[0];
|
|
/* 021BDE1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BDE20 */ _t186 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BDE20 */ rbrew_write32(cpu->mem, _t186, cpu->r[29]);
|
|
/* 021BDE24 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BDE28 */ cpu->r[4] = 0x00000004u;
|
|
/* 021BDE2C */ _t187 = cpu->r[1] + 0x00000090u;
|
|
/* 021BDE2C */ rbrew_write32(cpu->mem, _t187, cpu->r[29]);
|
|
/* 021BDE30 */ cpu->r[5] = 0x00000007u;
|
|
/* 021BDE34 */ _t188 = cpu->r[1] + 0x00000094u;
|
|
/* 021BDE34 */ rbrew_write32(cpu->mem, _t188, cpu->r[27]);
|
|
/* 021BDE38 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BDE3C */ cpu->r[31] = 0x101E0000u;
|
|
/* 021BDE40 */ cpu->r[31] = cpu->r[31] + 0x000010ACu;
|
|
/* 021BDE44 */ _t189 = cpu->r[31] + 0x00000004u;
|
|
/* 021BDE44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t189);
|
|
/* 021BDE48 */ _t190 = cpu->r[12] + 0x00000014u;
|
|
/* 021BDE48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t190);
|
|
/* 021BDE4C */ cpu->ctr = cpu->r[4];
|
|
/* 021BDE50 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BDE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BDE58 */ _t191 = cpu->r[31] + 0x00000000u;
|
|
/* 021BDE58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t191);
|
|
/* 021BDE5C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BDE60 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BDE64 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BDE68 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BDE6C */ _t192 = cpu->r[1] + 0x00000038u;
|
|
/* 021BDE6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 021BDE70 */ _t193 = cpu->r[1] + 0x00000018u;
|
|
/* 021BDE70 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 021BDE74 */ _t194 = cpu->r[1] + 0x00000068u;
|
|
/* 021BDE74 */ rbrew_write_f32(cpu->mem, _t194, cpu->f[8]);
|
|
/* 021BDE78 */ _t195 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BDE78 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[9]);
|
|
/* 021BDE7C */ _t196 = cpu->r[1] + 0x00000034u;
|
|
/* 021BDE7C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 021BDE80 */ _t197 = cpu->r[1] + 0x00000030u;
|
|
/* 021BDE80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t197);
|
|
/* 021BDE84 */ _t198 = cpu->r[1] + 0x00000084u;
|
|
/* 021BDE84 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[9]);
|
|
/* 021BDE88 */ _t199 = cpu->r[1] + 0x00000074u;
|
|
/* 021BDE88 */ rbrew_write_f32(cpu->mem, _t199, cpu->f[13]);
|
|
/* 021BDE8C */ _t200 = cpu->r[1] + 0x00000020u;
|
|
/* 021BDE8C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t200);
|
|
/* 021BDE90 */ _t201 = cpu->r[1] + 0x00000014u;
|
|
/* 021BDE90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t201);
|
|
/* 021BDE94 */ _t202 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BDE94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t202);
|
|
/* 021BDE98 */ _t203 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BDE98 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t203);
|
|
/* 021BDE9C */ _t204 = cpu->r[1] + 0x00000024u;
|
|
/* 021BDE9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 021BDEA0 */ _t205 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BDEA0 */ rbrew_write_f32(cpu->mem, _t205, cpu->f[0]);
|
|
/* 021BDEA4 */ _t206 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BDEA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t206);
|
|
/* 021BDEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BDEAC */ _t207 = cpu->r[1] + 0x00000064u;
|
|
/* 021BDEAC */ rbrew_write_f32(cpu->mem, _t207, cpu->f[7]);
|
|
/* 021BDEB0 */ _t208 = cpu->r[1] + 0x00000078u;
|
|
/* 021BDEB0 */ rbrew_write_f32(cpu->mem, _t208, cpu->f[0]);
|
|
/* 021BDEB4 */ _t209 = cpu->r[1] + 0x00000060u;
|
|
/* 021BDEB4 */ rbrew_write_f32(cpu->mem, _t209, cpu->f[6]);
|
|
/* 021BDEB8 */ _t210 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BDEB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t210);
|
|
/* 021BDEBC */ _t211 = cpu->r[1] + 0x00000070u;
|
|
/* 021BDEBC */ rbrew_write_f32(cpu->mem, _t211, cpu->f[12]);
|
|
/* 021BDEC0 */ _t212 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BDEC0 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[6]);
|
|
/* 021BDEC4 */ _t213 = cpu->r[1] + 0x00000040u;
|
|
/* 021BDEC4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t213);
|
|
/* 021BDEC8 */ _t214 = cpu->r[1] + 0x00000028u;
|
|
/* 021BDEC8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 021BDECC */ _t215 = cpu->r[1] + 0x00000088u;
|
|
/* 021BDECC */ rbrew_write_f32(cpu->mem, _t215, cpu->f[10]);
|
|
/* 021BDED0 */ _t216 = cpu->r[1] + 0x00000080u;
|
|
/* 021BDED0 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[8]);
|
|
/* 021BDED4 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDED4 */ _t218 = _t217 & 0x00000001u;
|
|
/* 021BDED4 */ if (_t218) goto L_021BE5F8; else goto L_021BDED8;
|
|
L_021BDED8: ; // 0x21bded8
|
|
/* 021BDED8 */ _t219 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021BDED8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t219);
|
|
/* 021BDEDC */ _t220 = cpu->r[1] + 0x00000090u;
|
|
/* 021BDEDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t220);
|
|
/* 021BDEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 021BDEE4 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDEE4 */ _t222 = _t221 & 0x00000001u;
|
|
/* 021BDEE4 */ if (_t222) goto L_021BDEE8; else goto L_021BE5F8;
|
|
L_021BDEE8: ; // 0x21bdee8
|
|
/* 021BDEE8 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BDEEC */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 021BDEF0 */ Gambit_fn_02C69510(cpu);
|
|
/* 021BDEF4 */ _t223 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BDEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 021BDEF8 */ _t224 = cpu->r[31] + 0x00000074u;
|
|
/* 021BDEF8 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[29]);
|
|
/* 021BDEFC */ _t225 = cpu->r[31] + 0x00000078u;
|
|
/* 021BDEFC */ rbrew_write_f32(cpu->mem, _t225, cpu->f[29]);
|
|
/* 021BDF00 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 021BDF04 */ _t226 = cpu->r[31] + 0x00000070u;
|
|
/* 021BDF04 */ rbrew_write_f32(cpu->mem, _t226, cpu->f[29]);
|
|
/* 021BDF08 */ _t227 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BDF08 */ rbrew_write32(cpu->mem, _t227, cpu->r[0]);
|
|
/* 021BDF0C */ /* nop */
|
|
/* 021BDF10 */ _t228 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BDF10 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t228);
|
|
/* 021BDF14 */ _t229 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BDF14 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t229);
|
|
/* 021BDF18 */ _t230 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BDF18 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t230);
|
|
/* 021BDF1C */ _t231 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BDF1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t231);
|
|
/* 021BDF20 */ _t232 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BDF20 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t232);
|
|
/* 021BDF24 */ _t233 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BDF24 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t233);
|
|
/* 021BDF28 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BDF28 */ _t235 = _t234 & 0x00000001u;
|
|
/* 021BDF28 */ if (_t235) goto L_021BDF2C; // else: addr-0 trap, fall-through
|
|
L_021BDF2C: ; // 0x21bdf2c
|
|
/* 021BDF2C */ _t236 = cpu->r[1] + 0x00000104u;
|
|
/* 021BDF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t236);
|
|
/* 021BDF30 */ cpu->lr = cpu->r[0];
|
|
/* 021BDF34 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BDF38 */ return;
|
|
L_021BDF3C: ; // 0x21bdf3c
|
|
/* 021BDF3C */ _t237 = cpu->r[12] + 0x00000294u;
|
|
/* 021BDF3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t237);
|
|
/* 021BDF40 */ cpu->r[31] = 0x10110000u;
|
|
/* 021BDF44 */ cpu->r[9] = 0x10030000u;
|
|
/* 021BDF48 */ cpu->ctr = cpu->r[5];
|
|
/* 021BDF4C */ cpu->r[31] = cpu->r[31] + 0x000053A0u;
|
|
/* 021BDF50 */ _t238 = cpu->r[9] + 0xFFFFB244u;
|
|
/* 021BDF50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 021BDF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BDF58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 021BDF5C */ _t239 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BDF5C */ _t240 = _t239 & 0x00000001u;
|
|
/* 021BDF5C */ if (_t240) goto L_021BDF94; else goto L_021BDF60;
|
|
L_021BDF60: ; // 0x21bdf60
|
|
/* 021BDF60 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BDF60 */ _t242 = _t241 & 0x00000001u;
|
|
/* 021BDF60 */ if (_t242) goto L_021BE384; else goto L_021BDF64;
|
|
L_021BDF64: ; // 0x21bdf64
|
|
/* 021BDF64 */ /* nop */
|
|
/* 021BDF68 */ _t243 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BDF68 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t243);
|
|
/* 021BDF6C */ _t244 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BDF6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t244);
|
|
/* 021BDF70 */ _t245 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BDF70 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t245);
|
|
/* 021BDF74 */ _t246 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BDF74 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t246);
|
|
/* 021BDF78 */ _t247 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BDF78 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t247);
|
|
/* 021BDF7C */ _t248 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BDF7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t248);
|
|
/* 021BDF80 */ _t249 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BDF80 */ _t250 = _t249 & 0x00000001u;
|
|
/* 021BDF80 */ if (_t250) goto L_021BDF84; // else: addr-0 trap, fall-through
|
|
L_021BDF84: ; // 0x21bdf84
|
|
/* 021BDF84 */ _t251 = cpu->r[1] + 0x00000104u;
|
|
/* 021BDF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t251);
|
|
/* 021BDF88 */ cpu->lr = cpu->r[0];
|
|
/* 021BDF8C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BDF90 */ return;
|
|
L_021BDF94: ; // 0x21bdf94
|
|
/* 021BDF94 */ _t252 = cpu->r[30] + 0x00000004u;
|
|
/* 021BDF94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t252);
|
|
/* 021BDF98 */ _t253 = cpu->r[9] + 0x0000028Cu;
|
|
/* 021BDF98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t253);
|
|
/* 021BDF9C */ cpu->ctr = cpu->r[11];
|
|
/* 021BDFA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BDFA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BDFA8 */ _t254 = cpu->r[25] + 0x00000000u;
|
|
/* 021BDFA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t254);
|
|
/* 021BDFAC */ _t255 = cpu->r[30] + 0x00000068u;
|
|
/* 021BDFAC */ rbrew_write_f32(cpu->mem, _t255, cpu->f[11]);
|
|
/* 021BDFB0 */ _t256 = cpu->r[25] + 0x00000004u;
|
|
/* 021BDFB0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t256);
|
|
/* 021BDFB4 */ _t257 = cpu->r[30] + 0x0000006Cu;
|
|
/* 021BDFB4 */ rbrew_write_f32(cpu->mem, _t257, cpu->f[12]);
|
|
/* 021BDFB8 */ _t258 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDFB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t258);
|
|
/* 021BDFBC */ _t259 = cpu->r[30] + 0x00000070u;
|
|
/* 021BDFBC */ rbrew_write_f32(cpu->mem, _t259, cpu->f[13]);
|
|
/* 021BDFC0 */ _t260 = cpu->r[24] + 0x00000000u;
|
|
/* 021BDFC0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t260);
|
|
/* 021BDFC4 */ _t261 = cpu->r[30] + 0x00000074u;
|
|
/* 021BDFC4 */ rbrew_write_f32(cpu->mem, _t261, cpu->f[0]);
|
|
/* 021BDFC8 */ _t262 = cpu->r[24] + 0x00000004u;
|
|
/* 021BDFC8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t262);
|
|
/* 021BDFCC */ _t263 = cpu->r[30] + 0x00000078u;
|
|
/* 021BDFCC */ rbrew_write_f32(cpu->mem, _t263, cpu->f[6]);
|
|
/* 021BDFD0 */ _t264 = cpu->r[24] + 0x00000008u;
|
|
/* 021BDFD0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t264);
|
|
/* 021BDFD4 */ _t265 = cpu->r[30] + 0x0000007Cu;
|
|
/* 021BDFD4 */ rbrew_write_f32(cpu->mem, _t265, cpu->f[7]);
|
|
/* 021BDFD8 */ /* nop */
|
|
/* 021BDFDC */ /* nop */
|
|
/* 021BDFE0 */ _t266 = cpu->r[1] + 0x00000010u;
|
|
/* 021BDFE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t266);
|
|
/* 021BDFE4 */ /* nop */
|
|
/* 021BDFE8 */ /* nop */
|
|
/* 021BDFEC */ _t267 = cpu->r[25] + 0x00000008u;
|
|
/* 021BDFEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t267);
|
|
/* 021BDFF0 */ cpu->f[6] = fma(cpu->f[13], cpu->f[0], cpu->f[11]);
|
|
/* 021BDFF4 */ cpu->r[25] = cpu->r[3];
|
|
/* 021BDFF8 */ cpu->f[30] = fabs(cpu->f[6]);
|
|
/* 021BDFFC */ Gambit_fn_021F6FE8(cpu);
|
|
/* 021BE000 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BE004 */ cpu->r[10] = 0x43300000u;
|
|
/* 021BE008 */ _t268 = cpu->r[4] + 0xFFFFB248u;
|
|
/* 021BE008 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t268);
|
|
/* 021BE00C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 021BE010 */ _t269 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE010 */ rbrew_write32(cpu->mem, _t269, cpu->r[10]);
|
|
/* 021BE014 */ _t270 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BE014 */ rbrew_write32(cpu->mem, _t270, cpu->r[0]);
|
|
/* 021BE018 */ _t271 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE018 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t271);
|
|
/* 021BE01C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 021BE020 */ cpu->f[9] = cpu->f[8] - cpu->f[10];
|
|
/* 021BE024 */ cpu->r[9] = cpu->r[31] + cpu->r[0];
|
|
/* 021BE028 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 021BE02C */ _t272 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021BE02C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t272);
|
|
/* 021BE030 */ cpu->f[10] = cpu->f[11] * cpu->f[7];
|
|
/* 021BE034 */ _t273 = cpu->r[9] + 0x00000008u;
|
|
/* 021BE034 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t273);
|
|
/* 021BE038 */ cpu->f[13] = fma(cpu->f[10], cpu->f[31], cpu->f[0]);
|
|
/* 021BE03C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 021BE040 */ _t274 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE040 */ _t275 = _t274 & 0x00000001u;
|
|
/* 021BE040 */ if (_t275) goto L_021BE044; else goto L_021BE124;
|
|
L_021BE044: ; // 0x21be044
|
|
/* 021BE044 */ _t276 = cpu->r[26] + 0x00000000u;
|
|
/* 021BE044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t276);
|
|
/* 021BE048 */ cpu->r[4] = cpu->r[30];
|
|
/* 021BE04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BE050 */ _t277 = cpu->r[8] + 0x00000274u;
|
|
/* 021BE050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t277);
|
|
/* 021BE054 */ _t278 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE054 */ _t279 = _t278 & 0x00000001u;
|
|
/* 021BE054 */ if (_t279) goto L_021BE058; else goto L_021BE08C;
|
|
L_021BE058: ; // 0x21be058
|
|
/* 021BE058 */ Gambit_fn_021EFB34(cpu);
|
|
/* 021BE05C */ /* nop */
|
|
/* 021BE060 */ _t280 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BE060 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t280);
|
|
/* 021BE064 */ _t281 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BE064 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t281);
|
|
/* 021BE068 */ _t282 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BE068 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t282);
|
|
/* 021BE06C */ _t283 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE06C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t283);
|
|
/* 021BE070 */ _t284 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BE070 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t284);
|
|
/* 021BE074 */ _t285 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BE074 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t285);
|
|
/* 021BE078 */ _t286 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE078 */ _t287 = _t286 & 0x00000001u;
|
|
/* 021BE078 */ if (_t287) goto L_021BE07C; // else: addr-0 trap, fall-through
|
|
L_021BE07C: ; // 0x21be07c
|
|
/* 021BE07C */ _t288 = cpu->r[1] + 0x00000104u;
|
|
/* 021BE07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t288);
|
|
/* 021BE080 */ cpu->lr = cpu->r[0];
|
|
/* 021BE084 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BE088 */ return;
|
|
L_021BE08C: ; // 0x21be08c
|
|
/* 021BE08C */ Gambit_fn_021EFBA0(cpu);
|
|
/* 021BE090 */ _t289 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE090 */ rbrew_write32(cpu->mem, _t289, cpu->r[29]);
|
|
/* 021BE094 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE098 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE09C */ _t290 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE09C */ rbrew_write32(cpu->mem, _t290, cpu->r[29]);
|
|
/* 021BE0A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BE0A4 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE0A8 */ _t291 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE0A8 */ rbrew_write32(cpu->mem, _t291, cpu->r[27]);
|
|
/* 021BE0AC */ cpu->r[5] = cpu->r[5] + 0xFFFFB250u;
|
|
/* 021BE0B0 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BE0B4 */ _t292 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BE0B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t292);
|
|
/* 021BE0B8 */ _t293 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE0B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t293);
|
|
/* 021BE0BC */ _t294 = cpu->r[1] + 0x00000064u;
|
|
/* 021BE0BC */ rbrew_write_f32(cpu->mem, _t294, cpu->f[10]);
|
|
/* 021BE0C0 */ _t295 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE0C0 */ rbrew_write_f32(cpu->mem, _t295, cpu->f[8]);
|
|
/* 021BE0C4 */ _t296 = cpu->r[1] + 0x00000038u;
|
|
/* 021BE0C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t296);
|
|
/* 021BE0C8 */ _t297 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BE0C8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t297);
|
|
/* 021BE0CC */ _t298 = cpu->r[1] + 0x00000030u;
|
|
/* 021BE0CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t298);
|
|
/* 021BE0D0 */ _t299 = cpu->r[1] + 0x00000024u;
|
|
/* 021BE0D0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t299);
|
|
/* 021BE0D4 */ _t300 = cpu->r[1] + 0x00000020u;
|
|
/* 021BE0D4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t300);
|
|
/* 021BE0D8 */ _t301 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE0D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t301);
|
|
/* 021BE0DC */ _t302 = cpu->r[1] + 0x00000060u;
|
|
/* 021BE0DC */ rbrew_write_f32(cpu->mem, _t302, cpu->f[9]);
|
|
/* 021BE0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BE0E4 */ _t303 = cpu->r[1] + 0x00000070u;
|
|
/* 021BE0E4 */ rbrew_write_f32(cpu->mem, _t303, cpu->f[6]);
|
|
/* 021BE0E8 */ _t304 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BE0E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t304);
|
|
/* 021BE0EC */ _t305 = cpu->r[1] + 0x00000074u;
|
|
/* 021BE0EC */ rbrew_write_f32(cpu->mem, _t305, cpu->f[7]);
|
|
/* 021BE0F0 */ _t306 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BE0F0 */ rbrew_write_f32(cpu->mem, _t306, cpu->f[9]);
|
|
/* 021BE0F4 */ _t307 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE0F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t307);
|
|
/* 021BE0F8 */ _t308 = cpu->r[1] + 0x00000078u;
|
|
/* 021BE0F8 */ rbrew_write_f32(cpu->mem, _t308, cpu->f[8]);
|
|
/* 021BE0FC */ _t309 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BE0FC */ rbrew_write_f32(cpu->mem, _t309, cpu->f[0]);
|
|
/* 021BE100 */ _t310 = cpu->r[1] + 0x00000034u;
|
|
/* 021BE100 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t310);
|
|
/* 021BE104 */ _t311 = cpu->r[1] + 0x00000028u;
|
|
/* 021BE104 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t311);
|
|
/* 021BE108 */ _t312 = cpu->r[1] + 0x00000084u;
|
|
/* 021BE108 */ rbrew_write_f32(cpu->mem, _t312, cpu->f[11]);
|
|
/* 021BE10C */ _t313 = cpu->r[1] + 0x00000080u;
|
|
/* 021BE10C */ rbrew_write_f32(cpu->mem, _t313, cpu->f[10]);
|
|
/* 021BE110 */ _t314 = cpu->r[1] + 0x00000040u;
|
|
/* 021BE110 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t314);
|
|
/* 021BE114 */ _t315 = cpu->r[1] + 0x00000068u;
|
|
/* 021BE114 */ rbrew_write_f32(cpu->mem, _t315, cpu->f[13]);
|
|
/* 021BE118 */ _t316 = cpu->r[1] + 0x00000088u;
|
|
/* 021BE118 */ rbrew_write_f32(cpu->mem, _t316, cpu->f[12]);
|
|
/* 021BE11C */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE11C */ _t318 = _t317 & 0x00000001u;
|
|
/* 021BE11C */ if (_t318) goto L_021BE5F8; else goto L_021BE120;
|
|
L_021BE120: ; // 0x21be120
|
|
/* 021BE120 */ goto L_021BE320;
|
|
L_021BE124: ; // 0x21be124
|
|
/* 021BE124 */ Gambit_fn_021F6FF4(cpu);
|
|
/* 021BE128 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BE12C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 021BE130 */ _t319 = cpu->r[12] + 0xFFFFB248u;
|
|
/* 021BE130 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t319);
|
|
/* 021BE134 */ cpu->r[12] = 0x43300000u;
|
|
/* 021BE138 */ _t320 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BE138 */ rbrew_write32(cpu->mem, _t320, cpu->r[0]);
|
|
/* 021BE13C */ _t321 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE13C */ rbrew_write32(cpu->mem, _t321, cpu->r[12]);
|
|
/* 021BE140 */ _t322 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE140 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t322);
|
|
/* 021BE144 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 021BE148 */ cpu->f[13] = cpu->f[12] - cpu->f[9];
|
|
/* 021BE14C */ cpu->r[11] = cpu->r[31] + cpu->r[10];
|
|
/* 021BE150 */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 021BE154 */ _t323 = cpu->r[11] + 0x0000000Cu;
|
|
/* 021BE154 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t323);
|
|
/* 021BE158 */ cpu->f[0] = cpu->f[6] * cpu->f[9];
|
|
/* 021BE15C */ _t324 = cpu->r[11] + 0x00000008u;
|
|
/* 021BE15C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t324);
|
|
/* 021BE160 */ cpu->f[6] = fma(cpu->f[0], cpu->f[31], cpu->f[7]);
|
|
/* 021BE164 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[6]);
|
|
/* 021BE168 */ _t325 = cpu->r[26] + 0x00000000u;
|
|
/* 021BE168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t325);
|
|
/* 021BE16C */ cpu->r[4] = cpu->r[30];
|
|
/* 021BE170 */ _t326 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE170 */ _t327 = _t326 & 0x00000001u;
|
|
/* 021BE170 */ if (_t327) goto L_021BE174; else goto L_021BE24C;
|
|
L_021BE174: ; // 0x21be174
|
|
/* 021BE174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BE178 */ _t328 = cpu->r[11] + 0x00000274u;
|
|
/* 021BE178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t328);
|
|
/* 021BE17C */ _t329 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE17C */ _t330 = _t329 & 0x00000001u;
|
|
/* 021BE17C */ if (_t330) goto L_021BE180; else goto L_021BE1B4;
|
|
L_021BE180: ; // 0x21be180
|
|
/* 021BE180 */ Gambit_fn_021EFB58(cpu);
|
|
/* 021BE184 */ /* nop */
|
|
/* 021BE188 */ _t331 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BE188 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t331);
|
|
/* 021BE18C */ _t332 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BE18C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t332);
|
|
/* 021BE190 */ _t333 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BE190 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t333);
|
|
/* 021BE194 */ _t334 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE194 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t334);
|
|
/* 021BE198 */ _t335 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BE198 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t335);
|
|
/* 021BE19C */ _t336 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BE19C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t336);
|
|
/* 021BE1A0 */ _t337 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE1A0 */ _t338 = _t337 & 0x00000001u;
|
|
/* 021BE1A0 */ if (_t338) goto L_021BE1A4; // else: addr-0 trap, fall-through
|
|
L_021BE1A4: ; // 0x21be1a4
|
|
/* 021BE1A4 */ _t339 = cpu->r[1] + 0x00000104u;
|
|
/* 021BE1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t339);
|
|
/* 021BE1A8 */ cpu->lr = cpu->r[0];
|
|
/* 021BE1AC */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BE1B0 */ return;
|
|
L_021BE1B4: ; // 0x21be1b4
|
|
/* 021BE1B4 */ Gambit_fn_021EFBC4(cpu);
|
|
/* 021BE1B8 */ _t340 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE1B8 */ rbrew_write32(cpu->mem, _t340, cpu->r[29]);
|
|
/* 021BE1BC */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE1C0 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE1C4 */ _t341 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE1C4 */ rbrew_write32(cpu->mem, _t341, cpu->r[29]);
|
|
/* 021BE1C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BE1CC */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE1D0 */ _t342 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE1D0 */ rbrew_write32(cpu->mem, _t342, cpu->r[27]);
|
|
/* 021BE1D4 */ cpu->r[5] = cpu->r[5] + 0xFFFFB250u;
|
|
/* 021BE1D8 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BE1DC */ _t343 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BE1DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t343);
|
|
/* 021BE1E0 */ _t344 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE1E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t344);
|
|
/* 021BE1E4 */ _t345 = cpu->r[1] + 0x00000064u;
|
|
/* 021BE1E4 */ rbrew_write_f32(cpu->mem, _t345, cpu->f[10]);
|
|
/* 021BE1E8 */ _t346 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE1E8 */ rbrew_write_f32(cpu->mem, _t346, cpu->f[8]);
|
|
/* 021BE1EC */ _t347 = cpu->r[1] + 0x00000038u;
|
|
/* 021BE1EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t347);
|
|
/* 021BE1F0 */ _t348 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BE1F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 021BE1F4 */ _t349 = cpu->r[1] + 0x00000030u;
|
|
/* 021BE1F4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t349);
|
|
/* 021BE1F8 */ _t350 = cpu->r[1] + 0x00000024u;
|
|
/* 021BE1F8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t350);
|
|
/* 021BE1FC */ _t351 = cpu->r[1] + 0x00000020u;
|
|
/* 021BE1FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t351);
|
|
/* 021BE200 */ _t352 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t352);
|
|
/* 021BE204 */ _t353 = cpu->r[1] + 0x00000060u;
|
|
/* 021BE204 */ rbrew_write_f32(cpu->mem, _t353, cpu->f[9]);
|
|
/* 021BE208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BE20C */ _t354 = cpu->r[1] + 0x00000070u;
|
|
/* 021BE20C */ rbrew_write_f32(cpu->mem, _t354, cpu->f[6]);
|
|
/* 021BE210 */ _t355 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BE210 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t355);
|
|
/* 021BE214 */ _t356 = cpu->r[1] + 0x00000074u;
|
|
/* 021BE214 */ rbrew_write_f32(cpu->mem, _t356, cpu->f[7]);
|
|
/* 021BE218 */ _t357 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BE218 */ rbrew_write_f32(cpu->mem, _t357, cpu->f[9]);
|
|
/* 021BE21C */ _t358 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE21C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t358);
|
|
/* 021BE220 */ _t359 = cpu->r[1] + 0x00000078u;
|
|
/* 021BE220 */ rbrew_write_f32(cpu->mem, _t359, cpu->f[8]);
|
|
/* 021BE224 */ _t360 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BE224 */ rbrew_write_f32(cpu->mem, _t360, cpu->f[0]);
|
|
/* 021BE228 */ _t361 = cpu->r[1] + 0x00000034u;
|
|
/* 021BE228 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t361);
|
|
/* 021BE22C */ _t362 = cpu->r[1] + 0x00000028u;
|
|
/* 021BE22C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t362);
|
|
/* 021BE230 */ _t363 = cpu->r[1] + 0x00000084u;
|
|
/* 021BE230 */ rbrew_write_f32(cpu->mem, _t363, cpu->f[11]);
|
|
/* 021BE234 */ _t364 = cpu->r[1] + 0x00000080u;
|
|
/* 021BE234 */ rbrew_write_f32(cpu->mem, _t364, cpu->f[10]);
|
|
/* 021BE238 */ _t365 = cpu->r[1] + 0x00000040u;
|
|
/* 021BE238 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t365);
|
|
/* 021BE23C */ _t366 = cpu->r[1] + 0x00000068u;
|
|
/* 021BE23C */ rbrew_write_f32(cpu->mem, _t366, cpu->f[13]);
|
|
/* 021BE240 */ _t367 = cpu->r[1] + 0x00000088u;
|
|
/* 021BE240 */ rbrew_write_f32(cpu->mem, _t367, cpu->f[12]);
|
|
/* 021BE244 */ _t368 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE244 */ _t369 = _t368 & 0x00000001u;
|
|
/* 021BE244 */ if (_t369) goto L_021BE5F8; else goto L_021BE248;
|
|
L_021BE248: ; // 0x21be248
|
|
/* 021BE248 */ goto L_021BE320;
|
|
L_021BE24C: ; // 0x21be24c
|
|
/* 021BE24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 021BE250 */ _t370 = cpu->r[11] + 0x00000274u;
|
|
/* 021BE250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t370);
|
|
/* 021BE254 */ _t371 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE254 */ _t372 = _t371 & 0x00000001u;
|
|
/* 021BE254 */ if (_t372) goto L_021BE258; else goto L_021BE28C;
|
|
L_021BE258: ; // 0x21be258
|
|
/* 021BE258 */ Gambit_fn_021EFB7C(cpu);
|
|
/* 021BE25C */ /* nop */
|
|
/* 021BE260 */ _t373 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BE260 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t373);
|
|
/* 021BE264 */ _t374 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BE264 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t374);
|
|
/* 021BE268 */ _t375 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BE268 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t375);
|
|
/* 021BE26C */ _t376 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE26C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t376);
|
|
/* 021BE270 */ _t377 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BE270 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t377);
|
|
/* 021BE274 */ _t378 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BE274 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t378);
|
|
/* 021BE278 */ _t379 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE278 */ _t380 = _t379 & 0x00000001u;
|
|
/* 021BE278 */ if (_t380) goto L_021BE27C; // else: addr-0 trap, fall-through
|
|
L_021BE27C: ; // 0x21be27c
|
|
/* 021BE27C */ _t381 = cpu->r[1] + 0x00000104u;
|
|
/* 021BE27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t381);
|
|
/* 021BE280 */ cpu->lr = cpu->r[0];
|
|
/* 021BE284 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BE288 */ return;
|
|
L_021BE28C: ; // 0x21be28c
|
|
/* 021BE28C */ Gambit_fn_021EFBE8(cpu);
|
|
/* 021BE290 */ _t382 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE290 */ rbrew_write32(cpu->mem, _t382, cpu->r[29]);
|
|
/* 021BE294 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE298 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE29C */ _t383 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE29C */ rbrew_write32(cpu->mem, _t383, cpu->r[29]);
|
|
/* 021BE2A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BE2A4 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE2A8 */ _t384 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE2A8 */ rbrew_write32(cpu->mem, _t384, cpu->r[27]);
|
|
/* 021BE2AC */ cpu->r[5] = cpu->r[5] + 0xFFFFB250u;
|
|
/* 021BE2B0 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BE2B4 */ _t385 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BE2B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t385);
|
|
/* 021BE2B8 */ _t386 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE2B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t386);
|
|
/* 021BE2BC */ _t387 = cpu->r[1] + 0x00000064u;
|
|
/* 021BE2BC */ rbrew_write_f32(cpu->mem, _t387, cpu->f[10]);
|
|
/* 021BE2C0 */ _t388 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE2C0 */ rbrew_write_f32(cpu->mem, _t388, cpu->f[8]);
|
|
/* 021BE2C4 */ _t389 = cpu->r[1] + 0x00000038u;
|
|
/* 021BE2C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t389);
|
|
/* 021BE2C8 */ _t390 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BE2C8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t390);
|
|
/* 021BE2CC */ _t391 = cpu->r[1] + 0x00000030u;
|
|
/* 021BE2CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t391);
|
|
/* 021BE2D0 */ _t392 = cpu->r[1] + 0x00000024u;
|
|
/* 021BE2D0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t392);
|
|
/* 021BE2D4 */ _t393 = cpu->r[1] + 0x00000020u;
|
|
/* 021BE2D4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t393);
|
|
/* 021BE2D8 */ _t394 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE2D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t394);
|
|
/* 021BE2DC */ _t395 = cpu->r[1] + 0x00000060u;
|
|
/* 021BE2DC */ rbrew_write_f32(cpu->mem, _t395, cpu->f[9]);
|
|
/* 021BE2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BE2E4 */ _t396 = cpu->r[1] + 0x00000070u;
|
|
/* 021BE2E4 */ rbrew_write_f32(cpu->mem, _t396, cpu->f[6]);
|
|
/* 021BE2E8 */ _t397 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BE2E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t397);
|
|
/* 021BE2EC */ _t398 = cpu->r[1] + 0x00000074u;
|
|
/* 021BE2EC */ rbrew_write_f32(cpu->mem, _t398, cpu->f[7]);
|
|
/* 021BE2F0 */ _t399 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BE2F0 */ rbrew_write_f32(cpu->mem, _t399, cpu->f[9]);
|
|
/* 021BE2F4 */ _t400 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE2F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t400);
|
|
/* 021BE2F8 */ _t401 = cpu->r[1] + 0x00000078u;
|
|
/* 021BE2F8 */ rbrew_write_f32(cpu->mem, _t401, cpu->f[8]);
|
|
/* 021BE2FC */ _t402 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BE2FC */ rbrew_write_f32(cpu->mem, _t402, cpu->f[0]);
|
|
/* 021BE300 */ _t403 = cpu->r[1] + 0x00000034u;
|
|
/* 021BE300 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t403);
|
|
/* 021BE304 */ _t404 = cpu->r[1] + 0x00000028u;
|
|
/* 021BE304 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t404);
|
|
/* 021BE308 */ _t405 = cpu->r[1] + 0x00000084u;
|
|
/* 021BE308 */ rbrew_write_f32(cpu->mem, _t405, cpu->f[11]);
|
|
/* 021BE30C */ _t406 = cpu->r[1] + 0x00000080u;
|
|
/* 021BE30C */ rbrew_write_f32(cpu->mem, _t406, cpu->f[10]);
|
|
/* 021BE310 */ _t407 = cpu->r[1] + 0x00000040u;
|
|
/* 021BE310 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t407);
|
|
/* 021BE314 */ _t408 = cpu->r[1] + 0x00000068u;
|
|
/* 021BE314 */ rbrew_write_f32(cpu->mem, _t408, cpu->f[13]);
|
|
/* 021BE318 */ _t409 = cpu->r[1] + 0x00000088u;
|
|
/* 021BE318 */ rbrew_write_f32(cpu->mem, _t409, cpu->f[12]);
|
|
/* 021BE31C */ _t410 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE31C */ _t411 = _t410 & 0x00000001u;
|
|
/* 021BE31C */ if (_t411) goto L_021BE5F8; else goto L_021BE320;
|
|
L_021BE320: ; // 0x21be320
|
|
/* 021BE320 */ _t412 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021BE320 */ cpu->r[5] = rbrew_read32(cpu->mem, _t412);
|
|
/* 021BE324 */ _t413 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t413);
|
|
/* 021BE328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 021BE32C */ _t414 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE32C */ _t415 = _t414 & 0x00000001u;
|
|
/* 021BE32C */ if (_t415) goto L_021BE330; else goto L_021BE5F8;
|
|
L_021BE330: ; // 0x21be330
|
|
/* 021BE330 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE334 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 021BE338 */ Gambit_fn_02C69510(cpu);
|
|
/* 021BE33C */ _t416 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BE33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t416);
|
|
/* 021BE340 */ _t417 = cpu->r[31] + 0x00000074u;
|
|
/* 021BE340 */ rbrew_write_f32(cpu->mem, _t417, cpu->f[29]);
|
|
/* 021BE344 */ _t418 = cpu->r[31] + 0x00000078u;
|
|
/* 021BE344 */ rbrew_write_f32(cpu->mem, _t418, cpu->f[29]);
|
|
/* 021BE348 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 021BE34C */ _t419 = cpu->r[31] + 0x00000070u;
|
|
/* 021BE34C */ rbrew_write_f32(cpu->mem, _t419, cpu->f[29]);
|
|
/* 021BE350 */ _t420 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BE350 */ rbrew_write32(cpu->mem, _t420, cpu->r[0]);
|
|
/* 021BE354 */ /* nop */
|
|
/* 021BE358 */ _t421 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BE358 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t421);
|
|
/* 021BE35C */ _t422 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BE35C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t422);
|
|
/* 021BE360 */ _t423 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BE360 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t423);
|
|
/* 021BE364 */ _t424 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE364 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t424);
|
|
/* 021BE368 */ _t425 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BE368 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t425);
|
|
/* 021BE36C */ _t426 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BE36C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t426);
|
|
/* 021BE370 */ _t427 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE370 */ _t428 = _t427 & 0x00000001u;
|
|
/* 021BE370 */ if (_t428) goto L_021BE374; // else: addr-0 trap, fall-through
|
|
L_021BE374: ; // 0x21be374
|
|
/* 021BE374 */ _t429 = cpu->r[1] + 0x00000104u;
|
|
/* 021BE374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t429);
|
|
/* 021BE378 */ cpu->lr = cpu->r[0];
|
|
/* 021BE37C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BE380 */ return;
|
|
L_021BE384: ; // 0x21be384
|
|
/* 021BE384 */ /* nop */
|
|
/* 021BE388 */ /* nop */
|
|
/* 021BE38C */ _t430 = cpu->r[1] + 0x00000010u;
|
|
/* 021BE38C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t430);
|
|
/* 021BE390 */ /* nop */
|
|
/* 021BE394 */ /* nop */
|
|
/* 021BE398 */ _t431 = cpu->r[25] + 0x00000008u;
|
|
/* 021BE398 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t431);
|
|
/* 021BE39C */ cpu->f[11] = fma(cpu->f[9], cpu->f[10], cpu->f[7]);
|
|
/* 021BE3A0 */ cpu->f[30] = fabs(cpu->f[11]);
|
|
/* 021BE3A4 */ Gambit_fn_021F6FE8(cpu);
|
|
/* 021BE3A8 */ cpu->r[11] = 0x43300000u;
|
|
/* 021BE3AC */ cpu->r[8] = 0x10030000u;
|
|
/* 021BE3B0 */ _t432 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE3B0 */ rbrew_write32(cpu->mem, _t432, cpu->r[11]);
|
|
/* 021BE3B4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 021BE3B8 */ _t433 = cpu->r[8] + 0xFFFFB248u;
|
|
/* 021BE3B8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t433);
|
|
/* 021BE3BC */ _t434 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BE3BC */ rbrew_write32(cpu->mem, _t434, cpu->r[6]);
|
|
/* 021BE3C0 */ _t435 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE3C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t435);
|
|
/* 021BE3C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 021BE3C8 */ cpu->f[6] = cpu->f[13] - cpu->f[0];
|
|
/* 021BE3CC */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
/* 021BE3D0 */ cpu->f[12] = (double)(float)cpu->f[6];
|
|
/* 021BE3D4 */ _t436 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021BE3D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t436);
|
|
/* 021BE3D8 */ cpu->f[7] = cpu->f[8] * cpu->f[12];
|
|
/* 021BE3DC */ _t437 = cpu->r[12] + 0x00000008u;
|
|
/* 021BE3DC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t437);
|
|
/* 021BE3E0 */ cpu->f[11] = fma(cpu->f[7], cpu->f[31], cpu->f[9]);
|
|
/* 021BE3E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[11]);
|
|
/* 021BE3E8 */ _t438 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE3E8 */ _t439 = _t438 & 0x00000001u;
|
|
/* 021BE3E8 */ if (_t439) goto L_021BE3EC; else goto L_021BE4B4;
|
|
L_021BE3EC: ; // 0x21be3ec
|
|
/* 021BE3EC */ cpu->r[5] = 0x00000000u;
|
|
/* 021BE3F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE3F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 021BE3F8 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BE3FC */ _t440 = cpu->r[30] + 0x00000004u;
|
|
/* 021BE3FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t440);
|
|
/* 021BE400 */ _t441 = cpu->r[6] + 0x0000028Cu;
|
|
/* 021BE400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t441);
|
|
/* 021BE404 */ cpu->ctr = cpu->r[0];
|
|
/* 021BE408 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BE40C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BE410 */ cpu->r[5] = cpu->r[3];
|
|
/* 021BE414 */ _t442 = cpu->r[30] + 0x00000030u;
|
|
/* 021BE414 */ cpu->r[3] = rbrew_read32(cpu->mem, _t442);
|
|
/* 021BE418 */ cpu->r[4] = 0x00000007u;
|
|
/* 021BE41C */ Gambit_fn_027B8224(cpu);
|
|
/* 021BE420 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE424 */ _t443 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE424 */ rbrew_write32(cpu->mem, _t443, cpu->r[29]);
|
|
/* 021BE428 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE42C */ _t444 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE42C */ rbrew_write32(cpu->mem, _t444, cpu->r[29]);
|
|
/* 021BE430 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BE434 */ cpu->r[5] = cpu->r[5] + 0xFFFFB250u;
|
|
/* 021BE438 */ _t445 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE438 */ rbrew_write32(cpu->mem, _t445, cpu->r[27]);
|
|
/* 021BE43C */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE440 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BE444 */ _t446 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BE444 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t446);
|
|
/* 021BE448 */ _t447 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE448 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t447);
|
|
/* 021BE44C */ _t448 = cpu->r[1] + 0x00000078u;
|
|
/* 021BE44C */ rbrew_write_f32(cpu->mem, _t448, cpu->f[12]);
|
|
/* 021BE450 */ _t449 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE450 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t449);
|
|
/* 021BE454 */ _t450 = cpu->r[1] + 0x00000030u;
|
|
/* 021BE454 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t450);
|
|
/* 021BE458 */ _t451 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE458 */ rbrew_write_f32(cpu->mem, _t451, cpu->f[8]);
|
|
/* 021BE45C */ _t452 = cpu->r[1] + 0x00000074u;
|
|
/* 021BE45C */ rbrew_write_f32(cpu->mem, _t452, cpu->f[11]);
|
|
/* 021BE460 */ _t453 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BE460 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t453);
|
|
/* 021BE464 */ _t454 = cpu->r[1] + 0x00000040u;
|
|
/* 021BE464 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t454);
|
|
/* 021BE468 */ _t455 = cpu->r[1] + 0x00000064u;
|
|
/* 021BE468 */ rbrew_write_f32(cpu->mem, _t455, cpu->f[6]);
|
|
/* 021BE46C */ _t456 = cpu->r[1] + 0x00000088u;
|
|
/* 021BE46C */ rbrew_write_f32(cpu->mem, _t456, cpu->f[7]);
|
|
/* 021BE470 */ _t457 = cpu->r[1] + 0x00000024u;
|
|
/* 021BE470 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t457);
|
|
/* 021BE474 */ _t458 = cpu->r[1] + 0x00000034u;
|
|
/* 021BE474 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t458);
|
|
/* 021BE478 */ _t459 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t459);
|
|
/* 021BE47C */ _t460 = cpu->r[1] + 0x00000084u;
|
|
/* 021BE47C */ rbrew_write_f32(cpu->mem, _t460, cpu->f[6]);
|
|
/* 021BE480 */ _t461 = cpu->r[1] + 0x00000028u;
|
|
/* 021BE480 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t461);
|
|
/* 021BE484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BE488 */ _t462 = cpu->r[1] + 0x00000070u;
|
|
/* 021BE488 */ rbrew_write_f32(cpu->mem, _t462, cpu->f[10]);
|
|
/* 021BE48C */ _t463 = cpu->r[1] + 0x00000080u;
|
|
/* 021BE48C */ rbrew_write_f32(cpu->mem, _t463, cpu->f[0]);
|
|
/* 021BE490 */ _t464 = cpu->r[1] + 0x00000038u;
|
|
/* 021BE490 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t464);
|
|
/* 021BE494 */ _t465 = cpu->r[1] + 0x00000020u;
|
|
/* 021BE494 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t465);
|
|
/* 021BE498 */ _t466 = cpu->r[1] + 0x00000068u;
|
|
/* 021BE498 */ rbrew_write_f32(cpu->mem, _t466, cpu->f[8]);
|
|
/* 021BE49C */ _t467 = cpu->r[1] + 0x00000060u;
|
|
/* 021BE49C */ rbrew_write_f32(cpu->mem, _t467, cpu->f[13]);
|
|
/* 021BE4A0 */ _t468 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BE4A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t468);
|
|
/* 021BE4A4 */ _t469 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BE4A4 */ rbrew_write_f32(cpu->mem, _t469, cpu->f[9]);
|
|
/* 021BE4A8 */ _t470 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BE4A8 */ rbrew_write_f32(cpu->mem, _t470, cpu->f[13]);
|
|
/* 021BE4AC */ _t471 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE4AC */ _t472 = _t471 & 0x00000001u;
|
|
/* 021BE4AC */ if (_t472) goto L_021BE5F8; else goto L_021BE4B0;
|
|
L_021BE4B0: ; // 0x21be4b0
|
|
/* 021BE4B0 */ goto L_021BE5C4;
|
|
L_021BE4B4: ; // 0x21be4b4
|
|
/* 021BE4B4 */ Gambit_fn_021F6FF4(cpu);
|
|
/* 021BE4B8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BE4BC */ cpu->r[10] = 0x43300000u;
|
|
/* 021BE4C0 */ _t473 = cpu->r[6] + 0xFFFFB248u;
|
|
/* 021BE4C0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t473);
|
|
/* 021BE4C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 021BE4C8 */ _t474 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE4C8 */ rbrew_write32(cpu->mem, _t474, cpu->r[10]);
|
|
/* 021BE4CC */ _t475 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BE4CC */ rbrew_write32(cpu->mem, _t475, cpu->r[8]);
|
|
/* 021BE4D0 */ _t476 = cpu->r[1] + 0x00000048u;
|
|
/* 021BE4D0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t476);
|
|
/* 021BE4D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 021BE4D8 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 021BE4DC */ cpu->r[4] = cpu->r[31] + cpu->r[9];
|
|
/* 021BE4E0 */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 021BE4E4 */ _t477 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021BE4E4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t477);
|
|
/* 021BE4E8 */ cpu->f[0] = cpu->f[6] * cpu->f[10];
|
|
/* 021BE4EC */ _t478 = cpu->r[4] + 0x00000008u;
|
|
/* 021BE4EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t478);
|
|
/* 021BE4F0 */ cpu->f[7] = fma(cpu->f[0], cpu->f[31], cpu->f[7]);
|
|
/* 021BE4F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[7]);
|
|
/* 021BE4F8 */ cpu->r[5] = 0x00000002u;
|
|
/* 021BE4FC */ _t479 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE4FC */ _t480 = _t479 & 0x00000001u;
|
|
/* 021BE4FC */ if (_t480) goto L_021BE500; else goto L_021BE504;
|
|
L_021BE500: ; // 0x21be500
|
|
/* 021BE500 */ cpu->r[5] = 0x00000001u;
|
|
L_021BE504: ; // 0x21be504
|
|
/* 021BE504 */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE508 */ cpu->r[4] = 0x00000004u;
|
|
/* 021BE50C */ Gambit_fn_027B8224(cpu);
|
|
/* 021BE510 */ _t481 = cpu->r[30] + 0x00000004u;
|
|
/* 021BE510 */ cpu->r[6] = rbrew_read32(cpu->mem, _t481);
|
|
/* 021BE514 */ _t482 = cpu->r[6] + 0x0000028Cu;
|
|
/* 021BE514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t482);
|
|
/* 021BE518 */ cpu->ctr = cpu->r[0];
|
|
/* 021BE51C */ cpu->r[3] = cpu->r[30];
|
|
/* 021BE520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BE524 */ cpu->r[5] = cpu->r[3];
|
|
/* 021BE528 */ _t483 = cpu->r[30] + 0x00000030u;
|
|
/* 021BE528 */ cpu->r[3] = rbrew_read32(cpu->mem, _t483);
|
|
/* 021BE52C */ cpu->r[4] = 0x00000007u;
|
|
/* 021BE530 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BE534 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE538 */ _t484 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE538 */ rbrew_write32(cpu->mem, _t484, cpu->r[29]);
|
|
/* 021BE53C */ cpu->r[3] = cpu->r[28];
|
|
/* 021BE540 */ cpu->r[5] = cpu->r[5] + 0xFFFFB250u;
|
|
/* 021BE544 */ _t485 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE544 */ rbrew_write32(cpu->mem, _t485, cpu->r[29]);
|
|
/* 021BE548 */ cpu->r[6] = 0x00000000u;
|
|
/* 021BE54C */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE550 */ _t486 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE550 */ rbrew_write32(cpu->mem, _t486, cpu->r[27]);
|
|
/* 021BE554 */ Gambit_fn_027B72F0(cpu);
|
|
/* 021BE558 */ _t487 = cpu->r[1] + 0x00000040u;
|
|
/* 021BE558 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t487);
|
|
/* 021BE55C */ _t488 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE55C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t488);
|
|
/* 021BE560 */ _t489 = cpu->r[1] + 0x00000088u;
|
|
/* 021BE560 */ rbrew_write_f32(cpu->mem, _t489, cpu->f[7]);
|
|
/* 021BE564 */ _t490 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE564 */ rbrew_write_f32(cpu->mem, _t490, cpu->f[8]);
|
|
/* 021BE568 */ _t491 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BE568 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t491);
|
|
/* 021BE56C */ _t492 = cpu->r[1] + 0x00000038u;
|
|
/* 021BE56C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t492);
|
|
/* 021BE570 */ _t493 = cpu->r[1] + 0x00000064u;
|
|
/* 021BE570 */ rbrew_write_f32(cpu->mem, _t493, cpu->f[6]);
|
|
/* 021BE574 */ _t494 = cpu->r[1] + 0x00000068u;
|
|
/* 021BE574 */ rbrew_write_f32(cpu->mem, _t494, cpu->f[8]);
|
|
/* 021BE578 */ _t495 = cpu->r[1] + 0x00000020u;
|
|
/* 021BE578 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t495);
|
|
/* 021BE57C */ _t496 = cpu->r[1] + 0x00000028u;
|
|
/* 021BE57C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t496);
|
|
/* 021BE580 */ _t497 = cpu->r[1] + 0x00000060u;
|
|
/* 021BE580 */ rbrew_write_f32(cpu->mem, _t497, cpu->f[13]);
|
|
/* 021BE584 */ _t498 = cpu->r[1] + 0x00000080u;
|
|
/* 021BE584 */ rbrew_write_f32(cpu->mem, _t498, cpu->f[0]);
|
|
/* 021BE588 */ _t499 = cpu->r[1] + 0x00000024u;
|
|
/* 021BE588 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t499);
|
|
/* 021BE58C */ _t500 = cpu->r[1] + 0x00000034u;
|
|
/* 021BE58C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t500);
|
|
/* 021BE590 */ _t501 = cpu->r[1] + 0x00000030u;
|
|
/* 021BE590 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t501);
|
|
/* 021BE594 */ _t502 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BE594 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t502);
|
|
/* 021BE598 */ _t503 = cpu->r[1] + 0x00000074u;
|
|
/* 021BE598 */ rbrew_write_f32(cpu->mem, _t503, cpu->f[11]);
|
|
/* 021BE59C */ _t504 = cpu->r[1] + 0x00000078u;
|
|
/* 021BE59C */ rbrew_write_f32(cpu->mem, _t504, cpu->f[12]);
|
|
/* 021BE5A0 */ _t505 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BE5A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t505);
|
|
/* 021BE5A4 */ _t506 = cpu->r[1] + 0x00000084u;
|
|
/* 021BE5A4 */ rbrew_write_f32(cpu->mem, _t506, cpu->f[6]);
|
|
/* 021BE5A8 */ _t507 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BE5A8 */ rbrew_write_f32(cpu->mem, _t507, cpu->f[13]);
|
|
/* 021BE5AC */ _t508 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE5AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t508);
|
|
/* 021BE5B0 */ _t509 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE5B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t509);
|
|
/* 021BE5B4 */ _t510 = cpu->r[1] + 0x00000070u;
|
|
/* 021BE5B4 */ rbrew_write_f32(cpu->mem, _t510, cpu->f[10]);
|
|
/* 021BE5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021BE5BC */ _t511 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BE5BC */ rbrew_write_f32(cpu->mem, _t511, cpu->f[9]);
|
|
/* 021BE5C0 */ _t512 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE5C0 */ _t513 = _t512 & 0x00000001u;
|
|
/* 021BE5C0 */ if (_t513) goto L_021BE5F8; else goto L_021BE5C4;
|
|
L_021BE5C4: ; // 0x21be5c4
|
|
/* 021BE5C4 */ _t514 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021BE5C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t514);
|
|
/* 021BE5C8 */ _t515 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE5C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t515);
|
|
/* 021BE5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 021BE5D0 */ _t516 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE5D0 */ _t517 = _t516 & 0x00000001u;
|
|
/* 021BE5D0 */ if (_t517) goto L_021BE5D4; else goto L_021BE5F8;
|
|
L_021BE5D4: ; // 0x21be5d4
|
|
/* 021BE5D4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BE5D8 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 021BE5DC */ Gambit_fn_02C69510(cpu);
|
|
/* 021BE5E0 */ _t518 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BE5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t518);
|
|
/* 021BE5E4 */ _t519 = cpu->r[31] + 0x00000074u;
|
|
/* 021BE5E4 */ rbrew_write_f32(cpu->mem, _t519, cpu->f[29]);
|
|
/* 021BE5E8 */ _t520 = cpu->r[31] + 0x00000078u;
|
|
/* 021BE5E8 */ rbrew_write_f32(cpu->mem, _t520, cpu->f[29]);
|
|
/* 021BE5EC */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 021BE5F0 */ _t521 = cpu->r[31] + 0x00000070u;
|
|
/* 021BE5F0 */ rbrew_write_f32(cpu->mem, _t521, cpu->f[29]);
|
|
/* 021BE5F4 */ _t522 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021BE5F4 */ rbrew_write32(cpu->mem, _t522, cpu->r[10]);
|
|
L_021BE5F8: ; // 0x21be5f8
|
|
/* 021BE5F8 */ /* nop */
|
|
/* 021BE5FC */ _t523 = cpu->r[1] + 0x000000D8u;
|
|
/* 021BE5FC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t523);
|
|
/* 021BE600 */ _t524 = cpu->r[1] + 0x000000E8u;
|
|
/* 021BE600 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t524);
|
|
/* 021BE604 */ _t525 = cpu->r[1] + 0x000000D0u;
|
|
/* 021BE604 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t525);
|
|
/* 021BE608 */ _t526 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE608 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t526);
|
|
/* 021BE60C */ _t527 = cpu->r[1] + 0x000000E0u;
|
|
/* 021BE60C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t527);
|
|
/* 021BE610 */ _t528 = cpu->r[1] + 0x000000F0u;
|
|
/* 021BE610 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t528);
|
|
/* 021BE614 */ _t529 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE614 */ _t530 = _t529 & 0x00000001u;
|
|
/* 021BE614 */ if (_t530) goto L_021BE618; // else: addr-0 trap, fall-through
|
|
L_021BE618: ; // 0x21be618
|
|
/* 021BE618 */ _t531 = cpu->r[1] + 0x00000104u;
|
|
/* 021BE618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t531);
|
|
/* 021BE61C */ cpu->lr = cpu->r[0];
|
|
/* 021BE620 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 021BE624 */ return;
|
|
}
|
|
|
|
// fn_021BE628 @ 0x21be628
|
|
void Gambit_fn_021BE628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294;
|
|
|
|
L_021BE628: ; // 0x21be628
|
|
/* 021BE628 */ _t0 = cpu->r[1] + 0xFFFFFEE8u;
|
|
/* 021BE628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BE628 */ cpu->r[1] = _t0;
|
|
/* 021BE62C */ /* nop */
|
|
/* 021BE630 */ _t1 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BE630 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021BE634 */ /* nop */
|
|
/* 021BE638 */ _t2 = cpu->r[1] + 0x00000100u;
|
|
/* 021BE638 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021BE63C */ _t3 = cpu->r[1] + 0x00000108u;
|
|
/* 021BE63C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 021BE640 */ cpu->r[0] = cpu->lr;
|
|
/* 021BE644 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 021BE644 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021BE648 */ /* nop */
|
|
/* 021BE64C */ _t5 = cpu->r[1] + 0x00000110u;
|
|
/* 021BE64C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 021BE650 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE650 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 021BE654 */ cpu->r[21] = 0x101C0000u;
|
|
/* 021BE658 */ _t7 = cpu->r[21] + 0x00006000u;
|
|
/* 021BE658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BE658 */ cpu->r[21] = _t7;
|
|
/* 021BE65C */ cpu->r[18] = cpu->r[5];
|
|
/* 021BE660 */ cpu->r[23] = cpu->r[3];
|
|
/* 021BE664 */ cpu->r[19] = cpu->r[4];
|
|
/* 021BE668 */ _t8 = cpu->r[12] + 0x00000274u;
|
|
/* 021BE668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BE66C */ cpu->r[4] = cpu->r[23];
|
|
/* 021BE670 */ cpu->r[17] = cpu->r[6];
|
|
/* 021BE674 */ _t9 = cpu->r[1] + 0x0000000Bu;
|
|
/* 021BE674 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]);
|
|
/* 021BE678 */ Gambit_fn_021F4CA8(cpu);
|
|
/* 021BE67C */ cpu->r[5] = 0x10030000u;
|
|
/* 021BE680 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BE684 */ _t10 = cpu->r[5] + 0xFFFFB234u;
|
|
/* 021BE684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021BE688 */ _t11 = cpu->r[12] + 0xFFFFB238u;
|
|
/* 021BE688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021BE68C */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
|
|
/* 021BE690 */ cpu->f[31] = fma(cpu->f[13], cpu->f[1], cpu->f[0]);
|
|
/* 021BE694 */ Gambit_fn_02019890(cpu);
|
|
/* 021BE698 */ _t12 = cpu->r[1] + 0x000000A4u;
|
|
/* 021BE698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BE69C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000000u);
|
|
/* 021BE6A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE6A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021BE6A0 */ if (_t14) goto L_021BE6AC; else goto L_021BE6A4;
|
|
L_021BE6A4: ; // 0x21be6a4
|
|
/* 021BE6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Eu);
|
|
/* 021BE6A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE6A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021BE6A8 */ if (_t16) goto L_021BE6AC; else goto L_021BE708;
|
|
L_021BE6AC: ; // 0x21be6ac
|
|
/* 021BE6AC */ cpu->r[11] = 0x101C0000u;
|
|
/* 021BE6B0 */ _t17 = cpu->r[11] + 0x00004604u;
|
|
/* 021BE6B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021BE6B4 */ cpu->r[4] = cpu->r[19];
|
|
/* 021BE6B8 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 021BE6BC */ Gambit_fn_02C69328(cpu);
|
|
/* 021BE6C0 */ cpu->f[7] = cpu->f[31] * cpu->f[31];
|
|
/* 021BE6C4 */ _t18 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE6C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 021BE6C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 021BE6CC */ cpu->r[6] = 0x00000007u;
|
|
/* 021BE6D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[7]);
|
|
/* 021BE6D4 */ _t19 = cpu->r[1] + 0x00000009u;
|
|
/* 021BE6D4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 021BE6D8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 021BE6D8 */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 021BE6DC */ cpu->r[24] = 0x00000000u;
|
|
/* 021BE6E0 */ /* nop */
|
|
/* 021BE6E4 */ _t21 = cpu->r[12] + 0x000002C4u;
|
|
/* 021BE6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BE6E8 */ cpu->r[22] = 0x101E0000u;
|
|
/* 021BE6EC */ _t22 = cpu->r[23] + 0x00000030u;
|
|
/* 021BE6EC */ cpu->r[20] = rbrew_read32(cpu->mem, _t22);
|
|
/* 021BE6F0 */ cpu->r[22] = cpu->r[22] + 0x000010ACu;
|
|
/* 021BE6F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BE6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 021BE6FC */ _t23 = cpu->r[1] + 0x0000000Au;
|
|
/* 021BE6FC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[7]);
|
|
/* 021BE700 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE700 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021BE700 */ if (_t25) goto L_021BE704; else goto L_021BEC30;
|
|
L_021BE704: ; // 0x21be704
|
|
/* 021BE704 */ goto L_021BE73C;
|
|
L_021BE708: ; // 0x21be708
|
|
/* 021BE708 */ cpu->r[7] = 0x00000000u;
|
|
/* 021BE70C */ _t26 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE70C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 021BE710 */ cpu->r[6] = 0x00000007u;
|
|
/* 021BE714 */ _t27 = cpu->r[1] + 0x00000009u;
|
|
/* 021BE714 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[7]);
|
|
/* 021BE718 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 021BE718 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 021BE71C */ _t29 = cpu->r[12] + 0x000002C4u;
|
|
/* 021BE71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021BE720 */ cpu->r[24] = 0x00000000u;
|
|
/* 021BE724 */ _t30 = cpu->r[1] + 0x0000000Au;
|
|
/* 021BE724 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[7]);
|
|
/* 021BE728 */ cpu->r[22] = 0x101E0000u;
|
|
/* 021BE72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 021BE730 */ _t31 = cpu->r[23] + 0x00000030u;
|
|
/* 021BE730 */ cpu->r[20] = rbrew_read32(cpu->mem, _t31);
|
|
/* 021BE734 */ cpu->r[22] = cpu->r[22] + 0x000010ACu;
|
|
/* 021BE738 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE738 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021BE738 */ if (_t33) goto L_021BE73C; else goto L_021BEC30;
|
|
L_021BE73C: ; // 0x21be73c
|
|
/* 021BE73C */ cpu->r[12] = 0x10030000u;
|
|
/* 021BE740 */ cpu->r[3] = cpu->r[17];
|
|
/* 021BE744 */ _t34 = cpu->r[12] + 0xFFFFB214u;
|
|
/* 021BE744 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 021BE748 */ Gambit_fn_021BCF9C(cpu);
|
|
/* 021BE74C */ cpu->r[26] = 0x101F0000u;
|
|
/* 021BE750 */ cpu->r[27] = 0x101F0000u;
|
|
/* 021BE754 */ cpu->r[28] = 0x101F0000u;
|
|
/* 021BE758 */ cpu->r[26] = cpu->r[26] + 0x00006344u;
|
|
/* 021BE75C */ cpu->r[27] = cpu->r[27] + 0x00006350u;
|
|
/* 021BE760 */ cpu->r[28] = cpu->r[28] + 0x0000635Cu;
|
|
/* 021BE764 */ cpu->r[30] = 0x00000005u;
|
|
/* 021BE768 */ cpu->r[7] = 0x10030000u;
|
|
/* 021BE76C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 021BE76C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[3]);
|
|
/* 021BE770 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 021BE774 */ cpu->r[25] = 0x00000000u;
|
|
/* 021BE778 */ _t36 = cpu->r[7] + 0xFFFFB210u;
|
|
/* 021BE778 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021BE77C */ cpu->r[29] = cpu->r[1] + 0x00000018u;
|
|
/* 021BE780 */ cpu->r[15] = cpu->r[25];
|
|
/* 021BE784 */ cpu->r[16] = 0x00000004u;
|
|
/* 021BE788 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BE788 */ rbrew_write32(cpu->mem, _t37, cpu->r[4]);
|
|
L_021BE78C: ; // 0x21be78c
|
|
/* 021BE78C */ _t38 = cpu->r[1] + 0x0000000Bu;
|
|
/* 021BE78C */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 021BE790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BE794 */ cpu->r[31] = 0x00000007u;
|
|
/* 021BE798 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE798 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021BE798 */ if (_t40) goto L_021BE884; else goto L_021BE79C;
|
|
L_021BE79C: ; // 0x21be79c
|
|
/* 021BE79C */ _t41 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021BE7A0 */ _t42 = cpu->r[6] + 0x00000268u;
|
|
/* 021BE7A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021BE7A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000002u);
|
|
/* 021BE7A8 */ cpu->r[9] = cpu->r[4] + 0x000002B0u;
|
|
/* 021BE7AC */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE7AC */ _t44 = _t43 & 0x00000001u;
|
|
/* 021BE7AC */ if (_t44) goto L_021BE7B0; else goto L_021BE7B4;
|
|
L_021BE7B0: ; // 0x21be7b0
|
|
/* 021BE7B0 */ cpu->r[9] = cpu->r[9] + cpu->r[25];
|
|
L_021BE7B4: ; // 0x21be7b4
|
|
/* 021BE7B4 */ _t45 = cpu->r[23] + 0x00000054u;
|
|
/* 021BE7B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021BE7B8 */ _t46 = cpu->r[9] + 0x00000000u;
|
|
/* 021BE7B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021BE7BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 021BE7C0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE7C0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021BE7C0 */ if (_t48) goto L_021BE7C4; else goto L_021BE884;
|
|
L_021BE7C4: ; // 0x21be7c4
|
|
/* 021BE7C4 */ cpu->r[0] = cpu->r[17];
|
|
/* 021BE7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 021BE7CC */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE7CC */ _t50 = _t49 & 0x00000001u;
|
|
/* 021BE7CC */ if (_t50) goto L_021BE818; else goto L_021BE7D0;
|
|
L_021BE7D0: ; // 0x21be7d0
|
|
/* 021BE7D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE7D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 021BE7D0 */ if (_t52) goto L_021BE804; else goto L_021BE7D4;
|
|
L_021BE7D4: ; // 0x21be7d4
|
|
/* 021BE7D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 021BE7D8 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE7D8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021BE7D8 */ if (_t54) goto L_021BE868; else goto L_021BE7DC;
|
|
L_021BE7DC: ; // 0x21be7dc
|
|
/* 021BE7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000009u);
|
|
/* 021BE7E0 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE7E0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 021BE7E0 */ if (_t56) goto L_021BE7E4; else goto L_021BE840;
|
|
L_021BE7E4: ; // 0x21be7e4
|
|
/* 021BE7E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Cu);
|
|
/* 021BE7E8 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE7E8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 021BE7E8 */ if (_t58) goto L_021BE868; else goto L_021BE7EC;
|
|
L_021BE7EC: ; // 0x21be7ec
|
|
/* 021BE7EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 021BE7F0 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BE7F0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021BE7F0 */ if (_t60) goto L_021BE7F4; else goto L_021BE840;
|
|
L_021BE7F4: ; // 0x21be7f4
|
|
/* 021BE7F4 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 021BE7F4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t61);
|
|
/* 021BE7F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021BE7FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE7FC */ _t63 = _t62 & 0x00000001u;
|
|
/* 021BE7FC */ if (_t63) goto L_021BE8C4; else goto L_021BE800;
|
|
L_021BE800: ; // 0x21be800
|
|
/* 021BE800 */ goto L_021BE874;
|
|
L_021BE804: ; // 0x21be804
|
|
/* 021BE804 */ cpu->r[31] = cpu->r[16];
|
|
/* 021BE808 */ _t64 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE808 */ rbrew_write32(cpu->mem, _t64, cpu->r[31]);
|
|
/* 021BE80C */ _t65 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BE810 */ _t66 = cpu->r[1] + 0x0000008Cu;
|
|
/* 021BE810 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 021BE814 */ goto L_021BE884;
|
|
L_021BE818: ; // 0x21be818
|
|
/* 021BE818 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 021BE81C */ _t68 = cpu->r[23] + 0x0000002Cu;
|
|
/* 021BE81C */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 021BE820 */ _t69 = cpu->r[8] + 0x00000000u;
|
|
/* 021BE820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021BE824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 021BE828 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE828 */ _t71 = _t70 & 0x00000001u;
|
|
/* 021BE828 */ if (_t71) goto L_021BE884; else goto L_021BE82C;
|
|
L_021BE82C: ; // 0x21be82c
|
|
/* 021BE82C */ cpu->r[31] = 0x00000003u;
|
|
/* 021BE830 */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE830 */ rbrew_write32(cpu->mem, _t72, cpu->r[31]);
|
|
/* 021BE834 */ _t73 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 021BE838 */ _t74 = cpu->r[1] + 0x00000090u;
|
|
/* 021BE838 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 021BE83C */ goto L_021BE884;
|
|
L_021BE840: ; // 0x21be840
|
|
/* 021BE840 */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 021BE840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 021BE844 */ _t76 = cpu->r[23] + 0x0000002Cu;
|
|
/* 021BE844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021BE848 */ _t77 = cpu->r[12] + 0x00000000u;
|
|
/* 021BE848 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021BE84C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 021BE850 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE850 */ _t79 = _t78 & 0x00000001u;
|
|
/* 021BE850 */ if (_t79) goto L_021BE884; else goto L_021BE854;
|
|
L_021BE854: ; // 0x21be854
|
|
/* 021BE854 */ cpu->r[31] = cpu->r[16];
|
|
/* 021BE858 */ _t80 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE858 */ rbrew_write32(cpu->mem, _t80, cpu->r[31]);
|
|
/* 021BE85C */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021BE860 */ _t82 = cpu->r[1] + 0x00000094u;
|
|
/* 021BE860 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 021BE864 */ goto L_021BE884;
|
|
L_021BE868: ; // 0x21be868
|
|
/* 021BE868 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 021BE868 */ cpu->r[9] = rbrew_read8(cpu->mem, _t83);
|
|
/* 021BE86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021BE870 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE870 */ _t85 = _t84 & 0x00000001u;
|
|
/* 021BE870 */ if (_t85) goto L_021BE8C4; else goto L_021BE874;
|
|
L_021BE874: ; // 0x21be874
|
|
/* 021BE874 */ cpu->r[31] = cpu->r[30];
|
|
/* 021BE878 */ _t86 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE878 */ rbrew_write32(cpu->mem, _t86, cpu->r[31]);
|
|
/* 021BE87C */ _t87 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 021BE880 */ _t88 = cpu->r[1] + 0x00000098u;
|
|
/* 021BE880 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
L_021BE884: ; // 0x21be884
|
|
/* 021BE884 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 021BE884 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89);
|
|
/* 021BE888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 021BE88C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE88C */ _t91 = _t90 & 0x00000001u;
|
|
/* 021BE88C */ if (_t91) goto L_021BE8C4; else goto L_021BE890;
|
|
L_021BE890: ; // 0x21be890
|
|
/* 021BE890 */ _t92 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE890 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021BE894 */ _t93 = cpu->r[5] + 0x00000268u;
|
|
/* 021BE894 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021BE898 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000002u);
|
|
/* 021BE89C */ cpu->r[7] = cpu->r[7] + 0x000002B0u;
|
|
/* 021BE8A0 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE8A0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021BE8A0 */ if (_t95) goto L_021BE8A4; else goto L_021BE8A8;
|
|
L_021BE8A4: ; // 0x21be8a4
|
|
/* 021BE8A4 */ cpu->r[7] = cpu->r[7] + cpu->r[25];
|
|
L_021BE8A8: ; // 0x21be8a8
|
|
/* 021BE8A8 */ _t96 = cpu->r[23] + 0x00000054u;
|
|
/* 021BE8A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021BE8AC */ _t97 = cpu->r[7] + 0x00000000u;
|
|
/* 021BE8AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 021BE8B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 021BE8B4 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE8B4 */ _t99 = _t98 & 0x00000001u;
|
|
/* 021BE8B4 */ if (_t99) goto L_021BE8B8; else goto L_021BE8C4;
|
|
L_021BE8B8: ; // 0x21be8b8
|
|
/* 021BE8B8 */ cpu->r[31] = cpu->r[30];
|
|
/* 021BE8BC */ _t100 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE8BC */ rbrew_write32(cpu->mem, _t100, cpu->r[31]);
|
|
/* 021BE8C0 */ _t101 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE8C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
L_021BE8C4: ; // 0x21be8c4
|
|
/* 021BE8C4 */ cpu->r[12] = cpu->r[17];
|
|
/* 021BE8C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 021BE8CC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE8CC */ _t103 = _t102 & 0x00000001u;
|
|
/* 021BE8CC */ if (_t103) goto L_021BE8E8; else goto L_021BE8D0;
|
|
L_021BE8D0: ; // 0x21be8d0
|
|
/* 021BE8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 021BE8D4 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE8D4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 021BE8D4 */ if (_t105) goto L_021BE924; else goto L_021BE8D8;
|
|
L_021BE8D8: ; // 0x21be8d8
|
|
/* 021BE8D8 */ _t106 = cpu->r[1] + 0x0000000Au;
|
|
/* 021BE8D8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t106);
|
|
/* 021BE8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021BE8E0 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE8E0 */ _t108 = _t107 & 0x00000001u;
|
|
/* 021BE8E0 */ if (_t108) goto L_021BE970; else goto L_021BE8E4;
|
|
L_021BE8E4: ; // 0x21be8e4
|
|
/* 021BE8E4 */ goto L_021BE968;
|
|
L_021BE8E8: ; // 0x21be8e8
|
|
/* 021BE8E8 */ _t109 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE8E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021BE8EC */ _t110 = cpu->r[10] + 0x00000268u;
|
|
/* 021BE8EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021BE8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000002u);
|
|
/* 021BE8F4 */ cpu->r[10] = cpu->r[11] + 0x000002B0u;
|
|
/* 021BE8F8 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE8F8 */ _t112 = _t111 & 0x00000001u;
|
|
/* 021BE8F8 */ if (_t112) goto L_021BE8FC; else goto L_021BE900;
|
|
L_021BE8FC: ; // 0x21be8fc
|
|
/* 021BE8FC */ cpu->r[10] = cpu->r[10] + cpu->r[25];
|
|
L_021BE900: ; // 0x21be900
|
|
/* 021BE900 */ _t113 = cpu->r[23] + 0x00000054u;
|
|
/* 021BE900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 021BE904 */ _t114 = cpu->r[10] + 0x00000000u;
|
|
/* 021BE904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021BE908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 021BE90C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE90C */ _t116 = _t115 & 0x00000001u;
|
|
/* 021BE90C */ if (_t116) goto L_021BE910; else goto L_021BE95C;
|
|
L_021BE910: ; // 0x21be910
|
|
/* 021BE910 */ cpu->r[31] = 0x00000006u;
|
|
/* 021BE914 */ _t117 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE914 */ rbrew_write32(cpu->mem, _t117, cpu->r[31]);
|
|
/* 021BE918 */ _t118 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 021BE91C */ _t119 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021BE91C */ rbrew_write32(cpu->mem, _t119, cpu->r[5]);
|
|
/* 021BE920 */ goto L_021BE95C;
|
|
L_021BE924: ; // 0x21be924
|
|
/* 021BE924 */ _t120 = cpu->r[21] + 0x00000000u;
|
|
/* 021BE924 */ cpu->r[5] = rbrew_read32(cpu->mem, _t120);
|
|
/* 021BE928 */ _t121 = cpu->r[5] + 0x00000268u;
|
|
/* 021BE928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021BE92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x00000002u);
|
|
/* 021BE930 */ cpu->r[8] = cpu->r[11] + 0x000002B0u;
|
|
/* 021BE934 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BE934 */ _t123 = _t122 & 0x00000001u;
|
|
/* 021BE934 */ if (_t123) goto L_021BE938; else goto L_021BE93C;
|
|
L_021BE938: ; // 0x21be938
|
|
/* 021BE938 */ cpu->r[8] = cpu->r[8] + cpu->r[25];
|
|
L_021BE93C: ; // 0x21be93c
|
|
/* 021BE93C */ _t124 = cpu->r[23] + 0x00000054u;
|
|
/* 021BE93C */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021BE940 */ _t125 = cpu->r[8] + 0x00000000u;
|
|
/* 021BE940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021BE944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 021BE948 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE948 */ _t127 = _t126 & 0x00000001u;
|
|
/* 021BE948 */ if (_t127) goto L_021BE94C; else goto L_021BE95C;
|
|
L_021BE94C: ; // 0x21be94c
|
|
/* 021BE94C */ cpu->r[31] = cpu->r[30];
|
|
/* 021BE950 */ _t128 = cpu->r[1] + 0x00000018u;
|
|
/* 021BE950 */ rbrew_write32(cpu->mem, _t128, cpu->r[31]);
|
|
/* 021BE954 */ _t129 = cpu->r[29] + 0x00000000u;
|
|
/* 021BE954 */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
|
|
/* 021BE958 */ _t130 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BE958 */ rbrew_write32(cpu->mem, _t130, cpu->r[5]);
|
|
L_021BE95C: ; // 0x21be95c
|
|
/* 021BE95C */ _t131 = cpu->r[1] + 0x0000000Au;
|
|
/* 021BE95C */ cpu->r[5] = rbrew_read8(cpu->mem, _t131);
|
|
/* 021BE960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021BE964 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE964 */ _t133 = _t132 & 0x00000001u;
|
|
/* 021BE964 */ if (_t133) goto L_021BE970; else goto L_021BE968;
|
|
L_021BE968: ; // 0x21be968
|
|
/* 021BE968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000007u);
|
|
/* 021BE96C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE96C */ _t135 = _t134 & 0x00000001u;
|
|
/* 021BE96C */ if (_t135) goto L_021BEC18; else goto L_021BE970;
|
|
L_021BE970: ; // 0x21be970
|
|
/* 021BE970 */ _t136 = cpu->r[1] + 0x00000009u;
|
|
/* 021BE970 */ cpu->r[0] = rbrew_read8(cpu->mem, _t136);
|
|
/* 021BE974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BE978 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BE978 */ _t138 = _t137 & 0x00000001u;
|
|
/* 021BE978 */ if (_t138) goto L_021BE97C; else goto L_021BE998;
|
|
L_021BE97C: ; // 0x21be97c
|
|
/* 021BE97C */ _t139 = cpu->r[23] + 0x00000030u;
|
|
/* 021BE97C */ cpu->r[3] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021BE980 */ cpu->r[4] = 0x00000001u;
|
|
/* 021BE984 */ Gambit_fn_027B9B00(cpu);
|
|
/* 021BE988 */ cpu->r[11] = 0x00000002u;
|
|
/* 021BE98C */ cpu->r[9] = 0x00000001u;
|
|
/* 021BE990 */ _t140 = cpu->r[23] + 0x00000050u;
|
|
/* 021BE990 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[11]);
|
|
/* 021BE994 */ _t141 = cpu->r[1] + 0x00000009u;
|
|
/* 021BE994 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[9]);
|
|
L_021BE998: ; // 0x21be998
|
|
/* 021BE998 */ cpu->r[4] = 0x00000004u;
|
|
/* 021BE99C */ cpu->r[5] = cpu->r[31];
|
|
/* 021BE9A0 */ cpu->r[3] = cpu->r[20];
|
|
/* 021BE9A4 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BE9A8 */ _t142 = cpu->r[23] + 0x00000004u;
|
|
/* 021BE9A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t142);
|
|
/* 021BE9AC */ _t143 = cpu->r[10] + 0x00000304u;
|
|
/* 021BE9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021BE9B0 */ cpu->ctr = cpu->r[0];
|
|
/* 021BE9B4 */ cpu->r[3] = cpu->r[23];
|
|
/* 021BE9B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BE9BC */ _t144 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BE9BC */ rbrew_write32(cpu->mem, _t144, cpu->r[15]);
|
|
/* 021BE9C0 */ cpu->r[4] = 0x10030000u;
|
|
/* 021BE9C4 */ _t145 = cpu->r[22] + 0x00000004u;
|
|
/* 021BE9C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 021BE9C8 */ cpu->r[4] = cpu->r[4] + 0xFFFFB1E0u;
|
|
/* 021BE9CC */ _t146 = cpu->r[1] + 0x00000050u;
|
|
/* 021BE9CC */ rbrew_write32(cpu->mem, _t146, cpu->r[15]);
|
|
/* 021BE9D0 */ _t147 = cpu->r[1] + 0x00000054u;
|
|
/* 021BE9D0 */ rbrew_write32(cpu->mem, _t147, cpu->r[4]);
|
|
/* 021BE9D4 */ _t148 = cpu->r[6] + 0x00000014u;
|
|
/* 021BE9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 021BE9D8 */ cpu->ctr = cpu->r[0];
|
|
/* 021BE9DC */ cpu->r[3] = cpu->r[22];
|
|
/* 021BE9E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BE9E4 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 021BE9E8 */ cpu->r[4] = cpu->r[24];
|
|
/* 021BE9EC */ _t149 = cpu->r[22] + 0x00000000u;
|
|
/* 021BE9EC */ cpu->r[14] = rbrew_read32(cpu->mem, _t149);
|
|
/* 021BE9F0 */ Gambit_fn_02037B60(cpu);
|
|
/* 021BE9F4 */ cpu->r[3] = cpu->r[20];
|
|
/* 021BE9F8 */ _t150 = cpu->r[1] + 0x0000008Bu;
|
|
/* 021BE9F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t150);
|
|
/* 021BE9FC */ cpu->r[4] = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BEA00 */ cpu->r[5] = cpu->r[14];
|
|
/* 021BEA04 */ cpu->r[7] = 0x00000000u;
|
|
/* 021BEA08 */ Gambit_fn_027B73AC(cpu);
|
|
/* 021BEA0C */ _t151 = cpu->r[18] + 0x00000000u;
|
|
/* 021BEA0C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 021BEA10 */ _t152 = cpu->r[19] + 0x00000004u;
|
|
/* 021BEA10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 021BEA14 */ _t153 = cpu->r[19] + 0x00000008u;
|
|
/* 021BEA14 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 021BEA18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[30]);
|
|
/* 021BEA1C */ _t154 = cpu->r[1] + 0x00000044u;
|
|
/* 021BEA1C */ rbrew_write_f32(cpu->mem, _t154, cpu->f[0]);
|
|
/* 021BEA20 */ _t155 = cpu->r[19] + 0x00000000u;
|
|
/* 021BEA20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 021BEA24 */ _t156 = cpu->r[1] + 0x00000048u;
|
|
/* 021BEA24 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[7]);
|
|
/* 021BEA28 */ _t157 = cpu->r[1] + 0x00000040u;
|
|
/* 021BEA28 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[12]);
|
|
/* 021BEA2C */ _t158 = cpu->r[18] + 0x00000008u;
|
|
/* 021BEA2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 021BEA30 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEA30 */ _t160 = _t159 & 0x00000001u;
|
|
/* 021BEA30 */ if (_t160) goto L_021BEA44; else goto L_021BEA34;
|
|
L_021BEA34: ; // 0x21bea34
|
|
/* 021BEA34 */ _t161 = cpu->r[18] + 0x00000004u;
|
|
/* 021BEA34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 021BEA38 */ _t162 = cpu->r[1] + 0x00000034u;
|
|
/* 021BEA38 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[11]);
|
|
/* 021BEA3C */ _t163 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEA3C */ rbrew_write_f32(cpu->mem, _t163, cpu->f[0]);
|
|
/* 021BEA40 */ goto L_021BEB24;
|
|
L_021BEA44: ; // 0x21bea44
|
|
/* 021BEA44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[30]);
|
|
/* 021BEA48 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEA48 */ _t165 = _t164 & 0x00000001u;
|
|
/* 021BEA48 */ if (_t165) goto L_021BEA4C; else goto L_021BEB18;
|
|
L_021BEA4C: ; // 0x21bea4c
|
|
/* 021BEA4C */ _t166 = cpu->r[27] + 0x00000004u;
|
|
/* 021BEA4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 021BEA50 */ _t167 = cpu->r[26] + 0x00000000u;
|
|
/* 021BEA50 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 021BEA54 */ _t168 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEA54 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[8]);
|
|
/* 021BEA58 */ _t169 = cpu->r[28] + 0x00000008u;
|
|
/* 021BEA58 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 021BEA5C */ _t170 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEA5C */ rbrew_write_f32(cpu->mem, _t170, cpu->f[10]);
|
|
/* 021BEA60 */ _t171 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BEA60 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[12]);
|
|
/* 021BEA64 */ _t172 = cpu->r[27] + 0x00000008u;
|
|
/* 021BEA64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 021BEA68 */ _t173 = cpu->r[28] + 0x00000000u;
|
|
/* 021BEA68 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 021BEA6C */ _t174 = cpu->r[1] + 0x00000030u;
|
|
/* 021BEA6C */ rbrew_write_f32(cpu->mem, _t174, cpu->f[9]);
|
|
/* 021BEA70 */ _t175 = cpu->r[1] + 0x00000034u;
|
|
/* 021BEA70 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[11]);
|
|
/* 021BEA74 */ _t176 = cpu->r[26] + 0x00000004u;
|
|
/* 021BEA74 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 021BEA78 */ _t177 = cpu->r[28] + 0x00000004u;
|
|
/* 021BEA78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 021BEA7C */ _t178 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEA7C */ rbrew_write_f32(cpu->mem, _t178, cpu->f[11]);
|
|
/* 021BEA80 */ _t179 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEA80 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[13]);
|
|
/* 021BEA84 */ cpu->r[5] = 0x000002F0u;
|
|
/* 021BEA88 */ _t180 = cpu->r[27] + 0x00000000u;
|
|
/* 021BEA88 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 021BEA8C */ cpu->r[4] = 0x10030000u;
|
|
/* 021BEA90 */ _t181 = cpu->r[26] + 0x00000008u;
|
|
/* 021BEA90 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 021BEA94 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEA98 */ _t182 = cpu->r[1] + 0x00000028u;
|
|
/* 021BEA98 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[6]);
|
|
/* 021BEA9C */ cpu->r[4] = cpu->r[4] + 0xFFFFB270u;
|
|
/* 021BEAA0 */ _t183 = cpu->r[1] + 0x00000024u;
|
|
/* 021BEAA0 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[10]);
|
|
/* 021BEAA4 */ Gambit_fn_0204C904(cpu);
|
|
/* 021BEAA8 */ _t184 = cpu->r[1] + 0x00000034u;
|
|
/* 021BEAA8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 021BEAAC */ _t185 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEAAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t185);
|
|
/* 021BEAB0 */ _t186 = cpu->r[1] + 0x00000060u;
|
|
/* 021BEAB0 */ rbrew_write_f32(cpu->mem, _t186, cpu->f[6]);
|
|
/* 021BEAB4 */ _t187 = cpu->r[1] + 0x00000040u;
|
|
/* 021BEAB4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 021BEAB8 */ _t188 = cpu->r[1] + 0x00000044u;
|
|
/* 021BEAB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t188);
|
|
/* 021BEABC */ _t189 = cpu->r[1] + 0x00000058u;
|
|
/* 021BEABC */ rbrew_write_f32(cpu->mem, _t189, cpu->f[13]);
|
|
/* 021BEAC0 */ _t190 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEAC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t190);
|
|
/* 021BEAC4 */ _t191 = cpu->r[1] + 0x00000074u;
|
|
/* 021BEAC4 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[6]);
|
|
/* 021BEAC8 */ _t192 = cpu->r[1] + 0x00000070u;
|
|
/* 021BEAC8 */ rbrew_write_f32(cpu->mem, _t192, cpu->f[13]);
|
|
/* 021BEACC */ _t193 = cpu->r[1] + 0x00000048u;
|
|
/* 021BEACC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 021BEAD0 */ _t194 = cpu->r[1] + 0x00000064u;
|
|
/* 021BEAD0 */ rbrew_write_f32(cpu->mem, _t194, cpu->f[7]);
|
|
/* 021BEAD4 */ _t195 = cpu->r[1] + 0x00000084u;
|
|
/* 021BEAD4 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[12]);
|
|
/* 021BEAD8 */ _t196 = cpu->r[1] + 0x00000024u;
|
|
/* 021BEAD8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 021BEADC */ _t197 = cpu->r[1] + 0x00000028u;
|
|
/* 021BEADC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t197);
|
|
/* 021BEAE0 */ _t198 = cpu->r[1] + 0x00000078u;
|
|
/* 021BEAE0 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[8]);
|
|
/* 021BEAE4 */ _t199 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BEAE4 */ rbrew_write_f32(cpu->mem, _t199, cpu->f[0]);
|
|
/* 021BEAE8 */ _t200 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BEAE8 */ cpu->r[14] = rbrew_read32(cpu->mem, _t200);
|
|
/* 021BEAEC */ _t201 = cpu->r[1] + 0x00000030u;
|
|
/* 021BEAEC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t201);
|
|
/* 021BEAF0 */ _t202 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEAF0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t202);
|
|
/* 021BEAF4 */ _t203 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BEAF4 */ rbrew_write_f32(cpu->mem, _t203, cpu->f[9]);
|
|
/* 021BEAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
|
|
/* 021BEAFC */ _t204 = cpu->r[1] + 0x00000068u;
|
|
/* 021BEAFC */ rbrew_write_f32(cpu->mem, _t204, cpu->f[10]);
|
|
/* 021BEB00 */ _t205 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BEB00 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t205);
|
|
/* 021BEB04 */ _t206 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEB04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t206);
|
|
/* 021BEB08 */ _t207 = cpu->r[1] + 0x00000080u;
|
|
/* 021BEB08 */ rbrew_write_f32(cpu->mem, _t207, cpu->f[10]);
|
|
/* 021BEB0C */ _t208 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BEB0C */ rbrew_write_f32(cpu->mem, _t208, cpu->f[11]);
|
|
/* 021BEB10 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEB10 */ _t210 = _t209 & 0x00000001u;
|
|
/* 021BEB10 */ if (_t210) goto L_021BEC0C; else goto L_021BEB14;
|
|
L_021BEB14: ; // 0x21beb14
|
|
/* 021BEB14 */ goto L_021BEBD8;
|
|
L_021BEB18: ; // 0x21beb18
|
|
/* 021BEB18 */ _t211 = cpu->r[18] + 0x00000004u;
|
|
/* 021BEB18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t211);
|
|
/* 021BEB1C */ _t212 = cpu->r[1] + 0x00000034u;
|
|
/* 021BEB1C */ rbrew_write_f32(cpu->mem, _t212, cpu->f[11]);
|
|
/* 021BEB20 */ _t213 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEB20 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[0]);
|
|
L_021BEB24: ; // 0x21beb24
|
|
/* 021BEB24 */ _t214 = cpu->r[27] + 0x00000000u;
|
|
/* 021BEB24 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 021BEB28 */ _t215 = cpu->r[27] + 0x00000004u;
|
|
/* 021BEB28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 021BEB2C */ _t216 = cpu->r[1] + 0x00000028u;
|
|
/* 021BEB2C */ rbrew_write_f32(cpu->mem, _t216, cpu->f[6]);
|
|
/* 021BEB30 */ _t217 = cpu->r[26] + 0x00000004u;
|
|
/* 021BEB30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 021BEB34 */ _t218 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEB34 */ rbrew_write_f32(cpu->mem, _t218, cpu->f[8]);
|
|
/* 021BEB38 */ _t219 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEB38 */ rbrew_write_f32(cpu->mem, _t219, cpu->f[11]);
|
|
/* 021BEB3C */ _t220 = cpu->r[27] + 0x00000008u;
|
|
/* 021BEB3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t220);
|
|
/* 021BEB40 */ _t221 = cpu->r[26] + 0x00000000u;
|
|
/* 021BEB40 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t221);
|
|
/* 021BEB44 */ _t222 = cpu->r[1] + 0x00000030u;
|
|
/* 021BEB44 */ rbrew_write_f32(cpu->mem, _t222, cpu->f[9]);
|
|
/* 021BEB48 */ _t223 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEB48 */ rbrew_write_f32(cpu->mem, _t223, cpu->f[10]);
|
|
/* 021BEB4C */ cpu->r[4] = 0x10030000u;
|
|
/* 021BEB50 */ _t224 = cpu->r[26] + 0x00000008u;
|
|
/* 021BEB50 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t224);
|
|
/* 021BEB54 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEB58 */ cpu->r[5] = 0x000002F0u;
|
|
/* 021BEB5C */ _t225 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BEB5C */ rbrew_write_f32(cpu->mem, _t225, cpu->f[12]);
|
|
/* 021BEB60 */ cpu->r[4] = cpu->r[4] + 0xFFFFB270u;
|
|
/* 021BEB64 */ _t226 = cpu->r[1] + 0x00000024u;
|
|
/* 021BEB64 */ rbrew_write_f32(cpu->mem, _t226, cpu->f[10]);
|
|
/* 021BEB68 */ Gambit_fn_0204C904(cpu);
|
|
/* 021BEB6C */ _t227 = cpu->r[1] + 0x00000024u;
|
|
/* 021BEB6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t227);
|
|
/* 021BEB70 */ _t228 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEB70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t228);
|
|
/* 021BEB74 */ _t229 = cpu->r[1] + 0x00000048u;
|
|
/* 021BEB74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t229);
|
|
/* 021BEB78 */ _t230 = cpu->r[1] + 0x00000058u;
|
|
/* 021BEB78 */ rbrew_write_f32(cpu->mem, _t230, cpu->f[13]);
|
|
/* 021BEB7C */ _t231 = cpu->r[1] + 0x00000034u;
|
|
/* 021BEB7C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t231);
|
|
/* 021BEB80 */ _t232 = cpu->r[1] + 0x00000078u;
|
|
/* 021BEB80 */ rbrew_write_f32(cpu->mem, _t232, cpu->f[8]);
|
|
/* 021BEB84 */ _t233 = cpu->r[1] + 0x00000060u;
|
|
/* 021BEB84 */ rbrew_write_f32(cpu->mem, _t233, cpu->f[6]);
|
|
/* 021BEB88 */ _t234 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021BEB88 */ cpu->r[14] = rbrew_read32(cpu->mem, _t234);
|
|
/* 021BEB8C */ _t235 = cpu->r[1] + 0x00000028u;
|
|
/* 021BEB8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t235);
|
|
/* 021BEB90 */ _t236 = cpu->r[1] + 0x00000044u;
|
|
/* 021BEB90 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t236);
|
|
/* 021BEB94 */ _t237 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BEB94 */ rbrew_write_f32(cpu->mem, _t237, cpu->f[0]);
|
|
/* 021BEB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
|
|
/* 021BEB9C */ _t238 = cpu->r[1] + 0x00000074u;
|
|
/* 021BEB9C */ rbrew_write_f32(cpu->mem, _t238, cpu->f[6]);
|
|
/* 021BEBA0 */ _t239 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEBA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t239);
|
|
/* 021BEBA4 */ _t240 = cpu->r[1] + 0x00000030u;
|
|
/* 021BEBA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 021BEBA8 */ _t241 = cpu->r[1] + 0x00000070u;
|
|
/* 021BEBA8 */ rbrew_write_f32(cpu->mem, _t241, cpu->f[13]);
|
|
/* 021BEBAC */ _t242 = cpu->r[1] + 0x0000007Cu;
|
|
/* 021BEBAC */ rbrew_write_f32(cpu->mem, _t242, cpu->f[9]);
|
|
/* 021BEBB0 */ _t243 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEBB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t243);
|
|
/* 021BEBB4 */ _t244 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEBB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t244);
|
|
/* 021BEBB8 */ _t245 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BEBB8 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[11]);
|
|
/* 021BEBBC */ _t246 = cpu->r[1] + 0x00000068u;
|
|
/* 021BEBBC */ rbrew_write_f32(cpu->mem, _t246, cpu->f[10]);
|
|
/* 021BEBC0 */ _t247 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021BEBC0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t247);
|
|
/* 021BEBC4 */ _t248 = cpu->r[1] + 0x00000040u;
|
|
/* 021BEBC4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t248);
|
|
/* 021BEBC8 */ _t249 = cpu->r[1] + 0x00000080u;
|
|
/* 021BEBC8 */ rbrew_write_f32(cpu->mem, _t249, cpu->f[10]);
|
|
/* 021BEBCC */ _t250 = cpu->r[1] + 0x00000064u;
|
|
/* 021BEBCC */ rbrew_write_f32(cpu->mem, _t250, cpu->f[7]);
|
|
/* 021BEBD0 */ _t251 = cpu->r[1] + 0x00000084u;
|
|
/* 021BEBD0 */ rbrew_write_f32(cpu->mem, _t251, cpu->f[12]);
|
|
/* 021BEBD4 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEBD4 */ _t253 = _t252 & 0x00000001u;
|
|
/* 021BEBD4 */ if (_t253) goto L_021BEC0C; else goto L_021BEBD8;
|
|
L_021BEBD8: ; // 0x21bebd8
|
|
/* 021BEBD8 */ _t254 = cpu->r[14] + 0x0000000Cu;
|
|
/* 021BEBD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t254);
|
|
/* 021BEBDC */ _t255 = cpu->r[1] + 0x00000050u;
|
|
/* 021BEBDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t255);
|
|
/* 021BEBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 021BEBE4 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEBE4 */ _t257 = _t256 & 0x00000001u;
|
|
/* 021BEBE4 */ if (_t257) goto L_021BEBE8; else goto L_021BEC0C;
|
|
L_021BEBE8: ; // 0x21bebe8
|
|
/* 021BEBE8 */ _t258 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEBE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t258);
|
|
/* 021BEBEC */ cpu->r[4] = cpu->r[14] + 0x0000007Cu;
|
|
/* 021BEBF0 */ Gambit_fn_02C69510(cpu);
|
|
/* 021BEBF4 */ _t259 = cpu->r[14] + 0x0000012Cu;
|
|
/* 021BEBF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t259);
|
|
/* 021BEBF8 */ _t260 = cpu->r[14] + 0x00000078u;
|
|
/* 021BEBF8 */ rbrew_write_f32(cpu->mem, _t260, cpu->f[31]);
|
|
/* 021BEBFC */ cpu->r[4] = cpu->r[4] | 0x00000008u;
|
|
/* 021BEC00 */ _t261 = cpu->r[14] + 0x00000074u;
|
|
/* 021BEC00 */ rbrew_write_f32(cpu->mem, _t261, cpu->f[31]);
|
|
/* 021BEC04 */ _t262 = cpu->r[14] + 0x0000012Cu;
|
|
/* 021BEC04 */ rbrew_write32(cpu->mem, _t262, cpu->r[4]);
|
|
/* 021BEC08 */ _t263 = cpu->r[14] + 0x00000070u;
|
|
/* 021BEC08 */ rbrew_write_f32(cpu->mem, _t263, cpu->f[31]);
|
|
L_021BEC0C: ; // 0x21bec0c
|
|
/* 021BEC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000007u);
|
|
/* 021BEC10 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEC10 */ _t265 = _t264 & 0x00000001u;
|
|
/* 021BEC10 */ if (_t265) goto L_021BEC18; else goto L_021BEC14;
|
|
L_021BEC14: ; // 0x21bec14
|
|
/* 021BEC14 */ _t266 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEC14 */ rbrew_write32(cpu->mem, _t266, cpu->r[31]);
|
|
L_021BEC18: ; // 0x21bec18
|
|
/* 021BEC18 */ _t267 = cpu->r[21] + 0x00000000u;
|
|
/* 021BEC18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t267);
|
|
/* 021BEC1C */ _t268 = cpu->r[6] + 0x000002C4u;
|
|
/* 021BEC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t268);
|
|
/* 021BEC20 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 021BEC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 021BEC28 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 021BEC2C */ _t269 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BEC2C */ _t270 = _t269 & 0x00000001u;
|
|
/* 021BEC2C */ if (_t270) goto L_021BE78C; else goto L_021BEC30;
|
|
L_021BEC30: ; // 0x21bec30
|
|
/* 021BEC30 */ _t271 = cpu->r[1] + 0x00000009u;
|
|
/* 021BEC30 */ cpu->r[8] = rbrew_read8(cpu->mem, _t271);
|
|
/* 021BEC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021BEC38 */ _t272 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEC38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t272);
|
|
/* 021BEC3C */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEC3C */ _t274 = _t273 & 0x00000001u;
|
|
/* 021BEC3C */ if (_t274) goto L_021BECA8; else goto L_021BEC40;
|
|
L_021BEC40: ; // 0x21bec40
|
|
/* 021BEC40 */ cpu->r[4] = 0x00000004u;
|
|
/* 021BEC44 */ cpu->r[3] = cpu->r[20];
|
|
/* 021BEC48 */ Gambit_fn_027B8224(cpu);
|
|
/* 021BEC4C */ _t275 = cpu->r[22] + 0x00000004u;
|
|
/* 021BEC4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t275);
|
|
/* 021BEC50 */ _t276 = cpu->r[10] + 0x00000014u;
|
|
/* 021BEC50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t276);
|
|
/* 021BEC54 */ cpu->ctr = cpu->r[4];
|
|
/* 021BEC58 */ cpu->r[3] = cpu->r[22];
|
|
/* 021BEC5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BEC60 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BEC64 */ _t277 = cpu->r[22] + 0x00000000u;
|
|
/* 021BEC64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t277);
|
|
/* 021BEC68 */ cpu->r[6] = cpu->r[6] + 0xFFFFB198u;
|
|
/* 021BEC6C */ cpu->r[4] = cpu->r[1] + 0x000000A8u;
|
|
/* 021BEC70 */ _t278 = cpu->r[1] + 0x000000A8u;
|
|
/* 021BEC70 */ rbrew_write32(cpu->mem, _t278, cpu->r[10]);
|
|
/* 021BEC74 */ cpu->r[3] = cpu->r[20];
|
|
/* 021BEC78 */ _t279 = cpu->r[1] + 0x000000ACu;
|
|
/* 021BEC78 */ rbrew_write32(cpu->mem, _t279, cpu->r[6]);
|
|
/* 021BEC7C */ Gambit_fn_027B70F0(cpu);
|
|
/* 021BEC80 */ /* nop */
|
|
/* 021BEC84 */ _t280 = cpu->r[1] + 0x00000100u;
|
|
/* 021BEC84 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t280);
|
|
/* 021BEC88 */ _t281 = cpu->r[1] + 0x00000110u;
|
|
/* 021BEC88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t281);
|
|
/* 021BEC8C */ _t282 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BEC8C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t282);
|
|
/* 021BEC90 */ _t283 = cpu->r[1] + 0x00000108u;
|
|
/* 021BEC90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t283);
|
|
/* 021BEC94 */ _t284 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BEC94 */ _t285 = _t284 & 0x00000001u;
|
|
/* 021BEC94 */ if (_t285) goto L_021BEC98; // else: addr-0 trap, fall-through
|
|
L_021BEC98: ; // 0x21bec98
|
|
/* 021BEC98 */ _t286 = cpu->r[1] + 0x0000011Cu;
|
|
/* 021BEC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 021BEC9C */ cpu->lr = cpu->r[0];
|
|
/* 021BECA0 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 021BECA4 */ return;
|
|
L_021BECA8: ; // 0x21beca8
|
|
/* 021BECA8 */ cpu->r[11] = 0x00000000u;
|
|
/* 021BECAC */ _t287 = cpu->r[23] + 0x00000039u;
|
|
/* 021BECAC */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[11]);
|
|
/* 021BECB0 */ /* nop */
|
|
/* 021BECB4 */ _t288 = cpu->r[1] + 0x00000100u;
|
|
/* 021BECB4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t288);
|
|
/* 021BECB8 */ _t289 = cpu->r[1] + 0x00000110u;
|
|
/* 021BECB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t289);
|
|
/* 021BECBC */ _t290 = cpu->r[1] + 0x000000F8u;
|
|
/* 021BECBC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t290);
|
|
/* 021BECC0 */ _t291 = cpu->r[1] + 0x00000108u;
|
|
/* 021BECC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t291);
|
|
/* 021BECC4 */ _t292 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BECC4 */ _t293 = _t292 & 0x00000001u;
|
|
/* 021BECC4 */ if (_t293) goto L_021BECC8; // else: addr-0 trap, fall-through
|
|
L_021BECC8: ; // 0x21becc8
|
|
/* 021BECC8 */ _t294 = cpu->r[1] + 0x0000011Cu;
|
|
/* 021BECC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t294);
|
|
/* 021BECCC */ cpu->lr = cpu->r[0];
|
|
/* 021BECD0 */ cpu->r[1] = cpu->r[1] + 0x00000118u;
|
|
/* 021BECD4 */ return;
|
|
}
|
|
|
|
// fn_021BECD8 @ 0x21becd8
|
|
void Gambit_fn_021BECD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021BECD8: ; // 0x21becd8
|
|
/* 021BECD8 */ cpu->r[0] = cpu->lr;
|
|
/* 021BECDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BECDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BECDC */ cpu->r[1] = _t0;
|
|
/* 021BECE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021BECE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BECE4 */ cpu->r[30] = 0x101E0000u;
|
|
/* 021BECE8 */ cpu->r[30] = cpu->r[30] + 0x000010ACu;
|
|
/* 021BECEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BECEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BECF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BECF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BECF4 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 021BECF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BECF8 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 021BECF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BECFC */ _t6 = cpu->r[3] + 0x00000030u;
|
|
/* 021BECFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BED00 */ cpu->ctr = cpu->r[0];
|
|
/* 021BED04 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BED08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BED0C */ cpu->r[0] = 0x10030000u;
|
|
/* 021BED10 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 021BED10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BED14 */ cpu->r[0] = cpu->r[0] + 0xFFFFB198u;
|
|
/* 021BED18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BED1C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021BED1C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021BED20 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BED24 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BED24 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BED28 */ Gambit_fn_027B70B8(cpu);
|
|
/* 021BED2C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BED2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BED30 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021BED30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BED34 */ cpu->lr = cpu->r[0];
|
|
/* 021BED38 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021BED38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BED3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BED40 */ return;
|
|
}
|
|
|
|
// fn_021BECDC @ 0x21becdc
|
|
void Gambit_fn_021BECDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_021BECDC: ; // 0x21becdc
|
|
/* 021BECDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021BECDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BECDC */ cpu->r[1] = _t0;
|
|
/* 021BECE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 021BECE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 021BECE4 */ cpu->r[30] = 0x101E0000u;
|
|
/* 021BECE8 */ cpu->r[30] = cpu->r[30] + 0x000010ACu;
|
|
/* 021BECEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BECEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021BECF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BECF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021BECF4 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 021BECF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BECF8 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 021BECF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BECFC */ _t6 = cpu->r[3] + 0x00000030u;
|
|
/* 021BECFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BED00 */ cpu->ctr = cpu->r[0];
|
|
/* 021BED04 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BED08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BED0C */ cpu->r[0] = 0x10030000u;
|
|
/* 021BED10 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 021BED10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BED14 */ cpu->r[0] = cpu->r[0] + 0xFFFFB198u;
|
|
/* 021BED18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BED1C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 021BED1C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 021BED20 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BED24 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BED24 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BED28 */ Gambit_fn_027B70B8(cpu);
|
|
/* 021BED2C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BED2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BED30 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 021BED30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BED34 */ cpu->lr = cpu->r[0];
|
|
/* 021BED38 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021BED38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BED3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021BED40 */ return;
|
|
}
|
|
|
|
// fn_021BED44 @ 0x21bed44
|
|
void Gambit_fn_021BED44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _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;
|
|
double _ft31, _ft32;
|
|
|
|
L_021BED44: ; // 0x21bed44
|
|
/* 021BED44 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 021BED44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BED44 */ cpu->r[1] = _t0;
|
|
/* 021BED48 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 021BED48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BED4C */ cpu->r[0] = cpu->lr;
|
|
/* 021BED50 */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 021BED50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 021BED54 */ cpu->r[30] = cpu->r[5];
|
|
/* 021BED58 */ _t3 = cpu->r[1] + 0x00000078u;
|
|
/* 021BED58 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021BED5C */ /* nop */
|
|
/* 021BED60 */ _t4 = cpu->r[1] + 0x00000088u;
|
|
/* 021BED60 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 021BED64 */ /* nop */
|
|
/* 021BED68 */ _t5 = cpu->r[1] + 0x00000098u;
|
|
/* 021BED68 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 021BED6C */ /* nop */
|
|
/* 021BED70 */ _t6 = cpu->r[1] + 0x00000090u;
|
|
/* 021BED70 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 021BED74 */ cpu->r[3] = cpu->r[30];
|
|
/* 021BED78 */ _t7 = cpu->r[1] + 0x00000080u;
|
|
/* 021BED78 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
|
|
/* 021BED7C */ cpu->r[31] = cpu->r[6];
|
|
/* 021BED80 */ _t8 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BED80 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 021BED84 */ cpu->f[29] = cpu->f[1];
|
|
/* 021BED88 */ _t9 = cpu->r[1] + 0x000000ACu;
|
|
/* 021BED88 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BED8C */ cpu->f[30] = cpu->f[2];
|
|
/* 021BED90 */ _t10 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BED90 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 021BED94 */ cpu->r[29] = cpu->r[4];
|
|
/* 021BED98 */ Gambit_fn_02C69328(cpu);
|
|
/* 021BED9C */ cpu->r[6] = 0x10030000u;
|
|
/* 021BEDA0 */ _t11 = cpu->r[6] + 0xFFFFB210u;
|
|
/* 021BEDA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 021BEDA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 021BEDA8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BEDA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021BEDA8 */ if (_t13) goto L_021BEDAC; else goto L_021BEF68;
|
|
L_021BEDAC: ; // 0x21bedac
|
|
/* 021BEDAC */ /* nop */
|
|
/* 021BEDB0 */ /* nop */
|
|
/* 021BEDB4 */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 021BEDB4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 021BEDB8 */ /* nop */
|
|
/* 021BEDBC */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 021BEDBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 021BEDC0 */ /* nop */
|
|
/* 021BEDC4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 021BEDC4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021BEDC8 */ cpu->f[12] = cpu->f[8] - cpu->f[9];
|
|
/* 021BEDCC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEDCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021BEDD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 021BEDD4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEDD4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 021BEDD8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEDD8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021BEDD8 */ if (_t20) goto L_021BEDF4; else goto L_021BEDDC;
|
|
L_021BEDDC: ; // 0x21beddc
|
|
/* 021BEDDC */ cpu->f[10] = cpu->f[13] * cpu->f[13];
|
|
/* 021BEDE0 */ cpu->f[11] = fma(cpu->f[7], cpu->f[7], cpu->f[10]);
|
|
/* 021BEDE4 */ cpu->f[7] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
|
|
/* 021BEDE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 021BEDEC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BEDEC */ _t22 = _t21 & 0x00000001u;
|
|
/* 021BEDEC */ if (_t22) goto L_021BEDF0; else goto L_021BEE54;
|
|
L_021BEDF0: ; // 0x21bedf0
|
|
/* 021BEDF0 */ goto L_021BEE18;
|
|
L_021BEDF4: ; // 0x21bedf4
|
|
/* 021BEDF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 021BEDF8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEDF8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 021BEDF8 */ if (_t24) goto L_021BEDFC; else goto L_021BEE04;
|
|
L_021BEDFC: ; // 0x21bedfc
|
|
/* 021BEDFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 021BEE00 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEE00 */ _t26 = _t25 & 0x00000001u;
|
|
/* 021BEE00 */ if (_t26) goto L_021BEF3C; else goto L_021BEE04;
|
|
L_021BEE04: ; // 0x21bee04
|
|
/* 021BEE04 */ cpu->f[10] = cpu->f[13] * cpu->f[13];
|
|
/* 021BEE08 */ cpu->f[11] = fma(cpu->f[7], cpu->f[7], cpu->f[10]);
|
|
/* 021BEE0C */ cpu->f[7] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
|
|
/* 021BEE10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 021BEE14 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BEE14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021BEE14 */ if (_t28) goto L_021BEE18; else goto L_021BEE54;
|
|
L_021BEE18: ; // 0x21bee18
|
|
/* 021BEE18 */ cpu->r[12] = 0x10030000u;
|
|
/* 021BEE1C */ cpu->r[10] = 0x10030000u;
|
|
/* 021BEE20 */ _t29 = cpu->r[12] + 0xFFFFB220u;
|
|
/* 021BEE20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021BEE24 */ _t30 = cpu->r[10] + 0xFFFFB21Cu;
|
|
/* 021BEE24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021BEE28 */ _ft31 = sqrt(cpu->f[7]);
|
|
/* 021BEE28 */ _ft32 = (double)(int32_t)0x00000001u;
|
|
/* 021BEE28 */ cpu->f[9] = _ft32 / _ft31;
|
|
/* 021BEE2C */ cpu->f[8] = cpu->f[9] * cpu->f[9];
|
|
/* 021BEE30 */ cpu->f[10] = cpu->f[9] * cpu->f[11];
|
|
/* 021BEE34 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[7], -(cpu->f[12]));
|
|
/* 021BEE38 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 021BEE3C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEE3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 021BEE40 */ /* nop */
|
|
/* 021BEE44 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 021BEE48 */ /* nop */
|
|
/* 021BEE4C */ /* nop */
|
|
/* 021BEE50 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEE50 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
L_021BEE54: ; // 0x21bee54
|
|
/* 021BEE54 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 021BEE54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021BEE58 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEE58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021BEE5C */ _t37 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021BEE5C */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 021BEE60 */ _t38 = cpu->r[1] + 0x00000068u;
|
|
/* 021BEE60 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 021BEE64 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 021BEE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021BEE68 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 021BEE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021BEE6C */ _t41 = cpu->r[1] + 0x00000054u;
|
|
/* 021BEE6C */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 021BEE70 */ _t42 = cpu->r[1] + 0x00000058u;
|
|
/* 021BEE70 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 021BEE74 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEE74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BEE78 */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 021BEE7C */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 021BEE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 021BEE80 */ cpu->r[3] = cpu->r[29];
|
|
/* 021BEE84 */ _t45 = cpu->r[1] + 0x00000064u;
|
|
/* 021BEE84 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 021BEE88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021BEE8C */ _t46 = cpu->r[1] + 0x00000060u;
|
|
/* 021BEE8C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 021BEE90 */ Gambit_fn_0281975C(cpu);
|
|
/* 021BEE94 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 021BEE94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 021BEE98 */ /* nop */
|
|
/* 021BEE9C */ /* nop */
|
|
/* 021BEEA0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 021BEEA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021BEEA4 */ cpu->f[8] = cpu->f[9] * cpu->f[11];
|
|
/* 021BEEA8 */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 021BEEA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021BEEAC */ /* nop */
|
|
/* 021BEEB0 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEEB0 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[8]);
|
|
/* 021BEEB4 */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 021BEEB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021BEEB8 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEEB8 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 021BEEBC */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021BEEBC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021BEEC0 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021BEEC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 021BEEC4 */ cpu->f[0] = cpu->f[0] + cpu->f[8];
|
|
/* 021BEEC8 */ _t55 = cpu->r[30] + 0x00000008u;
|
|
/* 021BEEC8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 021BEECC */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 021BEECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021BEED0 */ cpu->f[7] = cpu->f[0] - cpu->f[7];
|
|
/* 021BEED4 */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 021BEED4 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 021BEED8 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 021BEED8 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 021BEEDC */ /* nop */
|
|
/* 021BEEE0 */ cpu->f[7] = cpu->f[7] * cpu->f[29];
|
|
/* 021BEEE4 */ /* nop */
|
|
/* 021BEEE8 */ /* nop */
|
|
/* 021BEEEC */ _t59 = cpu->r[29] + 0x00000008u;
|
|
/* 021BEEEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 021BEEF0 */ /* nop */
|
|
/* 021BEEF4 */ cpu->f[6] = cpu->f[13] - cpu->f[0];
|
|
/* 021BEEF8 */ /* nop */
|
|
/* 021BEEFC */ /* nop */
|
|
/* 021BEF00 */ /* nop */
|
|
/* 021BEF04 */ cpu->f[11] = cpu->f[6] * cpu->f[30];
|
|
/* 021BEF08 */ /* nop */
|
|
/* 021BEF0C */ _t60 = cpu->r[30] + 0x00000008u;
|
|
/* 021BEF0C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 021BEF10 */ /* nop */
|
|
/* 021BEF14 */ cpu->f[12] = cpu->f[13] + cpu->f[7];
|
|
/* 021BEF18 */ _t61 = cpu->r[1] + 0x00000038u;
|
|
/* 021BEF18 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
|
|
/* 021BEF1C */ /* nop */
|
|
/* 021BEF20 */ _t62 = cpu->r[1] + 0x00000050u;
|
|
/* 021BEF20 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[7]);
|
|
/* 021BEF24 */ /* nop */
|
|
/* 021BEF28 */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 021BEF28 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[11]);
|
|
/* 021BEF2C */ cpu->f[0] = cpu->f[12] + cpu->f[11];
|
|
/* 021BEF30 */ /* nop */
|
|
/* 021BEF34 */ _t64 = cpu->r[29] + 0x00000008u;
|
|
/* 021BEF34 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 021BEF38 */ goto L_021BEF68;
|
|
L_021BEF3C: ; // 0x21bef3c
|
|
/* 021BEF3C */ _t65 = cpu->r[30] + 0x00000008u;
|
|
/* 021BEF3C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 021BEF40 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 021BEF40 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021BEF44 */ /* nop */
|
|
/* 021BEF48 */ cpu->f[9] = cpu->f[7] - cpu->f[9];
|
|
/* 021BEF4C */ /* nop */
|
|
/* 021BEF50 */ /* nop */
|
|
/* 021BEF54 */ _t67 = cpu->r[29] + 0x00000008u;
|
|
/* 021BEF54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 021BEF58 */ /* nop */
|
|
/* 021BEF5C */ cpu->f[0] = fma(cpu->f[9], cpu->f[30], cpu->f[0]);
|
|
/* 021BEF60 */ /* nop */
|
|
/* 021BEF64 */ _t68 = cpu->r[29] + 0x00000008u;
|
|
/* 021BEF64 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
L_021BEF68: ; // 0x21bef68
|
|
/* 021BEF68 */ _t69 = cpu->r[1] + 0x0000006Cu;
|
|
/* 021BEF68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 021BEF6C */ _t70 = cpu->r[1] + 0x000000A0u;
|
|
/* 021BEF6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021BEF70 */ _t71 = cpu->r[1] + 0x00000080u;
|
|
/* 021BEF70 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 021BEF74 */ _t72 = cpu->r[1] + 0x00000098u;
|
|
/* 021BEF74 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 021BEF78 */ _t73 = cpu->r[1] + 0x00000090u;
|
|
/* 021BEF78 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 021BEF7C */ _t74 = cpu->r[1] + 0x00000078u;
|
|
/* 021BEF7C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t74);
|
|
/* 021BEF80 */ _t75 = cpu->r[1] + 0x00000088u;
|
|
/* 021BEF80 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t75);
|
|
/* 021BEF84 */ _t76 = cpu->r[1] + 0x00000074u;
|
|
/* 021BEF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 021BEF88 */ _t77 = cpu->r[1] + 0x00000070u;
|
|
/* 021BEF88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021BEF8C */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BEF8C */ _t79 = _t78 & 0x00000001u;
|
|
/* 021BEF8C */ if (_t79) goto L_021BEF90; // else: addr-0 trap, fall-through
|
|
L_021BEF90: ; // 0x21bef90
|
|
/* 021BEF90 */ _t80 = cpu->r[1] + 0x000000ACu;
|
|
/* 021BEF90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 021BEF94 */ cpu->lr = cpu->r[0];
|
|
/* 021BEF98 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 021BEF9C */ return;
|
|
}
|
|
|
|
// fn_021BEFA0 @ 0x21befa0
|
|
void Gambit_fn_021BEFA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BEFA0: ; // 0x21befa0
|
|
/* 021BEFA0 */ cpu->r[0] = cpu->lr;
|
|
/* 021BEFA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BEFA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BEFA4 */ cpu->r[1] = _t0;
|
|
/* 021BEFA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BEFAC */ cpu->r[31] = cpu->r[3];
|
|
/* 021BEFB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BEFB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BEFB4 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 021BEFB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021BEFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 021BEFBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEFBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BEFBC */ if (_t5) goto L_021BEFC0; else goto L_021BEFD4;
|
|
L_021BEFC0: ; // 0x21befc0
|
|
/* 021BEFC0 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 021BEFC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BEFC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021BEFC8 */ Gambit_fn_027B9B00(cpu);
|
|
/* 021BEFCC */ cpu->r[0] = 0x00000000u;
|
|
/* 021BEFD0 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 021BEFD0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_021BEFD4: ; // 0x21befd4
|
|
/* 021BEFD4 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 021BEFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BEFD8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BEFDC */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 021BEFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BEFE0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021BEFE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021BEFE4 */ _t11 = cpu->r[12] + 0x00000274u;
|
|
/* 021BEFE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BEFE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BEFEC */ Gambit_fn_021F4B70(cpu);
|
|
/* 021BEFF0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021BEFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BEFF4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEFF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BEFF8 */ cpu->lr = cpu->r[0];
|
|
/* 021BEFFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF000 */ return;
|
|
}
|
|
|
|
// fn_021BEFA4 @ 0x21befa4
|
|
void Gambit_fn_021BEFA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_021BEFA4: ; // 0x21befa4
|
|
/* 021BEFA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BEFA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BEFA4 */ cpu->r[1] = _t0;
|
|
/* 021BEFA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEFA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BEFAC */ cpu->r[31] = cpu->r[3];
|
|
/* 021BEFB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BEFB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BEFB4 */ _t3 = cpu->r[31] + 0x00000050u;
|
|
/* 021BEFB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 021BEFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 021BEFBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BEFBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BEFBC */ if (_t5) goto L_021BEFC0; else goto L_021BEFD4;
|
|
L_021BEFC0: ; // 0x21befc0
|
|
/* 021BEFC0 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 021BEFC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BEFC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 021BEFC8 */ Gambit_fn_027B9B00(cpu);
|
|
/* 021BEFCC */ cpu->r[0] = 0x00000000u;
|
|
/* 021BEFD0 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 021BEFD0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_021BEFD4: ; // 0x21befd4
|
|
/* 021BEFD4 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 021BEFD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021BEFD8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021BEFDC */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 021BEFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BEFE0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 021BEFE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021BEFE4 */ _t11 = cpu->r[12] + 0x00000274u;
|
|
/* 021BEFE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BEFE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 021BEFEC */ Gambit_fn_021F4B70(cpu);
|
|
/* 021BEFF0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 021BEFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BEFF4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BEFF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021BEFF8 */ cpu->lr = cpu->r[0];
|
|
/* 021BEFFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF000 */ return;
|
|
}
|
|
|
|
// fn_021BF004 @ 0x21bf004
|
|
void Gambit_fn_021BF004(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021BF004: ; // 0x21bf004
|
|
/* 021BF004 */ cpu->r[0] = cpu->lr;
|
|
/* 021BF008 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BF008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BF008 */ cpu->r[1] = _t0;
|
|
/* 021BF00C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF00C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BF010 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF010 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BF014 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BF018 */ _t4 = cpu->r[10] + 0x000002FCu;
|
|
/* 021BF018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BF01C */ cpu->ctr = cpu->r[0];
|
|
/* 021BF020 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BF024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BF028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BF02C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BF02C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021BF02C */ if (_t6) goto L_021BF060; else goto L_021BF030;
|
|
L_021BF030: ; // 0x21bf030
|
|
/* 021BF030 */ _t7 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF030 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 021BF034 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 021BF038 */ /* nop */
|
|
/* 021BF03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 021BF040 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BF040 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BF040 */ if (_t9) goto L_021BF05C; else goto L_021BF044;
|
|
L_021BF044: ; // 0x21bf044
|
|
/* 021BF044 */ _t10 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF044 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 021BF048 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BF04C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BF050 */ cpu->lr = cpu->r[0];
|
|
/* 021BF054 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF058 */ return;
|
|
L_021BF05C: ; // 0x21bf05c
|
|
/* 021BF05C */ _t13 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF05C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[3]);
|
|
L_021BF060: ; // 0x21bf060
|
|
/* 021BF060 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BF064 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BF068 */ cpu->lr = cpu->r[0];
|
|
/* 021BF06C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF070 */ return;
|
|
}
|
|
|
|
// fn_021BF008 @ 0x21bf008
|
|
void Gambit_fn_021BF008(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_021BF008: ; // 0x21bf008
|
|
/* 021BF008 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BF008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BF008 */ cpu->r[1] = _t0;
|
|
/* 021BF00C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF00C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BF010 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF010 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BF014 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BF018 */ _t4 = cpu->r[10] + 0x000002FCu;
|
|
/* 021BF018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BF01C */ cpu->ctr = cpu->r[0];
|
|
/* 021BF020 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BF024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BF028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BF02C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BF02C */ _t6 = _t5 & 0x00000001u;
|
|
/* 021BF02C */ if (_t6) goto L_021BF060; else goto L_021BF030;
|
|
L_021BF030: ; // 0x21bf030
|
|
/* 021BF030 */ _t7 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF030 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 021BF034 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 021BF038 */ /* nop */
|
|
/* 021BF03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 021BF040 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021BF040 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021BF040 */ if (_t9) goto L_021BF05C; else goto L_021BF044;
|
|
L_021BF044: ; // 0x21bf044
|
|
/* 021BF044 */ _t10 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF044 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 021BF048 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021BF04C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021BF050 */ cpu->lr = cpu->r[0];
|
|
/* 021BF054 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF058 */ return;
|
|
L_021BF05C: ; // 0x21bf05c
|
|
/* 021BF05C */ _t13 = cpu->r[31] + 0x00000052u;
|
|
/* 021BF05C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[3]);
|
|
L_021BF060: ; // 0x21bf060
|
|
/* 021BF060 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021BF064 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BF068 */ cpu->lr = cpu->r[0];
|
|
/* 021BF06C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF070 */ return;
|
|
}
|
|
|
|
// fn_021BF074 @ 0x21bf074
|
|
void Gambit_fn_021BF074(CPUState* cpu) {
|
|
L_021BF074: ; // 0x21bf074
|
|
/* 021BF074 */ cpu->r[3] = 0x0000000Au;
|
|
/* 021BF078 */ return;
|
|
}
|
|
|
|
// fn_021BF07C @ 0x21bf07c
|
|
void Gambit_fn_021BF07C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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;
|
|
|
|
L_021BF07C: ; // 0x21bf07c
|
|
/* 021BF07C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021BF07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BF07C */ cpu->r[1] = _t0;
|
|
/* 021BF080 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021BF080 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 021BF084 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 021BF084 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 021BF088 */ /* nop */
|
|
/* 021BF08C */ /* nop */
|
|
/* 021BF090 */ cpu->r[0] = cpu->lr;
|
|
/* 021BF094 */ /* nop */
|
|
/* 021BF098 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 021BF098 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021BF09C */ cpu->r[5] = 0x101E0000u;
|
|
/* 021BF0A0 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 021BF0A0 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021BF0A4 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 021BF0A4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021BF0A8 */ /* nop */
|
|
/* 021BF0AC */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 021BF0AC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[28]);
|
|
/* 021BF0B0 */ /* nop */
|
|
/* 021BF0B4 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 021BF0B4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 021BF0B8 */ _t8 = cpu->r[1] + 0x00000048u;
|
|
/* 021BF0B8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 021BF0BC */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 021BF0C0 */ _t9 = cpu->r[1] + 0x00000064u;
|
|
/* 021BF0C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 021BF0C4 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 021BF0C8 */ _t10 = cpu->r[5] + 0x00001084u;
|
|
/* 021BF0C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 021BF0C8 */ cpu->r[5] = _t10;
|
|
/* 021BF0CC */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BF0D0 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 021BF0D4 */ _t11 = cpu->r[5] + 0x00000004u;
|
|
/* 021BF0D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 021BF0D8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 021BF0DC */ _t12 = cpu->r[12] + 0x0000108Cu;
|
|
/* 021BF0DC */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 021BF0DC */ cpu->r[12] = _t12;
|
|
/* 021BF0E0 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 021BF0E4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 021BF0E8 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 021BF0E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 021BF0EC */ cpu->r[10] = 0x101E0000u;
|
|
/* 021BF0F0 */ _t14 = cpu->r[11] + 0x00001094u;
|
|
/* 021BF0F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 021BF0F0 */ cpu->r[11] = _t14;
|
|
/* 021BF0F4 */ cpu->r[10] = cpu->r[10] + 0x0000109Cu;
|
|
/* 021BF0F8 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 021BF0F8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021BF0FC */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 021BF0FC */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 021BF100 */ cpu->r[11] = 0x00000002u;
|
|
/* 021BF104 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 021BF104 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 021BF108 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 021BF108 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 021BF10C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 021BF10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 021BF110 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 021BF110 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021BF114 */ cpu->r[31] = 0x101E0000u;
|
|
/* 021BF118 */ _t21 = cpu->r[9] + 0x00000008u;
|
|
/* 021BF118 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021BF11C */ cpu->r[4] = 0x101F0000u;
|
|
/* 021BF120 */ _t22 = cpu->r[31] + 0x000010B8u;
|
|
/* 021BF120 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 021BF120 */ cpu->r[31] = _t22;
|
|
/* 021BF124 */ _t23 = cpu->r[4] + 0x00005C2Cu;
|
|
/* 021BF124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021BF124 */ cpu->r[4] = _t23;
|
|
/* 021BF128 */ _t24 = cpu->r[9] + 0x0000000Cu;
|
|
/* 021BF128 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 021BF12C */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 021BF12C */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 021BF130 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 021BF130 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 021BF134 */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 021BF134 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 021BF138 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 021BF138 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 021BF13C */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 021BF13C */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 021BF140 */ cpu->r[12] = 0x101E0000u;
|
|
/* 021BF144 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 021BF144 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
/* 021BF148 */ cpu->r[0] = 0x00000004u;
|
|
/* 021BF14C */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 021BF14C */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 021BF150 */ cpu->r[11] = 0x101F0000u;
|
|
/* 021BF154 */ _t32 = cpu->r[12] + 0x000010B4u;
|
|
/* 021BF154 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 021BF158 */ _t33 = cpu->r[11] + 0x00005C1Cu;
|
|
/* 021BF158 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021BF158 */ cpu->r[11] = _t33;
|
|
/* 021BF15C */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 021BF15C */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
/* 021BF160 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 021BF160 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 021BF164 */ _t36 = cpu->r[31] + 0x00000014u;
|
|
/* 021BF164 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 021BF168 */ _t37 = cpu->r[31] + 0x00000040u;
|
|
/* 021BF168 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 021BF16C */ _t38 = cpu->r[4] + 0x0000000Cu;
|
|
/* 021BF16C */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021BF170 */ _t39 = cpu->r[11] + 0x00000004u;
|
|
/* 021BF170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021BF174 */ _t40 = cpu->r[31] + 0x0000003Cu;
|
|
/* 021BF174 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 021BF178 */ _t41 = cpu->r[31] + 0x00000044u;
|
|
/* 021BF178 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 021BF17C */ _t42 = cpu->r[11] + 0x00000008u;
|
|
/* 021BF17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 021BF180 */ _t43 = cpu->r[4] + 0x00000008u;
|
|
/* 021BF180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021BF184 */ _t44 = cpu->r[31] + 0x00000048u;
|
|
/* 021BF184 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 021BF188 */ _t45 = cpu->r[11] + 0x0000000Cu;
|
|
/* 021BF188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021BF18C */ _t46 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021BF18C */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 021BF190 */ _t47 = cpu->r[10] + 0x00000000u;
|
|
/* 021BF190 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 021BF194 */ _t48 = cpu->r[4] + 0x00000004u;
|
|
/* 021BF194 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 021BF198 */ _t49 = cpu->r[31] + 0x0000004Cu;
|
|
/* 021BF198 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 021BF19C */ cpu->r[5] = 0x101E0000u;
|
|
/* 021BF1A0 */ _t50 = cpu->r[31] + 0x00000034u;
|
|
/* 021BF1A0 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 021BF1A4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 021BF1A8 */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 021BF1A8 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 021BF1AC */ cpu->r[10] = 0x101F0000u;
|
|
/* 021BF1B0 */ _t52 = cpu->r[31] + 0x00000038u;
|
|
/* 021BF1B0 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 021BF1B4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 021BF1B8 */ _t53 = cpu->r[10] + 0x00005BDCu;
|
|
/* 021BF1B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 021BF1B8 */ cpu->r[10] = _t53;
|
|
/* 021BF1BC */ cpu->r[7] = cpu->r[7] + 0x00005C4Cu;
|
|
/* 021BF1C0 */ _t54 = cpu->r[5] + 0x000010A4u;
|
|
/* 021BF1C0 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 021BF1C0 */ cpu->r[5] = _t54;
|
|
/* 021BF1C4 */ _t55 = cpu->r[10] + 0x00000008u;
|
|
/* 021BF1C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 021BF1C8 */ _t56 = cpu->r[7] + 0x00000004u;
|
|
/* 021BF1C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 021BF1CC */ _t57 = cpu->r[31] + 0x00000088u;
|
|
/* 021BF1CC */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
|
|
/* 021BF1D0 */ _t58 = cpu->r[31] + 0x00000080u;
|
|
/* 021BF1D0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 021BF1D4 */ _t59 = cpu->r[10] + 0x00000004u;
|
|
/* 021BF1D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021BF1D8 */ _t60 = cpu->r[5] + 0x00000004u;
|
|
/* 021BF1D8 */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 021BF1DC */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 021BF1DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021BF1DC */ cpu->r[12] = _t61;
|
|
/* 021BF1E0 */ _t62 = cpu->r[31] + 0x00000058u;
|
|
/* 021BF1E0 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 021BF1E4 */ _t63 = cpu->r[31] + 0x00000064u;
|
|
/* 021BF1E4 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 021BF1E8 */ _t64 = cpu->r[12] + 0x00000004u;
|
|
/* 021BF1E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 021BF1EC */ _t65 = cpu->r[10] + 0x0000000Cu;
|
|
/* 021BF1EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 021BF1F0 */ _t66 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021BF1F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 021BF1F4 */ _t67 = cpu->r[31] + 0x00000090u;
|
|
/* 021BF1F4 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 021BF1F8 */ _t68 = cpu->r[31] + 0x00000070u;
|
|
/* 021BF1F8 */ rbrew_write32(cpu->mem, _t68, cpu->r[6]);
|
|
/* 021BF1FC */ _t69 = cpu->r[31] + 0x00000074u;
|
|
/* 021BF1FC */ rbrew_write32(cpu->mem, _t69, cpu->r[8]);
|
|
/* 021BF200 */ cpu->r[8] = 0x101F0000u;
|
|
/* 021BF204 */ _t70 = cpu->r[31] + 0x0000007Cu;
|
|
/* 021BF204 */ rbrew_write32(cpu->mem, _t70, cpu->r[10]);
|
|
/* 021BF208 */ _t71 = cpu->r[8] + 0x00005C0Cu;
|
|
/* 021BF208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 021BF208 */ cpu->r[8] = _t71;
|
|
/* 021BF20C */ _t72 = cpu->r[7] + 0x0000000Cu;
|
|
/* 021BF20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 021BF210 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 021BF210 */ rbrew_write32(cpu->mem, _t73, cpu->r[5]);
|
|
/* 021BF214 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 021BF214 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 021BF218 */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 021BF218 */ rbrew_write32(cpu->mem, _t75, cpu->r[4]);
|
|
/* 021BF21C */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 021BF21C */ rbrew_write32(cpu->mem, _t76, cpu->r[4]);
|
|
/* 021BF220 */ _t77 = cpu->r[8] + 0x00000008u;
|
|
/* 021BF220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021BF224 */ _t78 = cpu->r[12] + 0x00000008u;
|
|
/* 021BF224 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021BF228 */ _t79 = cpu->r[8] + 0x00000004u;
|
|
/* 021BF228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 021BF22C */ _t80 = cpu->r[31] + 0x00000084u;
|
|
/* 021BF22C */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 021BF230 */ _t81 = cpu->r[31] + 0x00000050u;
|
|
/* 021BF230 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
|
|
/* 021BF234 */ _t82 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021BF234 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 021BF238 */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 021BF238 */ rbrew_write32(cpu->mem, _t83, cpu->r[28]);
|
|
/* 021BF23C */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 021BF23C */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 021BF240 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 021BF240 */ rbrew_write32(cpu->mem, _t85, cpu->r[12]);
|
|
/* 021BF244 */ cpu->r[10] = 0x10030000u;
|
|
/* 021BF248 */ _t86 = cpu->r[7] + 0x00000000u;
|
|
/* 021BF248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 021BF24C */ _t87 = cpu->r[10] + 0xFFFFB214u;
|
|
/* 021BF24C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 021BF250 */ _t88 = cpu->r[31] + 0x00000078u;
|
|
/* 021BF250 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 021BF254 */ _t89 = cpu->r[31] + 0x00000060u;
|
|
/* 021BF254 */ rbrew_write32(cpu->mem, _t89, cpu->r[6]);
|
|
/* 021BF258 */ _t90 = cpu->r[8] + 0x0000000Cu;
|
|
/* 021BF258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t90);
|
|
/* 021BF25C */ cpu->r[8] = 0x10030000u;
|
|
/* 021BF260 */ _t91 = cpu->r[31] + 0x000000A8u;
|
|
/* 021BF260 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 021BF264 */ _t92 = cpu->r[31] + 0x00000098u;
|
|
/* 021BF264 */ rbrew_write32(cpu->mem, _t92, cpu->r[11]);
|
|
/* 021BF268 */ _t93 = cpu->r[31] + 0x0000009Cu;
|
|
/* 021BF268 */ rbrew_write32(cpu->mem, _t93, cpu->r[5]);
|
|
/* 021BF26C */ _t94 = cpu->r[8] + 0xFFFFB2B4u;
|
|
/* 021BF26C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 021BF270 */ _t95 = cpu->r[7] + 0x00000008u;
|
|
/* 021BF270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
|
|
/* 021BF274 */ _t96 = cpu->r[31] + 0x000000B8u;
|
|
/* 021BF274 */ rbrew_write32(cpu->mem, _t96, cpu->r[30]);
|
|
/* 021BF278 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 021BF278 */ rbrew_write32(cpu->mem, _t97, cpu->r[29]);
|
|
/* 021BF27C */ cpu->r[8] = 0x10030000u;
|
|
/* 021BF280 */ _t98 = cpu->r[31] + 0x00000068u;
|
|
/* 021BF280 */ rbrew_write32(cpu->mem, _t98, cpu->r[9]);
|
|
/* 021BF284 */ cpu->r[5] = 0x10030000u;
|
|
/* 021BF288 */ _t99 = cpu->r[8] + 0xFFFFB2ACu;
|
|
/* 021BF288 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021BF28C */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 021BF290 */ _t100 = cpu->r[31] + 0x000000B4u;
|
|
/* 021BF290 */ rbrew_write32(cpu->mem, _t100, cpu->r[27]);
|
|
/* 021BF294 */ _t101 = cpu->r[5] + 0xFFFFB2B0u;
|
|
/* 021BF294 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 021BF298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 021BF29C */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 021BF29C */ rbrew_write32(cpu->mem, _t102, cpu->r[6]);
|
|
/* 021BF2A0 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF2A0 */ _t104 = _t103 & 0x00000001u;
|
|
/* 021BF2A0 */ if (_t104) goto L_021BF2A4; else goto L_021BF2B4;
|
|
L_021BF2A4: ; // 0x21bf2a4
|
|
/* 021BF2A4 */ cpu->r[3] = 0x00000010u;
|
|
/* 021BF2A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BF2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BF2B0 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF2B0 */ _t106 = _t105 & 0x00000001u;
|
|
/* 021BF2B0 */ if (_t106) goto L_021BF2C4; else goto L_021BF2B4;
|
|
L_021BF2B4: ; // 0x21bf2b4
|
|
/* 021BF2B4 */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF2B4 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 021BF2B8 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 021BF2B8 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 021BF2BC */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 021BF2BC */ rbrew_write_f32(cpu->mem, _t109, cpu->f[30]);
|
|
/* 021BF2C0 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BF2C0 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[31]);
|
|
L_021BF2C4: ; // 0x21bf2c4
|
|
/* 021BF2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 021BF2C8 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 021BF2CC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF2CC */ _t112 = _t111 & 0x00000001u;
|
|
/* 021BF2CC */ if (_t112) goto L_021BF2D0; else goto L_021BF2E0;
|
|
L_021BF2D0: ; // 0x21bf2d0
|
|
/* 021BF2D0 */ cpu->r[3] = 0x00000010u;
|
|
/* 021BF2D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 021BF2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BF2DC */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF2DC */ _t114 = _t113 & 0x00000001u;
|
|
/* 021BF2DC */ if (_t114) goto L_021BF2F0; else goto L_021BF2E0;
|
|
L_021BF2E0: ; // 0x21bf2e0
|
|
/* 021BF2E0 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF2E0 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 021BF2E4 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 021BF2E4 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[30]);
|
|
/* 021BF2E8 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 021BF2E8 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 021BF2EC */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BF2EC */ rbrew_write_f32(cpu->mem, _t118, cpu->f[31]);
|
|
L_021BF2F0: ; // 0x21bf2f0
|
|
/* 021BF2F0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 021BF2F4 */ cpu->r[0] = 0x10030000u;
|
|
/* 021BF2F8 */ cpu->r[6] = 0x10030000u;
|
|
/* 021BF2FC */ cpu->r[7] = cpu->r[7] + 0x000010ACu;
|
|
/* 021BF300 */ cpu->r[0] = cpu->r[0] + 0xFFFFB198u;
|
|
/* 021BF304 */ cpu->r[12] = 0x101F0000u;
|
|
/* 021BF308 */ cpu->r[6] = cpu->r[6] + 0xFFFFB2B8u;
|
|
/* 021BF30C */ _t119 = cpu->r[7] + 0x00000004u;
|
|
/* 021BF30C */ rbrew_write32(cpu->mem, _t119, cpu->r[0]);
|
|
/* 021BF310 */ cpu->r[12] = cpu->r[12] + 0x00005BCCu;
|
|
/* 021BF314 */ _t120 = cpu->r[7] + 0x00000000u;
|
|
/* 021BF314 */ rbrew_write32(cpu->mem, _t120, cpu->r[6]);
|
|
/* 021BF318 */ _t121 = cpu->r[12] + 0x00000000u;
|
|
/* 021BF318 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 021BF31C */ _t122 = cpu->r[12] + 0x0000000Cu;
|
|
/* 021BF31C */ cpu->r[10] = rbrew_read32(cpu->mem, _t122);
|
|
/* 021BF320 */ _t123 = cpu->r[31] + 0x000000E0u;
|
|
/* 021BF320 */ rbrew_write32(cpu->mem, _t123, cpu->r[9]);
|
|
/* 021BF324 */ _t124 = cpu->r[31] + 0x000000ECu;
|
|
/* 021BF324 */ rbrew_write32(cpu->mem, _t124, cpu->r[10]);
|
|
/* 021BF328 */ _t125 = cpu->r[12] + 0x00000008u;
|
|
/* 021BF328 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 021BF32C */ _t126 = cpu->r[12] + 0x00000004u;
|
|
/* 021BF32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 021BF330 */ _t127 = cpu->r[31] + 0x000000E8u;
|
|
/* 021BF330 */ rbrew_write32(cpu->mem, _t127, cpu->r[5]);
|
|
/* 021BF334 */ _t128 = cpu->r[31] + 0x000000E4u;
|
|
/* 021BF334 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
|
|
/* 021BF338 */ /* nop */
|
|
/* 021BF33C */ _t129 = cpu->r[1] + 0x00000028u;
|
|
/* 021BF33C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 021BF340 */ _t130 = cpu->r[1] + 0x00000038u;
|
|
/* 021BF340 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 021BF344 */ _t131 = cpu->r[1] + 0x00000020u;
|
|
/* 021BF344 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t131);
|
|
/* 021BF348 */ _t132 = cpu->r[1] + 0x00000030u;
|
|
/* 021BF348 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t132);
|
|
/* 021BF34C */ _t133 = cpu->r[1] + 0x00000048u;
|
|
/* 021BF34C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 021BF350 */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 021BF350 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 021BF354 */ _t135 = cpu->r[1] + 0x00000040u;
|
|
/* 021BF354 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 021BF358 */ _t136 = cpu->r[1] + 0x00000050u;
|
|
/* 021BF358 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t136);
|
|
/* 021BF35C */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021BF35C */ _t138 = _t137 & 0x00000001u;
|
|
/* 021BF35C */ if (_t138) goto L_021BF360; // else: addr-0 trap, fall-through
|
|
L_021BF360: ; // 0x21bf360
|
|
/* 021BF360 */ _t139 = cpu->r[1] + 0x00000064u;
|
|
/* 021BF360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021BF364 */ cpu->lr = cpu->r[0];
|
|
/* 021BF368 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021BF36C */ return;
|
|
}
|
|
|
|
// fn_021BF370 @ 0x21bf370
|
|
void Gambit_fn_021BF370(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_021BF370: ; // 0x21bf370
|
|
/* 021BF370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021BF374 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF374 */ _t1 = _t0 & 0x00000001u;
|
|
/* 021BF374 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BF374 */ goto L_021BF378;
|
|
L_021BF378: ; // 0x21bf378
|
|
/* 021BF378 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BF378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021BF37C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF37C */ _t3 = _t2 & 0x00000001u;
|
|
/* 021BF37C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BF37C */ goto L_021BF380;
|
|
L_021BF380: ; // 0x21bf380
|
|
/* 021BF380 */ 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_021BF384 @ 0x21bf384
|
|
void Gambit_fn_021BF384(CPUState* cpu) {
|
|
L_021BF384: ; // 0x21bf384
|
|
/* 021BF384 */ return;
|
|
}
|
|
|
|
// fn_021BF388 @ 0x21bf388
|
|
void Gambit_fn_021BF388(CPUState* cpu) {
|
|
L_021BF388: ; // 0x21bf388
|
|
/* 021BF388 */ return;
|
|
}
|
|
|
|
// fn_021BF38C @ 0x21bf38c
|
|
void Gambit_fn_021BF38C(CPUState* cpu) {
|
|
L_021BF38C: ; // 0x21bf38c
|
|
/* 021BF38C */ return;
|
|
}
|
|
|
|
// fn_021BF390 @ 0x21bf390
|
|
void Gambit_fn_021BF390(CPUState* cpu) {
|
|
L_021BF390: ; // 0x21bf390
|
|
/* 021BF390 */ return;
|
|
}
|
|
|
|
// fn_021BF394 @ 0x21bf394
|
|
void Gambit_fn_021BF394(CPUState* cpu) {
|
|
L_021BF394: ; // 0x21bf394
|
|
/* 021BF394 */ return;
|
|
}
|
|
|
|
// fn_021BF398 @ 0x21bf398
|
|
void Gambit_fn_021BF398(CPUState* cpu) {
|
|
L_021BF398: ; // 0x21bf398
|
|
/* 021BF398 */ return;
|
|
}
|
|
|
|
// fn_021BF39C @ 0x21bf39c
|
|
void Gambit_fn_021BF39C(CPUState* cpu) {
|
|
L_021BF39C: ; // 0x21bf39c
|
|
/* 021BF39C */ return;
|
|
}
|
|
|
|
// fn_021BF3A0 @ 0x21bf3a0
|
|
void Gambit_fn_021BF3A0(CPUState* cpu) {
|
|
L_021BF3A0: ; // 0x21bf3a0
|
|
/* 021BF3A0 */ return;
|
|
}
|
|
|
|
// fn_021BF3A4 @ 0x21bf3a4
|
|
void Gambit_fn_021BF3A4(CPUState* cpu) {
|
|
L_021BF3A4: ; // 0x21bf3a4
|
|
/* 021BF3A4 */ return;
|
|
}
|
|
|
|
// fn_021BF3A8 @ 0x21bf3a8
|
|
void Gambit_fn_021BF3A8(CPUState* cpu) {
|
|
L_021BF3A8: ; // 0x21bf3a8
|
|
/* 021BF3A8 */ return;
|
|
}
|
|
|
|
// fn_021BF3AC @ 0x21bf3ac
|
|
void Gambit_fn_021BF3AC(CPUState* cpu) {
|
|
L_021BF3AC: ; // 0x21bf3ac
|
|
/* 021BF3AC */ return;
|
|
}
|
|
|
|
// fn_021BF3B0 @ 0x21bf3b0
|
|
void Gambit_fn_021BF3B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021BF3B0: ; // 0x21bf3b0
|
|
/* 021BF3B0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 021BF3B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BF3B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF3B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021BF3B8 */ if (_t2) goto L_021BF3C4; else goto L_021BF3BC;
|
|
L_021BF3BC: ; // 0x21bf3bc
|
|
/* 021BF3BC */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 021BF3C0 */ return;
|
|
L_021BF3C4: ; // 0x21bf3c4
|
|
/* 021BF3C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BF3C8 */ return;
|
|
}
|
|
|
|
// fn_021BF3CC @ 0x21bf3cc
|
|
void Gambit_fn_021BF3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_021BF3CC: ; // 0x21bf3cc
|
|
/* 021BF3CC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 021BF3CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BF3D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF3D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021BF3D4 */ if (_t2) goto L_021BF3E0; else goto L_021BF3D8;
|
|
L_021BF3D8: ; // 0x21bf3d8
|
|
/* 021BF3D8 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 021BF3DC */ return;
|
|
L_021BF3E0: ; // 0x21bf3e0
|
|
/* 021BF3E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021BF3E4 */ return;
|
|
}
|
|
|
|
// fn_021BF3E8 @ 0x21bf3e8
|
|
void Gambit_fn_021BF3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BF3E8: ; // 0x21bf3e8
|
|
/* 021BF3E8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BF3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF3EC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BF3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BF3F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF3F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021BF3F0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021BF3F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BF3F0 */ goto L_021BF3F4;
|
|
L_021BF3F4: ; // 0x21bf3f4
|
|
/* 021BF3F4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF3F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BF3F8 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 021BF3F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BF3FC */ cpu->ctr = cpu->r[0];
|
|
/* 021BF400 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF404 @ 0x21bf404
|
|
void Gambit_fn_021BF404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BF404: ; // 0x21bf404
|
|
/* 021BF404 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BF404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF408 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BF408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BF40C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF40C */ _t2 = _t1 & 0x00000001u;
|
|
/* 021BF40C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021BF40C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BF40C */ goto L_021BF410;
|
|
L_021BF410: ; // 0x21bf410
|
|
/* 021BF410 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BF414 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 021BF414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BF418 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF41C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF420 @ 0x21bf420
|
|
void Gambit_fn_021BF420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021BF420: ; // 0x21bf420
|
|
/* 021BF420 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021BF420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF424 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021BF424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021BF428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021BF428 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021BF428 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021BF428 */ goto L_021BF42C;
|
|
L_021BF42C: ; // 0x21bf42c
|
|
/* 021BF42C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF42C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021BF430 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 021BF430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021BF434 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF438 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF43C @ 0x21bf43c
|
|
void Gambit_fn_021BF43C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BF43C: ; // 0x21bf43c
|
|
/* 021BF43C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF43C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF440 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021BF440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BF444 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF448 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF44C @ 0x21bf44c
|
|
void Gambit_fn_021BF44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021BF44C: ; // 0x21bf44c
|
|
/* 021BF44C */ cpu->r[0] = cpu->lr;
|
|
/* 021BF450 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BF450 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BF450 */ cpu->r[1] = _t0;
|
|
/* 021BF454 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF454 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BF458 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BF45C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF45C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BF460 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021BF460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BF464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 021BF468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF468 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BF468 */ if (_t5) goto L_021BF46C; else goto L_021BF488;
|
|
L_021BF46C: ; // 0x21bf46c
|
|
/* 021BF46C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021BF46C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BF470 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 021BF470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BF474 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF478 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BF47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BF480 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BF484 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021BF484 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021BF488: ; // 0x21bf488
|
|
/* 021BF488 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BF48C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BF490 */ cpu->lr = cpu->r[0];
|
|
/* 021BF494 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF498 */ return;
|
|
}
|
|
|
|
// fn_021BF450 @ 0x21bf450
|
|
void Gambit_fn_021BF450(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021BF450: ; // 0x21bf450
|
|
/* 021BF450 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021BF450 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021BF450 */ cpu->r[1] = _t0;
|
|
/* 021BF454 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF454 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021BF458 */ cpu->r[31] = cpu->r[3];
|
|
/* 021BF45C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF45C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021BF460 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021BF460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021BF464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 021BF468 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021BF468 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021BF468 */ if (_t5) goto L_021BF46C; else goto L_021BF488;
|
|
L_021BF46C: ; // 0x21bf46c
|
|
/* 021BF46C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021BF46C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021BF470 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 021BF470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021BF474 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF478 */ cpu->r[3] = cpu->r[31];
|
|
/* 021BF47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021BF480 */ cpu->r[0] = 0x00000002u;
|
|
/* 021BF484 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021BF484 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021BF488: ; // 0x21bf488
|
|
/* 021BF488 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021BF488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021BF48C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021BF48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021BF490 */ cpu->lr = cpu->r[0];
|
|
/* 021BF494 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021BF498 */ return;
|
|
}
|
|
|
|
// fn_021BF49C @ 0x21bf49c
|
|
void Gambit_fn_021BF49C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BF49C: ; // 0x21bf49c
|
|
/* 021BF49C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF49C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF4A0 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 021BF4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BF4A4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF4A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF4AC @ 0x21bf4ac
|
|
void Gambit_fn_021BF4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BF4AC: ; // 0x21bf4ac
|
|
/* 021BF4AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF4AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF4B0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 021BF4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BF4B4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF4B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF4BC @ 0x21bf4bc
|
|
void Gambit_fn_021BF4BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021BF4BC: ; // 0x21bf4bc
|
|
/* 021BF4BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021BF4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021BF4C0 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 021BF4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021BF4C4 */ cpu->ctr = cpu->r[0];
|
|
/* 021BF4C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021BF4CC @ 0x21bf4cc
|
|
void Gambit_fn_021BF4CC(CPUState* cpu) {
|
|
L_021BF4CC: ; // 0x21bf4cc
|
|
/* 021BF4CC */ cpu->r[3] = 0x00000001u;
|
|
/* 021BF4D0 */ return;
|
|
}
|
|
|
|
// fn_021BF4D4 @ 0x21bf4d4
|
|
void Gambit_fn_021BF4D4(CPUState* cpu) {
|
|
L_021BF4D4: ; // 0x21bf4d4
|
|
/* 021BF4D4 */ return;
|
|
}
|
|
|
|
// fn_021BF4D8 @ 0x21bf4d8
|
|
void Gambit_fn_021BF4D8(CPUState* cpu) {
|
|
L_021BF4D8: ; // 0x21bf4d8
|
|
/* 021BF4D8 */ return;
|
|
}
|
|
|
|
// fn_021BF4DC @ 0x21bf4dc
|
|
void Gambit_fn_021BF4DC(CPUState* cpu) {
|
|
L_021BF4DC: ; // 0x21bf4dc
|
|
/* 021BF4DC */ return;
|
|
}
|
|
|
|
// fn_021BF4E0 @ 0x21bf4e0
|
|
void Gambit_fn_021BF4E0(CPUState* cpu) {
|
|
L_021BF4E0: ; // 0x21bf4e0
|
|
/* 021BF4E0 */ return;
|
|
}
|
|
|
|
// fn_021BF4E4 @ 0x21bf4e4
|
|
void Gambit_fn_021BF4E4(CPUState* cpu) {
|
|
L_021BF4E4: ; // 0x21bf4e4
|
|
/* 021BF4E4 */ return;
|
|
}
|
|
|
|
// fn_021BF4E8 @ 0x21bf4e8
|
|
void Gambit_fn_021BF4E8(CPUState* cpu) {
|
|
L_021BF4E8: ; // 0x21bf4e8
|
|
/* 021BF4E8 */ return;
|
|
}
|
|
|
|
// fn_021BF4EC @ 0x21bf4ec
|
|
void Gambit_fn_021BF4EC(CPUState* cpu) {
|
|
L_021BF4EC: ; // 0x21bf4ec
|
|
/* 021BF4EC */ return;
|
|
}
|
|
|